@@ -94,8 +95,8 @@
@section Scripts {
-
-
-
-
-
-
-
-
+
}
@if (IsSectionDefined("Scripts"))
diff --git a/Web/Resgrid.Web/Areas/User/Views/Units/ViewEvents.cshtml b/Web/Resgrid.Web/Areas/User/Views/Units/ViewEvents.cshtml
index 8ed5873a2..d19df00b9 100644
--- a/Web/Resgrid.Web/Areas/User/Views/Units/ViewEvents.cshtml
+++ b/Web/Resgrid.Web/Areas/User/Views/Units/ViewEvents.cshtml
@@ -2,6 +2,7 @@
@inject IStringLocalizer
localizer
@{
ViewBag.Title = "Resgrid | " + @localizer["ViewUnitEventsHeader"];
+ var mapConfig = SettingsHelper.GetDepartmentMapConfig(Resgrid.Config.InfoConfig.WebsiteKey);
}
@section Styles
{
@@ -97,7 +98,7 @@
diff --git a/Web/Resgrid.Web/Helpers/SettingsHelper.cs b/Web/Resgrid.Web/Helpers/SettingsHelper.cs
index 4aa25903f..9175261cc 100644
--- a/Web/Resgrid.Web/Helpers/SettingsHelper.cs
+++ b/Web/Resgrid.Web/Helpers/SettingsHelper.cs
@@ -1,12 +1,16 @@
-using CommonServiceLocator;
+using CommonServiceLocator;
+using Microsoft.AspNetCore.Http;
+using Resgrid.Config;
using Resgrid.Model;
using Resgrid.Model.Services;
namespace Resgrid.Web.Helpers
{
- public static class SettingsHelper
- {
+ public static class SettingsHelper
+ {
+ private const string DepartmentMapConfigCacheKeyFormat = "DepartmentMapConfig_{0}";
private static IDepartmentSettingsService _departmentSettingsService;
+ private static IHttpContextAccessor _httpContextAccessor;
private static IDepartmentSettingsService GetSettingsService()
{
@@ -16,6 +20,14 @@ private static IDepartmentSettingsService GetSettingsService()
return _departmentSettingsService;
}
+ private static IHttpContextAccessor GetHttpContextAccessor()
+ {
+ if (_httpContextAccessor == null)
+ _httpContextAccessor = ServiceLocator.Current.GetInstance();
+
+ return _httpContextAccessor;
+ }
+
private static DepartmentModuleSettings GetModuleSettings()
{
var settings = GetSettingsService().GetDepartmentModuleSettingsAsync(ClaimsAuthorizationHelper.GetDepartmentId());
@@ -80,5 +92,22 @@ public static bool IsMaintenanceEnabled()
{
return !GetModuleSettings().MaintenanceDisabled;
}
+
+ public static ResolvedMapConfig GetDepartmentMapConfig(string key = null)
+ {
+ var requestedKey = string.IsNullOrWhiteSpace(key) ? InfoConfig.WebsiteKey : key;
+ var httpContext = GetHttpContextAccessor().HttpContext;
+ var cacheKey = string.Format(DepartmentMapConfigCacheKeyFormat, requestedKey);
+
+ if (httpContext?.Items != null && httpContext.Items.ContainsKey(cacheKey))
+ return httpContext.Items[cacheKey] as ResolvedMapConfig;
+
+ var mapConfig = GetSettingsService().GetMapConfigForDepartmentAsync(ClaimsAuthorizationHelper.GetDepartmentId(), requestedKey).GetAwaiter().GetResult();
+
+ if (httpContext?.Items != null)
+ httpContext.Items[cacheKey] = mapConfig;
+
+ return mapConfig;
+ }
}
}
diff --git a/Web/Resgrid.Web/Resgrid.Web.csproj b/Web/Resgrid.Web/Resgrid.Web.csproj
index 6fe9484a3..82c0da625 100644
--- a/Web/Resgrid.Web/Resgrid.Web.csproj
+++ b/Web/Resgrid.Web/Resgrid.Web.csproj
@@ -192,13 +192,15 @@
-
-
+
+
-
+
-
+
+
+
diff --git a/Web/Resgrid.Web/wwwroot/js/app/internal/home/resgrid.home.edituserprofile.js b/Web/Resgrid.Web/wwwroot/js/app/internal/home/resgrid.home.edituserprofile.js
index 539d1cc25..8b3782453 100644
--- a/Web/Resgrid.Web/wwwroot/js/app/internal/home/resgrid.home.edituserprofile.js
+++ b/Web/Resgrid.Web/wwwroot/js/app/internal/home/resgrid.home.edituserprofile.js
@@ -85,7 +85,8 @@ var resgrid;
data: JSON.stringify({ type: contactType })
}).done(function (result) {
if (result && result.success) {
- $(w.msgSpan).text(rgVerifyLabels.sent).css('color', '#31708f').show();
+ var sentLabel = (contactType === 2 && rgVerifyLabels.voiceCallSent) ? rgVerifyLabels.voiceCallSent : rgVerifyLabels.sent;
+ $(w.msgSpan).text(sentLabel).css('color', '#31708f').show();
$(w.codeEntry).show();
$btn.hide();
} else {
diff --git a/Web/Resgrid.Web/wwwroot/js/ng/3rdpartylicenses.txt b/Web/Resgrid.Web/wwwroot/js/ng/3rdpartylicenses.txt
deleted file mode 100644
index 5ec6ea05b..000000000
--- a/Web/Resgrid.Web/wwwroot/js/ng/3rdpartylicenses.txt
+++ /dev/null
@@ -1,763 +0,0 @@
-@angular/animations
-MIT
-
-@angular/cdk
-MIT
-The MIT License
-
-Copyright (c) 2024 Google LLC.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-
-@angular/common
-MIT
-
-@angular/core
-MIT
-
-@angular/elements
-MIT
-
-@angular/forms
-MIT
-
-@angular/platform-browser
-MIT
-
-@mattlewis92/dom-autoscroller
-MIT
-The MIT License (MIT)
-
-Copyright (c) 2016 Quentin Engles
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-@microsoft/signalr
-Apache-2.0
-
-@resgrid/ngx-resgridlib
-Apache-2.0
-
-angular-calendar
-MIT
-The MIT License (MIT)
-
-Copyright (c) 2018 Matt Lewis
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-angular-draggable-droppable
-MIT
-The MIT License (MIT)
-
-Copyright (c) 2018 Matt Lewis
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-angular-resizable-element
-MIT
-The MIT License (MIT)
-
-Copyright (c) 2016 Matt Lewis
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-angular-svg-icon
-MIT
-The MIT License (MIT)
-
-Copyright (c) 2023 David Czeck.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-
-calendar-utils
-MIT
-The MIT License (MIT)
-
-Copyright (c) 2016 Matt Lewis
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-date-fns
-MIT
-MIT License
-
-Copyright (c) 2021 Sasha Koss and Lesha Koss https://kossnocorp.mit-license.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-jwt-decode
-MIT
-The MIT License (MIT)
-
-Copyright (c) 2015 Auth0, Inc. (http://auth0.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-leaflet
-BSD-2-Clause
-BSD 2-Clause License
-
-Copyright (c) 2010-2023, Volodymyr Agafonkin
-Copyright (c) 2010-2011, CloudMade
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-livekit-client
-Apache-2.0
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
-
-lodash
-MIT
-Copyright OpenJS Foundation and other contributors
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
-
-
-positioning
-MIT
-MIT License
-
-Copyright (c) 2017 Matt Lewis
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-rxjs
-Apache-2.0
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
-zone.js
-MIT
-The MIT License
-
-Copyright (c) 2010-2024 Google LLC. https://angular.io/license
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/Web/Resgrid.Web/wwwroot/js/ng/favicon.ico b/Web/Resgrid.Web/wwwroot/js/ng/favicon.ico
deleted file mode 100644
index 997406ad2..000000000
Binary files a/Web/Resgrid.Web/wwwroot/js/ng/favicon.ico and /dev/null differ
diff --git a/Web/Resgrid.Web/wwwroot/js/ng/index.html b/Web/Resgrid.Web/wwwroot/js/ng/index.html
deleted file mode 100644
index 92cf7e615..000000000
--- a/Web/Resgrid.Web/wwwroot/js/ng/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- Apps
-
-
-
-
-
-
-
-
diff --git a/Web/Resgrid.Web/wwwroot/js/ng/main.226d4053d1364245.js b/Web/Resgrid.Web/wwwroot/js/ng/main.226d4053d1364245.js
deleted file mode 100644
index 567be17d0..000000000
--- a/Web/Resgrid.Web/wwwroot/js/ng/main.226d4053d1364245.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkApps=self.webpackChunkApps||[]).push([[179],{242:(gs,Lo,ne)=>{"use strict";function at(n){return"function"==typeof n}function I(n){const e=n(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const No=I(n=>function(e){n(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function At(n,t){if(n){const e=n.indexOf(t);0<=e&&n.splice(e,1)}}class bn{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const s of e)s.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(at(i))try{i()}catch(s){t=s instanceof No?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{ms(s)}catch(a){t=t??[],a instanceof No?t=[...t,...a.errors]:t.push(a)}}if(t)throw new No(t)}}add(t){var e;if(t&&t!==this)if(this.closed)ms(t);else{if(t instanceof bn){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(t)}}_hasParent(t){const{_parentage:e}=this;return e===t||Array.isArray(e)&&e.includes(t)}_addParent(t){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t}_removeParent(t){const{_parentage:e}=this;e===t?this._parentage=null:Array.isArray(e)&&At(e,t)}remove(t){const{_finalizers:e}=this;e&&At(e,t),t instanceof bn&&t._removeParent(this)}}bn.EMPTY=(()=>{const n=new bn;return n.closed=!0,n})();const qe=bn.EMPTY;function du(n){return n instanceof bn||n&&"closed"in n&&at(n.remove)&&at(n.add)&&at(n.unsubscribe)}function ms(n){at(n)?n():n.unsubscribe()}const Wt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},zn={setTimeout(n,t,...e){const{delegate:i}=zn;return(null==i?void 0:i.setTimeout)?i.setTimeout(n,t,...e):setTimeout(n,t,...e)},clearTimeout(n){const{delegate:t}=zn;return((null==t?void 0:t.clearTimeout)||clearTimeout)(n)},delegate:void 0};function sr(n){zn.setTimeout(()=>{const{onUnhandledError:t}=Wt;if(!t)throw n;t(n)})}function qr(){}const Vt=ti("C",void 0,void 0);function ti(n,t,e){return{kind:n,value:t,error:e}}let un=null;function Ks(n){if(Wt.useDeprecatedSynchronousErrorHandling){const t=!un;if(t&&(un={errorThrown:!1,error:null}),n(),t){const{errorThrown:e,error:i}=un;if(un=null,e)throw i}}else n()}class Ir extends bn{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,du(t)&&t.add(this)):this.destination=Kr}static create(t,e,i){return new Ar(t,e,i)}next(t){this.isStopped?hu(function $a(n){return ti("N",n,void 0)}(t),this):this._next(t)}error(t){this.isStopped?hu(function Ys(n){return ti("E",void 0,n)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?hu(Vt,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const or=Function.prototype.bind;function Yr(n,t){return or.call(n,t)}class ar{constructor(t){this.partialObserver=t}next(t){const{partialObserver:e}=this;if(e.next)try{e.next(t)}catch(i){En(i)}}error(t){const{partialObserver:e}=this;if(e.error)try{e.error(t)}catch(i){En(i)}else En(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(e){En(e)}}}class Ar extends Ir{constructor(t,e,i){let r;if(super(),at(t)||!t)r={next:t??void 0,error:e??void 0,complete:i??void 0};else{let s;this&&Wt.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Yr(t.next,s),error:t.error&&Yr(t.error,s),complete:t.complete&&Yr(t.complete,s)}):r=t}this.destination=new ar(r)}}function En(n){Wt.useDeprecatedSynchronousErrorHandling?function Ei(n){Wt.useDeprecatedSynchronousErrorHandling&&un&&(un.errorThrown=!0,un.error=n)}(n):sr(n)}function hu(n,t){const{onStoppedNotification:e}=Wt;e&&zn.setTimeout(()=>e(n,t))}const Kr={closed:!0,next:qr,error:function Hi(n){throw n},complete:qr},fu="function"==typeof Symbol&&Symbol.observable||"@@observable";function Tn(n){return n}let _t=(()=>{class n{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new n;return i.source=this,i.operator=e,i}subscribe(e,i,r){const s=function ui(n){return n&&n instanceof Ir||function en(n){return n&&at(n.next)&&at(n.error)&&at(n.complete)}(n)&&du(n)}(e)?e:new Ar(e,i,r);return Ks(()=>{const{operator:a,source:u}=this;s.add(a?a.call(s,u):u?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=$e(i))((r,s)=>{const a=new Ar({next:u=>{try{e(u)}catch(h){s(h),a.unsubscribe()}},error:s,complete:r});this.subscribe(a)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[fu](){return this}pipe(...e){return function Be(n){return 0===n.length?Tn:1===n.length?n[0]:function(e){return n.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=$e(e))((i,r)=>{let s;this.subscribe(a=>s=a,a=>r(a),()=>i(s))})}}return n.create=t=>new n(t),n})();function $e(n){var t;return null!==(t=n??Wt.Promise)&&void 0!==t?t:Promise}const tn=I(n=>function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Oe=(()=>{class n extends _t{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new Bt(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new tn}next(e){Ks(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){Ks(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){Ks(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:r,observers:s}=this;return i||r?qe:(this.currentObservers=null,s.push(e),new bn(()=>{this.currentObservers=null,At(s,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:r,isStopped:s}=this;i?e.error(r):s&&e.complete()}asObservable(){const e=new _t;return e.source=this,e}}return n.create=(t,e)=>new Bt(t,e),n})();class Bt extends Oe{constructor(t,e){super(),this.destination=t,this.source=e}next(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,t)}error(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,t)}complete(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)}_subscribe(t){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==i?i:qe}}function bt(n){return t=>{if(function nn(n){return at(null==n?void 0:n.lift)}(t))return t.lift(function(e){try{return n(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Mt(n,t,e,i,r){return new kc(n,t,e,i,r)}class kc extends Ir{constructor(t,e,i,r,s,a){super(t),this.onFinalize=s,this.shouldUnsubscribe=a,this._next=e?function(u){try{e(u)}catch(h){t.error(h)}}:super._next,this._error=r?function(u){try{r(u)}catch(h){t.error(h)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(u){t.error(u)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function lt(n,t){return bt((e,i)=>{let r=0;e.subscribe(Mt(i,s=>{i.next(n.call(t,s,r++))}))})}var Qr=function(){return Qr=Object.assign||function(t){for(var e,i=1,r=arguments.length;i1||u(C,S)})})}function u(C,S){try{!function h(C){C.value instanceof ji?Promise.resolve(C.value.v).then(f,m):y(s[0][2],C)}(i[C](S))}catch(T){y(s[0][3],T)}}function f(C){u("next",C)}function m(C){u("throw",C)}function y(C,S){C(S),s.shift(),s.length&&u(s[0][0],s[0][1])}}function Qs(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,t=n[Symbol.asyncIterator];return t?t.call(n):(n=function Xs(n){var t="function"==typeof Symbol&&Symbol.iterator,e=t&&n[t],i=0;if(e)return e.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(n),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(s){e[s]=n[s]&&function(a){return new Promise(function(u,h){!function r(s,a,u,h){Promise.resolve(h).then(function(f){s({value:f,done:u})},a)}(u,h,(a=n[s](a)).done,a.value)})}}}const Da=n=>n&&"number"==typeof n.length&&"function"!=typeof n;function el(n){return at(null==n?void 0:n.then)}function yu(n){return at(n[fu])}function wu(n){return Symbol.asyncIterator&&at(null==n?void 0:n[Symbol.asyncIterator])}function Cu(n){return new TypeError(`You provided ${null!==n&&"object"==typeof n?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Du=function Bc(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Hc(n){return at(null==n?void 0:n[Du])}function Uc(n){return Fc(this,arguments,function*(){const e=n.getReader();try{for(;;){const{value:i,done:r}=yield ji(e.read());if(r)return yield ji(void 0);yield yield ji(i)}}finally{e.releaseLock()}})}function jc(n){return at(null==n?void 0:n.getReader)}function Ti(n){if(n instanceof _t)return n;if(null!=n){if(yu(n))return function tl(n){return new _t(t=>{const e=n[fu]();if(at(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(n);if(Da(n))return function Ah(n){return new _t(t=>{for(let e=0;e{n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,sr)})}(n);if(wu(n))return ve(n);if(Hc(n))return function xr(n){return new _t(t=>{for(const e of n)if(t.next(e),t.closed)return;t.complete()})}(n);if(jc(n))return function zc(n){return ve(Uc(n))}(n)}throw Cu(n)}function ve(n){return new _t(t=>{(function nl(n,t){var e,i,r,s;return ur(this,void 0,void 0,function*(){try{for(e=Qs(n);!(i=yield e.next()).done;)if(t.next(i.value),t.closed)return}catch(a){r={error:a}}finally{try{i&&!i.done&&(s=e.return)&&(yield s.call(e))}finally{if(r)throw r.error}}t.complete()})})(n,t).catch(e=>t.error(e))})}function Pr(n,t,e,i=0,r=!1){const s=t.schedule(function(){e(),r?n.add(this.schedule(null,i)):this.unsubscribe()},i);if(n.add(s),!r)return s}function Rr(n,t,e=1/0){return at(t)?Rr((i,r)=>lt((s,a)=>t(i,s,r,a))(Ti(n(i,r))),e):("number"==typeof t&&(e=t),bt((i,r)=>function Wc(n,t,e,i,r,s,a,u){const h=[];let f=0,m=0,y=!1;const C=()=>{y&&!h.length&&!f&&t.complete()},S=x=>f{s&&t.next(x),f++;let R=!1;Ti(e(x,m++)).subscribe(Mt(t,F=>{null==r||r(F),s?S(F):t.next(F)},()=>{R=!0},void 0,()=>{if(R)try{for(f--;h.length&&fT(F)):T(F)}C()}catch(F){t.error(F)}}))};return n.subscribe(Mt(t,S,()=>{y=!0,C()})),()=>{null==u||u()}}(i,r,n,e)))}function Su(n=1/0){return Rr(Tn,n)}const Jr=new _t(n=>n.complete());function Gc(n){return n&&at(n.schedule)}function il(n){return n[n.length-1]}function $c(n){return at(il(n))?n.pop():void 0}function Bo(n){return Gc(il(n))?n.pop():void 0}function Sa(n,t=0){return bt((e,i)=>{e.subscribe(Mt(i,r=>Pr(i,n,()=>i.next(r),t),()=>Pr(i,n,()=>i.complete(),t),r=>Pr(i,n,()=>i.error(r),t)))})}function Zc(n,t=0){return bt((e,i)=>{i.add(n.schedule(()=>e.subscribe(i),t))})}function ol(n,t){if(!n)throw new Error("Iterable cannot be null");return new _t(e=>{Pr(e,t,()=>{const i=n[Symbol.asyncIterator]();Pr(e,t,()=>{i.next().then(r=>{r.done?e.complete():e.next(r.value)})},0,!0)})})}function _s(n,t){return t?function qc(n,t){if(null!=n){if(yu(n))return function Oh(n,t){return Ti(n).pipe(Zc(t),Sa(t))}(n,t);if(Da(n))return function Lh(n,t){return new _t(e=>{let i=0;return t.schedule(function(){i===n.length?e.complete():(e.next(n[i++]),e.closed||this.schedule())})})}(n,t);if(el(n))return function rl(n,t){return Ti(n).pipe(Zc(t),Sa(t))}(n,t);if(wu(n))return ol(n,t);if(Hc(n))return function sl(n,t){return new _t(e=>{let i;return Pr(e,t,()=>{i=n[Du](),Pr(e,t,()=>{let r,s;try{({value:r,done:s}=i.next())}catch(a){return void e.error(a)}s?e.complete():e.next(r)},0,!0)}),()=>at(null==i?void 0:i.return)&&i.return()})}(n,t);if(jc(n))return function ba(n,t){return ol(Uc(n),t)}(n,t)}throw Cu(n)}(n,t):Ti(n)}function Nn(...n){const t=Bo(n),e=function kh(n,t){return"number"==typeof il(n)?n.pop():t}(n,1/0),i=n;return i.length?1===i.length?Ti(i[0]):Su(e)(_s(i,t)):Jr}function Ye(n={}){const{connector:t=(()=>new Oe),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=n;return s=>{let a,u,h,f=0,m=!1,y=!1;const C=()=>{null==u||u.unsubscribe(),u=void 0},S=()=>{C(),a=h=void 0,m=y=!1},T=()=>{const x=a;S(),null==x||x.unsubscribe()};return bt((x,R)=>{f++,!y&&!m&&C();const F=h=h??t();R.add(()=>{f--,0===f&&!y&&!m&&(u=Zt(T,r))}),F.subscribe(R),!a&&f>0&&(a=new Ar({next:O=>F.next(O),error:O=>{y=!0,C(),u=Zt(S,e,O),F.error(O)},complete:()=>{m=!0,C(),u=Zt(S,i),F.complete()}}),Ti(x).subscribe(a))})(s)}}function Zt(n,t,...e){if(!0===t)return void n();if(!1===t)return;const i=new Ar({next:()=>{i.unsubscribe(),n()}});return t(...e).subscribe(i)}function xt(n){for(let t in n)if(n[t]===xt)return t;throw Error("Could not find renamed property on target object.")}function ys(n,t){for(const e in t)t.hasOwnProperty(e)&&!n.hasOwnProperty(e)&&(n[e]=t[e])}function yt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(yt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const t=n.toString();if(null==t)return""+t;const e=t.indexOf("\n");return-1===e?t:t.substring(0,e)}function Ho(n,t){return null==n||""===n?null===t?"":t:null==t||""===t?n:n+" "+t}const Qe=xt({__forward_ref__:xt});function Le(n){return n.__forward_ref__=Le,n.toString=function(){return yt(this())},n}function He(n){return Ea(n)?n():n}function Ea(n){return"function"==typeof n&&n.hasOwnProperty(Qe)&&n.__forward_ref__===Le}class ue extends Error{constructor(t,e){super(function Js(n,t){return`NG0${Math.abs(n)}${t?": "+t:""}`}(t,e)),this.code=t}}function Ae(n){return"string"==typeof n?n:null==n?"":String(n)}function ft(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ae(n)}function eo(n,t){const e=t?` in ${t}`:"";throw new ue(-201,`No provider for ${ft(n)} found${e}`)}function ni(n,t){null==n&&function zt(n,t,e,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${e} ${i} ${t} <=Actual]`))}(t,n,null,"!=")}function oe(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Je(n){return{providers:n.providers||[],imports:n.imports||[]}}function es(n){return Eu(n,hl)||Eu(n,pt)}function Eu(n,t){return n.hasOwnProperty(t)?n[t]:null}function kt(n){return n&&(n.hasOwnProperty(fl)||n.hasOwnProperty(Fh))?n[fl]:null}const hl=xt({\u0275prov:xt}),fl=xt({\u0275inj:xt}),pt=xt({ngInjectableDef:xt}),Fh=xt({ngInjectorDef:xt});var Te=(()=>((Te=Te||{})[Te.Default=0]="Default",Te[Te.Host=1]="Host",Te[Te.Self=2]="Self",Te[Te.SkipSelf=4]="SkipSelf",Te[Te.Optional=8]="Optional",Te))();let to;function Ds(n){const t=to;return to=n,t}function gn(n,t,e){const i=es(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&Te.Optional?null:void 0!==t?t:void eo(yt(n),"Injector")}function Mi(n){return{toString:n}.toString()}var Gi=(()=>((Gi=Gi||{})[Gi.OnPush=0]="OnPush",Gi[Gi.Default=1]="Default",Gi))(),$i=(()=>{return(n=$i||($i={}))[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom",$i;var n})();const cr=typeof globalThis<"u"&&globalThis,td=typeof window<"u"&&window,Mu=typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self,Pt=cr||typeof global<"u"&&global||td||Mu,Fn={},Ot=[],Ta=xt({\u0275cmp:xt}),dr=xt({\u0275dir:xt}),no=xt({\u0275pipe:xt}),io=xt({\u0275mod:xt}),ot=xt({\u0275fac:xt}),Zi=xt({__NG_ELEMENT_ID__:xt});let ro=0;function Yt(n){return Mi(()=>{const e={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Gi.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||Ot,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||$i.Emulated,id:"c",styles:n.styles||Ot,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,a=n.pipes;return i.id+=ro++,i.inputs=so(n.inputs,e),i.outputs=so(n.outputs),s&&s.forEach(u=>u(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(nd):null,i.pipeDefs=a?()=>("function"==typeof a?a():a).map(Iu):null,i})}function nd(n){return Vn(n)||function mn(n){return n[dr]||null}(n)}function Iu(n){return function ci(n){return n[no]||null}(n)}const id={};function Ht(n){return Mi(()=>{const t={type:n.type,bootstrap:n.bootstrap||Ot,declarations:n.declarations||Ot,imports:n.imports||Ot,exports:n.exports||Ot,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(id[n.id]=n.type),t})}function so(n,t){if(null==n)return Fn;const e={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),e[r]=i,t&&(t[r]=s)}return e}const we=Yt;function Kt(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Vn(n){return n[Ta]||null}function xi(n,t){const e=n[io]||null;if(!e&&!0===t)throw new Error(`Type ${yt(n)} does not have '\u0275mod' property.`);return e}function Lr(n){return Array.isArray(n)&&"object"==typeof n[1]}function qi(n){return Array.isArray(n)&&!0===n[1]}function Pu(n){return 0!=(8&n.flags)}function Es(n){return 2==(2&n.flags)}function N(n){return 1==(1&n.flags)}function j(n){return null!==n.template}function H(n){return 0!=(512&n[2])}function pr(n,t){return n.hasOwnProperty(ot)?n[ot]:null}class Cl{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function _n(){return Dl}function Dl(n){return n.type.prototype.ngOnChanges&&(n.setInput=Ia),rd}function rd(){const n=qo(this),t=n?.current;if(t){const e=n.previous;if(e===Fn)n.previous=t;else for(let i in t)e[i]=t[i];n.current=null,this.ngOnChanges(t)}}function Ia(n,t,e,i){const r=qo(n)||function o(n,t){return n[Sl]=t}(n,{previous:Fn,current:null}),s=r.current||(r.current={}),a=r.previous,u=this.declaredInputs[e],h=a[u];s[u]=new Cl(h&&h.currentValue,t,a===Fn),n[i]=t}_n.ngInherit=!0;const Sl="__ngSimpleChanges__";function qo(n){return n[Sl]||null}const P="math";let Q;function nt(){return void 0!==Q?Q:typeof document<"u"?document:void 0}function je(n){return!!n.listen}const Ms={createRenderer:(n,t)=>nt()};function Ut(n){for(;Array.isArray(n);)n=n[0];return n}function Is(n,t){return Ut(t[n])}function fi(n,t){return Ut(t[n.index])}function uo(n,t){return n.data[t]}function gr(n,t){return n[t]}function mt(n,t){const e=t[n];return Lr(e)?e:e[0]}function Nr(n){return 4==(4&n[2])}function Ou(n){return 128==(128&n[2])}function As(n,t){return null==t?null:n[t]}function El(n){n[18]=0}function Tl(n,t){n[5]+=t;let e=n,i=n[3];for(;null!==i&&(1===t&&1===e[5]||-1===t&&0===e[5]);)i[5]+=t,e=i,i=i[3]}const Pe={lFrame:qh(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Lu(){return Pe.bindingsEnabled}function K(){return Pe.lFrame.lView}function Et(){return Pe.lFrame.tView}function _e(n){return Pe.lFrame.contextLView=n,n[8]}function sn(){let n=Sg();for(;null!==n&&64===n.type;)n=n.parent;return n}function Sg(){return Pe.lFrame.currentTNode}function xs(n,t){const e=Pe.lFrame;e.currentTNode=n,e.isParent=t}function zh(){return Pe.lFrame.isParent}function ad(){return Pe.isInCheckNoChangesMode}function ld(n){Pe.isInCheckNoChangesMode=n}function Oi(){const n=Pe.lFrame;let t=n.bindingRootIndex;return-1===t&&(t=n.bindingRootIndex=n.tView.bindingStartIndex),t}function Il(){return Pe.lFrame.bindingIndex++}function cy(n,t){const e=Pe.lFrame;e.bindingIndex=e.bindingRootIndex=n,Gh(t)}function Gh(n){Pe.lFrame.currentDirectiveIndex=n}function Vr(){return Pe.lFrame.currentQueryIndex}function Zh(n){Pe.lFrame.currentQueryIndex=n}function dy(n){const t=n[1];return 2===t.type?t.declTNode:1===t.type?n[6]:null}function Eg(n,t,e){if(e&Te.SkipSelf){let r=t,s=n;for(;!(r=r.parent,null!==r||e&Te.Host||(r=dy(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;t=r,n=s}const i=Pe.lFrame=Tg();return i.currentTNode=t,i.lView=n,!0}function ud(n){const t=Tg(),e=n[1];Pe.lFrame=t,t.currentTNode=e.firstChild,t.lView=n,t.tView=e,t.contextLView=n,t.bindingIndex=e.bindingStartIndex,t.inI18n=!1}function Tg(){const n=Pe.lFrame,t=null===n?null:n.child;return null===t?qh(n):t}function qh(n){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=t),t}function Yh(){const n=Pe.lFrame;return Pe.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Mg=Yh;function cd(){const n=Yh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function qn(){return Pe.lFrame.selectedIndex}function Ko(n){Pe.lFrame.selectedIndex=n}function dn(){const n=Pe.lFrame;return uo(n.tView,n.selectedIndex)}function Vu(n,t){for(let e=t.directiveStart,i=t.directiveEnd;e=i)break}else t[h]<0&&(n[18]+=65536),(u>11>16&&(3&n[2])===t){n[2]+=2048;try{s.call(u)}finally{}}}else try{s.call(u)}finally{}}class Hu{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function Uu(n,t,e){const i=je(n);let r=0;for(;rt){a=s-1;break}}}for(;s>16}(n),i=t;for(;e>0;)i=i[15],e--;return i}let fd=!0;function pd(n){const t=fd;return fd=n,t}let my=0;function Pl(n,t){const e=rf(n,t);if(-1!==e)return e;const i=t[1];i.firstCreatePass&&(n.injectorIndex=t.length,nf(i.data,n),nf(t,null),nf(i.blueprint,null));const r=gd(n,t),s=n.injectorIndex;if(xg(r)){const a=Qo(r),u=Os(r,t),h=u[1].data;for(let f=0;f<8;f++)t[s+f]=u[a+f]|h[a+f]}return t[s+8]=r,s}function nf(n,t){n.push(0,0,0,0,0,0,0,0,t)}function rf(n,t){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===t[n.injectorIndex+8]?-1:n.injectorIndex}function gd(n,t){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let e=0,i=null,r=t;for(;null!==r;){const s=r[1],a=s.type;if(i=2===a?s.declTNode:1===a?r[6]:null,null===i)return-1;if(e++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function zu(n,t,e){!function tf(n,t,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Zi)&&(i=e[Zi]),null==i&&(i=e[Zi]=my++);const r=255&i;t.data[n+(r>>5)]|=1<=0?255&t:kg:t}(e);if("function"==typeof s){if(!Eg(t,n,i))return i&Te.Host?Rg(r,e,i):md(t,e,i,r);try{const a=s(i);if(null!=a||i&Te.Optional)return a;eo(e)}finally{Mg()}}else if("number"==typeof s){let a=null,u=rf(n,t),h=-1,f=i&Te.Host?t[16][6]:null;for((-1===u||i&Te.SkipSelf)&&(h=-1===u?gd(n,t):t[u+8],-1!==h&&uf(i,!1)?(a=t[1],u=Qo(h),t=Os(h,t)):u=-1);-1!==u;){const m=t[1];if(Lg(s,u,m.data)){const y=vd(u,t,e,a,i,f);if(y!==lf)return y}h=t[u+8],-1!==h&&uf(i,t[1].data[u+8]===f)&&Lg(s,u,t)?(a=m,u=Qo(h),t=Os(h,t)):u=-1}}}return md(t,e,i,r)}const lf={};function kg(){return new kl(sn(),K())}function vd(n,t,e,i,r,s){const a=t[1],u=a.data[n+8],m=_d(u,a,e,null==i?Es(u)&&fd:i!=a&&0!=(3&u.type),r&Te.Host&&s===u);return null!==m?Rl(t,a,m,u):lf}function _d(n,t,e,i,r){const s=n.providerIndexes,a=t.data,u=1048575&s,h=n.directiveStart,m=s>>20,C=r?u+m:n.directiveEnd;for(let S=i?u:u+m;S=h&&T.type===e)return S}if(r){const S=a[h];if(S&&j(S)&&S.type===e)return h}return null}function Rl(n,t,e,i){let r=n[e];const s=t.data;if(function Ig(n){return n instanceof Hu}(r)){const a=r;a.resolving&&function ws(n,t){const e=t?`. Dependency path: ${t.join(" > ")} > ${n}`:"";throw new ue(-200,`Circular dependency in DI detected for ${n}${e}`)}(ft(s[e]));const u=pd(a.canSeeViewProviders);a.resolving=!0;const h=a.injectImpl?Ds(a.injectImpl):null;Eg(n,i,Te.Default);try{r=n[e]=a.factory(void 0,s,n,i),t.firstCreatePass&&e>=i.directiveStart&&function fy(n,t,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(i){const a=Dl(t);(e.preOrderHooks||(e.preOrderHooks=[])).push(n,a),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,a)}r&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-n,r),s&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,s))}(e,s[e],t)}finally{null!==h&&Ds(h),pd(u),a.resolving=!1,Mg()}}return r}function Lg(n,t,e){return!!(e[t+(n>>5)]&1<{const t=n.prototype.constructor,e=t[ot]||yd(t),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[ot]||yd(r);if(s&&s!==e)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function yd(n){return Ea(n)?()=>{const t=yd(He(n));return t&&t()}:pr(n)}const Jo="__parameters__";function Ls(n,t,e){return Mi(()=>{const i=function cf(n){return function(...e){if(n){const i=n(...e);for(const r in i)this[r]=i[r]}}}(t);function r(...s){if(this instanceof r)return i.apply(this,s),this;const a=new r(...s);return u.annotation=a,u;function u(h,f,m){const y=h.hasOwnProperty(Jo)?h[Jo]:Object.defineProperty(h,Jo,{value:[]})[Jo];for(;y.length<=m;)y.push(null);return(y[m]=y[m]||[]).push(a),h}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class rt{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=oe({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}function Yi(n,t){void 0===t&&(t=n);for(let e=0;eArray.isArray(e)?jr(e,t):t(e))}function po(n,t,e){t>=n.length?n.push(e):n.splice(t,0,e)}function wd(n,t){return t>=n.length-1?n.pop():n.splice(t,1)[0]}function Ki(n,t,e){let i=Fl(n,t);return i>=0?n[1|i]=e:(i=~i,function ff(n,t,e,i){let r=n.length;if(r==t)n.push(e,i);else if(1===r)n.push(i,n[0]),n[0]=e;else{for(r--,n.push(n[r-1],n[r]);r>t;)n[r]=n[r-2],r--;n[t]=e,n[t+1]=i}}(n,i,t,e)),i}function Cd(n,t){const e=Fl(n,t);if(e>=0)return n[1|e]}function Fl(n,t){return function pf(n,t,e){let i=0,r=n.length>>e;for(;r!==i;){const s=i+(r-i>>1),a=n[s<t?r=s:i=s+1}return~(r<n,createScript:n=>n,createScriptURL:n=>n})}catch{}return Pd}()?.createHTML(n)||n}function mi(n){return function as(){if(void 0===kd&&(kd=null,Pt.trustedTypes))try{kd=Pt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return kd}()?.createHTML(n)||n}class Ld{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}function ra(n){return n instanceof Ld?n.changingThisBreaksApplicationSecurity:n}class Qu{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Hl(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch{return null}}}class _f{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Hl(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Hl(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let r=e.length-1;0mr(t.trim())).join(", ")}function Fs(n){const t={};for(const e of n.split(","))t[e]=!0;return t}function Ul(...n){const t={};for(const e of n)for(const i in e)e.hasOwnProperty(i)&&(t[i]=!0);return t}const om=Fs("area,br,col,hr,img,wbr"),am=Fs("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),lm=Fs("rp,rt"),wf=Ul(om,Ul(am,Fs("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Ul(lm,Fs("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Ul(lm,am)),Cf=Fs("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Df=Fs("srcset"),Sf=Ul(Cf,Df,Fs("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Fs("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),um=Fs("script,style,template");class cm{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,i=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let r=this.checkClobberedElement(e,e.nextSibling);if(r){e=r;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!wf.hasOwnProperty(e))return this.sanitizedSomething=!0,!um.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=t.attributes;for(let r=0;r"),!0}endElement(t){const e=t.nodeName.toLowerCase();wf.hasOwnProperty(e)&&!om.hasOwnProperty(e)&&(this.buf.push(""),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(dm(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Ly=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ny=/([^\#-~ |!])/g;function dm(n){return n.replace(/&/g,"&").replace(Ly,function(t){return""+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Ny,function(t){return""+t.charCodeAt(0)+";"}).replace(//g,">")}let Ju;function bf(n){return"content"in n&&function Vy(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var On=(()=>((On=On||{})[On.NONE=0]="NONE",On[On.HTML=1]="HTML",On[On.STYLE=2]="STYLE",On[On.SCRIPT=3]="SCRIPT",On[On.URL=4]="URL",On[On.RESOURCE_URL=5]="RESOURCE_URL",On))();function Nd(n){const t=function Oa(){const n=K();return n&&n[12]}();return t?mi(t.sanitize(On.HTML,n)||""):function Xu(n,t){const e=function Ry(n){return n instanceof Ld&&n.getTypeName()||null}(n);if(null!=e&&e!==t){if("ResourceURL"===e&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${e} (see https://g.co/ng/security#xss)`)}return e===t}(n,"HTML")?mi(ra(n)):function Fy(n,t){let e=null;try{Ju=Ju||function vf(n){const t=new _f(n);return function im(){try{return!!(new window.DOMParser).parseFromString(Hl(""),"text/html")}catch{return!1}}()?new Qu(t):t}(n);let i=t?String(t):"";e=Ju.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=e.innerHTML,e=Ju.getInertBodyElement(i)}while(i!==s);return Hl((new cm).sanitizeChildren(bf(e)||e))}finally{if(e){const i=bf(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(nt(),Ae(n))}const gm="__ngContext__";function vi(n,t){n[gm]=t}function Tf(n){const t=function ec(n){return n[gm]||null}(n);return t?Array.isArray(t)?t:t.lView:null}function If(n){return n.ngOriginalError}function ym(n,...t){n.error(...t)}class tc{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),i=function Af(n){return n&&n.ngErrorLogger||ym}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e)}_findOriginalError(t){let e=t&&If(t);for(;e&&If(e);)e=If(e);return e||null}}const sw=(()=>(typeof requestAnimationFrame<"u"&&requestAnimationFrame||setTimeout).bind(Pt))();function Vs(n){return n instanceof Function?n():n}var _r=(()=>((_r=_r||{})[_r.Important=1]="Important",_r[_r.DashCase=2]="DashCase",_r))();function Pf(n,t){return undefined(n,t)}function nc(n){const t=n[3];return qi(t)?t[3]:t}function Of(n){return bm(n[13])}function Lf(n){return bm(n[4])}function bm(n){for(;null!==n&&!qi(n);)n=n[4];return n}function mo(n,t,e,i,r){if(null!=i){let s,a=!1;qi(i)?s=i:Lr(i)&&(a=!0,i=i[0]);const u=Ut(i);0===n&&null!==e?null==r?Uf(t,e,u):oa(t,e,u,r||null,!0):1===n&&null!==e?oa(t,e,u,r||null,!0):2===n?function km(n,t,e){const i=Bd(n,t);i&&function vw(n,t,e,i){je(n)?n.removeChild(t,e,i):t.removeChild(e)}(n,i,t,e)}(t,u,a):3===n&&t.destroyNode(u),null!=s&&function yw(n,t,e,i,r){const s=e[7];s!==Ut(e)&&mo(t,n,i,s,r);for(let u=10;u0&&(n[e-1][4]=i[4]);const s=wd(n,10+t);!function dw(n,t){sc(n,t,t[11],2,null,null),t[0]=null,t[6]=null}(i[1],i);const a=s[19];null!==a&&a.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Mm(n,t){if(!(256&t[2])){const e=t[11];je(e)&&e.destroyNode&&sc(n,t,e,3,null,null),function pw(n){let t=n[13];if(!t)return Vd(n[1],n);for(;t;){let e=null;if(Lr(t))e=t[13];else{const i=t[10];i&&(e=i)}if(!e){for(;t&&!t[4]&&t!==n;)Lr(t)&&Vd(t[1],t),t=t[3];null===t&&(t=n),Lr(t)&&Vd(t[1],t),e=t&&t[4]}t=e}}(t)}}function Vd(n,t){if(!(256&t[2])){t[2]&=-129,t[2]|=256,function Vf(n,t){let e;if(null!=n&&null!=(e=n.destroyHooks))for(let i=0;i=0?i[r=f]():i[r=-f].unsubscribe(),s+=2}else{const a=i[r=e[s+1]];e[s].call(a)}if(null!==i){for(let s=r+1;ss?"":r[y+1].toLowerCase();const S=8&i?C:null;if(S&&-1!==Nm(S,f,0)||2&i&&f!==C){if(ls(i))return!1;a=!0}}}}else{if(!a&&!ls(i)&&!ls(h))return!1;if(a&&ls(h))continue;a=!1,i=h|1&i}}return ls(i)||a}function ls(n){return 0==(1&n)}function la(n,t,e,i){if(null===t)return-1;let r=0;if(i||!e){let s=!1;for(;r-1)for(e++;e0?'="'+u+'"':"")+"]"}else 8&i?r+="."+a:4&i&&(r+=" "+a);else""!==r&&!ls(a)&&(t+=zd(s,r),r=""),i=a,s=s||!ls(i);e++}return""!==r&&(t+=zd(s,r)),t}const ze={};function J(n){hn(Et(),K(),qn()+n,ad())}function hn(n,t,e,i){if(!i)if(3==(3&t[2])){const s=n.preOrderCheckHooks;null!==s&&Bu(t,s,e)}else{const s=n.preOrderHooks;null!==s&&Xo(t,s,0,e)}Ko(e)}function Wd(n,t){return n<<17|t<<2}function us(n){return n>>17&32767}function $f(n){return 2|n}function _o(n){return(131068&n)>>2}function Gd(n,t){return-131069&n|t<<2}function oc(n){return 1|n}function Gm(n,t){const e=n.contentQueries;if(null!==e)for(let i=0;i