diff --git a/angular-12-client/src/app/components/tutorials-list/tutorials-list.component.spec.ts b/angular-12-client/src/app/components/tutorials-list/tutorials-list.component.spec.ts
new file mode 100644
index 0000000..a757a41
--- /dev/null
+++ b/angular-12-client/src/app/components/tutorials-list/tutorials-list.component.spec.ts
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { TutorialsListComponent } from './tutorials-list.component';
+
+describe('TutorialsListComponent', () => {
+ let component: TutorialsListComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ TutorialsListComponent ]
+ })
+ .compileComponents();
+ });
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(TutorialsListComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/angular-12-client/src/app/components/tutorials-list/tutorials-list.component.ts b/angular-12-client/src/app/components/tutorials-list/tutorials-list.component.ts
new file mode 100644
index 0000000..6914503
--- /dev/null
+++ b/angular-12-client/src/app/components/tutorials-list/tutorials-list.component.ts
@@ -0,0 +1,73 @@
+import { Component, OnInit } from '@angular/core';
+import { Tutorial } from 'src/app/models/tutorial.model';
+import { TutorialService } from 'src/app/services/tutorial.service';
+
+@Component({
+ selector: 'app-tutorials-list',
+ templateUrl: './tutorials-list.component.html',
+ styleUrls: ['./tutorials-list.component.css']
+})
+export class TutorialsListComponent implements OnInit {
+
+ tutorials?: Tutorial[];
+ currentTutorial: Tutorial = {};
+ currentIndex = -1;
+ title = '';
+
+ constructor(private tutorialService: TutorialService) { }
+
+ ngOnInit(): void {
+ this.retrieveTutorials();
+ }
+
+ retrieveTutorials(): void {
+ this.tutorialService.getAll()
+ .subscribe(
+ data => {
+ this.tutorials = data;
+ console.log(data);
+ },
+ error => {
+ console.log(error);
+ });
+ }
+
+ refreshList(): void {
+ this.retrieveTutorials();
+ this.currentTutorial = {};
+ this.currentIndex = -1;
+ }
+
+ setActiveTutorial(tutorial: Tutorial, index: number): void {
+ this.currentTutorial = tutorial;
+ this.currentIndex = index;
+ }
+
+ removeAllTutorials(): void {
+ this.tutorialService.deleteAll()
+ .subscribe(
+ response => {
+ console.log(response);
+ this.refreshList();
+ },
+ error => {
+ console.log(error);
+ });
+ }
+
+ searchTitle(): void {
+ this.currentTutorial = {};
+ this.currentIndex = -1;
+
+ this.tutorialService.findByTitle(this.title)
+ .subscribe(
+ data => {
+ this.tutorials = data;
+ console.log(data);
+ },
+ error => {
+ console.log(error);
+ });
+ }
+
+}
diff --git a/angular-12-client/src/app/models/tutorial.model.spec.ts b/angular-12-client/src/app/models/tutorial.model.spec.ts
new file mode 100644
index 0000000..2250024
--- /dev/null
+++ b/angular-12-client/src/app/models/tutorial.model.spec.ts
@@ -0,0 +1,7 @@
+import { Tutorial } from './tutorial.model';
+
+describe('Tutorial', () => {
+ it('should create an instance', () => {
+ expect(new Tutorial()).toBeTruthy();
+ });
+});
diff --git a/angular-12-client/src/app/models/tutorial.model.ts b/angular-12-client/src/app/models/tutorial.model.ts
new file mode 100644
index 0000000..66c6ce3
--- /dev/null
+++ b/angular-12-client/src/app/models/tutorial.model.ts
@@ -0,0 +1,6 @@
+export class Tutorial {
+ id?: any;
+ title?: string;
+ description?: string;
+ published?: boolean;
+}
diff --git a/angular-12-client/src/app/services/tutorial.service.spec.ts b/angular-12-client/src/app/services/tutorial.service.spec.ts
new file mode 100644
index 0000000..2a5e71f
--- /dev/null
+++ b/angular-12-client/src/app/services/tutorial.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { TutorialService } from './tutorial.service';
+
+describe('TutorialService', () => {
+ let service: TutorialService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(TutorialService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/angular-12-client/src/app/services/tutorial.service.ts b/angular-12-client/src/app/services/tutorial.service.ts
new file mode 100644
index 0000000..5dcaa47
--- /dev/null
+++ b/angular-12-client/src/app/services/tutorial.service.ts
@@ -0,0 +1,42 @@
+import { Injectable } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+import { Observable } from 'rxjs';
+import { Tutorial } from '../models/tutorial.model';
+
+const baseUrl = 'http://localhost:8080/api/tutorials';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class TutorialService {
+
+ constructor(private http: HttpClient) { }
+
+ getAll(): Observable {
+ return this.http.get(baseUrl);
+ }
+
+ get(id: any): Observable {
+ return this.http.get(`${baseUrl}/${id}`);
+ }
+
+ create(data: any): Observable {
+ return this.http.post(baseUrl, data);
+ }
+
+ update(id: any, data: any): Observable {
+ return this.http.put(`${baseUrl}/${id}`, data);
+ }
+
+ delete(id: any): Observable {
+ return this.http.delete(`${baseUrl}/${id}`);
+ }
+
+ deleteAll(): Observable {
+ return this.http.delete(baseUrl);
+ }
+
+ findByTitle(title: any): Observable {
+ return this.http.get(`${baseUrl}?title=${title}`);
+ }
+}
diff --git a/angular-12-client/src/assets/.gitkeep b/angular-12-client/src/assets/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/angular-12-client/src/environments/environment.prod.ts b/angular-12-client/src/environments/environment.prod.ts
new file mode 100644
index 0000000..3612073
--- /dev/null
+++ b/angular-12-client/src/environments/environment.prod.ts
@@ -0,0 +1,3 @@
+export const environment = {
+ production: true
+};
diff --git a/angular-12-client/src/environments/environment.ts b/angular-12-client/src/environments/environment.ts
new file mode 100644
index 0000000..f56ff47
--- /dev/null
+++ b/angular-12-client/src/environments/environment.ts
@@ -0,0 +1,16 @@
+// This file can be replaced during build by using the `fileReplacements` array.
+// `ng build` replaces `environment.ts` with `environment.prod.ts`.
+// The list of file replacements can be found in `angular.json`.
+
+export const environment = {
+ production: false
+};
+
+/*
+ * For easier debugging in development mode, you can import the following file
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
+ *
+ * This import should be commented out in production mode because it will have a negative impact
+ * on performance if an error is thrown.
+ */
+// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
diff --git a/angular-12-client/src/favicon.ico b/angular-12-client/src/favicon.ico
new file mode 100644
index 0000000..997406a
Binary files /dev/null and b/angular-12-client/src/favicon.ico differ
diff --git a/angular-12-client/src/index.html b/angular-12-client/src/index.html
new file mode 100644
index 0000000..dd1fba7
--- /dev/null
+++ b/angular-12-client/src/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+ Angular12Crud
+
+
+
+
+
+
+
+
+
diff --git a/angular-12-client/src/main.ts b/angular-12-client/src/main.ts
new file mode 100644
index 0000000..c7b673c
--- /dev/null
+++ b/angular-12-client/src/main.ts
@@ -0,0 +1,12 @@
+import { enableProdMode } from '@angular/core';
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app/app.module';
+import { environment } from './environments/environment';
+
+if (environment.production) {
+ enableProdMode();
+}
+
+platformBrowserDynamic().bootstrapModule(AppModule)
+ .catch(err => console.error(err));
diff --git a/angular-12-client/src/polyfills.ts b/angular-12-client/src/polyfills.ts
new file mode 100644
index 0000000..373f538
--- /dev/null
+++ b/angular-12-client/src/polyfills.ts
@@ -0,0 +1,65 @@
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ * file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/guide/browser-support
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/**
+ * IE11 requires the following for NgClass support on SVG elements
+ */
+// import 'classlist.js'; // Run `npm install --save classlist.js`.
+
+/**
+ * Web Animations `@angular/platform-browser/animations`
+ * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
+ * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
+ */
+// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
+
+/**
+ * By default, zone.js will patch all possible macroTask and DomEvents
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
+ * because those flags need to be set before `zone.js` being loaded, and webpack
+ * will put import in the top of bundle, so user need to create a separate file
+ * in this directory (for example: zone-flags.ts), and put the following flags
+ * into that file, and then add the following code before importing zone.js.
+ * import './zone-flags';
+ *
+ * The flags allowed in zone-flags.ts are listed here.
+ *
+ * The following flags will work for all browsers.
+ *
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
+ * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
+ *
+ * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
+ * with the following flag, it will bypass `zone.js` patch for IE/Edge
+ *
+ * (window as any).__Zone_enable_cross_context_check = true;
+ *
+ */
+
+/***************************************************************************************************
+ * Zone JS is required by default for Angular itself.
+ */
+import 'zone.js'; // Included with Angular CLI.
+
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
diff --git a/angular-12-client/src/styles.css b/angular-12-client/src/styles.css
new file mode 100644
index 0000000..90d4ee0
--- /dev/null
+++ b/angular-12-client/src/styles.css
@@ -0,0 +1 @@
+/* You can add global styles to this file, and also import other style files */
diff --git a/angular-12-client/src/test.ts b/angular-12-client/src/test.ts
new file mode 100644
index 0000000..2042356
--- /dev/null
+++ b/angular-12-client/src/test.ts
@@ -0,0 +1,25 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import 'zone.js/testing';
+import { getTestBed } from '@angular/core/testing';
+import {
+ BrowserDynamicTestingModule,
+ platformBrowserDynamicTesting
+} from '@angular/platform-browser-dynamic/testing';
+
+declare const require: {
+ context(path: string, deep?: boolean, filter?: RegExp): {
+ keys(): string[];
+ (id: string): T;
+ };
+};
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(
+ BrowserDynamicTestingModule,
+ platformBrowserDynamicTesting()
+);
+// Then we find all the tests.
+const context = require.context('./', true, /\.spec\.ts$/);
+// And load the modules.
+context.keys().map(context);
diff --git a/angular-12-client/static/3rdpartylicenses.txt b/angular-12-client/static/3rdpartylicenses.txt
new file mode 100644
index 0000000..5566129
--- /dev/null
+++ b/angular-12-client/static/3rdpartylicenses.txt
@@ -0,0 +1,268 @@
+@angular/common
+MIT
+
+@angular/core
+MIT
+
+@angular/forms
+MIT
+
+@angular/platform-browser
+MIT
+
+@angular/router
+MIT
+
+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.
+
+
+
+webpack
+MIT
+Copyright JS Foundation and other contributors
+
+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.
+
+
+zone.js
+MIT
+The MIT License
+
+Copyright (c) 2010-2020 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/angular-12-client/static/favicon.ico b/angular-12-client/static/favicon.ico
new file mode 100644
index 0000000..997406a
Binary files /dev/null and b/angular-12-client/static/favicon.ico differ
diff --git a/angular-12-client/static/index.html b/angular-12-client/static/index.html
new file mode 100644
index 0000000..9bcb210
--- /dev/null
+++ b/angular-12-client/static/index.html
@@ -0,0 +1,13 @@
+
+
+ Angular12Crud
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/angular-12-client/static/main.d5a3d3feaca11180e4a3.js b/angular-12-client/static/main.d5a3d3feaca11180e4a3.js
new file mode 100644
index 0000000..4ac5f63
--- /dev/null
+++ b/angular-12-client/static/main.d5a3d3feaca11180e4a3.js
@@ -0,0 +1 @@
+(self.webpackChunkangular12_crud=self.webpackChunkangular12_crud||[]).push([[179],{255:t=>{function e(t){return Promise.resolve().then(()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=()=>[],e.resolve=e,e.id=255,t.exports=e},621:(t,e,n)=>{"use strict";function r(t){return"function"==typeof t}let s=!1;const i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else s&&console.log("RxJS: Back to a better error behavior. Thank you. <3");s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function o(t){setTimeout(()=>{throw t},0)}const a={closed:!0,next(t){},error(t){if(i.useDeprecatedSynchronousErrorHandling)throw t;o(t)},complete(){}},l=(()=>Array.isArray||(t=>t&&"number"==typeof t.length))();function u(t){return null!==t&&"object"==typeof t}const c=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();let h=(()=>{class t{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:n,_ctorUnsubscribe:s,_unsubscribe:i,_subscriptions:o}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(let t=0;tt.concat(e instanceof c?e.errors:e),[])}const p=(()=>"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random())();class f extends h{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){t instanceof f?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new g(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new g(this,t,e,n)}}[p](){return this}static create(t,e,n){const r=new f(t,e,n);return r.syncErrorThrowable=!1,r}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class g extends f{constructor(t,e,n,s){let i;super(),this._parentSubscriber=t;let o=this;r(e)?i=e:e&&(i=e.next,n=e.error,s=e.complete,e!==a&&(o=Object.create(e),r(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=i,this._error=n,this._complete=s}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;i.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=i;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):o(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;o(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);i.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),i.useDeprecatedSynchronousErrorHandling)throw n;o(n)}}__tryOrSetError(t,e,n){if(!i.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(r){return i.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=r,t.syncErrorThrown=!0,!0):(o(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const m=(()=>"function"==typeof Symbol&&Symbol.observable||"@@observable")();function y(t){return t}let v=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:r}=this,s=function(t,e,n){if(t){if(t instanceof f)return t;if(t[p])return t[p]()}return t||e||n?new f(t,e,n):new f(a)}(t,e,n);if(s.add(r?r.call(s,this.source):this.source||i.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),i.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){i.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:r}=t;if(e||r)return!1;t=n&&n instanceof f?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=_(e))((e,n)=>{let r;r=this.subscribe(e=>{try{t(e)}catch(s){n(s),r&&r.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[m](){return this}pipe(...t){return 0===t.length?this:(0===(e=t).length?y:1===e.length?e[0]:function(t){return e.reduce((t,e)=>e(t),t)})(this);var e}toPromise(t){return new(t=_(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function _(t){if(t||(t=i.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const b=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class w extends h{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class C extends f{constructor(t){super(t),this.destination=t}}let S=(()=>{class t extends v{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[p](){return new C(this)}lift(t){const e=new x(this,this);return e.operator=t,e}next(t){if(this.closed)throw new b;if(!this.isStopped){const{observers:e}=this,n=e.length,r=e.slice();for(let s=0;snew x(t,e),t})();class x extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):h.EMPTY}}function E(t){return t&&"function"==typeof t.schedule}function T(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new A(t,e))}}class A{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new k(t,this.project,this.thisArg))}}class k extends f{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const O=t=>e=>{for(let n=0,r=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function V(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const j=t=>{if(t&&"function"==typeof t[m])return n=t,t=>{const e=n[m]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(P(t))return O(t);if(V(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,o),e))(t);if(t&&"function"==typeof t[I])return e=t,t=>{const n=e[I]();for(;;){let e;try{e=n.next()}catch(r){return t.error(r),t}if(e.done){t.complete();break}if(t.next(e.value),t.closed)break}return"function"==typeof n.return&&t.add(()=>{n.return&&n.return()}),t};{const e=u(t)?"an invalid object":`'${t}'`;throw new TypeError(`You provided ${e} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`)}var e,n};function D(t,e){return new v(n=>{const r=new h;let s=0;return r.add(e.schedule(function(){s!==t.length?(n.next(t[s++]),n.closed||r.add(this.schedule())):n.complete()})),r})}function N(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[m]}(t))return function(t,e){return new v(n=>{const r=new h;return r.add(e.schedule(()=>{const s=t[m]();r.add(s.subscribe({next(t){r.add(e.schedule(()=>n.next(t)))},error(t){r.add(e.schedule(()=>n.error(t)))},complete(){r.add(e.schedule(()=>n.complete()))}}))})),r})}(t,e);if(V(t))return function(t,e){return new v(n=>{const r=new h;return r.add(e.schedule(()=>t.then(t=>{r.add(e.schedule(()=>{n.next(t),r.add(e.schedule(()=>n.complete()))}))},t=>{r.add(e.schedule(()=>n.error(t)))}))),r})}(t,e);if(P(t))return D(t,e);if(function(t){return t&&"function"==typeof t[I]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new v(n=>{const r=new h;let s;return r.add(()=>{s&&"function"==typeof s.return&&s.return()}),r.add(e.schedule(()=>{s=t[I](),r.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=s.next();t=n.value,e=n.done}catch(r){return void n.error(r)}e?n.complete():(n.next(t),this.schedule())}))})),r})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof v?t:new v(j(t))}class U extends f{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class M extends f{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function F(t,e){if(e.closed)return;if(t instanceof v)return t.subscribe(e);let n;try{n=j(t)(e)}catch(r){e.error(r)}return n}function L(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?r=>r.pipe(L((n,r)=>N(t(n,r)).pipe(T((t,s)=>e(n,t,r,s))),n)):("number"==typeof e&&(n=e),e=>e.lift(new H(t,n)))}class H{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new $(t,this.project,this.concurrent))}}class $ extends M{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function z(t=Number.POSITIVE_INFINITY){return L(y,t)}function B(t,e){return e?D(t,e):new v(O(t))}function q(){return function(t){return t.lift(new G(t))}}class G{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const r=new W(t,n),s=e.subscribe(r);return r.closed||(r.connection=n.connect()),s}}class W extends f{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}class Z extends v{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new h,t.add(this.source.subscribe(new K(this.getSubject(),this))),t.closed&&(this._connection=null,t=h.EMPTY)),t}refCount(){return q()(this)}}const Q=(()=>{const t=Z.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class K extends C{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function J(){return new S}function Y(t){for(let e in t)if(t[e]===Y)return e;throw Error("Could not find renamed property on target object.")}function X(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function tt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(tt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function et(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const nt=Y({__forward_ref__:Y});function rt(t){return t.__forward_ref__=rt,t.toString=function(){return tt(this())},t}function st(t){return it(t)?t():t}function it(t){return"function"==typeof t&&t.hasOwnProperty(nt)&&t.__forward_ref__===rt}class ot extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function at(t){return"string"==typeof t?t:null==t?"":String(t)}function lt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():at(t)}function ut(t,e){const n=e?` in ${e}`:"";throw new ot("201",`No provider for ${lt(t)} found${n}`)}function ct(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function ht(t){return{providers:t.providers||[],imports:t.imports||[]}}function dt(t){return pt(t,gt)||pt(t,yt)}function pt(t,e){return t.hasOwnProperty(e)?t[e]:null}function ft(t){return t&&(t.hasOwnProperty(mt)||t.hasOwnProperty(vt))?t[mt]:null}const gt=Y({"\u0275prov":Y}),mt=Y({"\u0275inj":Y}),yt=Y({ngInjectableDef:Y}),vt=Y({ngInjectorDef:Y});var _t=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});let bt;function wt(t){const e=bt;return bt=t,e}function Ct(t,e,n){const r=dt(t);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&_t.Optional?null:void 0!==e?e:void ut(tt(t),"Injector")}function St(t){return{toString:t}.toString()}var xt=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}({}),Et=function(t){return t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t}({});const Tt="undefined"!=typeof globalThis&&globalThis,At="undefined"!=typeof window&&window,kt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,Ot="undefined"!=typeof global&&global,Rt=Tt||Ot||At||kt,It={},Pt=[],Vt=Y({"\u0275cmp":Y}),jt=Y({"\u0275dir":Y}),Dt=Y({"\u0275pipe":Y}),Nt=Y({"\u0275mod":Y}),Ut=Y({"\u0275loc":Y}),Mt=Y({"\u0275fac":Y}),Ft=Y({__NG_ELEMENT_ID__:Y});let Lt=0;function Ht(t){return St(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===xt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||Pt,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||Et.Emulated,id:"c",styles:t.styles||Pt,_:null,setInput:null,schemas:t.schemas||null,tView:null},r=t.directives,s=t.features,i=t.pipes;return n.id+=Lt++,n.inputs=Gt(t.inputs,e),n.outputs=Gt(t.outputs),s&&s.forEach(t=>t(n)),n.directiveDefs=r?()=>("function"==typeof r?r():r).map($t):null,n.pipeDefs=i?()=>("function"==typeof i?i():i).map(zt):null,n})}function $t(t){return Zt(t)||function(t){return t[jt]||null}(t)}function zt(t){return function(t){return t[Dt]||null}(t)}const Bt={};function qt(t){const e={type:t.type,bootstrap:t.bootstrap||Pt,declarations:t.declarations||Pt,imports:t.imports||Pt,exports:t.exports||Pt,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&St(()=>{Bt[t.id]=t.type}),e}function Gt(t,e){if(null==t)return It;const n={};for(const r in t)if(t.hasOwnProperty(r)){let s=t[r],i=s;Array.isArray(s)&&(i=s[1],s=s[0]),n[s]=r,e&&(e[s]=i)}return n}const Wt=Ht;function Zt(t){return t[Vt]||null}function Qt(t,e){const n=t[Nt]||null;if(!n&&!0===e)throw new Error(`Type ${tt(t)} does not have '\u0275mod' property.`);return n}const Kt=20,Jt=10;function Yt(t){return Array.isArray(t)&&"object"==typeof t[1]}function Xt(t){return Array.isArray(t)&&!0===t[1]}function te(t){return 0!=(8&t.flags)}function ee(t){return 2==(2&t.flags)}function ne(t){return 1==(1&t.flags)}function re(t){return null!==t.template}function se(t,e){return t.hasOwnProperty(Mt)?t[Mt]:null}class ie{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function oe(){return ae}function ae(t){return t.type.prototype.ngOnChanges&&(t.setInput=ue),le}function le(){const t=ce(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===It)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function ue(t,e,n,r){const s=ce(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:It,current:null}),i=s.current||(s.current={}),o=s.previous,a=this.declaredInputs[n],l=o[a];i[a]=new ie(l&&l.currentValue,e,o===It),t[r]=e}function ce(t){return t.__ngSimpleChanges__||null}let he;function de(t){return!!t.listen}oe.ngInherit=!0;const pe={createRenderer:(t,e)=>void 0!==he?he:"undefined"!=typeof document?document:void 0};function fe(t){for(;Array.isArray(t);)t=t[0];return t}function ge(t,e){return fe(e[t])}function me(t,e){return fe(e[t.index])}function ye(t,e){return t.data[e]}function ve(t,e){const n=e[t];return Yt(n)?n:n[0]}function _e(t){return 128==(128&t[2])}function be(t,e){return null==e?null:t[e]}function we(t){t[18]=0}function Ce(t,e){t[5]+=e;let n=t,r=t[3];for(;null!==r&&(1===e&&1===n[5]||-1===e&&0===n[5]);)r[5]+=e,n=r,r=r[3]}const Se={lFrame:$e(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function xe(){return Se.bindingsEnabled}function Ee(){return Se.lFrame.lView}function Te(){return Se.lFrame.tView}function Ae(t){return Se.lFrame.contextLView=t,t[8]}function ke(){let t=Oe();for(;null!==t&&64===t.type;)t=t.parent;return t}function Oe(){return Se.lFrame.currentTNode}function Re(t,e){const n=Se.lFrame;n.currentTNode=t,n.isParent=e}function Ie(){return Se.lFrame.isParent}function Pe(){return Se.isInCheckNoChangesMode}function Ve(t){Se.isInCheckNoChangesMode=t}function je(){return Se.lFrame.bindingIndex++}function De(t,e){const n=Se.lFrame;n.bindingIndex=n.bindingRootIndex=t,Ne(e)}function Ne(t){Se.lFrame.currentDirectiveIndex=t}function Ue(t){Se.lFrame.currentQueryIndex=t}function Me(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function Fe(t,e,n){if(n&_t.SkipSelf){let r=e,s=t;for(;r=r.parent,!(null!==r||n&_t.Host||(r=Me(s),null===r)||(s=s[15],10&r.type)););if(null===r)return!1;e=r,t=s}const r=Se.lFrame=He();return r.currentTNode=e,r.lView=t,!0}function Le(t){const e=He(),n=t[1];Se.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function He(){const t=Se.lFrame,e=null===t?null:t.child;return null===e?$e(t):e}function $e(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function ze(){const t=Se.lFrame;return Se.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Be=ze;function qe(){const t=ze();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Ge(){return Se.lFrame.selectedIndex}function We(t){Se.lFrame.selectedIndex=t}function Ze(){const t=Se.lFrame;return ye(t.tView,t.selectedIndex)}function Qe(t,e){for(let n=e.directiveStart,r=e.directiveEnd;n=r)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{i.call(o)}finally{}}}else try{i.call(o)}finally{}}const en=-1;class nn{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function rn(t,e,n){const r=de(t);let s=0;for(;se){o=i-1;break}}}for(;i>16,r=e;for(;n>0;)r=r[15],n--;return r}let dn=!0;function pn(t){const e=dn;return dn=t,e}let fn=0;function gn(t,e){const n=yn(t,e);if(-1!==n)return n;const r=e[1];r.firstCreatePass&&(t.injectorIndex=e.length,mn(r.data,t),mn(e,null),mn(r.blueprint,null));const s=vn(t,e),i=t.injectorIndex;if(un(s)){const t=cn(s),n=hn(s,e),r=n[1].data;for(let s=0;s<8;s++)e[i+s]=n[t+s]|r[t+s]}return e[i+8]=s,i}function mn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function yn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function vn(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,r=null,s=e;for(;null!==s;){const t=s[1],e=t.type;if(r=2===e?t.declTNode:1===e?s[6]:null,null===r)return en;if(n++,s=s[15],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return en}function _n(t,e,n){!function(t,e,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(Ft)&&(r=n[Ft]),null==r&&(r=n[Ft]=fn++);const s=255&r;e.data[t+(s>>5)]|=1<=0?255&e:xn:e}(n);if("function"==typeof i){if(!Fe(e,t,r))return r&_t.Host?bn(s,n,r):wn(e,n,r,s);try{const t=i(r);if(null!=t||r&_t.Optional)return t;ut(n)}finally{Be()}}else if("number"==typeof i){let s=null,o=yn(t,e),a=en,l=r&_t.Host?e[16][6]:null;for((-1===o||r&_t.SkipSelf)&&(a=-1===o?vn(t,e):e[o+8],a!==en&&kn(r,!1)?(s=e[1],o=cn(a),e=hn(a,e)):o=-1);-1!==o;){const t=e[1];if(An(i,o,t.data)){const t=En(o,e,n,s,r,l);if(t!==Sn)return t}a=e[o+8],a!==en&&kn(r,e[1].data[o+8]===l)&&An(i,o,e)?(s=t,o=cn(a),e=hn(a,e)):o=-1}}}return wn(e,n,r,s)}const Sn={};function xn(){return new On(ke(),Ee())}function En(t,e,n,r,s,i){const o=e[1],a=o.data[t+8],l=function(t,e,n,r,s){const i=t.providerIndexes,o=e.data,a=1048575&i,l=t.directiveStart,u=i>>20,c=s?a+u:t.directiveEnd;for(let h=r?a:a+u;h=l&&t.type===n)return h}if(s){const t=o[l];if(t&&re(t)&&t.type===n)return l}return null}(a,o,n,null==r?ee(a)&&dn:r!=o&&0!=(3&a.type),s&_t.Host&&i===a);return null!==l?Tn(e,o,l,a):Sn}function Tn(t,e,n,r){let s=t[n];const i=e.data;if(s instanceof nn){const o=s;o.resolving&&function(t,e){throw new ot("200",`Circular dependency in DI detected for ${t}`)}(lt(i[n]));const a=pn(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?wt(o.injectImpl):null;Fe(t,r,_t.Default);try{s=t[n]=o.factory(void 0,i,t,r),e.firstCreatePass&&n>=r.directiveStart&&function(t,e,n){const{ngOnChanges:r,ngOnInit:s,ngDoCheck:i}=e.type.prototype;if(r){const r=ae(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,r),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,r)}s&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,s),i&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i))}(n,i[n],e)}finally{null!==l&&wt(l),pn(a),o.resolving=!1,Be()}}return s}function An(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Mt]||In(e),r=Object.prototype;let s=Object.getPrototypeOf(t.prototype).constructor;for(;s&&s!==r;){const t=s[Mt]||In(s);if(t&&t!==n)return t;s=Object.getPrototypeOf(s)}return t=>new t})}function In(t){return it(t)?()=>{const e=In(st(t));return e&&e()}:se(t)}const Pn="__parameters__";function Vn(t,e,n){return St(()=>{const r=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function s(...t){if(this instanceof s)return r.apply(this,t),this;const e=new s(...t);return n.annotation=e,n;function n(t,n,r){const s=t.hasOwnProperty(Pn)?t[Pn]:Object.defineProperty(t,Pn,{value:[]})[Pn];for(;s.length<=r;)s.push(null);return(s[r]=s[r]||[]).push(e),t}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=t,s.annotationCls=s,s})}class jn{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=ct({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Dn=new jn("AnalyzeForEntryComponents"),Nn=Function;function Un(t,e){t.forEach(t=>Array.isArray(t)?Un(t,e):e(t))}function Mn(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Fn(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function Ln(t,e,n){let r=$n(t,e);return r>=0?t[1|r]=n:(r=~r,function(t,e,n,r){let s=t.length;if(s==e)t.push(n,r);else if(1===s)t.push(r,t[0]),t[0]=n;else{for(s--,t.push(t[s-1],t[s]);s>e;)t[s]=t[s-2],s--;t[e]=n,t[e+1]=r}}(t,r,e,n)),r}function Hn(t,e){const n=$n(t,e);if(n>=0)return t[1|n]}function $n(t,e){return function(t,e,n){let r=0,s=t.length>>1;for(;s!==r;){const n=r+(s-r>>1),i=t[n<<1];if(e===i)return n<<1;i>e?s=n:r=n+1}return~(s<<1)}(t,e)}const zn={},Bn=/\n/gm,qn="__source",Gn=Y({provide:String,useValue:Y});let Wn;function Zn(t){const e=Wn;return Wn=t,e}function Qn(t,e=_t.Default){if(void 0===Wn)throw new Error("inject() must be called from an injection context");return null===Wn?Ct(t,void 0,e):Wn.get(t,e&_t.Optional?null:void 0,e)}function Kn(t,e=_t.Default){return(bt||Qn)(st(t),e)}function Jn(t){const e=[];for(let n=0;n({token:t})),-1),tr=Yn(Vn("Optional"),8),er=Yn(Vn("SkipSelf"),4);class nr{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}function rr(t){return t instanceof nr?t.changingThisBreaksApplicationSecurity:t}const sr=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi,ir=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;var or=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}({});function ar(t){const e=function(){const t=Ee();return t&&t[12]}();return e?e.sanitize(or.URL,t)||"":function(t,e){const n=function(t){return t instanceof nr&&t.getTypeName()||null}(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}(t,"URL")?rr(t):(n=at(t),(n=String(n)).match(sr)||n.match(ir)?n:"unsafe:"+n);var n}function lr(t,e){t.__ngContext__=e}function ur(t){const e=function(t){return t.__ngContext__||null}(t);return e?Array.isArray(e)?e:e.lView:null}function cr(t){return t.ngDebugContext}function hr(t){return t.ngOriginalError}function dr(t,...e){t.error(...e)}class pr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),r=function(t){return t.ngErrorLogger||dr}(t);r(this._console,"ERROR",t),e&&r(this._console,"ORIGINAL ERROR",e),n&&r(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?cr(t)?cr(t):this._findContext(hr(t)):null}_findOriginalError(t){let e=hr(t);for(;e&&hr(e);)e=hr(e);return e}}const fr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Rt))();function gr(t){return t instanceof Function?t():t}var mr=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}({});function yr(t,e){return(void 0)(t,e)}function vr(t){const e=t[3];return Xt(e)?e[3]:e}function _r(t){return wr(t[13])}function br(t){return wr(t[4])}function wr(t){for(;null!==t&&!Xt(t);)t=t[4];return t}function Cr(t,e,n,r,s){if(null!=r){let i,o=!1;Xt(r)?i=r:Yt(r)&&(o=!0,r=r[0]);const a=fe(r);0===t&&null!==n?null==s?Or(e,n,a):kr(e,n,a,s||null,!0):1===t&&null!==n?kr(e,n,a,s||null,!0):2===t?function(t,e,n){const r=Ir(t,e);r&&function(t,e,n,r){de(t)?t.removeChild(e,n,r):e.removeChild(n)}(t,r,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=i&&function(t,e,n,r,s){const i=n[7];i!==fe(n)&&Cr(e,t,r,i,s);for(let o=Jt;o0&&(t[n-1][4]=r[4]);const o=Fn(t,Jt+e);Ur(r[1],s=r,s[11],2,null,null),s[0]=null,s[6]=null;const a=o[19];null!==a&&a.detachView(o[1]),r[3]=null,r[4]=null,r[2]&=-129}var s;return r}function Tr(t,e){if(!(256&e[2])){const n=e[11];de(n)&&n.destroyNode&&Ur(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return Ar(t[1],t);for(;e;){let n=null;if(Yt(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)Yt(e)&&Ar(e[1],e),e=e[3];null===e&&(e=t),Yt(e)&&Ar(e[1],e),n=e&&e[4]}e=n}}(e)}}function Ar(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let r=0;r=0?r[s=l]():r[s=-l].unsubscribe(),i+=2}else{const t=r[s=n[i+1]];n[i].call(t)}if(null!==r){for(let t=s+1;ti?"":s[c+1].toLowerCase();const e=8&r?t:null;if(e&&-1!==Hr(e,u,0)||2&r&&u!==t){if(Wr(r))return!1;o=!0}}}}else{if(!o&&!Wr(r)&&!Wr(l))return!1;if(o&&Wr(l))continue;o=!1,r=l|1&r}}return Wr(r)||o}function Wr(t){return 0==(1&t)}function Zr(t,e,n,r){if(null===e)return-1;let s=0;if(r||!n){let n=!1;for(;s-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&r?s+="."+o:4&r&&(s+=" "+o);else""===s||Wr(o)||(e+=Kr(i,s),s=""),r=o,i=i||!Wr(r);n++}return""!==s&&(e+=Kr(i,s)),e}const Yr={};function Xr(t){ts(Te(),Ee(),Ge()+t,Pe())}function ts(t,e,n,r){if(!r)if(3==(3&e[2])){const r=t.preOrderCheckHooks;null!==r&&Ke(e,r,n)}else{const r=t.preOrderHooks;null!==r&&Je(e,r,0,n)}We(n)}function es(t,e){return t<<17|e<<2}function ns(t){return t>>17&32767}function rs(t){return 2|t}function ss(t){return(131068&t)>>2}function is(t,e){return-131069&t|e<<2}function os(t){return 1|t}function as(t,e){const n=t.contentQueries;if(null!==n)for(let r=0;rKt&&ts(t,e,Kt,Pe()),n(r,s)}finally{We(i)}}function gs(t,e,n){xe()&&(function(t,e,n,r){const s=n.directiveStart,i=n.directiveEnd;t.firstCreatePass||gn(n,e),lr(r,e);const o=n.initialInputs;for(let a=s;a0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=i&&n.push(i),n.push(r,s,o)}}function Ss(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Es(t,e,n){if(n){if(e.exportAs)for(let r=0;r0&&Vs(n)}}function Vs(t){for(let n=_r(t);null!==n;n=br(n))for(let t=Jt;t0&&Vs(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&Vs(r)}}function js(t,e){const n=ve(e,t),r=n[1];!function(t,e){for(let n=e.length;nPromise.resolve(null))();function Hs(t){return t[7]||(t[7]=[])}function $s(t){return t.cleanup||(t.cleanup=[])}function zs(t,e){const n=t[9],r=n?n.get(pr,null):null;r&&r.handleError(e)}function Bs(t,e,n,r,s){for(let i=0;ithis.processProvider(n,t,e)),Un([t],t=>this.processInjectorType(t,[],s)),this.records.set(Gs,ri(void 0,this));const i=this.records.get(Zs);this.scope=null!=i?i.value:null,this.source=r||("object"==typeof t?null:tt(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=zn,n=_t.Default){this.assertNotDestroyed();const r=Zn(this);try{if(!(n&_t.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=("function"==typeof(s=t)||"object"==typeof s&&s instanceof jn)&&dt(t);e=n&&this.injectableDefInScope(n)?ri(ei(t),Qs):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&_t.Self?Ys():this.parent).get(t,e=n&_t.Optional&&e===zn?null:e)}catch(i){if("NullInjectorError"===i.name){if((i.ngTempTokenPath=i.ngTempTokenPath||[]).unshift(tt(t)),r)throw i;return function(t,e,n,r){const s=t.ngTempTokenPath;throw e[qn]&&s.unshift(e[qn]),t.message=function(t,e,n,r=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let s=tt(e);if(Array.isArray(e))s=e.map(tt).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];t.push(n+":"+("string"==typeof r?JSON.stringify(r):tt(r)))}s=`{${t.join(", ")}}`}return`${n}${r?"("+r+")":""}[${s}]: ${t.replace(Bn,"\n ")}`}("\n"+t.message,s,n,r),t.ngTokenPath=s,t.ngTempTokenPath=null,t}(i,t,"R3InjectorError",this.source)}throw i}finally{Zn(r)}var s}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(tt(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=st(t)))return!1;let r=ft(t);const s=null==r&&t.ngModule||void 0,i=void 0===s?t:s,o=-1!==n.indexOf(i);if(void 0!==s&&(r=ft(s)),null==r)return!1;if(null!=r.imports&&!o){let t;n.push(i);try{Un(r.imports,r=>{this.processInjectorType(r,e,n)&&(void 0===t&&(t=[]),t.push(r))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,r||Pt))}}this.injectorDefTypes.add(i);const a=se(i)||(()=>new i);this.records.set(i,ri(a,Qs));const l=r.providers;if(null!=l&&!o){const e=t;Un(l,t=>this.processProvider(t,e,l))}return void 0!==s&&void 0!==t.providers}processProvider(t,e,n){let r=ii(t=st(t))?t:st(t&&t.provide);const s=function(t,e,n){return si(t)?ri(void 0,t.useValue):ri(ni(t),Qs)}(t);if(ii(t)||!0!==t.multi)this.records.get(r);else{let e=this.records.get(r);e||(e=ri(void 0,Qs,!0),e.factory=()=>Jn(e.multi),this.records.set(r,e)),r=t,e.multi.push(t)}this.records.set(r,s)}hydrate(t,e){var n;return e.value===Qs&&(e.value=Ks,e.value=e.factory()),"object"==typeof e.value&&e.value&&null!==(n=e.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=st(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function ei(t){const e=dt(t),n=null!==e?e.factory:se(t);if(null!==n)return n;if(t instanceof jn)throw new Error(`Token ${tt(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=function(t,e){const n=[];for(let r=0;rn.factory(t):()=>new t}(t);throw new Error("unreachable")}function ni(t,e,n){let r;if(ii(t)){const e=st(t);return se(e)||ei(e)}if(si(t))r=()=>st(t.useValue);else if((s=t)&&s.useFactory)r=()=>t.useFactory(...Jn(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))r=()=>Kn(st(t.useExisting));else{const e=st(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return se(e)||ei(e);r=()=>new e(...Jn(t.deps))}var s;return r}function ri(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function si(t){return null!==t&&"object"==typeof t&&Gn in t}function ii(t){return"function"==typeof t}const oi=function(t,e,n){return function(t,e=null,n=null,r){const s=Xs(t,e,n,r);return s._resolveInjectorDefTypes(),s}({name:n},e,t,n)};let ai=(()=>{class t{static create(t,e){return Array.isArray(t)?oi(t,e,""):oi(t.providers,t.parent,t.name||"")}}return t.THROW_IF_NOT_FOUND=zn,t.NULL=new Ws,t.\u0275prov=ct({token:t,providedIn:"any",factory:()=>Kn(Gs)}),t.__NG_ELEMENT_ID__=-1,t})();function li(t,e){Qe(ur(t)[1],ke())}function ui(t){let e=Object.getPrototypeOf(t.type.prototype).constructor,n=!0;const r=[t];for(;e;){let s;if(re(t))s=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");s=e.\u0275dir}if(s){if(n){r.push(s);const e=t;e.inputs=ci(t.inputs),e.declaredInputs=ci(t.declaredInputs),e.outputs=ci(t.outputs);const n=s.hostBindings;n&&pi(t,n);const i=s.viewQuery,o=s.contentQueries;if(i&&hi(t,i),o&&di(t,o),X(t.inputs,s.inputs),X(t.declaredInputs,s.declaredInputs),X(t.outputs,s.outputs),re(s)&&s.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(s.data.animation)}}const e=s.features;if(e)for(let r=0;r=0;r--){const s=t[r];s.hostVars=e+=s.hostVars,s.hostAttrs=an(s.hostAttrs,n=an(n,s.hostAttrs))}}(r)}function ci(t){return t===It?{}:t===Pt?[]:t}function hi(t,e){const n=t.viewQuery;t.viewQuery=n?(t,r)=>{e(t,r),n(t,r)}:e}function di(t,e){const n=t.contentQueries;t.contentQueries=n?(t,r,s)=>{e(t,r,s),n(t,r,s)}:e}function pi(t,e){const n=t.hostBindings;t.hostBindings=n?(t,r)=>{e(t,r),n(t,r)}:e}let fi=null;function gi(){if(!fi){const t=Rt.Symbol;if(t&&t.iterator)fi=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(fe(t[r.index])):r.index;if(de(n)){let o=null;if(!a&&l&&(o=function(t,e,n,r){const s=t.cleanup;if(null!=s)for(let i=0;in?t[n]:null}"string"==typeof t&&(i+=2)}return null}(t,e,s,r.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=i,o.__ngLastListenerFn__=i,h=!1;else{i=Vi(r,e,0,i,!1);const t=n.listen(p,s,i);c.push(i,t),u&&u.push(s,g,f,f+1)}}else i=Vi(r,e,0,i,!0),p.addEventListener(s,i,o),c.push(i),u&&u.push(s,g,f,o)}else i=Vi(r,e,0,i,!1);const d=r.outputs;let p;if(h&&null!==d&&(p=d[s])){const t=p.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Se.lFrame.contextLView))[8]}(t)}function Di(t,e,n,r,s){const i=Ee(),o=bi(i,e,n,r);return o!==Yr&&bs(Te(),Ze(),i,t,o,i[11],s,!1),Di}function Ni(t,e,n,r,s){const i=t[n+1],o=null===e;let a=r?ns(i):ss(i),l=!1;for(;0!==a&&(!1===l||o);){const n=t[a+1];Ui(t[a],e)&&(l=!0,t[a+1]=r?os(n):rs(n)),a=r?ns(n):ss(n)}l&&(t[n+1]=r?rs(i):os(i))}function Ui(t,e){return null===t||null==e||(Array.isArray(t)?t[1]:t)===e||!(!Array.isArray(t)||"string"!=typeof e)&&$n(t,e)>=0}function Mi(t,e){return function(t,e,n,r){const s=Ee(),i=Te(),o=function(t){const e=Se.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+2,n}();i.firstUpdatePass&&function(t,e,n,r){const s=t.data;if(null===s[n+1]){const i=s[Ge()],o=function(t,e){return e>=t.expandoStartIndex}(t,n);(function(t,e){return 0!=(16&t.flags)})(i)&&null===e&&!o&&(e=!1),e=function(t,e,n,r){const s=function(t){const e=Se.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}(t);let i=e.residualClasses;if(null===s)0===e.classBindings&&(n=Li(n=Fi(null,t,e,n,r),e.attrs,r),i=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==s)if(n=Fi(s,t,e,n,r),null===i){let n=function(t,e,n){const r=e.classBindings;if(0!==ss(r))return t[ns(r)]}(t,e);void 0!==n&&Array.isArray(n)&&(n=Fi(null,t,e,n[1],r),n=Li(n,e.attrs,r),function(t,e,n,r){t[ns(e.classBindings)]=r}(t,e,0,n))}else i=function(t,e,n){let r;const s=e.directiveEnd;for(let i=1+e.directiveStylingLast;i0)&&(c=!0)}else u=n;if(s)if(0!==l){const e=ns(t[a+1]);t[r+1]=es(e,a),0!==e&&(t[e+1]=is(t[e+1],r)),t[a+1]=131071&t[a+1]|r<<17}else t[r+1]=es(a,0),0!==a&&(t[a+1]=is(t[a+1],r)),a=r;else t[r+1]=es(l,0),0===a?a=r:t[l+1]=is(t[l+1],r),l=r;c&&(t[r+1]=rs(t[r+1])),Ni(t,u,r,!0),Ni(t,u,r,!1),function(t,e,n,r,s){const i=t.residualClasses;null!=i&&"string"==typeof e&&$n(i,e)>=0&&(n[r+1]=os(n[r+1]))}(e,u,t,r),o=es(a,l),e.classBindings=o}(s,i,e,n,o)}}(i,t,o,true),e!==Yr&&vi(s,o,e)&&function(t,e,n,r,s,i,o,a){if(!(3&e.type))return;const l=t.data,u=l[a+1];$i(1==(1&u)?Hi(l,e,n,s,ss(u),o):void 0)||($i(i)||function(t){return 2==(2&t)}(u)&&(i=Hi(l,null,n,s,a,o)),function(t,e,n,r,s){const i=de(t);s?i?t.addClass(n,r):n.classList.add(r):i?t.removeClass(n,r):n.classList.remove(r)}(r,0,ge(Ge(),n),s,i))}(i,i.data[Ge()],s,s[11],t,s[o+1]=function(t,e){return null==t||"object"==typeof t&&(t=tt(rr(t))),t}(e),true,o)}(t,e),Mi}function Fi(t,e,n,r,s){let i=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[s],i=Array.isArray(e),l=i?e[1]:e,u=null===l;let c=n[s+1];c===Yr&&(c=u?Pt:void 0);let h=u?Hn(c,r):l===r?c:void 0;if(i&&!$i(h)&&(h=Hn(e,r)),$i(h)&&(a=h,o))return a;const d=t[s+1];s=o?ns(d):ss(d)}if(null!==e){let t=i?e.residualClasses:e.residualStyles;null!=t&&(a=Hn(t,r))}return a}function $i(t){return void 0!==t}function zi(t,e=""){const n=Ee(),r=Te(),s=t+Kt,i=r.firstCreatePass?us(r,s,1,e,null):r.data[s],o=n[s]=function(t,e){return de(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Pr(r,n,o,i),Re(i,!1)}function Bi(t){return qi("",t,""),Bi}function qi(t,e,n){const r=Ee(),s=bi(r,t,e,n);return s!==Yr&&function(t,e,n){const r=ge(e,t);!function(t,e,n){de(t)?t.setValue(e,n):e.textContent=n}(t[11],r,n)}(r,Ge(),s),qi}function Gi(t,e,n){const r=Ee();return vi(r,je(),e)&&bs(Te(),Ze(),r,t,e,r[11],n,!0),Gi}const Wi=void 0;var Zi=["en",[["a","p"],["AM","PM"],Wi],[["AM","PM"],Wi,Wi],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Wi,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Wi,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Wi,"{1} 'at' {0}",Wi],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let Qi={};function Ki(t){return t in Qi||(Qi[t]=Rt.ng&&Rt.ng.common&&Rt.ng.common.locales&&Rt.ng.common.locales[t]),Qi[t]}var Ji=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}({});const Yi="en-US";let Xi=Yi;function to(t){var e,n;n="Expected localeId to be defined",null==(e=t)&&function(t,e,n,r){throw new Error(`ASSERTION ERROR: ${t} [Expected=> null != ${e} <=Actual]`)}(n,e),"string"==typeof t&&(Xi=t.toLowerCase().replace(/_/g,"-"))}function eo(t,e,n,r,s){if(t=st(t),Array.isArray(t))for(let i=0;i>20;if(ii(t)||!t.multi){const r=new nn(l,s,Ci),p=so(a,e,s?c:c+d,h);-1===p?(_n(gn(u,o),i,a),no(i,t,e.length),e.push(a),u.directiveStart++,u.directiveEnd++,s&&(u.providerIndexes+=1048576),n.push(r),o.push(r)):(n[p]=r,o[p]=r)}else{const p=so(a,e,c+d,h),f=so(a,e,c,c+d),g=p>=0&&n[p],m=f>=0&&n[f];if(s&&!m||!s&&!g){_n(gn(u,o),i,a);const c=function(t,e,n,r,s){const i=new nn(t,n,Ci);return i.multi=[],i.index=e,i.componentProviders=0,ro(i,s,r&&!n),i}(s?oo:io,n.length,s,r,l);!s&&m&&(n[f].providerFactory=c),no(i,t,e.length,0),e.push(a),u.directiveStart++,u.directiveEnd++,s&&(u.providerIndexes+=1048576),n.push(c),o.push(c)}else no(i,t,p>-1?p:f,ro(n[s?f:p],l,!s&&r));!s&&r&&m&&n[f].componentProviders++}}}function no(t,e,n,r){const s=ii(e);if(s||e.useClass){const i=(e.useClass||e).prototype.ngOnDestroy;if(i){const o=t.destroyHooks||(t.destroyHooks=[]);if(!s&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[r,i]):o[t+1].push(r,i)}else o.push(n,i)}}}function ro(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function so(t,e,n,r){for(let s=n;s{n.providersResolver=(n,r)=>function(t,e,n){const r=Te();if(r.firstCreatePass){const s=re(t);eo(n,r.data,r.blueprint,s,!0),eo(e,r.data,r.blueprint,s,!1)}}(n,r?r(t):t,e)}}class uo{}class co{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${tt(t)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=t,e}(t)}}let ho=(()=>{class t{}return t.NULL=new co,t})();function po(...t){}function fo(t,e){return new mo(me(t,e))}const go=function(){return fo(ke(),Ee())};let mo=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=go,t})();class yo{}let vo=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>_o(),t})();const _o=function(){const t=Ee(),e=ve(ke().index,t);return function(t){return t[11]}(Yt(e)?e:t)};let bo=(()=>{class t{}return t.\u0275prov=ct({token:t,providedIn:"root",factory:()=>null}),t})();class wo{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Co=new wo("12.0.2");class So{constructor(){}supports(t){return mi(t)}create(t){return new Eo(t)}}const xo=(t,e)=>e;class Eo{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||xo}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,r=0,s=null;for(;e||n;){const i=!n||e&&e.currentIndex{r=this._trackByFn(e,t),null!==s&&Object.is(s.trackById,r)?(i&&(s=this._verifyReinsertion(s,t,r,e)),Object.is(s.item,t)||this._addIdentityChange(s,t)):(s=this._mismatch(s,t,r,e),i=!0),s=s._next,e++}),this.length=e;return this._truncate(s),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,r)):t=this._addAfter(new To(e,n),s,r),t}_verifyReinsertion(t,e,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new ko),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new ko),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class To{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ao{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class ko{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ao,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Oo(t,e,n){const r=t.previousIndex;if(null===r)return r;let s=0;return n&&r{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const r=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,r)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const r=n._prev,s=n._next;return r&&(r._next=s),s&&(s._prev=r),n._next=null,n._prev=null,n}const n=new Po(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class Po{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Vo(){return new jo([new So])}let jo=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Vo()),deps:[[t,new er,new tr]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${n=t,n.name||typeof n}'`);var n}}return t.\u0275prov=ct({token:t,providedIn:"root",factory:Vo}),t})();function Do(){return new No([new Ro])}let No=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Do()),deps:[[t,new er,new tr]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=ct({token:t,providedIn:"root",factory:Do}),t})();function Uo(t,e,n,r,s=!1){for(;null!==n;){const i=e[n.index];if(null!==i&&r.push(fe(i)),Xt(i))for(let t=Jt;t-1&&(Er(t,n),Fn(e,n))}this._attachedToViewContainer=!1}Tr(this._lView[1],this._lView)}onDestroy(t){!function(t,e,n,r){const s=Hs(e);s.push(r)}(0,this._lView,0,t)}markForCheck(){Ns(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Us(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Ve(!0);try{Us(t,e,n)}finally{Ve(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var t;this._appRef=null,Ur(this._lView[1],t=this._lView,t[11],2,null,null)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class Fo extends Mo{constructor(t){super(t),this._view=t}detectChanges(){Ms(this._view)}checkNoChanges(){!function(t){Ve(!0);try{Ms(t)}finally{Ve(!1)}}(this._view)}get context(){return null}}const Lo=function(t){return function(t,e,n){if(ee(t)&&!n){const n=ve(t.index,e);return new Mo(n,n)}return 47&t.type?new Mo(e[16],e):null}(ke(),Ee(),16==(16&t))};let Ho=(()=>{class t{}return t.__NG_ELEMENT_ID__=Lo,t})();const $o=[new Ro],zo=new jo([new So]),Bo=new No($o),qo=function(){return t=ke(),e=Ee(),4&t.type?new Zo(e,t,fo(t,e)):null;var t,e};let Go=(()=>{class t{}return t.__NG_ELEMENT_ID__=qo,t})();const Wo=Go,Zo=class extends Wo{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=ls(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const r=this._declarationLView[19];return null!==r&&(n[19]=r.createEmbeddedView(e)),hs(e,n,t),new Mo(n)}};class Qo{}class Ko{}const Jo=function(){return function(t,e){let n;const r=e[t.index];if(Xt(r))n=r;else{let s;if(8&t.type)s=fe(r);else{const n=e[11];s=n.createComment("");const r=me(t,e);kr(n,Ir(n,r),s,function(t,e){return de(t)?t.nextSibling(e):e.nextSibling}(n,r),!1)}e[t.index]=n=Is(r,e,s,t),Ds(e,n)}return new ta(n,t,e)}(ke(),Ee())};let Yo=(()=>{class t{}return t.__NG_ELEMENT_ID__=Jo,t})();const Xo=Yo,ta=class extends Xo{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return fo(this._hostTNode,this._hostLView)}get injector(){return new On(this._hostTNode,this._hostLView)}get parentInjector(){const t=vn(this._hostTNode,this._hostLView);if(un(t)){const e=hn(t,this._hostLView),n=cn(t);return new On(e[1].data[n+8],e)}return new On(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=ea(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-Jt}createEmbeddedView(t,e,n){const r=t.createEmbeddedView(e||{});return this.insert(r,n),r}createComponent(t,e,n,r,s){const i=n||this.parentInjector;if(!s&&null==t.ngModule&&i){const t=i.get(Qo,null);t&&(s=t)}const o=t.create(i,r,void 0,s);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,r=n[1];if(Xt(n[3])){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],r=new ta(e,e[6],e[3]);r.detach(r.indexOf(t))}}const s=this._adjustIndex(e),i=this._lContainer;!function(t,e,n,r){const s=Jt+r,i=n.length;r>0&&(n[s-1][4]=e),rfr});class aa extends uo{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=t.selectors.map(Jr).join(","),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return ia(this.componentDef.inputs)}get outputs(){return ia(this.componentDef.outputs)}create(t,e,n,r){const s=(r=r||this.ngModule)?function(t,e){return{get:(n,r,s)=>{const i=t.get(n,ra,s);return i!==ra||r===ra?i:e.get(n,r,s)}}}(t,r.injector):t,i=s.get(yo,pe),o=s.get(bo,null),a=i.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",u=n?function(t,e,n){if(de(t))return t.selectRootElement(e,n===Et.ShadowDom);let r="string"==typeof e?t.querySelector(e):e;return r.textContent="",r}(a,n,this.componentDef.encapsulation):Sr(i.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),c=this.componentDef.onPush?576:528,h={components:[],scheduler:fr,clean:Ls,playerHandler:null,flags:0},d=vs(0,null,null,1,0,null,null,null,null,null),p=ls(null,d,h,c,null,null,i,a,o,s);let f,g;Le(p);try{const t=function(t,e,n,r,s,i){const o=n[1];n[20]=t;const a=us(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(qs(a,l,!0),null!==t&&(rn(s,t,l),null!==a.classes&&Lr(s,t,a.classes),null!==a.styles&&Fr(s,t,a.styles)));const u=r.createRenderer(t,e),c=ls(n,ys(e),null,e.onPush?64:16,n[20],a,r,u,null,null);return o.firstCreatePass&&(_n(gn(a,n),o,e.type),xs(o,a),Ts(a,n.length,1)),Ds(n,c),n[20]=c}(u,this.componentDef,p,i,a);if(u)if(n)rn(a,u,["ng-version",Co.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let r=1,s=2;for(;r0&&Lr(a,u,e.join(" "))}if(g=ye(d,Kt),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=ke();e.contentQueries(1,o,t.directiveStart)}const a=ke();return!i.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(We(a.index),Cs(n[1],a,0,a.directiveStart,a.directiveEnd,e),Ss(e,o)),o}(t,this.componentDef,p,h,[li]),hs(d,p,null)}finally{qe()}return new la(this.componentType,f,fo(g,p),p,g)}}class la extends class{}{constructor(t,e,n,r,s){super(),this.location=n,this._rootLView=r,this._tNode=s,this.instance=e,this.hostView=this.changeDetectorRef=new Fo(r),this.componentType=t}get injector(){return new On(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const ua=new Map;class ca extends Qo{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new sa(this);const n=Qt(t),r=t[Ut]||null;r&&to(r),this._bootstrapComponents=gr(n.bootstrap),this._r3Injector=Xs(t,e,[{provide:Qo,useValue:this},{provide:ho,useValue:this.componentFactoryResolver}],tt(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=ai.THROW_IF_NOT_FOUND,n=_t.Default){return t===ai||t===Qo||t===Gs?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class ha extends Ko{constructor(t){super(),this.moduleType=t,null!==Qt(t)&&function(t){const e=new Set;!function t(n){const r=Qt(n,!0),s=r.id;null!==s&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${tt(e)} vs ${tt(e.name)}`)}(s,ua.get(s),n),ua.set(s,n));const i=gr(r.imports);for(const o of i)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new ca(this.moduleType,t)}}function da(t){return e=>{setTimeout(t,void 0,e)}}const pa=class extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var r,s,i;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(r=e.next)||void 0===r?void 0:r.bind(e),a=null===(s=e.error)||void 0===s?void 0:s.bind(e),l=null===(i=e.complete)||void 0===i?void 0:i.bind(e)}this.__isAsync&&(a=da(a),o&&(o=da(o)),l&&(l=da(l)));const u=super.subscribe({next:o,error:a,complete:l});return t instanceof h&&t.add(u),u}},fa=new jn("Application Initializer");let ga=(()=>{class t{constructor(t){this.appInits=t,this.resolve=po,this.reject=po,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Kn(fa,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const ma=new jn("AppId"),ya={provide:ma,useFactory:function(){return`${va()}${va()}${va()}`},deps:[]};function va(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const _a=new jn("Platform Initializer"),ba=new jn("Platform ID"),wa=new jn("appBootstrapListener");let Ca=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Sa=new jn("LocaleId"),xa=new jn("DefaultCurrencyCode");class Ea{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const Ta=function(t){return new ha(t)},Aa=Ta,ka=function(t){return Promise.resolve(Ta(t))},Oa=function(t){const e=Ta(t),n=gr(Qt(t).declarations).reduce((t,e)=>{const n=Zt(e);return n&&t.push(new aa(n)),t},[]);return new Ea(e,n)},Ra=Oa,Ia=function(t){return Promise.resolve(Oa(t))};let Pa=(()=>{class t{constructor(){this.compileModuleSync=Aa,this.compileModuleAsync=ka,this.compileModuleAndAllComponentsSync=Ra,this.compileModuleAndAllComponentsAsync=Ia}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Va=(()=>Promise.resolve(0))();function ja(t){"undefined"==typeof Zone?Va.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Da{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new pa(!1),this.onMicrotaskEmpty=new pa(!1),this.onStable=new pa(!1),this.onError=new pa(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&e,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let t=Rt.requestAnimationFrame,e=Rt.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=e[Zone.__symbol__("OriginalDelegate")];r&&(e=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Rt,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Ma(t),t.isCheckStableRunning=!0,Ua(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Ma(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,s,i,o,a)=>{try{return Fa(t),n.invokeTask(s,i,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||t.shouldCoalesceRunChangeDetection)&&e(),La(t)}},onInvoke:(n,r,s,i,o,a,l)=>{try{return Fa(t),n.invoke(s,i,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),La(t)}},onHasTask:(e,n,r,s)=>{e.hasTask(r,s),n===r&&("microTask"==s.change?(t._hasPendingMicrotasks=s.microTask,Ma(t),Ua(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,r,s)=>(e.handleError(r,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Da.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Da.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,r){const s=this._inner,i=s.scheduleEventTask("NgZoneEvent: "+r,t,Na,po,po);try{return s.runTask(i,e,n)}finally{s.cancelTask(i)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const Na={};function Ua(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Ma(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Fa(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function La(t){t._nesting--,Ua(t)}class Ha{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new pa,this.onMicrotaskEmpty=new pa,this.onStable=new pa,this.onError=new pa}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,r){return t.apply(e,n)}}let $a=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Da.assertNotInAngularZone(),ja(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())ja(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let r=-1;e&&e>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==r),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:r,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Kn(Da))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),za=(()=>{class t{constructor(){this._applications=new Map,Ga.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return Ga.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();class Ba{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let qa,Ga=new Ba,Wa=!0,Za=!1;const Qa=new jn("AllowMultipleToken");class Ka{constructor(t,e){this.name=t,this.token=e}}function Ja(t,e,n=[]){const r=`Platform: ${e}`,s=new jn(r);return(e=[])=>{let i=Ya();if(!i||i.injector.get(Qa,!1))if(t)t(n.concat(e).concat({provide:s,useValue:!0}));else{const t=n.concat(e).concat({provide:s,useValue:!0},{provide:Zs,useValue:"platform"});!function(t){if(qa&&!qa.destroyed&&!qa.injector.get(Qa,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");qa=t.get(Xa);const e=t.get(_a,null);e&&e.forEach(t=>t())}(ai.create({providers:t,name:r}))}return function(t){const e=Ya();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(s)}}function Ya(){return qa&&!qa.destroyed?qa:null}let Xa=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Ha:("zone.js"===t?void 0:t)||new Da({enableLongStackTrace:(Za=!0,Wa),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),r=[{provide:Da,useValue:n}];return n.run(()=>{const e=ai.create({providers:r,parent:this.injector,name:t.moduleType.name}),s=t.create(e),i=s.injector.get(pr,null);if(!i)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{i.handleError(t)}});s.onDestroy(()=>{nl(this._modules,s),t.unsubscribe()})}),function(t,e,n){try{const r=n();return Oi(r)?r.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):r}catch(r){throw e.runOutsideAngular(()=>t.handleError(r)),r}}(i,n,()=>{const t=s.injector.get(ga);return t.runInitializers(),t.donePromise.then(()=>(to(s.injector.get(Sa,Yi)||Yi),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=tl({},e);return function(t,e,n){const r=new ha(n);return Promise.resolve(r)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(el);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${tt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Kn(ai))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function tl(t,e){return Array.isArray(e)?e.reduce(tl,t):Object.assign(Object.assign({},t),e)}let el=(()=>{class t{constructor(t,e,n,r,s){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=r,this._initStatus=s,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const i=new v(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new v(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Da.assertNotInAngularZone(),ja(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Da.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=function(...t){let e=Number.POSITIVE_INFINITY,n=null,r=t[t.length-1];return E(r)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof r&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof v?t[0]:z(e)(B(t,n))}(i,o.pipe(t=>{return q()((e=J,function(t){let n;n="function"==typeof e?e:function(){return e};const r=Object.create(t,Q);return r.source=t,r.subjectFactory=n,r})(t));var e}))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof uo?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const r=n.isBoundToModule?void 0:this._injector.get(Qo),s=n.create(ai.NULL,[],e||n.selector,r),i=s.location.nativeElement,o=s.injector.get($a,null),a=o&&s.injector.get(za);return o&&a&&a.registerApplication(i,o),s.onDestroy(()=>{this.detachView(s.hostView),nl(this.components,s),a&&a.unregisterApplication(i)}),this._loadComponent(s),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;nl(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(wa,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Kn(Da),Kn(ai),Kn(pr),Kn(ho),Kn(ga))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function nl(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}class rl{}class sl{}const il={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let ol=(()=>{class t{constructor(t,e){this._compiler=t,this._config=e||il}load(t){return this.loadAndCompile(t)}loadAndCompile(t){let[e,r]=t.split("#");return void 0===r&&(r="default"),n(255)(e).then(t=>t[r]).then(t=>al(t,e,r)).then(t=>this._compiler.compileModuleAsync(t))}loadFactory(t){let[e,r]=t.split("#"),s="NgFactory";return void 0===r&&(r="default",s=""),n(255)(this._config.factoryPathPrefix+e+this._config.factoryPathSuffix).then(t=>t[r+s]).then(t=>al(t,e,r))}}return t.\u0275fac=function(e){return new(e||t)(Kn(Pa),Kn(sl,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function al(t,e,n){if(!t)throw new Error(`Cannot find '${n}' in '${e}'`);return t}const ll=Ja(null,"core",[{provide:ba,useValue:"unknown"},{provide:Xa,deps:[ai]},{provide:za,deps:[]},{provide:Ca,deps:[]}]),ul=[{provide:el,useClass:el,deps:[Da,ai,pr,ho,ga]},{provide:oa,deps:[Da],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ga,useClass:ga,deps:[[new tr,fa]]},{provide:Pa,useClass:Pa,deps:[]},ya,{provide:jo,useFactory:function(){return zo},deps:[]},{provide:No,useFactory:function(){return Bo},deps:[]},{provide:Sa,useFactory:function(t){return to(t=t||"undefined"!=typeof $localize&&$localize.locale||Yi),t},deps:[[new Xn(Sa),new tr,new er]]},{provide:xa,useValue:"USD"}];let cl=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Kn(el))},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:ul}),t})(),hl=null;function dl(){return hl}const pl=new jn("DocumentToken");let fl=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({factory:gl,token:t,providedIn:"platform"}),t})();function gl(){return Kn(yl)}const ml=new jn("Location Initialized");let yl=(()=>{class t extends fl{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return dl().getBaseHref(this._doc)}onPopState(t){const e=dl().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=dl().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){vl()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){vl()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({factory:_l,token:t,providedIn:"platform"}),t})();function vl(){return!!window.history.pushState}function _l(){return new yl(Kn(pl))}function bl(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function wl(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function Cl(t){return t&&"?"!==t[0]?"?"+t:t}let Sl=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({factory:xl,token:t,providedIn:"root"}),t})();function xl(t){const e=Kn(pl).location;return new Tl(Kn(fl),e&&e.origin||"")}const El=new jn("appBaseHref");let Tl=(()=>{class t extends Sl{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return bl(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+Cl(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,r){const s=this.prepareExternalUrl(n+Cl(r));this._platformLocation.pushState(t,e,s)}replaceState(t,e,n,r){const s=this.prepareExternalUrl(n+Cl(r));this._platformLocation.replaceState(t,e,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(fl),Kn(El,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),Al=(()=>{class t extends Sl{constructor(t,e){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=e&&(this._baseHref=e)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e}prepareExternalUrl(t){const e=bl(this._baseHref,t);return e.length>0?"#"+e:e}pushState(t,e,n,r){let s=this.prepareExternalUrl(n+Cl(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,e,s)}replaceState(t,e,n,r){let s=this.prepareExternalUrl(n+Cl(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(fl),Kn(El,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),kl=(()=>{class t{constructor(t,e){this._subject=new pa,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=wl(Rl(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+Cl(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,Rl(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Cl(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Cl(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Kn(Sl),Kn(fl))},t.normalizeQueryParams=Cl,t.joinWithSlash=bl,t.stripTrailingSlash=wl,t.\u0275prov=ct({factory:Ol,token:t,providedIn:"root"}),t})();function Ol(){return new kl(Kn(Sl),Kn(fl))}function Rl(t){return t.replace(/\/index.html$/,"")}var Il=function(t){return t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other",t}({});class Pl{}let Vl=(()=>{class t extends Pl{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(function(t){return function(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=Ki(e);if(n)return n;const r=e.split("-")[0];if(n=Ki(r),n)return n;if("en"===r)return Zi;throw new Error(`Missing locale data for the locale "${t}".`)}(t)[Ji.PluralCase]}(e||this.locale)(t)){case Il.Zero:return"zero";case Il.One:return"one";case Il.Two:return"two";case Il.Few:return"few";case Il.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Kn(Sa))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function jl(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[r,s]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class Dl{constructor(t,e,n,r){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Nl=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;if(!this._differ&&n)try{this._differ=this._differs.find(n).create(this.ngForTrackBy)}catch(e){throw new Error(`Cannot find a differ supporting object '${n}' of type '${t=n,t.name||typeof t}'. NgFor only supports binding to Iterables such as Arrays.`)}}var t;if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,r)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Dl(null,this._ngForOf,-1,-1),null===r?void 0:r),s=new Ul(t,n);e.push(s)}else if(null==r)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const s=this._viewContainer.get(n);this._viewContainer.move(s,r);const i=new Ul(t,s);e.push(i)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(Ci(Yo),Ci(Go),Ci(jo))},t.\u0275dir=Wt({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ul{constructor(t,e){this.record=t,this.view=e}}let Ml=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Fl,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ll("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ll("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(Ci(Yo),Ci(Go))},t.\u0275dir=Wt({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Fl{constructor(){this.$implicit=null,this.ngIf=null}}function Ll(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${tt(e)}'.`)}let Hl=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:[{provide:Pl,useClass:Vl}]}),t})(),$l=(()=>{class t{}return t.\u0275prov=ct({token:t,providedIn:"root",factory:()=>new zl(Kn(pl),window)}),t})();class zl{constructor(t,e){this.document=t,this.window=e,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const e=function(t,e){const n=t.getElementById(e)||t.getElementsByName(e)[0];if(n)return n;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const n=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let r=n.currentNode;for(;r;){const t=r.shadowRoot;if(t){const n=t.getElementById(e)||t.querySelector(`[name="${e}"]`);if(n)return n}r=n.nextNode()}}return null}(this.document,t);e&&(this.scrollToElement(e),this.attemptFocus(e))}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),n=e.left+this.window.pageXOffset,r=e.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(n-s[0],r-s[1])}attemptFocus(t){return t.focus(),this.document.activeElement===t}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=Bl(this.window.history)||Bl(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch(t){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(t){return!1}}}function Bl(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class ql{}class Gl extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){var t;t=new Gl,hl||(hl=t)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zl=Zl||document.querySelector("base"),Zl?Zl.getAttribute("href"):null);return null==e?null:function(t){Wl=Wl||document.createElement("a"),Wl.setAttribute("href",t);const e=Wl.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zl=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return jl(document.cookie,t)}}let Wl,Zl=null;const Ql=new jn("TRANSITION_ID"),Kl=[{provide:fa,useFactory:function(t,e,n){return()=>{n.get(ga).donePromise.then(()=>{const n=dl();Array.prototype.slice.apply(e.querySelectorAll("style[ng-transition]")).filter(e=>e.getAttribute("ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[Ql,pl,ai],multi:!0}];class Jl{static init(){var t;t=new Jl,Ga=t}addToWindow(t){Rt.getAngularTestability=(e,n=!0)=>{const r=t.findTestabilityInTree(e,n);if(null==r)throw new Error("Could not find testability for element.");return r},Rt.getAllAngularTestabilities=()=>t.getAllTestabilities(),Rt.getAllAngularRootElements=()=>t.getAllRootElements(),Rt.frameworkStabilizers||(Rt.frameworkStabilizers=[]),Rt.frameworkStabilizers.push(t=>{const e=Rt.getAllAngularTestabilities();let n=e.length,r=!1;const s=function(e){r=r||e,n--,0==n&&t(r)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const r=t.getTestability(e);return null!=r?r:n?dl().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let Yl=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Xl=new jn("EventManagerPlugins");let tu=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let r=0;r{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),ru=(()=>{class t extends nu{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const r=this._doc.createElement("style");r.textContent=t,n.push(e.appendChild(r))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(su),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(su))}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function su(t){dl().remove(t)}const iu={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ou=/%COMP%/g;function au(t,e,n){for(let r=0;r{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let uu=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new cu(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case Et.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new hu(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case Et.ShadowDom:return new du(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=au(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Kn(tu),Kn(ru),Kn(ma))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();class cu{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(iu[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,r){if(r){e=r+":"+e;const s=iu[r];s?t.setAttributeNS(s,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const r=iu[n];r?t.removeAttributeNS(r,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,r){r&(mr.DashCase|mr.Important)?t.style.setProperty(e,n,r&mr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&mr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,lu(n)):this.eventManager.addEventListener(t,e,lu(n))}}class hu extends cu{constructor(t,e,n,r){super(t),this.component=n;const s=au(r+"-"+n.id,n.styles,[]);e.addStyles(s),this.contentAttr="_ngcontent-%COMP%".replace(ou,r+"-"+n.id),this.hostAttr="_nghost-%COMP%".replace(ou,r+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class du extends cu{constructor(t,e,n,r){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=au(r.id,r.styles,[]);for(let i=0;i{class t extends eu{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const fu=["alt","control","meta","shift"],gu={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},mu={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},yu={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let vu=(()=>{class t extends eu{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,r){const s=t.parseEventName(n),i=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>dl().onAndCancel(e,s.domEventName,i))}static parseEventName(e){const n=e.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;const s=t._normalizeKey(n.pop());let i="";if(fu.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),i+=t+".")}),i+=s,0!=n.length||0===s.length)return null;const o={};return o.domEventName=r,o.fullKey=i,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&mu.hasOwnProperty(e)&&(e=mu[e]))}return gu[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),fu.forEach(r=>{r!=n&&(0,yu[r])(t)&&(e+=r+".")}),e+=n,e}static eventCallback(e,n,r){return s=>{t.getEventFullKey(s)===e&&r.runGuarded(()=>n(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const _u=Ja(ll,"browser",[{provide:ba,useValue:"browser"},{provide:_a,useValue:function(){Gl.makeCurrent(),Jl.init()},multi:!0},{provide:pl,useFactory:function(){return function(t){he=t}(document),document},deps:[]}]),bu=[[],{provide:Zs,useValue:"root"},{provide:pr,useFactory:function(){return new pr},deps:[]},{provide:Xl,useClass:pu,multi:!0,deps:[pl,Da,ba]},{provide:Xl,useClass:vu,multi:!0,deps:[pl]},[],{provide:uu,useClass:uu,deps:[tu,ru,ma]},{provide:yo,useExisting:uu},{provide:nu,useExisting:ru},{provide:ru,useClass:ru,deps:[pl]},{provide:$a,useClass:$a,deps:[Da]},{provide:tu,useClass:tu,deps:[Xl,Da]},{provide:ql,useClass:Yl,deps:[]},[]];let wu=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:ma,useValue:e.appId},{provide:Ql,useExisting:ma},Kl]}}}return t.\u0275fac=function(e){return new(e||t)(Kn(t,12))},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:bu,imports:[Hl,cl]}),t})();function Cu(t,e){return new v(n=>{const r=t.length;if(0===r)return void n.complete();const s=new Array(r);let i=0,o=0;for(let a=0;a{u||(u=!0,o++),s[a]=t},error:t=>n.error(t),complete:()=>{i++,i!==r&&u||(o===r&&n.next(e?e.reduce((t,e,n)=>(t[e]=s[n],t),{}):s),n.complete())}}))}})}"undefined"!=typeof window&&window;let Su=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(vo),Ci(mo))},t.\u0275dir=Wt({type:t}),t})(),xu=(()=>{class t extends Su{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=Rn(t)))(n||t)}}(),t.\u0275dir=Wt({type:t,features:[ui]}),t})();const Eu=new jn("NgValueAccessor"),Tu={provide:Eu,useExisting:rt(()=>ku),multi:!0},Au=new jn("CompositionEventMode");let ku=(()=>{class t extends Su{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=dl()?dl().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(vo),Ci(mo),Ci(Au,8))},t.\u0275dir=Wt({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&Ii("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[lo([Tu]),ui]}),t})();const Ou=new jn("NgValidators"),Ru=new jn("NgAsyncValidators");function Iu(t){return null!=t}function Pu(t){const e=Oi(t)?N(t):t;return Ri(e),e}function Vu(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function ju(t,e){return e.map(e=>e(t))}function Du(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function Nu(t){return null!=t?function(t){if(!t)return null;const e=t.filter(Iu);return 0==e.length?null:function(t){return Vu(ju(t,e))}}(Du(t)):null}function Uu(t){return null!=t?function(t){if(!t)return null;const e=t.filter(Iu);return 0==e.length?null:function(t){return function(...t){if(1===t.length){const e=t[0];if(l(e))return Cu(e,null);if(u(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Cu(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Cu(t=1===t.length&&l(t[0])?t[0]:t,null).pipe(T(t=>e(...t)))}return Cu(t,null)}(ju(t,e).map(Pu)).pipe(T(Vu))}}(Du(t)):null}function Mu(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}let Fu=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=Nu(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Uu(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Wt({type:t}),t})(),Lu=(()=>{class t extends Fu{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=Rn(t)))(n||t)}}(),t.\u0275dir=Wt({type:t,features:[ui]}),t})();class Hu extends Fu{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class $u{constructor(t){this._cd=t}is(t){var e,n;return!!(null===(n=null===(e=this._cd)||void 0===e?void 0:e.control)||void 0===n?void 0:n[t])}}let zu=(()=>{class t extends $u{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(Hu,2))},t.\u0275dir=Wt({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&Mi("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[ui]}),t})(),Bu=(()=>{class t extends $u{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(Lu,10))},t.\u0275dir=Wt({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:14,hostBindings:function(t,e){2&t&&Mi("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[ui]}),t})();function qu(t,e){Wu(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&Zu(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&Zu(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function Gu(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function Wu(t,e){const n=function(t){return t._rawValidators}(t);null!==e.validator?t.setValidators(Mu(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const r=function(t){return t._rawAsyncValidators}(t);null!==e.asyncValidator?t.setAsyncValidators(Mu(r,e.asyncValidator)):"function"==typeof r&&t.setAsyncValidators([r]);const s=()=>t.updateValueAndValidity();Gu(e._rawValidators,s),Gu(e._rawAsyncValidators,s)}function Zu(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function Qu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Ku="VALID",Ju="INVALID",Yu="PENDING",Xu="DISABLED";function tc(t){return(sc(t)?t.validators:t)||null}function ec(t){return Array.isArray(t)?Nu(t):t||null}function nc(t,e){return(sc(e)?e.asyncValidators:t)||null}function rc(t){return Array.isArray(t)?Uu(t):t||null}function sc(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class ic{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=ec(this._rawValidators),this._composedAsyncValidatorFn=rc(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Ku}get invalid(){return this.status===Ju}get pending(){return this.status==Yu}get disabled(){return this.status===Xu}get enabled(){return this.status!==Xu}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=ec(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=rc(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Yu,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Xu,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Ku,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==Ku&&this.status!==Yu||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Xu:Ku}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Yu,this._hasOwnPendingAsyncValidator=!0;const e=Pu(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e)return null;if(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length)return null;let r=t;return e.forEach(t=>{r=r instanceof ac?r.controls.hasOwnProperty(t)?r.controls[t]:null:r instanceof lc&&r.at(t)||null}),r}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new pa,this.statusChanges=new pa}_calculateStatus(){return this._allControlsDisabled()?Xu:this.errors?Ju:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Yu)?Yu:this._anyControlsHaveStatus(Ju)?Ju:Ku}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){sc(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class oc extends ic{constructor(t=null,e,n){super(tc(e),nc(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!n})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Qu(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Qu(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class ac extends ic{constructor(t,e,n){super(tc(e),nc(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!n})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof oc?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,r)=>{n=e(n,t,r)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class lc extends ic{constructor(t,e,n){super(tc(e),nc(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!n})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof oc?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const uc={provide:Lu,useExisting:rt(()=>hc)},cc=(()=>Promise.resolve(null))();let hc=(()=>{class t extends Lu{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new pa,this.form=new ac({},Nu(t),Uu(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){cc.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),qu(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){cc.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),Qu(this._directives,t)})}addFormGroup(t){cc.then(()=>{const e=this._findContainer(t.path),n=new ac({});(function(t,e){Wu(t,e)})(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){cc.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){cc.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,e=this._directives,this.form._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)}),this.ngSubmit.emit(t),!1;var e}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(Ci(Ou,10),Ci(Ru,10))},t.\u0275dir=Wt({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&Ii("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[lo([uc]),ui]}),t})();const dc={provide:Hu,useExisting:rt(()=>fc)},pc=(()=>Promise.resolve(null))();let fc=(()=>{class t extends Hu{constructor(t,e,n,r){super(),this.control=new oc,this._registered=!1,this.update=new pa,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=function(t,e){if(!e)return null;let n,r,s;return Array.isArray(e),e.forEach(t=>{t.constructor===ku?n=t:Object.getPrototypeOf(t.constructor)===xu?r=t:s=t}),s||r||n||null}(0,r)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),function(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?[...this._parent.path,this.name]:[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){qu(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){pc.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;pc.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(Ci(Lu,9),Ci(Ou,10),Ci(Ru,10),Ci(Eu,10))},t.\u0275dir=Wt({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[lo([dc]),ui,oe]}),t})(),gc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Wt({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),mc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({}),t})();const yc={provide:Ou,useExisting:rt(()=>vc),multi:!0};let vc=(()=>{class t{constructor(){this._required=!1}get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!=`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?function(t){return null==(e=t.value)||0===e.length?{required:!0}:null;var e}(t):null}registerOnValidatorChange(t){this._onChange=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Wt({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,e){2&t&&_i("required",e.required?"":null)},inputs:{required:"required"},features:[lo([yc])]}),t})(),_c=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({imports:[[mc]]}),t})(),bc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({imports:[_c]}),t})();function wc(...t){let e=t[t.length-1];return E(e)?(t.pop(),D(t,e)):B(t)}function Cc(t,e){return L(t,e,1)}function Sc(t,e){return function(n){return n.lift(new xc(t,e))}}class xc{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new Ec(t,this.predicate,this.thisArg))}}class Ec extends f{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}class Tc{}class Ac{}class kc{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),r=n.toLowerCase(),s=t.slice(e+1).trim();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(s):this.headers.set(r,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const r=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(r,n),this.maybeSetNormalizedName(e,r))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof kc?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new kc;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof kc?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const r=("a"===t.op?this.headers.get(e):void 0)||[];r.push(...n),this.headers.set(e,r);break;case"d":const s=t.value;if(s){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===s.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Oc{encodeKey(t){return Rc(t)}encodeValue(t){return Rc(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function Rc(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function Ic(t){return`${t}`}class Pc{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Oc,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const r=t.indexOf("="),[s,i]=-1==r?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,r)),e.decodeValue(t.slice(r+1))],o=n.get(s)||[];o.push(i),n.set(s,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:r,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new Pc({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Ic(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Ic(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Vc{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function jc(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Dc(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Nc(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Uc{constructor(t,e,n,r){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new kc),this.context||(this.context=new Vc),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(u=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),u)),new Uc(n,r,i,{params:u,headers:l,context:c,reportProgress:a,responseType:s,withCredentials:o})}}var Mc=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}({});class Fc{constructor(t,e=200,n="OK"){this.headers=t.headers||new kc,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Lc extends Fc{constructor(t={}){super(t),this.type=Mc.ResponseHeader}clone(t={}){return new Lc({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Hc extends Fc{constructor(t={}){super(t),this.type=Mc.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Hc({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class $c extends Fc{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function zc(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Bc=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let r;if(t instanceof Uc)r=t;else{let s,i;s=n.headers instanceof kc?n.headers:new kc(n.headers),n.params&&(i=n.params instanceof Pc?n.params:new Pc({fromObject:n.params})),r=new Uc(t,e,void 0!==n.body?n.body:null,{headers:s,context:n.context,params:i,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const s=wc(r).pipe(Cc(t=>this.handler.handle(t)));if(t instanceof Uc||"events"===n.observe)return s;const i=s.pipe(Sc(t=>t instanceof Hc));switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return i.pipe(T(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return i.pipe(T(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return i.pipe(T(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return i.pipe(T(t=>t.body))}case"response":return i;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new Pc).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,zc(n,e))}post(t,e,n={}){return this.request("POST",t,zc(n,e))}put(t,e,n={}){return this.request("PUT",t,zc(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Kn(Tc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();class qc{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const Gc=new jn("HTTP_INTERCEPTORS");let Wc=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Zc=/^\)\]\}',?\n/;let Qc=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new v(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const r=t.serializeBody();let s=null;const i=()=>{if(null!==s)return s;const e=1223===n.status?204:n.status,r=n.statusText||"OK",i=new kc(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return s=new Lc({headers:i,status:e,statusText:r,url:o}),s},o=()=>{let{headers:r,status:s,statusText:o,url:a}=i(),l=null;204!==s&&(l=void 0===n.response?n.responseText:n.response),0===s&&(s=l?200:0);let u=s>=200&&s<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(Zc,"");try{l=""!==l?JSON.parse(l):null}catch(c){l=t,u&&(u=!1,l={error:c,text:l})}}u?(e.next(new Hc({body:l,headers:r,status:s,statusText:o,url:a||void 0})),e.complete()):e.error(new $c({error:l,headers:r,status:s,statusText:o,url:a||void 0}))},a=t=>{const{url:r}=i(),s=new $c({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:r||void 0});e.error(s)};let l=!1;const u=r=>{l||(e.next(i()),l=!0);let s={type:Mc.DownloadProgress,loaded:r.loaded};r.lengthComputable&&(s.total=r.total),"text"===t.responseType&&n.responseText&&(s.partialText=n.responseText),e.next(s)},c=t=>{let n={type:Mc.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",u),null!==r&&n.upload&&n.upload.addEventListener("progress",c)),n.send(r),e.next({type:Mc.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",u),null!==r&&n.upload&&n.upload.removeEventListener("progress",c)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Kn(ql))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Kc=new jn("XSRF_COOKIE_NAME"),Jc=new jn("XSRF_HEADER_NAME");class Yc{}let Xc=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=jl(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl),Kn(ba),Kn(Kc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),th=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(Yc),Kn(Jc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),eh=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(Gc,[]);this.chain=t.reduceRight((t,e)=>new qc(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(Ac),Kn(ai))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),nh=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:th,useClass:Wc}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:Kc,useValue:e.cookieName}:[],e.headerName?{provide:Jc,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:[th,{provide:Gc,useExisting:th,multi:!0},{provide:Yc,useClass:Xc},{provide:Kc,useValue:"XSRF-TOKEN"},{provide:Jc,useValue:"X-XSRF-TOKEN"}]}),t})(),rh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:[Bc,{provide:Tc,useClass:eh},Qc,{provide:Ac,useExisting:Qc}],imports:[[nh.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();class sh extends S{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new b;return this._value}next(t){super.next(this._value=t)}}class ih extends f{notifyNext(t,e,n,r,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class oh extends f{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function ah(t,e,n,r,s=new oh(t,n,r)){if(!s.closed)return e instanceof v?e.subscribe(s):j(e)(s)}const lh={};class uh{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new ch(t,this.resultSelector))}}class ch extends ih{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(lh),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t})();function dh(...t){return z(1)(wc(...t))}const ph=new v(t=>t.complete());function fh(t){return t?function(t){return new v(e=>t.schedule(()=>e.complete()))}(t):ph}function gh(t){return new v(e=>{let n;try{n=t()}catch(r){return void e.error(r)}return(n?N(n):fh()).subscribe(e)})}function mh(t,e){return"function"==typeof e?n=>n.pipe(mh((n,r)=>N(t(n,r)).pipe(T((t,s)=>e(n,t,r,s))))):e=>e.lift(new yh(t))}class yh{constructor(t){this.project=t}call(t,e){return e.subscribe(new vh(t,this.project))}}class vh extends M{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(r){return void this.destination.error(r)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new U(this),r=this.destination;r.add(n),this.innerSubscription=F(t,n),this.innerSubscription!==n&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const _h=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function bh(t){return e=>0===t?fh():e.lift(new wh(t))}class wh{constructor(t){if(this.total=t,this.total<0)throw new _h}call(t,e){return e.subscribe(new Ch(t,this.total))}}class Ch extends f{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function Sh(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new xh(t,e,n))}}class xh{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new Eh(t,this.accumulator,this.seed,this.hasSeed))}}class Eh extends f{constructor(t,e,n,r){super(t),this.accumulator=e,this._seed=n,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(r){this.destination.error(r)}this.seed=n,this.destination.next(n)}}function Th(t){return function(e){const n=new Ah(t),r=e.lift(n);return n.caught=r}}class Ah{constructor(t){this.selector=t}call(t,e){return e.subscribe(new kh(t,this.selector,this.caught))}}class kh extends M{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const r=new U(this);this.add(r);const s=F(n,r);s!==r&&this.add(s)}}}function Oh(t){return function(e){return 0===t?fh():e.lift(new Rh(t))}}class Rh{constructor(t){if(this.total=t,this.total<0)throw new _h}call(t,e){return e.subscribe(new Ih(t,this.total))}}class Ih extends f{constructor(t,e){super(t),this.total=e,this.ring=new Array,this.count=0}_next(t){const e=this.ring,n=this.total,r=this.count++;e.length0){const n=this.count>=this.total?this.total:this.count,r=this.ring;for(let s=0;se.lift(new Vh(t))}class Vh{constructor(t){this.errorFactory=t}call(t,e){return e.subscribe(new jh(t,this.errorFactory))}}class jh extends f{constructor(t,e){super(t),this.errorFactory=e,this.hasValue=!1}_next(t){this.hasValue=!0,this.destination.next(t)}_complete(){if(this.hasValue)return this.destination.complete();{let e;try{e=this.errorFactory()}catch(t){e=t}this.destination.error(e)}}}function Dh(){return new hh}function Nh(t=null){return e=>e.lift(new Uh(t))}class Uh{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new Mh(t,this.defaultValue))}}class Mh extends f{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function Fh(t,e){const n=arguments.length>=2;return r=>r.pipe(t?Sc((e,n)=>t(e,n,r)):y,bh(1),n?Nh(e):Ph(()=>new hh))}function Lh(){}function Hh(t,e,n){return function(r){return r.lift(new $h(t,e,n))}}class $h{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new zh(t,this.nextOrObserver,this.error,this.complete))}}class zh extends f{constructor(t,e,n,s){super(t),this._tapNext=Lh,this._tapError=Lh,this._tapComplete=Lh,this._tapError=n||Lh,this._tapComplete=s||Lh,r(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||Lh,this._tapError=e.error||Lh,this._tapComplete=e.complete||Lh)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}class Bh{constructor(t){this.callback=t}call(t,e){return e.subscribe(new qh(t,this.callback))}}class qh extends f{constructor(t,e){super(t),this.add(new h(e))}}class Gh{constructor(t,e){this.id=t,this.url=e}}class Wh extends Gh{constructor(t,e,n="imperative",r=null){super(t,e),this.navigationTrigger=n,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Zh extends Gh{constructor(t,e,n){super(t,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Qh extends Gh{constructor(t,e,n){super(t,e),this.reason=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Kh extends Gh{constructor(t,e,n){super(t,e),this.error=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Jh extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Yh extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Xh extends Gh{constructor(t,e,n,r,s){super(t,e),this.urlAfterRedirects=n,this.state=r,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class td extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ed extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nd{constructor(t){this.route=t}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class rd{constructor(t){this.route=t}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class sd{constructor(t){this.snapshot=t}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class id{constructor(t){this.snapshot=t}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class od{constructor(t){this.snapshot=t}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ad{constructor(t){this.snapshot=t}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ld{constructor(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const ud="primary";class cd{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e[0]:e}return null}getAll(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function hd(t){return new cd(t)}function dd(t){const e=Error("NavigationCancelingError: "+t);return e.ngNavigationCancelingError=!0,e}function pd(t,e,n){const r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.lengthr[e]===t)}return t===e}function md(t){return Array.prototype.concat.apply([],t)}function yd(t){return t.length>0?t[t.length-1]:null}function vd(t,e){for(const n in t)t.hasOwnProperty(n)&&e(t[n],n)}function _d(t){return Ri(t)?t:Oi(t)?N(Promise.resolve(t)):wc(t)}const bd={exact:function t(e,n,r){if(!Od(e.segments,n.segments))return!1;if(!Ed(e.segments,n.segments,r))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(const s in n.children){if(!e.children[s])return!1;if(!t(e.children[s],n.children[s],r))return!1}return!0},subset:Sd},wd={exact:function(t,e){return fd(t,e)},subset:function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(n=>gd(t[n],e[n]))},ignored:()=>!0};function Cd(t,e,n){return bd[n.paths](t.root,e.root,n.matrixParams)&&wd[n.queryParams](t.queryParams,e.queryParams)&&!("exact"===n.fragment&&t.fragment!==e.fragment)}function Sd(t,e,n){return xd(t,e,e.segments,n)}function xd(t,e,n,r){if(t.segments.length>n.length){const s=t.segments.slice(0,n.length);return!!Od(s,n)&&!e.hasChildren()&&!!Ed(s,n,r)}if(t.segments.length===n.length){if(!Od(t.segments,n))return!1;if(!Ed(t.segments,n,r))return!1;for(const n in e.children){if(!t.children[n])return!1;if(!Sd(t.children[n],e.children[n],r))return!1}return!0}{const s=n.slice(0,t.segments.length),i=n.slice(t.segments.length);return!!Od(t.segments,s)&&!!Ed(t.segments,s,r)&&!!t.children.primary&&xd(t.children.primary,e,i,r)}}function Ed(t,e,n){return e.every((e,r)=>wd[n](t[r].parameters,e.parameters))}class Td{constructor(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=hd(this.queryParams)),this._queryParamMap}toString(){return Pd.serialize(this)}}class Ad{constructor(t,e){this.segments=t,this.children=e,this.parent=null,vd(e,(t,e)=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Vd(this)}}class kd{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=hd(this.parameters)),this._parameterMap}toString(){return Ld(this)}}function Od(t,e){return t.length===e.length&&t.every((t,n)=>t.path===e[n].path)}class Rd{}class Id{parse(t){const e=new qd(t);return new Td(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){var e;return`/${jd(t.root,!0)}${function(t){const e=Object.keys(t).map(e=>{const n=t[e];return Array.isArray(n)?n.map(t=>`${Nd(e)}=${Nd(t)}`).join("&"):`${Nd(e)}=${Nd(n)}`});return e.length?`?${e.join("&")}`:""}(t.queryParams)}${"string"==typeof t.fragment?`#${e=t.fragment,encodeURI(e)}`:""}`}}const Pd=new Id;function Vd(t){return t.segments.map(t=>Ld(t)).join("/")}function jd(t,e){if(!t.hasChildren())return Vd(t);if(e){const e=t.children.primary?jd(t.children.primary,!1):"",n=[];return vd(t.children,(t,e)=>{e!==ud&&n.push(`${e}:${jd(t,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}{const e=function(t,e){let n=[];return vd(t.children,(t,r)=>{r===ud&&(n=n.concat(e(t,r)))}),vd(t.children,(t,r)=>{r!==ud&&(n=n.concat(e(t,r)))}),n}(t,(e,n)=>n===ud?[jd(t.children.primary,!1)]:[`${n}:${jd(e,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children.primary?`${Vd(t)}/${e[0]}`:`${Vd(t)}/(${e.join("//")})`}}function Dd(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Nd(t){return Dd(t).replace(/%3B/gi,";")}function Ud(t){return Dd(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Md(t){return decodeURIComponent(t)}function Fd(t){return Md(t.replace(/\+/g,"%20"))}function Ld(t){return`${Ud(t.path)}${e=t.parameters,Object.keys(e).map(t=>`;${Ud(t)}=${Ud(e[t])}`).join("")}`;var e}const Hd=/^[^\/()?;=#]+/;function $d(t){const e=t.match(Hd);return e?e[0]:""}const zd=/^[^=?]+/,Bd=/^[^?]+/;class qd{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ad([],{}):new Ad([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n.primary=new Ad(t,e)),n}parseSegment(){const t=$d(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(t),new kd(Md(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=$d(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=$d(this.remaining);t&&(n=t,this.capture(n))}t[Md(e)]=Md(n)}parseQueryParam(t){const e=function(t){const e=t.match(zd);return e?e[0]:""}(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=function(t){const e=t.match(Bd);return e?e[0]:""}(this.remaining);t&&(n=t,this.capture(n))}const r=Fd(e),s=Fd(n);if(t.hasOwnProperty(r)){let e=t[r];Array.isArray(e)||(e=[e],t[r]=e),e.push(s)}else t[r]=s}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=$d(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error(`Cannot parse url '${this.url}'`);let s;n.indexOf(":")>-1?(s=n.substr(0,n.indexOf(":")),this.capture(s),this.capture(":")):t&&(s=ud);const i=this.parseChildren();e[s]=1===Object.keys(i).length?i.primary:new Ad([],i),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Error(`Expected "${t}".`)}}class Gd{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=Wd(t,this._root);return e?e.children.map(t=>t.value):[]}firstChild(t){const e=Wd(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=Zd(t,this._root);return e.length<2?[]:e[e.length-2].children.map(t=>t.value).filter(e=>e!==t)}pathFromRoot(t){return Zd(t,this._root).map(t=>t.value)}}function Wd(t,e){if(t===e.value)return e;for(const n of e.children){const e=Wd(t,n);if(e)return e}return null}function Zd(t,e){if(t===e.value)return[e];for(const n of e.children){const r=Zd(t,n);if(r.length)return r.unshift(e),r}return[]}class Qd{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function Kd(t){const e={};return t&&t.children.forEach(t=>e[t.value.outlet]=t),e}class Jd extends Gd{constructor(t,e){super(t),this.snapshot=e,rp(this,t)}toString(){return this.snapshot.toString()}}function Yd(t,e){const n=function(t,e){const n=new ep([],{},{},"",{},ud,e,null,t.root,-1,{});return new np("",new Qd(n,[]))}(t,e),r=new sh([new kd("",{})]),s=new sh({}),i=new sh({}),o=new sh({}),a=new sh(""),l=new Xd(r,s,o,a,i,ud,e,n.root);return l.snapshot=n.root,new Jd(new Qd(l,[]),n)}class Xd{constructor(t,e,n,r,s,i,o,a){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=s,this.outlet=i,this.component=o,this._futureSnapshot=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(T(t=>hd(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(T(t=>hd(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function tp(t,e="emptyOnly"){const n=t.pathFromRoot;let r=0;if("always"!==e)for(r=n.length-1;r>=1;){const t=n[r],e=n[r-1];if(t.routeConfig&&""===t.routeConfig.path)r--;else{if(e.component)break;r--}}return function(t){return t.reduce((t,e)=>({params:Object.assign(Object.assign({},t.params),e.params),data:Object.assign(Object.assign({},t.data),e.data),resolve:Object.assign(Object.assign({},t.resolve),e._resolvedData)}),{params:{},data:{},resolve:{}})}(n.slice(r))}class ep{constructor(t,e,n,r,s,i,o,a,l,u,c){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=s,this.outlet=i,this.component=o,this.routeConfig=a,this._urlSegment=l,this._lastPathIndex=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=hd(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=hd(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(t=>t.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class np extends Gd{constructor(t,e){super(e),this.url=t,rp(this,e)}toString(){return sp(this._root)}}function rp(t,e){e.value._routerState=t,e.children.forEach(e=>rp(t,e))}function sp(t){const e=t.children.length>0?` { ${t.children.map(sp).join(", ")} } `:"";return`${t.value}${e}`}function ip(t){if(t.snapshot){const e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,fd(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),fd(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(let n=0;nfd(t.parameters,r[e].parameters))&&!(!t.parent!=!e.parent)&&(!t.parent||op(t.parent,e.parent))}function ap(t,e,n){if(n&&t.shouldReuseRoute(e.value,n.value.snapshot)){const r=n.value;r._futureSnapshot=e.value;const s=function(t,e,n){return e.children.map(e=>{for(const r of n.children)if(t.shouldReuseRoute(e.value,r.value.snapshot))return ap(t,e,r);return ap(t,e)})}(t,e,n);return new Qd(r,s)}{if(t.shouldAttach(e.value)){const n=t.retrieve(e.value);if(null!==n){const t=n.route;return lp(e,t),t}}const n=new Xd(new sh((r=e.value).url),new sh(r.params),new sh(r.queryParams),new sh(r.fragment),new sh(r.data),r.outlet,r.component,r),s=e.children.map(e=>ap(t,e));return new Qd(n,s)}var r}function lp(t,e){if(t.value.routeConfig!==e.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==e.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");e.value._futureSnapshot=t.value;for(let n=0;n{i[e]=Array.isArray(t)?t.map(t=>`${t}`):`${t}`}),new Td(n.root===t?e:dp(n.root,t,e),i,s)}function dp(t,e,n){const r={};return vd(t.children,(t,s)=>{r[s]=t===e?n:dp(t,e,n)}),new Ad(t.segments,r)}class pp{constructor(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&up(n[0]))throw new Error("Root segment cannot have matrix parameters");const r=n.find(cp);if(r&&r!==yd(n))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class fp{constructor(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n}}function gp(t,e,n){if(t||(t=new Ad([],{})),0===t.segments.length&&t.hasChildren())return mp(t,e,n);const r=function(t,e,n){let r=0,s=e;const i={match:!1,pathIndex:0,commandIndex:0};for(;s=n.length)return i;const e=t.segments[s],o=n[r];if(cp(o))break;const a=`${o}`,l=r0&&void 0===a)break;if(a&&l&&"object"==typeof l&&void 0===l.outlets){if(!bp(a,l,e))return i;r+=2}else{if(!bp(a,{},e))return i;r++}s++}return{match:!0,pathIndex:s,commandIndex:r}}(t,e,n),s=n.slice(r.commandIndex);if(r.match&&r.pathIndex{"string"==typeof n&&(n=[n]),null!==n&&(s[r]=gp(t.children[r],e,n))}),vd(t.children,(t,e)=>{void 0===r[e]&&(s[e]=t)}),new Ad(t.segments,s)}}function yp(t,e,n){const r=t.segments.slice(0,e);let s=0;for(;s{"string"==typeof t&&(t=[t]),null!==t&&(e[n]=yp(new Ad([],{}),0,t))}),e}function _p(t){const e={};return vd(t,(t,n)=>e[n]=`${t}`),e}function bp(t,e,n){return t==n.path&&fd(e,n.parameters)}class wp{constructor(t,e,n,r){this.routeReuseStrategy=t,this.futureState=e,this.currState=n,this.forwardEvent=r}activate(t){const e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,t),ip(this.futureState.root),this.activateChildRoutes(e,n,t)}deactivateChildRoutes(t,e,n){const r=Kd(e);t.children.forEach(t=>{const e=t.value.outlet;this.deactivateRoutes(t,r[e],n),delete r[e]}),vd(r,(t,e)=>{this.deactivateRouteAndItsChildren(t,n)})}deactivateRoutes(t,e,n){const r=t.value,s=e?e.value:null;if(r===s)if(r.component){const s=n.getContext(r.outlet);s&&this.deactivateChildRoutes(t,e,s.children)}else this.deactivateChildRoutes(t,e,n);else s&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const n=e.getContext(t.value.outlet);if(n&&n.outlet){const e=n.outlet.detach(),r=n.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:e,route:t,contexts:r})}}deactivateRouteAndOutlet(t,e){const n=e.getContext(t.value.outlet),r=n&&t.value.component?n.children:e,s=Kd(t);for(const i of Object.keys(s))this.deactivateRouteAndItsChildren(s[i],r);n&&n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated(),n.attachRef=null,n.resolver=null,n.route=null)}activateChildRoutes(t,e,n){const r=Kd(e);t.children.forEach(t=>{this.activateRoutes(t,r[t.value.outlet],n),this.forwardEvent(new ad(t.value.snapshot))}),t.children.length&&this.forwardEvent(new id(t.value.snapshot))}activateRoutes(t,e,n){const r=t.value,s=e?e.value:null;if(ip(r),r===s)if(r.component){const s=n.getOrCreateContext(r.outlet);this.activateChildRoutes(t,e,s.children)}else this.activateChildRoutes(t,e,n);else if(r.component){const e=n.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const t=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),e.children.onOutletReAttached(t.contexts),e.attachRef=t.componentRef,e.route=t.route.value,e.outlet&&e.outlet.attach(t.componentRef,t.route.value),Cp(t.route)}else{const n=function(t){for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(r.snapshot),s=n?n.module.componentFactoryResolver:null;e.attachRef=null,e.route=r,e.resolver=s,e.outlet&&e.outlet.activateWith(r,s),this.activateChildRoutes(t,null,e.children)}}else this.activateChildRoutes(t,null,n)}}function Cp(t){ip(t.value),t.children.forEach(Cp)}class Sp{constructor(t,e){this.routes=t,this.module=e}}function xp(t){return"function"==typeof t}function Ep(t){return t instanceof Td}const Tp=Symbol("INITIAL_VALUE");function Ap(){return mh(t=>function(...t){let e,n;return E(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),B(t,n).lift(new uh(e))}(t.map(t=>t.pipe(bh(1),function(...t){const e=t[t.length-1];return E(e)?(t.pop(),n=>dh(t,n,e)):e=>dh(t,e)}(Tp)))).pipe(Sh((t,e)=>{let n=!1;return e.reduce((t,r,s)=>{if(t!==Tp)return t;if(r===Tp&&(n=!0),!n){if(!1===r)return r;if(s===e.length-1||Ep(r))return r}return t},t)},Tp),Sc(t=>t!==Tp),T(t=>Ep(t)?t:!0===t),bh(1)))}let kp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ht({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,e){1&t&&Ai(0,"router-outlet")},directives:function(){return[Ef]},encapsulation:2}),t})();function Op(t,e=""){for(let n=0;nVp(t)===e);return n.push(...t.filter(t=>Vp(t)!==e)),n}const Dp={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function Np(t,e,n){var r;if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?Object.assign({},Dp):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const s=(e.matcher||pd)(n,t,e);if(!s)return Object.assign({},Dp);const i={};vd(s.posParams,(t,e)=>{i[e]=t.path});const o=s.consumed.length>0?Object.assign(Object.assign({},i),s.consumed[s.consumed.length-1].parameters):i;return{matched:!0,consumedSegments:s.consumed,lastChild:s.consumed.length,parameters:o,positionalParamSegments:null!==(r=s.posParams)&&void 0!==r?r:{}}}function Up(t,e,n,r,s="corrected"){if(n.length>0&&function(t,e,n){return n.some(n=>Mp(t,e,n)&&Vp(n)!==ud)}(t,n,r)){const s=new Ad(e,function(t,e,n,r){const s={};s.primary=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(const i of n)if(""===i.path&&Vp(i)!==ud){const n=new Ad([],{});n._sourceSegment=t,n._segmentIndexShift=e.length,s[Vp(i)]=n}return s}(t,e,r,new Ad(n,t.children)));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(n=>Mp(t,e,n))}(t,n,r)){const i=new Ad(t.segments,function(t,e,n,r,s,i){const o={};for(const a of r)if(Mp(t,n,a)&&!s[Vp(a)]){const n=new Ad([],{});n._sourceSegment=t,n._segmentIndexShift="legacy"===i?t.segments.length:e.length,o[Vp(a)]=n}return Object.assign(Object.assign({},s),o)}(t,e,n,r,t.children,s));return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}const i=new Ad(t.segments,t.children);return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}function Mp(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path}function Fp(t,e,n,r){return!!(Vp(t)===r||r!==ud&&Mp(e,n,t))&&("**"===t.path||Np(e,t,n).matched)}function Lp(t,e,n){return 0===e.length&&!t.children[n]}class Hp{constructor(t){this.segmentGroup=t||null}}class $p{constructor(t){this.urlTree=t}}function zp(t){return new v(e=>e.error(new Hp(t)))}function Bp(t){return new v(e=>e.error(new $p(t)))}function qp(t){return new v(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${t}'`)))}class Gp{constructor(t,e,n,r,s){this.configLoader=e,this.urlSerializer=n,this.urlTree=r,this.config=s,this.allowRedirects=!0,this.ngModule=t.get(Qo)}apply(){const t=Up(this.urlTree.root,[],[],this.config).segmentGroup,e=new Ad(t.segments,t.children);return this.expandSegmentGroup(this.ngModule,this.config,e,ud).pipe(T(t=>this.createUrlTree(Wp(t),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Th(t=>{if(t instanceof $p)return this.allowRedirects=!1,this.match(t.urlTree);if(t instanceof Hp)throw this.noMatchError(t);throw t}))}match(t){return this.expandSegmentGroup(this.ngModule,this.config,t.root,ud).pipe(T(e=>this.createUrlTree(Wp(e),t.queryParams,t.fragment))).pipe(Th(t=>{if(t instanceof Hp)throw this.noMatchError(t);throw t}))}noMatchError(t){return new Error(`Cannot match any routes. URL Segment: '${t.segmentGroup}'`)}createUrlTree(t,e,n){const r=t.segments.length>0?new Ad([],{[ud]:t}):t;return new Td(r,e,n)}expandSegmentGroup(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(t,e,n).pipe(T(t=>new Ad([],t))):this.expandSegment(t,n,e,n.segments,r,!0)}expandChildren(t,e,n){const r=[];for(const s of Object.keys(n.children))"primary"===s?r.unshift(s):r.push(s);return N(r).pipe(Cc(r=>{const s=n.children[r],i=jp(e,r);return this.expandSegmentGroup(t,i,s,r).pipe(T(t=>({segment:t,outlet:r})))}),Sh((t,e)=>(t[e.outlet]=e.segment,t),{}),function(t,e){const n=arguments.length>=2;return r=>r.pipe(t?Sc((e,n)=>t(e,n,r)):y,Oh(1),n?Nh(e):Ph(()=>new hh))}())}expandSegment(t,e,n,r,s,i){return N(n).pipe(Cc(o=>this.expandSegmentAgainstRoute(t,e,n,o,r,s,i).pipe(Th(t=>{if(t instanceof Hp)return wc(null);throw t}))),Fh(t=>!!t),Th((t,n)=>{if(t instanceof hh||"EmptyError"===t.name){if(Lp(e,r,s))return wc(new Ad([],{}));throw new Hp(e)}throw t}))}expandSegmentAgainstRoute(t,e,n,r,s,i,o){return Fp(r,e,s,i)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,s,i):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i):zp(e):zp(e)}expandSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,i):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,n,r){const s=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Bp(s):this.lineralizeSegments(n,s).pipe(L(n=>{const s=new Ad(n,{});return this.expandSegment(t,s,e,n,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i){const{matched:o,consumedSegments:a,lastChild:l,positionalParamSegments:u}=Np(e,r,s);if(!o)return zp(e);const c=this.applyRedirectCommands(a,r.redirectTo,u);return r.redirectTo.startsWith("/")?Bp(c):this.lineralizeSegments(r,c).pipe(L(r=>this.expandSegment(t,e,n,r.concat(s.slice(l)),i,!1)))}matchSegmentAgainstRoute(t,e,n,r,s){if("**"===n.path)return n.loadChildren?(n._loadedConfig?wc(n._loadedConfig):this.configLoader.load(t.injector,n)).pipe(T(t=>(n._loadedConfig=t,new Ad(r,{})))):wc(new Ad(r,{}));const{matched:i,consumedSegments:o,lastChild:a}=Np(e,n,r);if(!i)return zp(e);const l=r.slice(a);return this.getChildConfig(t,n,r).pipe(L(t=>{const r=t.module,i=t.routes,{segmentGroup:a,slicedSegments:u}=Up(e,o,l,i),c=new Ad(a.segments,a.children);if(0===u.length&&c.hasChildren())return this.expandChildren(r,i,c).pipe(T(t=>new Ad(o,t)));if(0===i.length&&0===u.length)return wc(new Ad(o,{}));const h=Vp(n)===s;return this.expandSegment(r,c,i,u,h?ud:s,!0).pipe(T(t=>new Ad(o.concat(t.segments),t.children)))}))}getChildConfig(t,e,n){return e.children?wc(new Sp(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?wc(e._loadedConfig):this.runCanLoadGuards(t.injector,e,n).pipe(L(n=>n?this.configLoader.load(t.injector,e).pipe(T(t=>(e._loadedConfig=t,t))):function(t){return new v(e=>e.error(dd(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`)))}(e))):wc(new Sp([],t))}runCanLoadGuards(t,e,n){const r=e.canLoad;return r&&0!==r.length?wc(r.map(r=>{const s=t.get(r);let i;if(function(t){return t&&xp(t.canLoad)}(s))i=s.canLoad(e,n);else{if(!xp(s))throw new Error("Invalid CanLoad guard");i=s(e,n)}return _d(i)})).pipe(Ap(),Hh(t=>{if(!Ep(t))return;const e=dd(`Redirecting to "${this.urlSerializer.serialize(t)}"`);throw e.url=t,e}),T(t=>!0===t)):wc(!0)}lineralizeSegments(t,e){let n=[],r=e.root;for(;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return wc(n);if(r.numberOfChildren>1||!r.children.primary)return qp(t.redirectTo);r=r.children.primary}}applyRedirectCommands(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)}applyRedirectCreatreUrlTree(t,e,n,r){const s=this.createSegmentGroup(t,e.root,n,r);return new Td(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const n={};return vd(t,(t,r)=>{if("string"==typeof t&&t.startsWith(":")){const s=t.substring(1);n[r]=e[s]}else n[r]=t}),n}createSegmentGroup(t,e,n,r){const s=this.createSegments(t,e.segments,n,r);let i={};return vd(e.children,(e,s)=>{i[s]=this.createSegmentGroup(t,e,n,r)}),new Ad(s,i)}createSegments(t,e,n,r){return e.map(e=>e.path.startsWith(":")?this.findPosParam(t,e,r):this.findOrReturn(e,n))}findPosParam(t,e,n){const r=n[e.path.substring(1)];if(!r)throw new Error(`Cannot redirect to '${t}'. Cannot find '${e.path}'.`);return r}findOrReturn(t,e){let n=0;for(const r of e){if(r.path===t.path)return e.splice(n),r;n++}return t}}function Wp(t){const e={};for(const n of Object.keys(t.children)){const r=Wp(t.children[n]);(r.segments.length>0||r.hasChildren())&&(e[n]=r)}return function(t){if(1===t.numberOfChildren&&t.children.primary){const e=t.children.primary;return new Ad(t.segments.concat(e.segments),e.children)}return t}(new Ad(t.segments,e))}class Zp{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Qp{constructor(t,e){this.component=t,this.route=e}}function Kp(t,e,n){const r=t._root;return Yp(r,e?e._root:null,n,[r.value])}function Jp(t,e,n){const r=function(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(r?r.module.injector:n).get(t)}function Yp(t,e,n,r,s={canDeactivateChecks:[],canActivateChecks:[]}){const i=Kd(e);return t.children.forEach(t=>{!function(t,e,n,r,s={canDeactivateChecks:[],canActivateChecks:[]}){const i=t.value,o=e?e.value:null,a=n?n.getContext(t.value.outlet):null;if(o&&i.routeConfig===o.routeConfig){const l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!Od(t.url,e.url);case"pathParamsOrQueryParamsChange":return!Od(t.url,e.url)||!fd(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!op(t,e)||!fd(t.queryParams,e.queryParams);case"paramsChange":default:return!op(t,e)}}(o,i,i.routeConfig.runGuardsAndResolvers);l?s.canActivateChecks.push(new Zp(r)):(i.data=o.data,i._resolvedData=o._resolvedData),Yp(t,e,i.component?a?a.children:null:n,r,s),l&&a&&a.outlet&&a.outlet.isActivated&&s.canDeactivateChecks.push(new Qp(a.outlet.component,o))}else o&&Xp(e,a,s),s.canActivateChecks.push(new Zp(r)),Yp(t,null,i.component?a?a.children:null:n,r,s)}(t,i[t.value.outlet],n,r.concat([t.value]),s),delete i[t.value.outlet]}),vd(i,(t,e)=>Xp(t,n.getContext(e),s)),s}function Xp(t,e,n){const r=Kd(t),s=t.value;vd(r,(t,r)=>{Xp(t,s.component?e?e.children.getContext(r):null:e,n)}),n.canDeactivateChecks.push(new Qp(s.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,s))}class tf{}function ef(t){return new v(e=>e.error(t))}class nf{constructor(t,e,n,r,s,i){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=i}recognize(){const t=Up(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,ud);if(null===e)return null;const n=new ep([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},ud,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new Qd(n,e),s=new np(this.url,r);return this.inheritParamsAndData(s._root),s}inheritParamsAndData(t){const e=t.value,n=tp(e,this.paramsInheritanceStrategy);e.params=Object.freeze(n.params),e.data=Object.freeze(n.data),t.children.forEach(t=>this.inheritParamsAndData(t))}processSegmentGroup(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)}processChildren(t,e){const n=[];for(const s of Object.keys(e.children)){const r=e.children[s],i=jp(t,s),o=this.processSegmentGroup(i,r,s);if(null===o)return null;n.push(...o)}const r=sf(n);return r.sort((t,e)=>t.value.outlet===ud?-1:e.value.outlet===ud?1:t.value.outlet.localeCompare(e.value.outlet)),r}processSegment(t,e,n,r){for(const s of t){const t=this.processSegmentAgainstRoute(s,e,n,r);if(null!==t)return t}return Lp(e,n,r)?[]:null}processSegmentAgainstRoute(t,e,n,r){if(t.redirectTo||!Fp(t,e,n,r))return null;let s,i=[],o=[];if("**"===t.path){const r=n.length>0?yd(n).parameters:{};s=new ep(n,r,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,lf(t),Vp(t),t.component,t,of(e),af(e)+n.length,uf(t))}else{const r=Np(e,t,n);if(!r.matched)return null;i=r.consumedSegments,o=n.slice(r.lastChild),s=new ep(i,r.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,lf(t),Vp(t),t.component,t,of(e),af(e)+i.length,uf(t))}const a=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),{segmentGroup:l,slicedSegments:u}=Up(e,i,o,a.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution);if(0===u.length&&l.hasChildren()){const t=this.processChildren(a,l);return null===t?null:[new Qd(s,t)]}if(0===a.length&&0===u.length)return[new Qd(s,[])];const c=Vp(t)===r,h=this.processSegment(a,l,u,c?ud:r);return null===h?null:[new Qd(s,h)]}}function rf(t){const e=t.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function sf(t){const e=[],n=new Set;for(const r of t){if(!rf(r)){e.push(r);continue}const t=e.find(t=>r.value.routeConfig===t.value.routeConfig);void 0!==t?(t.children.push(...r.children),n.add(t)):e.push(r)}for(const r of n){const t=sf(r.children);e.push(new Qd(r.value,t))}return e.filter(t=>!n.has(t))}function of(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function af(t){let e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,n+=e._segmentIndexShift?e._segmentIndexShift:0;return n-1}function lf(t){return t.data||{}}function uf(t){return t.resolve||{}}function cf(t){return mh(e=>{const n=t(e);return n?N(n).pipe(T(()=>e)):wc(e)})}class hf extends class{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}{}const df=new jn("ROUTES");class pf{constructor(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}load(t,e){if(e._loader$)return e._loader$;this.onLoadStartListener&&this.onLoadStartListener(e);const n=this.loadModuleFactory(e.loadChildren).pipe(T(n=>{this.onLoadEndListener&&this.onLoadEndListener(e);const r=n.create(t);return new Sp(md(r.injector.get(df,void 0,_t.Self|_t.Optional)).map(Pp),r)}),Th(t=>{throw e._loader$=void 0,t}));return e._loader$=new Z(n,()=>new S).pipe(q()),e._loader$}loadModuleFactory(t){return"string"==typeof t?N(this.loader.load(t)):_d(t()).pipe(L(t=>t instanceof Ko?wc(t):N(this.compiler.compileModuleAsync(t))))}}class ff{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new gf,this.attachRef=null}}class gf{constructor(){this.contexts=new Map}onChildOutletCreated(t,e){const n=this.getOrCreateContext(t);n.outlet=e,this.contexts.set(t,n)}onChildOutletDestroyed(t){const e=this.getContext(t);e&&(e.outlet=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let e=this.getContext(t);return e||(e=new ff,this.contexts.set(t,e)),e}getContext(t){return this.contexts.get(t)||null}}class mf{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,e){return t}}function yf(t){throw t}function vf(t,e,n){return e.parse("/")}function _f(t,e){return wc(null)}const bf={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},wf={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Cf=(()=>{class t{constructor(t,e,n,r,s,i,o,a){this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=r,this.config=a,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new S,this.errorHandler=yf,this.malformedUriErrorHandler=vf,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:_f,afterPreactivation:_f},this.urlHandlingStrategy=new mf,this.routeReuseStrategy=new hf,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.ngModule=s.get(Qo),this.console=s.get(Ca);const l=s.get(Da);this.isNgZoneEnabled=l instanceof Da&&Da.isInAngularZone(),this.resetConfig(a),this.currentUrlTree=new Td(new Ad([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new pf(i,o,t=>this.triggerEvent(new nd(t)),t=>this.triggerEvent(new rd(t))),this.routerState=Yd(this.currentUrlTree,this.rootComponentType),this.transitions=new sh({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(t){const e=this.events;return t.pipe(Sc(t=>0!==t.id),T(t=>Object.assign(Object.assign({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl)})),mh(t=>{let n=!1,r=!1;return wc(t).pipe(Hh(t=>{this.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),mh(t=>{const n=!this.navigated||t.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||n)&&this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return wc(t).pipe(mh(t=>{const n=this.transitions.getValue();return e.next(new Wh(t.id,this.serializeUrl(t.extractedUrl),t.source,t.restoredState)),n!==this.transitions.getValue()?ph:Promise.resolve(t)}),function(t,e,n,r){return mh(s=>function(t,e,n,r,s){return new Gp(t,e,n,r,s).apply()}(t,e,n,s.extractedUrl,r).pipe(T(t=>Object.assign(Object.assign({},s),{urlAfterRedirects:t}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Hh(t=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:t.urlAfterRedirects})}),function(t,e,n,r,s){return L(i=>function(t,e,n,r,s="emptyOnly",i="legacy"){try{const o=new nf(t,e,n,r,s,i).recognize();return null===o?ef(new tf):wc(o)}catch(o){return ef(o)}}(t,e,i.urlAfterRedirects,n(i.urlAfterRedirects),r,s).pipe(T(t=>Object.assign(Object.assign({},i),{targetSnapshot:t}))))}(this.rootComponentType,this.config,t=>this.serializeUrl(t),this.paramsInheritanceStrategy,this.relativeLinkResolution),Hh(t=>{"eager"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects);const n=new Jh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.next(n)}));if(n&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:n,extractedUrl:r,source:s,restoredState:i,extras:o}=t,a=new Wh(n,this.serializeUrl(r),s,i);e.next(a);const l=Yd(r,this.rootComponentType).snapshot;return wc(Object.assign(Object.assign({},t),{targetSnapshot:l,urlAfterRedirects:r,extras:Object.assign(Object.assign({},o),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=t.rawUrl,this.browserUrlTree=t.urlAfterRedirects,t.resolve(null),ph}),cf(t=>{const{targetSnapshot:e,id:n,extractedUrl:r,rawUrl:s,extras:{skipLocationChange:i,replaceUrl:o}}=t;return this.hooks.beforePreactivation(e,{navigationId:n,appliedUrlTree:r,rawUrlTree:s,skipLocationChange:!!i,replaceUrl:!!o})}),Hh(t=>{const e=new Yh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),T(t=>Object.assign(Object.assign({},t),{guards:Kp(t.targetSnapshot,t.currentSnapshot,this.rootContexts)})),function(t,e){return L(n=>{const{targetSnapshot:r,currentSnapshot:s,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return 0===o.length&&0===i.length?wc(Object.assign(Object.assign({},n),{guardsResult:!0})):function(t,e,n,r){return N(t).pipe(L(t=>function(t,e,n,r,s){const i=e&&e.routeConfig?e.routeConfig.canDeactivate:null;return i&&0!==i.length?wc(i.map(i=>{const o=Jp(i,e,s);let a;if(function(t){return t&&xp(t.canDeactivate)}(o))a=_d(o.canDeactivate(t,e,n,r));else{if(!xp(o))throw new Error("Invalid CanDeactivate guard");a=_d(o(t,e,n,r))}return a.pipe(Fh())})).pipe(Ap()):wc(!0)}(t.component,t.route,n,e,r)),Fh(t=>!0!==t,!0))}(o,r,s,t).pipe(L(n=>n&&"boolean"==typeof n?function(t,e,n,r){return N(e).pipe(Cc(e=>dh(function(t,e){return null!==t&&e&&e(new sd(t)),wc(!0)}(e.route.parent,r),function(t,e){return null!==t&&e&&e(new od(t)),wc(!0)}(e.route,r),function(t,e,n){const r=e[e.length-1],s=e.slice(0,e.length-1).reverse().map(t=>function(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)).filter(t=>null!==t).map(e=>gh(()=>wc(e.guards.map(s=>{const i=Jp(s,e.node,n);let o;if(function(t){return t&&xp(t.canActivateChild)}(i))o=_d(i.canActivateChild(r,t));else{if(!xp(i))throw new Error("Invalid CanActivateChild guard");o=_d(i(r,t))}return o.pipe(Fh())})).pipe(Ap())));return wc(s).pipe(Ap())}(t,e.path,n),function(t,e,n){const r=e.routeConfig?e.routeConfig.canActivate:null;return r&&0!==r.length?wc(r.map(r=>gh(()=>{const s=Jp(r,e,n);let i;if(function(t){return t&&xp(t.canActivate)}(s))i=_d(s.canActivate(e,t));else{if(!xp(s))throw new Error("Invalid CanActivate guard");i=_d(s(e,t))}return i.pipe(Fh())}))).pipe(Ap()):wc(!0)}(t,e.route,n))),Fh(t=>!0!==t,!0))}(r,i,t,e):wc(n)),T(t=>Object.assign(Object.assign({},n),{guardsResult:t})))})}(this.ngModule.injector,t=>this.triggerEvent(t)),Hh(t=>{if(Ep(t.guardsResult)){const e=dd(`Redirecting to "${this.serializeUrl(t.guardsResult)}"`);throw e.url=t.guardsResult,e}const e=new Xh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);this.triggerEvent(e)}),Sc(t=>{if(!t.guardsResult){this.resetUrlToCurrentUrlTree();const n=new Qh(t.id,this.serializeUrl(t.extractedUrl),"");return e.next(n),t.resolve(!1),!1}return!0}),cf(t=>{if(t.guards.canActivateChecks.length)return wc(t).pipe(Hh(t=>{const e=new td(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),mh(t=>{let n=!1;return wc(t).pipe((r=this.paramsInheritanceStrategy,s=this.ngModule.injector,L(t=>{const{targetSnapshot:e,guards:{canActivateChecks:n}}=t;if(!n.length)return wc(t);let i=0;return N(n).pipe(Cc(t=>function(t,e,n,r){return function(t,e,n,r){const s=Object.keys(t);if(0===s.length)return wc({});const i={};return N(s).pipe(L(s=>function(t,e,n,r){const s=Jp(t,e,r);return _d(s.resolve?s.resolve(e,n):s(e,n))}(t[s],e,n,r).pipe(Hh(t=>{i[s]=t}))),Oh(1),L(()=>Object.keys(i).length===s.length?wc(i):ph))}(t._resolve,t,e,r).pipe(T(e=>(t._resolvedData=e,t.data=Object.assign(Object.assign({},t.data),tp(t,n).resolve),null)))}(t.route,e,r,s)),Hh(()=>i++),Oh(1),L(e=>i===n.length?wc(t):ph))})),Hh({next:()=>n=!0,complete:()=>{if(!n){const n=new Qh(t.id,this.serializeUrl(t.extractedUrl),"At least one route resolver didn't emit any value.");e.next(n),t.resolve(!1)}}}));var r,s}),Hh(t=>{const e=new ed(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}))}),cf(t=>{const{targetSnapshot:e,id:n,extractedUrl:r,rawUrl:s,extras:{skipLocationChange:i,replaceUrl:o}}=t;return this.hooks.afterPreactivation(e,{navigationId:n,appliedUrlTree:r,rawUrlTree:s,skipLocationChange:!!i,replaceUrl:!!o})}),T(t=>{const e=function(t,e,n){const r=ap(t,e._root,n?n._root:void 0);return new Jd(r,e)}(this.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign(Object.assign({},t),{targetRouterState:e})}),Hh(t=>{this.currentUrlTree=t.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl),this.routerState=t.targetRouterState,"deferred"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects)}),(i=this.rootContexts,o=this.routeReuseStrategy,a=t=>this.triggerEvent(t),T(t=>(new wp(o,t.targetRouterState,t.currentRouterState,a).activate(i),t))),Hh({next(){n=!0},complete(){n=!0}}),(s=()=>{if(!n&&!r){this.resetUrlToCurrentUrlTree();const n=new Qh(t.id,this.serializeUrl(t.extractedUrl),`Navigation ID ${t.id} is not equal to the current navigation id ${this.navigationId}`);e.next(n),t.resolve(!1)}this.currentNavigation=null},t=>t.lift(new Bh(s))),Th(n=>{if(r=!0,(s=n)&&s.ngNavigationCancelingError){const r=Ep(n.url);r||(this.navigated=!0,this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));const s=new Qh(t.id,this.serializeUrl(t.extractedUrl),n.message);e.next(s),r?setTimeout(()=>{const e=this.urlHandlingStrategy.merge(n.url,this.rawUrlTree);this.scheduleNavigation(e,"imperative",null,{skipLocationChange:t.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy},{resolve:t.resolve,reject:t.reject,promise:t.promise})},0):t.resolve(!1)}else{this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);const r=new Kh(t.id,this.serializeUrl(t.extractedUrl),n);e.next(r);try{t.resolve(this.errorHandler(n))}catch(i){t.reject(i)}}var s;return ph}));var s,i,o,a}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}getTransition(){const t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const e=this.extractLocationChangeInfoFromEvent(t);this.shouldScheduleNavigation(this.lastLocationChangeInfo,e)&&setTimeout(()=>{const{source:t,state:n,urlTree:r}=e,s={replaceUrl:!0};if(n){const t=Object.assign({},n);delete t.navigationId,0!==Object.keys(t).length&&(s.state=t)}this.scheduleNavigation(r,t,n,s)},0),this.lastLocationChangeInfo=e}))}extractLocationChangeInfoFromEvent(t){var e;return{source:"popstate"===t.type?"popstate":"hashchange",urlTree:this.parseUrl(t.url),state:(null===(e=t.state)||void 0===e?void 0:e.navigationId)?t.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(t,e){if(!t)return!0;const n=e.urlTree.toString()===t.urlTree.toString();return!(e.transitionId===t.transitionId&&n&&("hashchange"===e.source&&"popstate"===t.source||"popstate"===e.source&&"hashchange"===t.source))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){Op(t),this.config=t.map(Pp),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,e={}){const{relativeTo:n,queryParams:r,fragment:s,queryParamsHandling:i,preserveFragment:o}=e,a=n||this.routerState.root,l=o?this.currentUrlTree.fragment:s;let u=null;switch(i){case"merge":u=Object.assign(Object.assign({},this.currentUrlTree.queryParams),r);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=r||null}return null!==u&&(u=this.removeEmptyProps(u)),function(t,e,n,r,s){if(0===n.length)return hp(e.root,e.root,e,r,s);const i=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new pp(!0,0,t);let e=0,n=!1;const r=t.reduce((t,r,s)=>{if("object"==typeof r&&null!=r){if(r.outlets){const e={};return vd(r.outlets,(t,n)=>{e[n]="string"==typeof t?t.split("/"):t}),[...t,{outlets:e}]}if(r.segmentPath)return[...t,r.segmentPath]}return"string"!=typeof r?[...t,r]:0===s?(r.split("/").forEach((r,s)=>{0==s&&"."===r||(0==s&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):[...t,r]},[]);return new pp(n,e,r)}(n);if(i.toRoot())return hp(e.root,new Ad([],{}),e,r,s);const o=function(t,e,n){if(t.isAbsolute)return new fp(e.root,!0,0);if(-1===n.snapshot._lastPathIndex){const t=n.snapshot._urlSegment;return new fp(t,t===e.root,0)}const r=up(t.commands[0])?0:1;return function(t,e,n){let r=t,s=e,i=n;for(;i>s;){if(i-=s,r=r.parent,!r)throw new Error("Invalid number of '../'");s=r.segments.length}return new fp(r,!1,s-i)}(n.snapshot._urlSegment,n.snapshot._lastPathIndex+r,t.numberOfDoubleDots)}(i,e,t),a=o.processChildren?mp(o.segmentGroup,o.index,i.commands):gp(o.segmentGroup,o.index,i.commands);return hp(o.segmentGroup,a,e,r,s)}(a,this.currentUrlTree,t,u,null!=l?l:null)}navigateByUrl(t,e={skipLocationChange:!1}){const n=Ep(t)?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,e)}navigate(t,e={skipLocationChange:!1}){return function(t){for(let e=0;e{const r=t[n];return null!=r&&(e[n]=r),e},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.events.next(new Zh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(t,e,n,r,s){if(this.disposed)return Promise.resolve(!1);const i=this.getTransition(),o="imperative"!==e&&"imperative"===(null==i?void 0:i.source),a=(this.lastSuccessfulId===i.id||this.currentNavigation?i.rawUrl:i.urlAfterRedirects).toString()===t.toString();if(o&&a)return Promise.resolve(!0);let l,u,c;s?(l=s.resolve,u=s.reject,c=s.promise):c=new Promise((t,e)=>{l=t,u=e});const h=++this.navigationId;return this.setTransition({id:h,source:e,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:r,resolve:l,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(t=>Promise.reject(t))}setBrowserUrl(t,e,n,r){const s=this.urlSerializer.serialize(t);r=r||{},this.location.isCurrentPathEqualTo(s)||e?this.location.replaceState(s,"",Object.assign(Object.assign({},r),{navigationId:n})):this.location.go(s,"",Object.assign(Object.assign({},r),{navigationId:n}))}resetStateAndUrl(t,e,n){this.routerState=t,this.currentUrlTree=e,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",{navigationId:this.lastSuccessfulId})}}return t.\u0275fac=function(e){return new(e||t)(Kn(Nn),Kn(Rd),Kn(gf),Kn(kl),Kn(ai),Kn(rl),Kn(Pa),Kn(void 0))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),Sf=(()=>{class t{constructor(t,e,n){this.router=t,this.route=e,this.locationStrategy=n,this.commands=[],this.onChanges=new S,this.subscription=t.events.subscribe(t=>{t instanceof Zh&&this.updateTargetUrlAndHref()})}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}ngOnChanges(t){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(t,e,n,r,s){if(0!==t||e||n||r||s)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;const i={skipLocationChange:xf(this.skipLocationChange),replaceUrl:xf(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,i),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:xf(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(Ci(Cf),Ci(Xd),Ci(Sl))},t.\u0275dir=Wt({type:t,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(t,e){1&t&&Ii("click",function(t){return e.onClick(t.button,t.ctrlKey,t.shiftKey,t.altKey,t.metaKey)}),2&t&&(Gi("href",e.href,ar),_i("target",e.target))},inputs:{routerLink:"routerLink",target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[oe]}),t})();function xf(t){return""===t||!!t}let Ef=(()=>{class t{constructor(t,e,n,r,s){this.parentContexts=t,this.location=e,this.resolver=n,this.changeDetector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new pa,this.deactivateEvents=new pa,this.name=r||ud,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,t}attach(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,e){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const n=(e=e||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),r=this.parentContexts.getOrCreateContext(this.name).children,s=new Tf(t,r,this.location.injector);this.activated=this.location.createComponent(n,this.location.length,s),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)(Ci(gf),Ci(Yo),Ci(ho),("name",function(t,e){const n=t.attrs;if(n){const t=n.length;let r=0;for(;r{class t{constructor(t,e,n,r,s){this.router=t,this.injector=r,this.preloadingStrategy=s,this.loader=new pf(e,n,e=>t.triggerEvent(new nd(e)),e=>t.triggerEvent(new rd(e)))}setUpPreloading(){this.subscription=this.router.events.pipe(Sc(t=>t instanceof Zh),Cc(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(Qo);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,e){const n=[];for(const r of e)if(r.loadChildren&&!r.canLoad&&r._loadedConfig){const t=r._loadedConfig;n.push(this.processRoutes(t.module,t.routes))}else r.loadChildren&&!r.canLoad?n.push(this.preloadConfig(t,r)):r.children&&n.push(this.processRoutes(t,r.children));return N(n).pipe(z(),T(t=>{}))}preloadConfig(t,e){return this.preloadingStrategy.preload(e,()=>(e._loadedConfig?wc(e._loadedConfig):this.loader.load(t.injector,e)).pipe(L(t=>(e._loadedConfig=t,this.processRoutes(t.module,t.routes)))))}}return t.\u0275fac=function(e){return new(e||t)(Kn(Cf),Kn(rl),Kn(Pa),Kn(ai),Kn(Af))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),Rf=(()=>{class t{constructor(t,e,n={}){this.router=t,this.viewportScroller=e,this.options=n,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},n.scrollPositionRestoration=n.scrollPositionRestoration||"disabled",n.anchorScrolling=n.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof Wh?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Zh&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof ld&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,e){this.router.triggerEvent(new ld(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,e))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Kn(Cf),Kn($l),Kn(void 0))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const If=new jn("ROUTER_CONFIGURATION"),Pf=new jn("ROUTER_FORROOT_GUARD"),Vf=[kl,{provide:Rd,useClass:Id},{provide:Cf,useFactory:function(t,e,n,r,s,i,o,a={},l,u){const c=new Cf(null,t,e,n,r,s,i,md(o));return l&&(c.urlHandlingStrategy=l),u&&(c.routeReuseStrategy=u),function(t,e){t.errorHandler&&(e.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(e.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(e.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(e.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(e.urlUpdateStrategy=t.urlUpdateStrategy)}(a,c),a.enableTracing&&c.events.subscribe(t=>{var e,n;null===(e=console.group)||void 0===e||e.call(console,`Router Event: ${t.constructor.name}`),console.log(t.toString()),console.log(t),null===(n=console.groupEnd)||void 0===n||n.call(console)}),c},deps:[Rd,gf,kl,ai,rl,Pa,df,If,[class{},new tr],[class{},new tr]]},gf,{provide:Xd,useFactory:function(t){return t.routerState.root},deps:[Cf]},{provide:rl,useClass:ol},Of,kf,class{preload(t,e){return e().pipe(Th(()=>wc(null)))}},{provide:If,useValue:{enableTracing:!1}}];function jf(){return new Ka("Router",Cf)}let Df=(()=>{class t{constructor(t,e){}static forRoot(e,n){return{ngModule:t,providers:[Vf,Ff(e),{provide:Pf,useFactory:Mf,deps:[[Cf,new tr,new er]]},{provide:If,useValue:n||{}},{provide:Sl,useFactory:Uf,deps:[fl,[new Xn(El),new tr],If]},{provide:Rf,useFactory:Nf,deps:[Cf,$l,If]},{provide:Af,useExisting:n&&n.preloadingStrategy?n.preloadingStrategy:kf},{provide:Ka,multi:!0,useFactory:jf},[Lf,{provide:fa,multi:!0,useFactory:Hf,deps:[Lf]},{provide:zf,useFactory:$f,deps:[Lf]},{provide:wa,multi:!0,useExisting:zf}]]}}static forChild(e){return{ngModule:t,providers:[Ff(e)]}}}return t.\u0275fac=function(e){return new(e||t)(Kn(Pf,8),Kn(Cf,8))},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({}),t})();function Nf(t,e,n){return n.scrollOffset&&e.setOffset(n.scrollOffset),new Rf(t,e,n)}function Uf(t,e,n={}){return n.useHash?new Al(t,e):new Tl(t,e)}function Mf(t){return"guarded"}function Ff(t){return[{provide:Dn,multi:!0,useValue:t},{provide:df,multi:!0,useValue:t}]}let Lf=(()=>{class t{constructor(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new S}appInitializer(){return this.injector.get(ml,Promise.resolve(null)).then(()=>{let t=null;const e=new Promise(e=>t=e),n=this.injector.get(Cf),r=this.injector.get(If);return"disabled"===r.initialNavigation?(n.setUpLocationChangeListener(),t(!0)):"enabled"===r.initialNavigation||"enabledBlocking"===r.initialNavigation?(n.hooks.afterPreactivation=()=>this.initNavigation?wc(null):(this.initNavigation=!0,t(!0),this.resultOfPreactivationDone),n.initialNavigation()):t(!0),e})}bootstrapListener(t){const e=this.injector.get(If),n=this.injector.get(Of),r=this.injector.get(Rf),s=this.injector.get(Cf),i=this.injector.get(el);t===i.components[0]&&("enabledNonBlocking"!==e.initialNavigation&&void 0!==e.initialNavigation||s.initialNavigation(),n.setUpPreloading(),r.init(),s.resetRootComponentType(i.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}}return t.\u0275fac=function(e){return new(e||t)(Kn(ai))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function Hf(t){return t.appInitializer.bind(t)}function $f(t){return t.bootstrapListener.bind(t)}const zf=new jn("Router Initializer"),Bf="http://localhost:8080/api/tutorials";let qf=(()=>{class t{constructor(t){this.http=t}getAll(){return this.http.get(Bf)}get(t){return this.http.get(`${Bf}/${t}`)}create(t){return this.http.post(Bf,t)}update(t,e){return this.http.put(`${Bf}/${t}`,e)}delete(t){return this.http.delete(`${Bf}/${t}`)}deleteAll(){return this.http.delete(Bf)}findByTitle(t){return this.http.get(`${Bf}?title=${t}`)}}return t.\u0275fac=function(e){return new(e||t)(Kn(Bc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function Gf(t,e){if(1&t){const t=ki();Ei(0,"li",11),Ii("click",function(){const e=Ae(t),n=e.$implicit,r=e.index;return ji().setActiveTutorial(n,r)}),zi(1),Ti()}if(2&t){const t=e.$implicit;Mi("active",e.index==ji().currentIndex),Xr(1),qi(" ",t.title," ")}}function Wf(t,e){if(1&t&&(Ei(0,"div"),Ei(1,"h4"),zi(2,"Tutorial"),Ti(),Ei(3,"div"),Ei(4,"label"),Ei(5,"strong"),zi(6,"Title:"),Ti(),Ti(),zi(7),Ti(),Ei(8,"div"),Ei(9,"label"),Ei(10,"strong"),zi(11,"Description:"),Ti(),Ti(),zi(12),Ti(),Ei(13,"div"),Ei(14,"label"),Ei(15,"strong"),zi(16,"Status:"),Ti(),Ti(),zi(17),Ti(),Ei(18,"a",12),zi(19," Edit "),Ti(),Ti()),2&t){const t=ji();Xr(7),qi(" ",t.currentTutorial.title," "),Xr(5),qi(" ",t.currentTutorial.description," "),Xr(5),qi(" ",t.currentTutorial.published?"Published":"Pending"," "),Xr(1),Di("routerLink","/tutorials/",t.currentTutorial.id,"")}}function Zf(t,e){1&t&&(Ei(0,"div"),Ai(1,"br"),Ei(2,"p"),zi(3,"Please click on a Tutorial..."),Ti(),Ti())}function Qf(t,e){if(1&t){const t=ki();Ei(0,"button",11),Ii("click",function(){return Ae(t),ji(2).updatePublished(!1)}),zi(1," UnPublish "),Ti()}}function Kf(t,e){if(1&t){const t=ki();Ei(0,"button",11),Ii("click",function(){return Ae(t),ji(2).updatePublished(!0)}),zi(1," Publish "),Ti()}}function Jf(t,e){if(1&t){const t=ki();Ei(0,"div",2),Ei(1,"h4"),zi(2,"Tutorial"),Ti(),Ei(3,"form"),Ei(4,"div",3),Ei(5,"label",4),zi(6,"Title"),Ti(),Ei(7,"input",5),Ii("ngModelChange",function(e){return Ae(t),ji().currentTutorial.title=e}),Ti(),Ti(),Ei(8,"div",3),Ei(9,"label",6),zi(10,"Description"),Ti(),Ei(11,"input",7),Ii("ngModelChange",function(e){return Ae(t),ji().currentTutorial.description=e}),Ti(),Ti(),Ei(12,"div",3),Ei(13,"label"),Ei(14,"strong"),zi(15,"Status:"),Ti(),Ti(),zi(16),Ti(),Ti(),wi(17,Qf,2,0,"button",8),wi(18,Kf,2,0,"button",8),Ei(19,"button",9),Ii("click",function(){return Ae(t),ji().deleteTutorial()}),zi(20," Delete "),Ti(),Ei(21,"button",10),Ii("click",function(){return Ae(t),ji().updateTutorial()}),zi(22," Update "),Ti(),Ei(23,"p"),zi(24),Ti(),Ti()}if(2&t){const t=ji();Xr(7),Si("ngModel",t.currentTutorial.title),Xr(4),Si("ngModel",t.currentTutorial.description),Xr(5),qi(" ",t.currentTutorial.published?"Published":"Pending"," "),Xr(1),Si("ngIf",t.currentTutorial.published),Xr(1),Si("ngIf",!t.currentTutorial.published),Xr(6),Bi(t.message)}}function Yf(t,e){1&t&&(Ei(0,"div"),Ai(1,"br"),Ei(2,"p"),zi(3,"Cannot access this Tutorial..."),Ti(),Ti())}function Xf(t,e){if(1&t){const t=ki();Ei(0,"div"),Ei(1,"div",2),Ei(2,"label",3),zi(3,"Title"),Ti(),Ei(4,"input",4),Ii("ngModelChange",function(e){return Ae(t),ji().tutorial.title=e}),Ti(),Ti(),Ei(5,"div",2),Ei(6,"label",5),zi(7,"Description"),Ti(),Ei(8,"input",6),Ii("ngModelChange",function(e){return Ae(t),ji().tutorial.description=e}),Ti(),Ti(),Ei(9,"button",7),Ii("click",function(){return Ae(t),ji().saveTutorial()}),zi(10,"Submit"),Ti(),Ti()}if(2&t){const t=ji();Xr(4),Si("ngModel",t.tutorial.title),Xr(4),Si("ngModel",t.tutorial.description)}}function tg(t,e){if(1&t){const t=ki();Ei(0,"div"),Ei(1,"h4"),zi(2,"Tutorial was submitted successfully!"),Ti(),Ei(3,"button",7),Ii("click",function(){return Ae(t),ji().newTutorial()}),zi(4,"Add"),Ti(),Ti()}}const eg=[{path:"",redirectTo:"tutorials",pathMatch:"full"},{path:"tutorials",component:(()=>{class t{constructor(t){this.tutorialService=t,this.currentTutorial={},this.currentIndex=-1,this.title=""}ngOnInit(){this.retrieveTutorials()}retrieveTutorials(){this.tutorialService.getAll().subscribe(t=>{this.tutorials=t,console.log(t)},t=>{console.log(t)})}refreshList(){this.retrieveTutorials(),this.currentTutorial={},this.currentIndex=-1}setActiveTutorial(t,e){this.currentTutorial=t,this.currentIndex=e}removeAllTutorials(){this.tutorialService.deleteAll().subscribe(t=>{console.log(t),this.refreshList()},t=>{console.log(t)})}searchTitle(){this.currentTutorial={},this.currentIndex=-1,this.tutorialService.findByTitle(this.title).subscribe(t=>{this.tutorials=t,console.log(t)},t=>{console.log(t)})}}return t.\u0275fac=function(e){return new(e||t)(Ci(qf))},t.\u0275cmp=Ht({type:t,selectors:[["app-tutorials-list"]],decls:17,vars:4,consts:[[1,"list","row"],[1,"col-md-8"],[1,"input-group","mb-3"],["type","text","placeholder","Search by title",1,"form-control",3,"ngModel","ngModelChange"],[1,"input-group-append"],["type","button",1,"btn","btn-outline-secondary",3,"click"],[1,"col-md-6"],[1,"list-group"],["class","list-group-item",3,"active","click",4,"ngFor","ngForOf"],[1,"m-3","btn","btn-sm","btn-danger",3,"click"],[4,"ngIf"],[1,"list-group-item",3,"click"],[1,"badge","badge-warning",3,"routerLink"]],template:function(t,e){1&t&&(Ei(0,"div",0),Ei(1,"div",1),Ei(2,"div",2),Ei(3,"input",3),Ii("ngModelChange",function(t){return e.title=t}),Ti(),Ei(4,"div",4),Ei(5,"button",5),Ii("click",function(){return e.searchTitle()}),zi(6," Search "),Ti(),Ti(),Ti(),Ti(),Ei(7,"div",6),Ei(8,"h4"),zi(9,"Tutorials List"),Ti(),Ei(10,"ul",7),wi(11,Gf,2,3,"li",8),Ti(),Ei(12,"button",9),Ii("click",function(){return e.removeAllTutorials()}),zi(13," Remove All "),Ti(),Ti(),Ei(14,"div",6),wi(15,Wf,20,4,"div",10),wi(16,Zf,4,0,"div",10),Ti(),Ti()),2&t&&(Xr(3),Si("ngModel",e.title),Xr(8),Si("ngForOf",e.tutorials),Xr(4),Si("ngIf",e.currentTutorial.id),Xr(1),Si("ngIf",!e.currentTutorial))},directives:[ku,zu,fc,Nl,Ml,Sf],styles:[".list[_ngcontent-%COMP%]{text-align:left;max-width:750px;margin:auto}"]}),t})()},{path:"tutorials/:id",component:(()=>{class t{constructor(t,e,n){this.tutorialService=t,this.route=e,this.router=n,this.currentTutorial={title:"",description:"",published:!1},this.message=""}ngOnInit(){this.message="",this.getTutorial(this.route.snapshot.params.id)}getTutorial(t){this.tutorialService.get(t).subscribe(t=>{this.currentTutorial=t,console.log(t)},t=>{console.log(t)})}updatePublished(t){const e={title:this.currentTutorial.title,description:this.currentTutorial.description,published:t};this.message="",this.tutorialService.update(this.currentTutorial.id,e).subscribe(e=>{this.currentTutorial.published=t,console.log(e),this.message=e.message?e.message:"The status was updated successfully!"},t=>{console.log(t)})}updateTutorial(){this.message="",this.tutorialService.update(this.currentTutorial.id,this.currentTutorial).subscribe(t=>{console.log(t),this.message=t.message?t.message:"This tutorial was updated successfully!"},t=>{console.log(t)})}deleteTutorial(){this.tutorialService.delete(this.currentTutorial.id).subscribe(t=>{console.log(t),this.router.navigate(["/tutorials"])},t=>{console.log(t)})}}return t.\u0275fac=function(e){return new(e||t)(Ci(qf),Ci(Xd),Ci(Cf))},t.\u0275cmp=Ht({type:t,selectors:[["app-tutorial-details"]],decls:3,vars:2,consts:[["class","edit-form",4,"ngIf"],[4,"ngIf"],[1,"edit-form"],[1,"form-group"],["for","title"],["type","text","id","title","name","title",1,"form-control",3,"ngModel","ngModelChange"],["for","description"],["type","text","id","description","name","description",1,"form-control",3,"ngModel","ngModelChange"],["class","badge badge-primary mr-2",3,"click",4,"ngIf"],[1,"badge","badge-danger","mr-2",3,"click"],["type","submit",1,"badge","badge-success","mb-2",3,"click"],[1,"badge","badge-primary","mr-2",3,"click"]],template:function(t,e){1&t&&(Ei(0,"div"),wi(1,Jf,25,6,"div",0),wi(2,Yf,4,0,"div",1),Ti()),2&t&&(Xr(1),Si("ngIf",e.currentTutorial.id),Xr(1),Si("ngIf",!e.currentTutorial.id))},directives:[Ml,gc,Bu,hc,ku,zu,fc],styles:[".edit-form[_ngcontent-%COMP%]{max-width:400px;margin:auto}"]}),t})()},{path:"add",component:(()=>{class t{constructor(t){this.tutorialService=t,this.tutorial={title:"",description:"",published:!1},this.submitted=!1}ngOnInit(){}saveTutorial(){this.tutorialService.create({title:this.tutorial.title,description:this.tutorial.description}).subscribe(t=>{console.log(t),this.submitted=!0},t=>{console.log(t)})}newTutorial(){this.submitted=!1,this.tutorial={title:"",description:"",published:!1}}}return t.\u0275fac=function(e){return new(e||t)(Ci(qf))},t.\u0275cmp=Ht({type:t,selectors:[["app-add-tutorial"]],decls:4,vars:2,consts:[[1,"submit-form"],[4,"ngIf"],[1,"form-group"],["for","title"],["type","text","id","title","required","","name","title",1,"form-control",3,"ngModel","ngModelChange"],["for","description"],["id","description","required","","name","description",1,"form-control",3,"ngModel","ngModelChange"],[1,"btn","btn-success",3,"click"]],template:function(t,e){1&t&&(Ei(0,"div"),Ei(1,"div",0),wi(2,Xf,11,2,"div",1),wi(3,tg,5,0,"div",1),Ti(),Ti()),2&t&&(Xr(2),Si("ngIf",!e.submitted),Xr(1),Si("ngIf",e.submitted))},directives:[Ml,ku,vc,zu,fc],styles:[".submit-form[_ngcontent-%COMP%]{max-width:400px;margin:auto}"]}),t})()}];let ng=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({imports:[[Df.forRoot(eg)],Df]}),t})(),rg=(()=>{class t{constructor(){this.title="Angular 12 Crud"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ht({type:t,selectors:[["app-root"]],decls:13,vars:0,consts:[[1,"navbar","navbar-expand","navbar-dark","bg-dark"],["href","#",1,"navbar-brand"],[1,"navbar-nav","mr-auto"],[1,"nav-item"],["routerLink","tutorials",1,"nav-link"],["routerLink","add",1,"nav-link"],[1,"container","mt-3"]],template:function(t,e){1&t&&(Ei(0,"div"),Ei(1,"nav",0),Ei(2,"a",1),zi(3,"bezKoder"),Ti(),Ei(4,"div",2),Ei(5,"li",3),Ei(6,"a",4),zi(7,"Tutorials"),Ti(),Ti(),Ei(8,"li",3),Ei(9,"a",5),zi(10,"Add"),Ti(),Ti(),Ti(),Ti(),Ei(11,"div",6),Ai(12,"router-outlet"),Ti(),Ti())},directives:[Sf,Ef],styles:[""]}),t})(),sg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t,bootstrap:[rg]}),t.\u0275inj=ht({providers:[],imports:[[wu,ng,bc,rh]]}),t})();(function(){if(Za)throw new Error("Cannot enable prod mode after platform setup.");Wa=!1})(),_u().bootstrapModule(sg).catch(t=>console.error(t))}},t=>{"use strict";t(t.s=621)}]);
\ No newline at end of file
diff --git a/angular-12-client/static/polyfills.9bfe7059f6aebac52b86.js b/angular-12-client/static/polyfills.9bfe7059f6aebac52b86.js
new file mode 100644
index 0000000..cc32889
--- /dev/null
+++ b/angular-12-client/static/polyfills.9bfe7059f6aebac52b86.js
@@ -0,0 +1 @@
+(self.webpackChunkangular12_crud=self.webpackChunkangular12_crud||[]).push([[429],{167:()=>{"use strict";!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=e.__Zone_symbol_prefix||"__zone_symbol__";function s(e){return r+e}const a=!0===e[s("forceDuplicateZoneCheck")];if(e.Zone){if(a||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}class i{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=i.current;for(;e.parent;)e=e.parent;return e}static get current(){return z.zone}static get currentTask(){return j}static __load_patch(t,r,s=!1){if(O.hasOwnProperty(t)){if(!s&&a)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const s="Zone:"+t;n(s),O[t]=r(e,i,C),o(s,s)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){z={parent:z,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{z=z.parent}}runGuarded(e,t=null,n,o){z={parent:z,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(r){if(this._zoneDelegate.handleError(this,r))throw r}}finally{z=z.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");if(e.state===v&&(e.type===P||e.type===D))return;const o=e.state!=E;o&&e._transitionTo(E,b),e.runCount++;const r=j;j=e,z={parent:z,zone:this};try{e.type==D&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(s){if(this._zoneDelegate.handleError(this,s))throw s}}finally{e.state!==v&&e.state!==Z&&(e.type==P||e.data&&e.data.isPeriodic?o&&e._transitionTo(b,E):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(v,E,v))),z=z.parent,j=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(T,v);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(n){throw e._transitionTo(Z,T,v),this._zoneDelegate.handleError(this,n),n}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==T&&e._transitionTo(b,T),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new u(S,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new u(D,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new u(P,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");e._transitionTo(w,b,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(v,w),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;oe.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,s)=>e.invokeTask(n,o,r,s),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class l{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new i(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");k(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){this.handleError(e,n)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class u{constructor(t,n,o,r,s,a){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=s,this.cancelFn=a,!o)throw new Error("callback is not defined");this.callback=o;const i=this;this.invoke=t===P&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(e,i,this,arguments)}}static invokeTask(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&m(),I--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(v,T)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==v&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=s("setTimeout"),p=s("Promise"),f=s("then");let d,g=[],_=!1;function k(t){if(0===I&&0===g.length)if(d||e[p]&&(d=e[p].resolve(0)),d){let e=d[f];e||(e=d.then),e.call(d,m)}else e[h](m,0);t&&g.push(t)}function m(){if(!_){for(_=!0;g.length;){const t=g;g=[];for(let n=0;nz,onUnhandledError:R,microtaskDrainDone:R,scheduleMicroTask:k,showUncaughtError:()=>!i[s("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:R,patchMethod:()=>R,bindArguments:()=>[],patchThen:()=>R,patchMacroTask:()=>R,patchEventPrototype:()=>R,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>R,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>R,wrapWithCurrentZone:()=>R,filterProperties:()=>[],attachOriginToPatched:()=>R,_redefineProperty:()=>R,patchCallbacks:()=>R};let z={parent:null,zone:new i(null,null)},j=null,I=0;function R(){}o("Zone","Zone"),e.Zone=i}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,o=Object.create,r=Array.prototype.slice,s="addEventListener",a="removeEventListener",i=Zone.__symbol__(s),c=Zone.__symbol__(a),l="true",u="false",h=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function f(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const d=Zone.__symbol__,g="undefined"!=typeof window,_=g?window:void 0,k=g&&_||"object"==typeof self&&self||global,m=[null];function y(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function v(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,b=!("nw"in k)&&void 0!==k.process&&"[object process]"==={}.toString.call(k.process),E=!b&&!T&&!(!g||!_.HTMLElement),w=void 0!==k.process&&"[object process]"==={}.toString.call(k.process)&&!T&&!(!g||!_.HTMLElement),Z={},S=function(e){if(!(e=e||k.event))return;let t=Z[e.type];t||(t=Z[e.type]=d("ON_PROPERTY"+e.type));const n=this||e.target||k,o=n[t];let r;if(E&&n===_&&"error"===e.type){const t=e;r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===r&&e.preventDefault()}else r=o&&o.apply(this,arguments),null==r||r||e.preventDefault();return r};function D(n,o,r){let s=e(n,o);if(!s&&r&&e(r,o)&&(s={enumerable:!0,configurable:!0}),!s||!s.configurable)return;const a=d("on"+o+"patched");if(n.hasOwnProperty(a)&&n[a])return;delete s.writable,delete s.value;const i=s.get,c=s.set,l=o.substr(2);let u=Z[l];u||(u=Z[l]=d("ON_PROPERTY"+l)),s.set=function(e){let t=this;t||n!==k||(t=k),t&&(t[u]&&t.removeEventListener(l,S),c&&c.apply(t,m),"function"==typeof e?(t[u]=e,t.addEventListener(l,S,!1)):t[u]=null)},s.get=function(){let e=this;if(e||n!==k||(e=k),!e)return null;const t=e[u];if(t)return t;if(i){let t=i&&i.call(this);if(t)return s.set.call(this,t),"function"==typeof e.removeAttribute&&e.removeAttribute(o),t}return null},t(n,o,s),n[a]=!0}function P(e,t,n){if(t)for(let o=0;ofunction(t,o){const s=n(t,o);return s.cbIdx>=0&&"function"==typeof o[s.cbIdx]?f(s.name,o[s.cbIdx],s,r):e.apply(t,o)})}function I(e,t){e[d("OriginalDelegate")]=t}let R=!1,M=!1;function N(){try{const e=_.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function x(){if(R)return M;R=!0;try{const e=_.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(M=!0)}catch(e){}return M}Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,s=n.symbol,a=[],i=!0===e[s("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=s("Promise"),l=s("then");n.onUnhandledError=e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;a.length;){const t=a.shift();try{t.zone.runGuarded(()=>{if(t.throwOriginal)throw t.rejection;throw t})}catch(e){h(e)}}};const u=s("unhandledPromiseRejectionHandler");function h(e){n.onUnhandledError(e);try{const n=t[u];"function"==typeof n&&n.call(this,e)}catch(o){}}function p(e){return e&&e.then}function f(e){return e}function d(e){return C.reject(e)}const g=s("state"),_=s("value"),k=s("finally"),m=s("parentPromiseValue"),y=s("parentPromiseState"),v=null,T=!0,b=!1;function E(e,t){return n=>{try{Z(e,t,n)}catch(o){Z(e,!1,o)}}}const w=s("currentTaskTrace");function Z(e,o,s){const c=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}}();if(e===s)throw new TypeError("Promise resolved with itself");if(e[g]===v){let h=null;try{"object"!=typeof s&&"function"!=typeof s||(h=s&&s.then)}catch(u){return c(()=>{Z(e,!1,u)})(),e}if(o!==b&&s instanceof C&&s.hasOwnProperty(g)&&s.hasOwnProperty(_)&&s[g]!==v)D(s),Z(e,s[g],s[_]);else if(o!==b&&"function"==typeof h)try{h.call(s,c(E(e,o)),c(E(e,!1)))}catch(u){c(()=>{Z(e,!1,u)})()}else{e[g]=o;const c=e[_];if(e[_]=s,e[k]===k&&o===T&&(e[g]=e[y],e[_]=e[m]),o===b&&s instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&r(s,w,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t{try{const o=e[_],r=!!n&&k===n[k];r&&(n[m]=o,n[y]=s);const i=t.run(a,void 0,r&&a!==d&&a!==f?[]:[o]);Z(n,!0,i)}catch(o){Z(n,!1,o)}},n)}const O=function(){};class C{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(e){return Z(new this(null),T,e)}static reject(e){return Z(new this(null),b,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function s(e){n(e)}for(let a of e)p(a)||(a=this.resolve(a)),a.then(r,s);return o}static all(e){return C.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof C?this:C).allWithCallback(e,{thenCallback:e=>({status:"fulfilled",value:e}),errorCallback:e=>({status:"rejected",reason:e})})}static allWithCallback(e,t){let n,o,r=new this((e,t)=>{n=e,o=t}),s=2,a=0;const i=[];for(let l of e){p(l)||(l=this.resolve(l));const e=a;try{l.then(o=>{i[e]=t?t.thenCallback(o):o,s--,0===s&&n(i)},r=>{t?(i[e]=t.errorCallback(r),s--,0===s&&n(i)):o(r)})}catch(c){o(c)}s++,a++}return s-=2,0===s&&n(i),r}constructor(e){const t=this;if(!(t instanceof C))throw new Error("Must be an instanceof Promise.");t[g]=v,t[_]=[];try{e&&e(E(t,T),E(t,b))}catch(n){Z(t,!1,n)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return C}then(e,n){let o=this.constructor[Symbol.species];o&&"function"==typeof o||(o=this.constructor||C);const r=new o(O),s=t.current;return this[g]==v?this[_].push(s,r,e,n):P(this,s,r,e,n),r}catch(e){return this.then(null,e)}finally(e){let n=this.constructor[Symbol.species];n&&"function"==typeof n||(n=C);const o=new n(O);o[k]=k;const r=t.current;return this[g]==v?this[_].push(r,o,e,e):P(this,r,o,e,e),o}}C.resolve=C.resolve,C.reject=C.reject,C.race=C.race,C.all=C.all;const j=e[c]=e.Promise;e.Promise=C;const I=s("thenPatched");function R(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[l]=r,e.prototype.then=function(e,t){return new C((e,t)=>{r.call(this,e,t)}).then(e,t)},e[I]=!0}return n.patchThen=R,j&&(R(j),z(e,"fetch",e=>{return t=e,function(e,n){let o=t.apply(e,n);if(o instanceof C)return o;let r=o.constructor;return r[I]||R(r),o};var t})),Promise[t.__symbol__("uncaughtPromiseErrors")]=a,C}),Zone.__load_patch("toString",e=>{const t=Function.prototype.toString,n=d("OriginalDelegate"),o=d("Promise"),r=d("Error"),s=function(){if("function"==typeof this){const s=this[n];if(s)return"function"==typeof s?t.call(s):Object.prototype.toString.call(s);if(this===Promise){const n=e[o];if(n)return t.call(n)}if(this===Error){const n=e[r];if(n)return t.call(n)}}return t.call(this)};s[n]=t,Function.prototype.toString=s;const a=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":a.call(this)}});let L=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){L=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(he){L=!1}const A={useG:!0},H={},F={},q=new RegExp("^"+h+"(\\w+)(true|false)$"),G=d("propagationStopped");function B(e,t){const n=(t?t(e):e)+u,o=(t?t(e):e)+l,r=h+n,s=h+o;H[e]={},H[e].false=r,H[e].true=s}function W(e,t,o){const r=o&&o.add||s,i=o&&o.rm||a,c=o&&o.listeners||"eventListeners",p=o&&o.rmAll||"removeAllListeners",f=d(r),g="."+r+":",_=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=e=>o.handleEvent(e),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},k=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[H[t.type].false];if(o)if(1===o.length)_(o[0],n,t);else{const e=o.slice();for(let o=0;ofunction(t,n){t[G]=!0,e&&e.apply(t,n)})}function $(e,t,n,o,r){const s=Zone.__symbol__(o);if(t[s])return;const a=t[s]=t[o];t[o]=function(s,i,c){return i&&i.prototype&&r.forEach(function(t){const r=`${n}.${o}::`+t,s=i.prototype;if(s.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(s,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(i.prototype,t,n)):s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}else s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}),a.call(t,s,i,c)},e.attachOriginToPatched(t[o],a)}const X=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],Y=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],J=["load"],K=["blur","error","focus","load","resize","scroll","messageerror"],Q=["bounce","finish","start"],ee=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],te=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],ne=["close","error","open","message"],oe=["error","message"],re=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],X,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function se(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function ae(e,t,n,o){e&&P(e,se(e,t,n),o)}function ie(e,t){if(b&&!w)return;if(Zone[e.symbol("patchEvents")])return;const o="undefined"!=typeof WebSocket,r=t.__Zone_ignore_on_properties;if(E){const e=window,t=N()?[{target:e,ignoreProperties:["error"]}]:[];ae(e,re.concat(["messageerror"]),r?r.concat(t):r,n(e)),ae(Document.prototype,re,r),void 0!==e.SVGElement&&ae(e.SVGElement.prototype,re,r),ae(Element.prototype,re,r),ae(HTMLElement.prototype,re,r),ae(HTMLMediaElement.prototype,Y,r),ae(HTMLFrameSetElement.prototype,X.concat(K),r),ae(HTMLBodyElement.prototype,X.concat(K),r),ae(HTMLFrameElement.prototype,J,r),ae(HTMLIFrameElement.prototype,J,r);const o=e.HTMLMarqueeElement;o&&ae(o.prototype,Q,r);const s=e.Worker;s&&ae(s.prototype,oe,r)}const s=t.XMLHttpRequest;s&&ae(s.prototype,ee,r);const a=t.XMLHttpRequestEventTarget;a&&ae(a&&a.prototype,ee,r),"undefined"!=typeof IDBIndex&&(ae(IDBIndex.prototype,te,r),ae(IDBRequest.prototype,te,r),ae(IDBOpenDBRequest.prototype,te,r),ae(IDBDatabase.prototype,te,r),ae(IDBTransaction.prototype,te,r),ae(IDBCursor.prototype,te,r)),o&&ae(WebSocket.prototype,ne,r)}Zone.__load_patch("util",(n,i,c)=>{c.patchOnProperties=P,c.patchMethod=z,c.bindArguments=y,c.patchMacroTask=j;const f=i.__symbol__("BLACK_LISTED_EVENTS"),d=i.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[f]=n[d]),n[f]&&(i[f]=i[d]=n[f]),c.patchEventPrototype=V,c.patchEventTarget=W,c.isIEOrEdge=x,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=o,c.ArraySlice=r,c.patchClass=C,c.wrapWithCurrentZone=p,c.filterProperties=se,c.attachOriginToPatched=I,c._redefineProperty=Object.defineProperty,c.patchCallbacks=$,c.getGlobalObjects=()=>({globalSources:F,zoneSymbolEventNames:H,eventNames:re,isBrowser:E,isMix:w,isNode:b,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:a})});const ce=d("zoneTask");function le(e,t,n,o){let r=null,s=null;n+=o;const a={};function i(t){const n=t.data;return n.args[0]=function(){return t.invoke.apply(this,arguments)},n.handleId=r.apply(e,n.args),t}function c(t){return s.call(e,t.data.handleId)}r=z(e,t+=o,n=>function(r,s){if("function"==typeof s[0]){const e={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?s[1]||0:void 0,args:s},n=s[0];s[0]=function(){try{return n.apply(this,arguments)}finally{e.isPeriodic||("number"==typeof e.handleId?delete a[e.handleId]:e.handleId&&(e.handleId[ce]=null))}};const r=f(t,s[0],e,i,c);if(!r)return r;const l=r.data.handleId;return"number"==typeof l?a[l]=r:l&&(l[ce]=r),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(r.ref=l.ref.bind(l),r.unref=l.unref.bind(l)),"number"==typeof l||l?l:r}return n.apply(e,s)}),s=z(e,n,t=>function(n,o){const r=o[0];let s;"number"==typeof r?s=a[r]:(s=r&&r[ce],s||(s=r)),s&&"string"==typeof s.type?"notScheduled"!==s.state&&(s.cancelFn&&s.data.isPeriodic||0===s.runCount)&&("number"==typeof r?delete a[r]:r&&(r[ce]=null),s.zone.cancelTask(s)):t.apply(e,o)})}function ue(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:s,ZONE_SYMBOL_PREFIX:a}=t.getGlobalObjects();for(let c=0;c{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("queueMicrotask",(e,t,n)=>{n.patchMethod(e,"queueMicrotask",e=>function(e,n){t.current.scheduleMicroTask("queueMicrotask",n[0])})}),Zone.__load_patch("timers",e=>{const t="set",n="clear";le(e,t,n,"Timeout"),le(e,t,n,"Interval"),le(e,t,n,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{le(e,"request","cancel","AnimationFrame"),le(e,"mozRequest","mozCancel","AnimationFrame"),le(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;ofunction(o,s){return t.current.run(n,e,s,r)})}),Zone.__load_patch("EventTarget",(e,t,n)=>{!function(e,t){t.patchEventPrototype(e,t)}(e,n),ue(e,n);const o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype])}),Zone.__load_patch("MutationObserver",(e,t,n)=>{C("MutationObserver"),C("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,t,n)=>{C("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,t,n)=>{C("FileReader")}),Zone.__load_patch("on_property",(e,t,n)=>{ie(n,e)}),Zone.__load_patch("customElements",(e,t,n)=>{!function(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function(e){const u=e.XMLHttpRequest;if(!u)return;const h=u.prototype;let p=h[i],g=h[c];if(!p){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;p=e[i],g=e[c]}}const _="readystatechange",k="scheduled";function m(e){const o=e.data,a=o.target;a[s]=!1,a[l]=!1;const u=a[r];p||(p=a[i],g=a[c]),u&&g.call(a,_,u);const h=a[r]=()=>{if(a.readyState===a.DONE)if(!o.aborted&&a[s]&&e.state===k){const n=a[t.__symbol__("loadfalse")];if(0!==a.status&&n&&n.length>0){const r=e.invoke;e.invoke=function(){const n=a[t.__symbol__("loadfalse")];for(let t=0;tfunction(e,t){return e[o]=0==t[2],e[a]=t[1],T.apply(e,t)}),b=d("fetchTaskAborting"),E=d("fetchTaskScheduling"),w=z(h,"send",()=>function(e,n){if(!0===t.current[E])return w.apply(e,n);if(e[o])return w.apply(e,n);{const t={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},o=f("XMLHttpRequest.send",y,t,m,v);e&&!0===e[l]&&!t.aborted&&o.state===k&&o.invoke()}}),Z=z(h,"abort",()=>function(e,o){const r=e[n];if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[b])return Z.apply(e,o)})}(e);const n=d("xhrTask"),o=d("xhrSync"),r=d("xhrListener"),s=d("xhrScheduled"),a=d("xhrURL"),l=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,n){const o=t.constructor.name;for(let r=0;r{const t=function(){return e.apply(this,y(arguments,o+"."+s))};return I(t,e),t})(a)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){U(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})},796:(e,t,n)=>{"use strict";n(167)}},e=>{"use strict";e(e.s=796)}]);
\ No newline at end of file
diff --git a/angular-12-client/static/runtime.d096b1053e110ec9273b.js b/angular-12-client/static/runtime.d096b1053e110ec9273b.js
new file mode 100644
index 0000000..0138fda
--- /dev/null
+++ b/angular-12-client/static/runtime.d096b1053e110ec9273b.js
@@ -0,0 +1 @@
+(()=>{"use strict";var r,e={},n={};function t(r){var a=n[r];if(void 0!==a)return a.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}t.m=e,r=[],t.O=(e,n,a,o)=>{if(!n){var u=1/0;for(s=0;s=o)&&Object.keys(t.O).every(r=>t.O[r](n[f]))?n.splice(f--,1):(l=!1,o0&&r[s-1][2]>o;s--)r[s]=r[s-1];r[s]=[n,a,o]},t.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return t.d(e,{a:e}),e},t.d=(r,e)=>{for(var n in e)t.o(e,n)&&!t.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:e[n]})},t.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),(()=>{var r={666:0};t.O.j=e=>0===r[e];var e=(e,n)=>{var a,o,[u,l,f]=n,s=0;for(a in l)t.o(l,a)&&(t.m[a]=l[a]);if(f)var i=f(t);for(e&&e(n);s [Build Node.js Rest APIs with Express, Sequelize & MySQL](https://bezkoder.com/node-js-express-sequelize-mysql/)
+
+> [Server side Pagination in Node.js with Sequelize and MySQL](https://bezkoder.com/node-js-sequelize-pagination-mysql/)
+
+> [Deploying/Hosting Node.js app on Heroku with MySQL database](https://bezkoder.com/deploy-node-js-app-heroku-cleardb-mysql/)
+
+Security:
+> [Node.js Express: JWT example | Token Based Authentication & Authorization](https://bezkoder.com/node-js-jwt-authentication-mysql/)
+
+Associations:
+> [Sequelize Associations: One-to-Many Relationship example](https://bezkoder.com/sequelize-associate-one-to-many/)
+
+> [Sequelize Associations: Many-to-Many Relationship example](https://bezkoder.com/sequelize-associate-many-to-many/)
+
+Fullstack:
+> [Vue.js + Node.js + Express + MySQL example](https://bezkoder.com/vue-js-node-js-express-mysql-crud-example/)
+
+> [Vue.js + Node.js + Express + MongoDB example](https://bezkoder.com/vue-node-express-mongodb-mevn-crud/)
+
+> [Angular 8 + Node.js + Express + MySQL example](https://bezkoder.com/angular-node-express-mysql/)
+
+> [Angular 10 + Node.js + Express + MySQL example](https://bezkoder.com/angular-10-node-js-express-mysql/)
+
+> [Angular 11 + Node.js Express + MySQL example](https://bezkoder.com/angular-11-node-js-express-mysql/)
+
+> [Angular 12 + Node.js Express + MySQL example](https://bezkoder.com/angular-12-node-js-express-mysql/)
+
+> [React + Node.js + Express + MySQL example](https://bezkoder.com/react-node-express-mysql/)
+
+Integration (run back-end & front-end on same server/port)
+> [Integrate React with Node.js Restful Services](https://bezkoder.com/integrate-react-express-same-server-port/)
+
+> [Integrate Angular with Node.js Restful Services](https://bezkoder.com/integrate-angular-10-node-js/)
+
+> [Integrate Vue with Node.js Restful Services](https://bezkoder.com/serve-vue-app-express/)
+
+## Project setup
+```
+npm install
+```
+
+### Run
+```
+node server.js
+```
diff --git a/app/config/db.config.js b/node-js-server/app/config/db.config.js
similarity index 100%
rename from app/config/db.config.js
rename to node-js-server/app/config/db.config.js
diff --git a/app/controllers/tutorial.controller.js b/node-js-server/app/controllers/tutorial.controller.js
similarity index 100%
rename from app/controllers/tutorial.controller.js
rename to node-js-server/app/controllers/tutorial.controller.js
diff --git a/app/models/index.js b/node-js-server/app/models/index.js
similarity index 100%
rename from app/models/index.js
rename to node-js-server/app/models/index.js
diff --git a/app/models/tutorial.model.js b/node-js-server/app/models/tutorial.model.js
similarity index 100%
rename from app/models/tutorial.model.js
rename to node-js-server/app/models/tutorial.model.js
diff --git a/app/routes/turorial.routes.js b/node-js-server/app/routes/turorial.routes.js
similarity index 100%
rename from app/routes/turorial.routes.js
rename to node-js-server/app/routes/turorial.routes.js
diff --git a/node-js-server/app/views/3rdpartylicenses.txt b/node-js-server/app/views/3rdpartylicenses.txt
new file mode 100644
index 0000000..5566129
--- /dev/null
+++ b/node-js-server/app/views/3rdpartylicenses.txt
@@ -0,0 +1,268 @@
+@angular/common
+MIT
+
+@angular/core
+MIT
+
+@angular/forms
+MIT
+
+@angular/platform-browser
+MIT
+
+@angular/router
+MIT
+
+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.
+
+
+
+webpack
+MIT
+Copyright JS Foundation and other contributors
+
+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.
+
+
+zone.js
+MIT
+The MIT License
+
+Copyright (c) 2010-2020 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/node-js-server/app/views/favicon.ico b/node-js-server/app/views/favicon.ico
new file mode 100644
index 0000000..997406a
Binary files /dev/null and b/node-js-server/app/views/favicon.ico differ
diff --git a/node-js-server/app/views/index.html b/node-js-server/app/views/index.html
new file mode 100644
index 0000000..9bcb210
--- /dev/null
+++ b/node-js-server/app/views/index.html
@@ -0,0 +1,13 @@
+
+
+ Angular12Crud
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/node-js-server/app/views/main.d5a3d3feaca11180e4a3.js b/node-js-server/app/views/main.d5a3d3feaca11180e4a3.js
new file mode 100644
index 0000000..4ac5f63
--- /dev/null
+++ b/node-js-server/app/views/main.d5a3d3feaca11180e4a3.js
@@ -0,0 +1 @@
+(self.webpackChunkangular12_crud=self.webpackChunkangular12_crud||[]).push([[179],{255:t=>{function e(t){return Promise.resolve().then(()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=()=>[],e.resolve=e,e.id=255,t.exports=e},621:(t,e,n)=>{"use strict";function r(t){return"function"==typeof t}let s=!1;const i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else s&&console.log("RxJS: Back to a better error behavior. Thank you. <3");s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function o(t){setTimeout(()=>{throw t},0)}const a={closed:!0,next(t){},error(t){if(i.useDeprecatedSynchronousErrorHandling)throw t;o(t)},complete(){}},l=(()=>Array.isArray||(t=>t&&"number"==typeof t.length))();function u(t){return null!==t&&"object"==typeof t}const c=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();let h=(()=>{class t{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:n,_ctorUnsubscribe:s,_unsubscribe:i,_subscriptions:o}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(let t=0;tt.concat(e instanceof c?e.errors:e),[])}const p=(()=>"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random())();class f extends h{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){t instanceof f?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new g(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new g(this,t,e,n)}}[p](){return this}static create(t,e,n){const r=new f(t,e,n);return r.syncErrorThrowable=!1,r}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class g extends f{constructor(t,e,n,s){let i;super(),this._parentSubscriber=t;let o=this;r(e)?i=e:e&&(i=e.next,n=e.error,s=e.complete,e!==a&&(o=Object.create(e),r(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=i,this._error=n,this._complete=s}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;i.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=i;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):o(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;o(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);i.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),i.useDeprecatedSynchronousErrorHandling)throw n;o(n)}}__tryOrSetError(t,e,n){if(!i.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(r){return i.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=r,t.syncErrorThrown=!0,!0):(o(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const m=(()=>"function"==typeof Symbol&&Symbol.observable||"@@observable")();function y(t){return t}let v=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:r}=this,s=function(t,e,n){if(t){if(t instanceof f)return t;if(t[p])return t[p]()}return t||e||n?new f(t,e,n):new f(a)}(t,e,n);if(s.add(r?r.call(s,this.source):this.source||i.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),i.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){i.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:r}=t;if(e||r)return!1;t=n&&n instanceof f?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=_(e))((e,n)=>{let r;r=this.subscribe(e=>{try{t(e)}catch(s){n(s),r&&r.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[m](){return this}pipe(...t){return 0===t.length?this:(0===(e=t).length?y:1===e.length?e[0]:function(t){return e.reduce((t,e)=>e(t),t)})(this);var e}toPromise(t){return new(t=_(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function _(t){if(t||(t=i.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const b=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class w extends h{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class C extends f{constructor(t){super(t),this.destination=t}}let S=(()=>{class t extends v{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[p](){return new C(this)}lift(t){const e=new x(this,this);return e.operator=t,e}next(t){if(this.closed)throw new b;if(!this.isStopped){const{observers:e}=this,n=e.length,r=e.slice();for(let s=0;snew x(t,e),t})();class x extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):h.EMPTY}}function E(t){return t&&"function"==typeof t.schedule}function T(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new A(t,e))}}class A{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new k(t,this.project,this.thisArg))}}class k extends f{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const O=t=>e=>{for(let n=0,r=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function V(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const j=t=>{if(t&&"function"==typeof t[m])return n=t,t=>{const e=n[m]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(P(t))return O(t);if(V(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,o),e))(t);if(t&&"function"==typeof t[I])return e=t,t=>{const n=e[I]();for(;;){let e;try{e=n.next()}catch(r){return t.error(r),t}if(e.done){t.complete();break}if(t.next(e.value),t.closed)break}return"function"==typeof n.return&&t.add(()=>{n.return&&n.return()}),t};{const e=u(t)?"an invalid object":`'${t}'`;throw new TypeError(`You provided ${e} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`)}var e,n};function D(t,e){return new v(n=>{const r=new h;let s=0;return r.add(e.schedule(function(){s!==t.length?(n.next(t[s++]),n.closed||r.add(this.schedule())):n.complete()})),r})}function N(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[m]}(t))return function(t,e){return new v(n=>{const r=new h;return r.add(e.schedule(()=>{const s=t[m]();r.add(s.subscribe({next(t){r.add(e.schedule(()=>n.next(t)))},error(t){r.add(e.schedule(()=>n.error(t)))},complete(){r.add(e.schedule(()=>n.complete()))}}))})),r})}(t,e);if(V(t))return function(t,e){return new v(n=>{const r=new h;return r.add(e.schedule(()=>t.then(t=>{r.add(e.schedule(()=>{n.next(t),r.add(e.schedule(()=>n.complete()))}))},t=>{r.add(e.schedule(()=>n.error(t)))}))),r})}(t,e);if(P(t))return D(t,e);if(function(t){return t&&"function"==typeof t[I]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new v(n=>{const r=new h;let s;return r.add(()=>{s&&"function"==typeof s.return&&s.return()}),r.add(e.schedule(()=>{s=t[I](),r.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=s.next();t=n.value,e=n.done}catch(r){return void n.error(r)}e?n.complete():(n.next(t),this.schedule())}))})),r})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof v?t:new v(j(t))}class U extends f{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class M extends f{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function F(t,e){if(e.closed)return;if(t instanceof v)return t.subscribe(e);let n;try{n=j(t)(e)}catch(r){e.error(r)}return n}function L(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?r=>r.pipe(L((n,r)=>N(t(n,r)).pipe(T((t,s)=>e(n,t,r,s))),n)):("number"==typeof e&&(n=e),e=>e.lift(new H(t,n)))}class H{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new $(t,this.project,this.concurrent))}}class $ extends M{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function z(t=Number.POSITIVE_INFINITY){return L(y,t)}function B(t,e){return e?D(t,e):new v(O(t))}function q(){return function(t){return t.lift(new G(t))}}class G{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const r=new W(t,n),s=e.subscribe(r);return r.closed||(r.connection=n.connect()),s}}class W extends f{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}class Z extends v{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new h,t.add(this.source.subscribe(new K(this.getSubject(),this))),t.closed&&(this._connection=null,t=h.EMPTY)),t}refCount(){return q()(this)}}const Q=(()=>{const t=Z.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class K extends C{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function J(){return new S}function Y(t){for(let e in t)if(t[e]===Y)return e;throw Error("Could not find renamed property on target object.")}function X(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function tt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(tt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function et(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const nt=Y({__forward_ref__:Y});function rt(t){return t.__forward_ref__=rt,t.toString=function(){return tt(this())},t}function st(t){return it(t)?t():t}function it(t){return"function"==typeof t&&t.hasOwnProperty(nt)&&t.__forward_ref__===rt}class ot extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function at(t){return"string"==typeof t?t:null==t?"":String(t)}function lt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():at(t)}function ut(t,e){const n=e?` in ${e}`:"";throw new ot("201",`No provider for ${lt(t)} found${n}`)}function ct(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function ht(t){return{providers:t.providers||[],imports:t.imports||[]}}function dt(t){return pt(t,gt)||pt(t,yt)}function pt(t,e){return t.hasOwnProperty(e)?t[e]:null}function ft(t){return t&&(t.hasOwnProperty(mt)||t.hasOwnProperty(vt))?t[mt]:null}const gt=Y({"\u0275prov":Y}),mt=Y({"\u0275inj":Y}),yt=Y({ngInjectableDef:Y}),vt=Y({ngInjectorDef:Y});var _t=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});let bt;function wt(t){const e=bt;return bt=t,e}function Ct(t,e,n){const r=dt(t);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&_t.Optional?null:void 0!==e?e:void ut(tt(t),"Injector")}function St(t){return{toString:t}.toString()}var xt=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}({}),Et=function(t){return t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t}({});const Tt="undefined"!=typeof globalThis&&globalThis,At="undefined"!=typeof window&&window,kt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,Ot="undefined"!=typeof global&&global,Rt=Tt||Ot||At||kt,It={},Pt=[],Vt=Y({"\u0275cmp":Y}),jt=Y({"\u0275dir":Y}),Dt=Y({"\u0275pipe":Y}),Nt=Y({"\u0275mod":Y}),Ut=Y({"\u0275loc":Y}),Mt=Y({"\u0275fac":Y}),Ft=Y({__NG_ELEMENT_ID__:Y});let Lt=0;function Ht(t){return St(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===xt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||Pt,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||Et.Emulated,id:"c",styles:t.styles||Pt,_:null,setInput:null,schemas:t.schemas||null,tView:null},r=t.directives,s=t.features,i=t.pipes;return n.id+=Lt++,n.inputs=Gt(t.inputs,e),n.outputs=Gt(t.outputs),s&&s.forEach(t=>t(n)),n.directiveDefs=r?()=>("function"==typeof r?r():r).map($t):null,n.pipeDefs=i?()=>("function"==typeof i?i():i).map(zt):null,n})}function $t(t){return Zt(t)||function(t){return t[jt]||null}(t)}function zt(t){return function(t){return t[Dt]||null}(t)}const Bt={};function qt(t){const e={type:t.type,bootstrap:t.bootstrap||Pt,declarations:t.declarations||Pt,imports:t.imports||Pt,exports:t.exports||Pt,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&St(()=>{Bt[t.id]=t.type}),e}function Gt(t,e){if(null==t)return It;const n={};for(const r in t)if(t.hasOwnProperty(r)){let s=t[r],i=s;Array.isArray(s)&&(i=s[1],s=s[0]),n[s]=r,e&&(e[s]=i)}return n}const Wt=Ht;function Zt(t){return t[Vt]||null}function Qt(t,e){const n=t[Nt]||null;if(!n&&!0===e)throw new Error(`Type ${tt(t)} does not have '\u0275mod' property.`);return n}const Kt=20,Jt=10;function Yt(t){return Array.isArray(t)&&"object"==typeof t[1]}function Xt(t){return Array.isArray(t)&&!0===t[1]}function te(t){return 0!=(8&t.flags)}function ee(t){return 2==(2&t.flags)}function ne(t){return 1==(1&t.flags)}function re(t){return null!==t.template}function se(t,e){return t.hasOwnProperty(Mt)?t[Mt]:null}class ie{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function oe(){return ae}function ae(t){return t.type.prototype.ngOnChanges&&(t.setInput=ue),le}function le(){const t=ce(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===It)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function ue(t,e,n,r){const s=ce(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:It,current:null}),i=s.current||(s.current={}),o=s.previous,a=this.declaredInputs[n],l=o[a];i[a]=new ie(l&&l.currentValue,e,o===It),t[r]=e}function ce(t){return t.__ngSimpleChanges__||null}let he;function de(t){return!!t.listen}oe.ngInherit=!0;const pe={createRenderer:(t,e)=>void 0!==he?he:"undefined"!=typeof document?document:void 0};function fe(t){for(;Array.isArray(t);)t=t[0];return t}function ge(t,e){return fe(e[t])}function me(t,e){return fe(e[t.index])}function ye(t,e){return t.data[e]}function ve(t,e){const n=e[t];return Yt(n)?n:n[0]}function _e(t){return 128==(128&t[2])}function be(t,e){return null==e?null:t[e]}function we(t){t[18]=0}function Ce(t,e){t[5]+=e;let n=t,r=t[3];for(;null!==r&&(1===e&&1===n[5]||-1===e&&0===n[5]);)r[5]+=e,n=r,r=r[3]}const Se={lFrame:$e(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function xe(){return Se.bindingsEnabled}function Ee(){return Se.lFrame.lView}function Te(){return Se.lFrame.tView}function Ae(t){return Se.lFrame.contextLView=t,t[8]}function ke(){let t=Oe();for(;null!==t&&64===t.type;)t=t.parent;return t}function Oe(){return Se.lFrame.currentTNode}function Re(t,e){const n=Se.lFrame;n.currentTNode=t,n.isParent=e}function Ie(){return Se.lFrame.isParent}function Pe(){return Se.isInCheckNoChangesMode}function Ve(t){Se.isInCheckNoChangesMode=t}function je(){return Se.lFrame.bindingIndex++}function De(t,e){const n=Se.lFrame;n.bindingIndex=n.bindingRootIndex=t,Ne(e)}function Ne(t){Se.lFrame.currentDirectiveIndex=t}function Ue(t){Se.lFrame.currentQueryIndex=t}function Me(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function Fe(t,e,n){if(n&_t.SkipSelf){let r=e,s=t;for(;r=r.parent,!(null!==r||n&_t.Host||(r=Me(s),null===r)||(s=s[15],10&r.type)););if(null===r)return!1;e=r,t=s}const r=Se.lFrame=He();return r.currentTNode=e,r.lView=t,!0}function Le(t){const e=He(),n=t[1];Se.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function He(){const t=Se.lFrame,e=null===t?null:t.child;return null===e?$e(t):e}function $e(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function ze(){const t=Se.lFrame;return Se.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Be=ze;function qe(){const t=ze();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Ge(){return Se.lFrame.selectedIndex}function We(t){Se.lFrame.selectedIndex=t}function Ze(){const t=Se.lFrame;return ye(t.tView,t.selectedIndex)}function Qe(t,e){for(let n=e.directiveStart,r=e.directiveEnd;n=r)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{i.call(o)}finally{}}}else try{i.call(o)}finally{}}const en=-1;class nn{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function rn(t,e,n){const r=de(t);let s=0;for(;se){o=i-1;break}}}for(;i>16,r=e;for(;n>0;)r=r[15],n--;return r}let dn=!0;function pn(t){const e=dn;return dn=t,e}let fn=0;function gn(t,e){const n=yn(t,e);if(-1!==n)return n;const r=e[1];r.firstCreatePass&&(t.injectorIndex=e.length,mn(r.data,t),mn(e,null),mn(r.blueprint,null));const s=vn(t,e),i=t.injectorIndex;if(un(s)){const t=cn(s),n=hn(s,e),r=n[1].data;for(let s=0;s<8;s++)e[i+s]=n[t+s]|r[t+s]}return e[i+8]=s,i}function mn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function yn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function vn(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,r=null,s=e;for(;null!==s;){const t=s[1],e=t.type;if(r=2===e?t.declTNode:1===e?s[6]:null,null===r)return en;if(n++,s=s[15],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return en}function _n(t,e,n){!function(t,e,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(Ft)&&(r=n[Ft]),null==r&&(r=n[Ft]=fn++);const s=255&r;e.data[t+(s>>5)]|=1<=0?255&e:xn:e}(n);if("function"==typeof i){if(!Fe(e,t,r))return r&_t.Host?bn(s,n,r):wn(e,n,r,s);try{const t=i(r);if(null!=t||r&_t.Optional)return t;ut(n)}finally{Be()}}else if("number"==typeof i){let s=null,o=yn(t,e),a=en,l=r&_t.Host?e[16][6]:null;for((-1===o||r&_t.SkipSelf)&&(a=-1===o?vn(t,e):e[o+8],a!==en&&kn(r,!1)?(s=e[1],o=cn(a),e=hn(a,e)):o=-1);-1!==o;){const t=e[1];if(An(i,o,t.data)){const t=En(o,e,n,s,r,l);if(t!==Sn)return t}a=e[o+8],a!==en&&kn(r,e[1].data[o+8]===l)&&An(i,o,e)?(s=t,o=cn(a),e=hn(a,e)):o=-1}}}return wn(e,n,r,s)}const Sn={};function xn(){return new On(ke(),Ee())}function En(t,e,n,r,s,i){const o=e[1],a=o.data[t+8],l=function(t,e,n,r,s){const i=t.providerIndexes,o=e.data,a=1048575&i,l=t.directiveStart,u=i>>20,c=s?a+u:t.directiveEnd;for(let h=r?a:a+u;h=l&&t.type===n)return h}if(s){const t=o[l];if(t&&re(t)&&t.type===n)return l}return null}(a,o,n,null==r?ee(a)&&dn:r!=o&&0!=(3&a.type),s&_t.Host&&i===a);return null!==l?Tn(e,o,l,a):Sn}function Tn(t,e,n,r){let s=t[n];const i=e.data;if(s instanceof nn){const o=s;o.resolving&&function(t,e){throw new ot("200",`Circular dependency in DI detected for ${t}`)}(lt(i[n]));const a=pn(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?wt(o.injectImpl):null;Fe(t,r,_t.Default);try{s=t[n]=o.factory(void 0,i,t,r),e.firstCreatePass&&n>=r.directiveStart&&function(t,e,n){const{ngOnChanges:r,ngOnInit:s,ngDoCheck:i}=e.type.prototype;if(r){const r=ae(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,r),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,r)}s&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,s),i&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i))}(n,i[n],e)}finally{null!==l&&wt(l),pn(a),o.resolving=!1,Be()}}return s}function An(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Mt]||In(e),r=Object.prototype;let s=Object.getPrototypeOf(t.prototype).constructor;for(;s&&s!==r;){const t=s[Mt]||In(s);if(t&&t!==n)return t;s=Object.getPrototypeOf(s)}return t=>new t})}function In(t){return it(t)?()=>{const e=In(st(t));return e&&e()}:se(t)}const Pn="__parameters__";function Vn(t,e,n){return St(()=>{const r=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function s(...t){if(this instanceof s)return r.apply(this,t),this;const e=new s(...t);return n.annotation=e,n;function n(t,n,r){const s=t.hasOwnProperty(Pn)?t[Pn]:Object.defineProperty(t,Pn,{value:[]})[Pn];for(;s.length<=r;)s.push(null);return(s[r]=s[r]||[]).push(e),t}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=t,s.annotationCls=s,s})}class jn{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=ct({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Dn=new jn("AnalyzeForEntryComponents"),Nn=Function;function Un(t,e){t.forEach(t=>Array.isArray(t)?Un(t,e):e(t))}function Mn(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Fn(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function Ln(t,e,n){let r=$n(t,e);return r>=0?t[1|r]=n:(r=~r,function(t,e,n,r){let s=t.length;if(s==e)t.push(n,r);else if(1===s)t.push(r,t[0]),t[0]=n;else{for(s--,t.push(t[s-1],t[s]);s>e;)t[s]=t[s-2],s--;t[e]=n,t[e+1]=r}}(t,r,e,n)),r}function Hn(t,e){const n=$n(t,e);if(n>=0)return t[1|n]}function $n(t,e){return function(t,e,n){let r=0,s=t.length>>1;for(;s!==r;){const n=r+(s-r>>1),i=t[n<<1];if(e===i)return n<<1;i>e?s=n:r=n+1}return~(s<<1)}(t,e)}const zn={},Bn=/\n/gm,qn="__source",Gn=Y({provide:String,useValue:Y});let Wn;function Zn(t){const e=Wn;return Wn=t,e}function Qn(t,e=_t.Default){if(void 0===Wn)throw new Error("inject() must be called from an injection context");return null===Wn?Ct(t,void 0,e):Wn.get(t,e&_t.Optional?null:void 0,e)}function Kn(t,e=_t.Default){return(bt||Qn)(st(t),e)}function Jn(t){const e=[];for(let n=0;n({token:t})),-1),tr=Yn(Vn("Optional"),8),er=Yn(Vn("SkipSelf"),4);class nr{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}function rr(t){return t instanceof nr?t.changingThisBreaksApplicationSecurity:t}const sr=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi,ir=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;var or=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}({});function ar(t){const e=function(){const t=Ee();return t&&t[12]}();return e?e.sanitize(or.URL,t)||"":function(t,e){const n=function(t){return t instanceof nr&&t.getTypeName()||null}(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}(t,"URL")?rr(t):(n=at(t),(n=String(n)).match(sr)||n.match(ir)?n:"unsafe:"+n);var n}function lr(t,e){t.__ngContext__=e}function ur(t){const e=function(t){return t.__ngContext__||null}(t);return e?Array.isArray(e)?e:e.lView:null}function cr(t){return t.ngDebugContext}function hr(t){return t.ngOriginalError}function dr(t,...e){t.error(...e)}class pr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),r=function(t){return t.ngErrorLogger||dr}(t);r(this._console,"ERROR",t),e&&r(this._console,"ORIGINAL ERROR",e),n&&r(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?cr(t)?cr(t):this._findContext(hr(t)):null}_findOriginalError(t){let e=hr(t);for(;e&&hr(e);)e=hr(e);return e}}const fr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Rt))();function gr(t){return t instanceof Function?t():t}var mr=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}({});function yr(t,e){return(void 0)(t,e)}function vr(t){const e=t[3];return Xt(e)?e[3]:e}function _r(t){return wr(t[13])}function br(t){return wr(t[4])}function wr(t){for(;null!==t&&!Xt(t);)t=t[4];return t}function Cr(t,e,n,r,s){if(null!=r){let i,o=!1;Xt(r)?i=r:Yt(r)&&(o=!0,r=r[0]);const a=fe(r);0===t&&null!==n?null==s?Or(e,n,a):kr(e,n,a,s||null,!0):1===t&&null!==n?kr(e,n,a,s||null,!0):2===t?function(t,e,n){const r=Ir(t,e);r&&function(t,e,n,r){de(t)?t.removeChild(e,n,r):e.removeChild(n)}(t,r,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=i&&function(t,e,n,r,s){const i=n[7];i!==fe(n)&&Cr(e,t,r,i,s);for(let o=Jt;o0&&(t[n-1][4]=r[4]);const o=Fn(t,Jt+e);Ur(r[1],s=r,s[11],2,null,null),s[0]=null,s[6]=null;const a=o[19];null!==a&&a.detachView(o[1]),r[3]=null,r[4]=null,r[2]&=-129}var s;return r}function Tr(t,e){if(!(256&e[2])){const n=e[11];de(n)&&n.destroyNode&&Ur(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return Ar(t[1],t);for(;e;){let n=null;if(Yt(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)Yt(e)&&Ar(e[1],e),e=e[3];null===e&&(e=t),Yt(e)&&Ar(e[1],e),n=e&&e[4]}e=n}}(e)}}function Ar(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let r=0;r=0?r[s=l]():r[s=-l].unsubscribe(),i+=2}else{const t=r[s=n[i+1]];n[i].call(t)}if(null!==r){for(let t=s+1;ti?"":s[c+1].toLowerCase();const e=8&r?t:null;if(e&&-1!==Hr(e,u,0)||2&r&&u!==t){if(Wr(r))return!1;o=!0}}}}else{if(!o&&!Wr(r)&&!Wr(l))return!1;if(o&&Wr(l))continue;o=!1,r=l|1&r}}return Wr(r)||o}function Wr(t){return 0==(1&t)}function Zr(t,e,n,r){if(null===e)return-1;let s=0;if(r||!n){let n=!1;for(;s-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&r?s+="."+o:4&r&&(s+=" "+o);else""===s||Wr(o)||(e+=Kr(i,s),s=""),r=o,i=i||!Wr(r);n++}return""!==s&&(e+=Kr(i,s)),e}const Yr={};function Xr(t){ts(Te(),Ee(),Ge()+t,Pe())}function ts(t,e,n,r){if(!r)if(3==(3&e[2])){const r=t.preOrderCheckHooks;null!==r&&Ke(e,r,n)}else{const r=t.preOrderHooks;null!==r&&Je(e,r,0,n)}We(n)}function es(t,e){return t<<17|e<<2}function ns(t){return t>>17&32767}function rs(t){return 2|t}function ss(t){return(131068&t)>>2}function is(t,e){return-131069&t|e<<2}function os(t){return 1|t}function as(t,e){const n=t.contentQueries;if(null!==n)for(let r=0;rKt&&ts(t,e,Kt,Pe()),n(r,s)}finally{We(i)}}function gs(t,e,n){xe()&&(function(t,e,n,r){const s=n.directiveStart,i=n.directiveEnd;t.firstCreatePass||gn(n,e),lr(r,e);const o=n.initialInputs;for(let a=s;a0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=i&&n.push(i),n.push(r,s,o)}}function Ss(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Es(t,e,n){if(n){if(e.exportAs)for(let r=0;r0&&Vs(n)}}function Vs(t){for(let n=_r(t);null!==n;n=br(n))for(let t=Jt;t0&&Vs(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&Vs(r)}}function js(t,e){const n=ve(e,t),r=n[1];!function(t,e){for(let n=e.length;nPromise.resolve(null))();function Hs(t){return t[7]||(t[7]=[])}function $s(t){return t.cleanup||(t.cleanup=[])}function zs(t,e){const n=t[9],r=n?n.get(pr,null):null;r&&r.handleError(e)}function Bs(t,e,n,r,s){for(let i=0;ithis.processProvider(n,t,e)),Un([t],t=>this.processInjectorType(t,[],s)),this.records.set(Gs,ri(void 0,this));const i=this.records.get(Zs);this.scope=null!=i?i.value:null,this.source=r||("object"==typeof t?null:tt(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=zn,n=_t.Default){this.assertNotDestroyed();const r=Zn(this);try{if(!(n&_t.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=("function"==typeof(s=t)||"object"==typeof s&&s instanceof jn)&&dt(t);e=n&&this.injectableDefInScope(n)?ri(ei(t),Qs):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&_t.Self?Ys():this.parent).get(t,e=n&_t.Optional&&e===zn?null:e)}catch(i){if("NullInjectorError"===i.name){if((i.ngTempTokenPath=i.ngTempTokenPath||[]).unshift(tt(t)),r)throw i;return function(t,e,n,r){const s=t.ngTempTokenPath;throw e[qn]&&s.unshift(e[qn]),t.message=function(t,e,n,r=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let s=tt(e);if(Array.isArray(e))s=e.map(tt).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];t.push(n+":"+("string"==typeof r?JSON.stringify(r):tt(r)))}s=`{${t.join(", ")}}`}return`${n}${r?"("+r+")":""}[${s}]: ${t.replace(Bn,"\n ")}`}("\n"+t.message,s,n,r),t.ngTokenPath=s,t.ngTempTokenPath=null,t}(i,t,"R3InjectorError",this.source)}throw i}finally{Zn(r)}var s}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(tt(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=st(t)))return!1;let r=ft(t);const s=null==r&&t.ngModule||void 0,i=void 0===s?t:s,o=-1!==n.indexOf(i);if(void 0!==s&&(r=ft(s)),null==r)return!1;if(null!=r.imports&&!o){let t;n.push(i);try{Un(r.imports,r=>{this.processInjectorType(r,e,n)&&(void 0===t&&(t=[]),t.push(r))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,r||Pt))}}this.injectorDefTypes.add(i);const a=se(i)||(()=>new i);this.records.set(i,ri(a,Qs));const l=r.providers;if(null!=l&&!o){const e=t;Un(l,t=>this.processProvider(t,e,l))}return void 0!==s&&void 0!==t.providers}processProvider(t,e,n){let r=ii(t=st(t))?t:st(t&&t.provide);const s=function(t,e,n){return si(t)?ri(void 0,t.useValue):ri(ni(t),Qs)}(t);if(ii(t)||!0!==t.multi)this.records.get(r);else{let e=this.records.get(r);e||(e=ri(void 0,Qs,!0),e.factory=()=>Jn(e.multi),this.records.set(r,e)),r=t,e.multi.push(t)}this.records.set(r,s)}hydrate(t,e){var n;return e.value===Qs&&(e.value=Ks,e.value=e.factory()),"object"==typeof e.value&&e.value&&null!==(n=e.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=st(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function ei(t){const e=dt(t),n=null!==e?e.factory:se(t);if(null!==n)return n;if(t instanceof jn)throw new Error(`Token ${tt(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=function(t,e){const n=[];for(let r=0;rn.factory(t):()=>new t}(t);throw new Error("unreachable")}function ni(t,e,n){let r;if(ii(t)){const e=st(t);return se(e)||ei(e)}if(si(t))r=()=>st(t.useValue);else if((s=t)&&s.useFactory)r=()=>t.useFactory(...Jn(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))r=()=>Kn(st(t.useExisting));else{const e=st(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return se(e)||ei(e);r=()=>new e(...Jn(t.deps))}var s;return r}function ri(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function si(t){return null!==t&&"object"==typeof t&&Gn in t}function ii(t){return"function"==typeof t}const oi=function(t,e,n){return function(t,e=null,n=null,r){const s=Xs(t,e,n,r);return s._resolveInjectorDefTypes(),s}({name:n},e,t,n)};let ai=(()=>{class t{static create(t,e){return Array.isArray(t)?oi(t,e,""):oi(t.providers,t.parent,t.name||"")}}return t.THROW_IF_NOT_FOUND=zn,t.NULL=new Ws,t.\u0275prov=ct({token:t,providedIn:"any",factory:()=>Kn(Gs)}),t.__NG_ELEMENT_ID__=-1,t})();function li(t,e){Qe(ur(t)[1],ke())}function ui(t){let e=Object.getPrototypeOf(t.type.prototype).constructor,n=!0;const r=[t];for(;e;){let s;if(re(t))s=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");s=e.\u0275dir}if(s){if(n){r.push(s);const e=t;e.inputs=ci(t.inputs),e.declaredInputs=ci(t.declaredInputs),e.outputs=ci(t.outputs);const n=s.hostBindings;n&&pi(t,n);const i=s.viewQuery,o=s.contentQueries;if(i&&hi(t,i),o&&di(t,o),X(t.inputs,s.inputs),X(t.declaredInputs,s.declaredInputs),X(t.outputs,s.outputs),re(s)&&s.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(s.data.animation)}}const e=s.features;if(e)for(let r=0;r=0;r--){const s=t[r];s.hostVars=e+=s.hostVars,s.hostAttrs=an(s.hostAttrs,n=an(n,s.hostAttrs))}}(r)}function ci(t){return t===It?{}:t===Pt?[]:t}function hi(t,e){const n=t.viewQuery;t.viewQuery=n?(t,r)=>{e(t,r),n(t,r)}:e}function di(t,e){const n=t.contentQueries;t.contentQueries=n?(t,r,s)=>{e(t,r,s),n(t,r,s)}:e}function pi(t,e){const n=t.hostBindings;t.hostBindings=n?(t,r)=>{e(t,r),n(t,r)}:e}let fi=null;function gi(){if(!fi){const t=Rt.Symbol;if(t&&t.iterator)fi=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(fe(t[r.index])):r.index;if(de(n)){let o=null;if(!a&&l&&(o=function(t,e,n,r){const s=t.cleanup;if(null!=s)for(let i=0;in?t[n]:null}"string"==typeof t&&(i+=2)}return null}(t,e,s,r.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=i,o.__ngLastListenerFn__=i,h=!1;else{i=Vi(r,e,0,i,!1);const t=n.listen(p,s,i);c.push(i,t),u&&u.push(s,g,f,f+1)}}else i=Vi(r,e,0,i,!0),p.addEventListener(s,i,o),c.push(i),u&&u.push(s,g,f,o)}else i=Vi(r,e,0,i,!1);const d=r.outputs;let p;if(h&&null!==d&&(p=d[s])){const t=p.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Se.lFrame.contextLView))[8]}(t)}function Di(t,e,n,r,s){const i=Ee(),o=bi(i,e,n,r);return o!==Yr&&bs(Te(),Ze(),i,t,o,i[11],s,!1),Di}function Ni(t,e,n,r,s){const i=t[n+1],o=null===e;let a=r?ns(i):ss(i),l=!1;for(;0!==a&&(!1===l||o);){const n=t[a+1];Ui(t[a],e)&&(l=!0,t[a+1]=r?os(n):rs(n)),a=r?ns(n):ss(n)}l&&(t[n+1]=r?rs(i):os(i))}function Ui(t,e){return null===t||null==e||(Array.isArray(t)?t[1]:t)===e||!(!Array.isArray(t)||"string"!=typeof e)&&$n(t,e)>=0}function Mi(t,e){return function(t,e,n,r){const s=Ee(),i=Te(),o=function(t){const e=Se.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+2,n}();i.firstUpdatePass&&function(t,e,n,r){const s=t.data;if(null===s[n+1]){const i=s[Ge()],o=function(t,e){return e>=t.expandoStartIndex}(t,n);(function(t,e){return 0!=(16&t.flags)})(i)&&null===e&&!o&&(e=!1),e=function(t,e,n,r){const s=function(t){const e=Se.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}(t);let i=e.residualClasses;if(null===s)0===e.classBindings&&(n=Li(n=Fi(null,t,e,n,r),e.attrs,r),i=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==s)if(n=Fi(s,t,e,n,r),null===i){let n=function(t,e,n){const r=e.classBindings;if(0!==ss(r))return t[ns(r)]}(t,e);void 0!==n&&Array.isArray(n)&&(n=Fi(null,t,e,n[1],r),n=Li(n,e.attrs,r),function(t,e,n,r){t[ns(e.classBindings)]=r}(t,e,0,n))}else i=function(t,e,n){let r;const s=e.directiveEnd;for(let i=1+e.directiveStylingLast;i0)&&(c=!0)}else u=n;if(s)if(0!==l){const e=ns(t[a+1]);t[r+1]=es(e,a),0!==e&&(t[e+1]=is(t[e+1],r)),t[a+1]=131071&t[a+1]|r<<17}else t[r+1]=es(a,0),0!==a&&(t[a+1]=is(t[a+1],r)),a=r;else t[r+1]=es(l,0),0===a?a=r:t[l+1]=is(t[l+1],r),l=r;c&&(t[r+1]=rs(t[r+1])),Ni(t,u,r,!0),Ni(t,u,r,!1),function(t,e,n,r,s){const i=t.residualClasses;null!=i&&"string"==typeof e&&$n(i,e)>=0&&(n[r+1]=os(n[r+1]))}(e,u,t,r),o=es(a,l),e.classBindings=o}(s,i,e,n,o)}}(i,t,o,true),e!==Yr&&vi(s,o,e)&&function(t,e,n,r,s,i,o,a){if(!(3&e.type))return;const l=t.data,u=l[a+1];$i(1==(1&u)?Hi(l,e,n,s,ss(u),o):void 0)||($i(i)||function(t){return 2==(2&t)}(u)&&(i=Hi(l,null,n,s,a,o)),function(t,e,n,r,s){const i=de(t);s?i?t.addClass(n,r):n.classList.add(r):i?t.removeClass(n,r):n.classList.remove(r)}(r,0,ge(Ge(),n),s,i))}(i,i.data[Ge()],s,s[11],t,s[o+1]=function(t,e){return null==t||"object"==typeof t&&(t=tt(rr(t))),t}(e),true,o)}(t,e),Mi}function Fi(t,e,n,r,s){let i=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[s],i=Array.isArray(e),l=i?e[1]:e,u=null===l;let c=n[s+1];c===Yr&&(c=u?Pt:void 0);let h=u?Hn(c,r):l===r?c:void 0;if(i&&!$i(h)&&(h=Hn(e,r)),$i(h)&&(a=h,o))return a;const d=t[s+1];s=o?ns(d):ss(d)}if(null!==e){let t=i?e.residualClasses:e.residualStyles;null!=t&&(a=Hn(t,r))}return a}function $i(t){return void 0!==t}function zi(t,e=""){const n=Ee(),r=Te(),s=t+Kt,i=r.firstCreatePass?us(r,s,1,e,null):r.data[s],o=n[s]=function(t,e){return de(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Pr(r,n,o,i),Re(i,!1)}function Bi(t){return qi("",t,""),Bi}function qi(t,e,n){const r=Ee(),s=bi(r,t,e,n);return s!==Yr&&function(t,e,n){const r=ge(e,t);!function(t,e,n){de(t)?t.setValue(e,n):e.textContent=n}(t[11],r,n)}(r,Ge(),s),qi}function Gi(t,e,n){const r=Ee();return vi(r,je(),e)&&bs(Te(),Ze(),r,t,e,r[11],n,!0),Gi}const Wi=void 0;var Zi=["en",[["a","p"],["AM","PM"],Wi],[["AM","PM"],Wi,Wi],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Wi,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Wi,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Wi,"{1} 'at' {0}",Wi],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let Qi={};function Ki(t){return t in Qi||(Qi[t]=Rt.ng&&Rt.ng.common&&Rt.ng.common.locales&&Rt.ng.common.locales[t]),Qi[t]}var Ji=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}({});const Yi="en-US";let Xi=Yi;function to(t){var e,n;n="Expected localeId to be defined",null==(e=t)&&function(t,e,n,r){throw new Error(`ASSERTION ERROR: ${t} [Expected=> null != ${e} <=Actual]`)}(n,e),"string"==typeof t&&(Xi=t.toLowerCase().replace(/_/g,"-"))}function eo(t,e,n,r,s){if(t=st(t),Array.isArray(t))for(let i=0;i>20;if(ii(t)||!t.multi){const r=new nn(l,s,Ci),p=so(a,e,s?c:c+d,h);-1===p?(_n(gn(u,o),i,a),no(i,t,e.length),e.push(a),u.directiveStart++,u.directiveEnd++,s&&(u.providerIndexes+=1048576),n.push(r),o.push(r)):(n[p]=r,o[p]=r)}else{const p=so(a,e,c+d,h),f=so(a,e,c,c+d),g=p>=0&&n[p],m=f>=0&&n[f];if(s&&!m||!s&&!g){_n(gn(u,o),i,a);const c=function(t,e,n,r,s){const i=new nn(t,n,Ci);return i.multi=[],i.index=e,i.componentProviders=0,ro(i,s,r&&!n),i}(s?oo:io,n.length,s,r,l);!s&&m&&(n[f].providerFactory=c),no(i,t,e.length,0),e.push(a),u.directiveStart++,u.directiveEnd++,s&&(u.providerIndexes+=1048576),n.push(c),o.push(c)}else no(i,t,p>-1?p:f,ro(n[s?f:p],l,!s&&r));!s&&r&&m&&n[f].componentProviders++}}}function no(t,e,n,r){const s=ii(e);if(s||e.useClass){const i=(e.useClass||e).prototype.ngOnDestroy;if(i){const o=t.destroyHooks||(t.destroyHooks=[]);if(!s&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[r,i]):o[t+1].push(r,i)}else o.push(n,i)}}}function ro(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function so(t,e,n,r){for(let s=n;s{n.providersResolver=(n,r)=>function(t,e,n){const r=Te();if(r.firstCreatePass){const s=re(t);eo(n,r.data,r.blueprint,s,!0),eo(e,r.data,r.blueprint,s,!1)}}(n,r?r(t):t,e)}}class uo{}class co{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${tt(t)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=t,e}(t)}}let ho=(()=>{class t{}return t.NULL=new co,t})();function po(...t){}function fo(t,e){return new mo(me(t,e))}const go=function(){return fo(ke(),Ee())};let mo=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=go,t})();class yo{}let vo=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>_o(),t})();const _o=function(){const t=Ee(),e=ve(ke().index,t);return function(t){return t[11]}(Yt(e)?e:t)};let bo=(()=>{class t{}return t.\u0275prov=ct({token:t,providedIn:"root",factory:()=>null}),t})();class wo{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Co=new wo("12.0.2");class So{constructor(){}supports(t){return mi(t)}create(t){return new Eo(t)}}const xo=(t,e)=>e;class Eo{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||xo}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,r=0,s=null;for(;e||n;){const i=!n||e&&e.currentIndex{r=this._trackByFn(e,t),null!==s&&Object.is(s.trackById,r)?(i&&(s=this._verifyReinsertion(s,t,r,e)),Object.is(s.item,t)||this._addIdentityChange(s,t)):(s=this._mismatch(s,t,r,e),i=!0),s=s._next,e++}),this.length=e;return this._truncate(s),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,r)):t=this._addAfter(new To(e,n),s,r),t}_verifyReinsertion(t,e,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new ko),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new ko),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class To{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ao{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class ko{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ao,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Oo(t,e,n){const r=t.previousIndex;if(null===r)return r;let s=0;return n&&r{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const r=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,r)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const r=n._prev,s=n._next;return r&&(r._next=s),s&&(s._prev=r),n._next=null,n._prev=null,n}const n=new Po(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class Po{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Vo(){return new jo([new So])}let jo=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Vo()),deps:[[t,new er,new tr]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${n=t,n.name||typeof n}'`);var n}}return t.\u0275prov=ct({token:t,providedIn:"root",factory:Vo}),t})();function Do(){return new No([new Ro])}let No=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Do()),deps:[[t,new er,new tr]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=ct({token:t,providedIn:"root",factory:Do}),t})();function Uo(t,e,n,r,s=!1){for(;null!==n;){const i=e[n.index];if(null!==i&&r.push(fe(i)),Xt(i))for(let t=Jt;t-1&&(Er(t,n),Fn(e,n))}this._attachedToViewContainer=!1}Tr(this._lView[1],this._lView)}onDestroy(t){!function(t,e,n,r){const s=Hs(e);s.push(r)}(0,this._lView,0,t)}markForCheck(){Ns(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Us(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Ve(!0);try{Us(t,e,n)}finally{Ve(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var t;this._appRef=null,Ur(this._lView[1],t=this._lView,t[11],2,null,null)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class Fo extends Mo{constructor(t){super(t),this._view=t}detectChanges(){Ms(this._view)}checkNoChanges(){!function(t){Ve(!0);try{Ms(t)}finally{Ve(!1)}}(this._view)}get context(){return null}}const Lo=function(t){return function(t,e,n){if(ee(t)&&!n){const n=ve(t.index,e);return new Mo(n,n)}return 47&t.type?new Mo(e[16],e):null}(ke(),Ee(),16==(16&t))};let Ho=(()=>{class t{}return t.__NG_ELEMENT_ID__=Lo,t})();const $o=[new Ro],zo=new jo([new So]),Bo=new No($o),qo=function(){return t=ke(),e=Ee(),4&t.type?new Zo(e,t,fo(t,e)):null;var t,e};let Go=(()=>{class t{}return t.__NG_ELEMENT_ID__=qo,t})();const Wo=Go,Zo=class extends Wo{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=ls(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const r=this._declarationLView[19];return null!==r&&(n[19]=r.createEmbeddedView(e)),hs(e,n,t),new Mo(n)}};class Qo{}class Ko{}const Jo=function(){return function(t,e){let n;const r=e[t.index];if(Xt(r))n=r;else{let s;if(8&t.type)s=fe(r);else{const n=e[11];s=n.createComment("");const r=me(t,e);kr(n,Ir(n,r),s,function(t,e){return de(t)?t.nextSibling(e):e.nextSibling}(n,r),!1)}e[t.index]=n=Is(r,e,s,t),Ds(e,n)}return new ta(n,t,e)}(ke(),Ee())};let Yo=(()=>{class t{}return t.__NG_ELEMENT_ID__=Jo,t})();const Xo=Yo,ta=class extends Xo{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return fo(this._hostTNode,this._hostLView)}get injector(){return new On(this._hostTNode,this._hostLView)}get parentInjector(){const t=vn(this._hostTNode,this._hostLView);if(un(t)){const e=hn(t,this._hostLView),n=cn(t);return new On(e[1].data[n+8],e)}return new On(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=ea(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-Jt}createEmbeddedView(t,e,n){const r=t.createEmbeddedView(e||{});return this.insert(r,n),r}createComponent(t,e,n,r,s){const i=n||this.parentInjector;if(!s&&null==t.ngModule&&i){const t=i.get(Qo,null);t&&(s=t)}const o=t.create(i,r,void 0,s);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,r=n[1];if(Xt(n[3])){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],r=new ta(e,e[6],e[3]);r.detach(r.indexOf(t))}}const s=this._adjustIndex(e),i=this._lContainer;!function(t,e,n,r){const s=Jt+r,i=n.length;r>0&&(n[s-1][4]=e),rfr});class aa extends uo{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=t.selectors.map(Jr).join(","),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return ia(this.componentDef.inputs)}get outputs(){return ia(this.componentDef.outputs)}create(t,e,n,r){const s=(r=r||this.ngModule)?function(t,e){return{get:(n,r,s)=>{const i=t.get(n,ra,s);return i!==ra||r===ra?i:e.get(n,r,s)}}}(t,r.injector):t,i=s.get(yo,pe),o=s.get(bo,null),a=i.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",u=n?function(t,e,n){if(de(t))return t.selectRootElement(e,n===Et.ShadowDom);let r="string"==typeof e?t.querySelector(e):e;return r.textContent="",r}(a,n,this.componentDef.encapsulation):Sr(i.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),c=this.componentDef.onPush?576:528,h={components:[],scheduler:fr,clean:Ls,playerHandler:null,flags:0},d=vs(0,null,null,1,0,null,null,null,null,null),p=ls(null,d,h,c,null,null,i,a,o,s);let f,g;Le(p);try{const t=function(t,e,n,r,s,i){const o=n[1];n[20]=t;const a=us(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(qs(a,l,!0),null!==t&&(rn(s,t,l),null!==a.classes&&Lr(s,t,a.classes),null!==a.styles&&Fr(s,t,a.styles)));const u=r.createRenderer(t,e),c=ls(n,ys(e),null,e.onPush?64:16,n[20],a,r,u,null,null);return o.firstCreatePass&&(_n(gn(a,n),o,e.type),xs(o,a),Ts(a,n.length,1)),Ds(n,c),n[20]=c}(u,this.componentDef,p,i,a);if(u)if(n)rn(a,u,["ng-version",Co.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let r=1,s=2;for(;r0&&Lr(a,u,e.join(" "))}if(g=ye(d,Kt),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=ke();e.contentQueries(1,o,t.directiveStart)}const a=ke();return!i.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(We(a.index),Cs(n[1],a,0,a.directiveStart,a.directiveEnd,e),Ss(e,o)),o}(t,this.componentDef,p,h,[li]),hs(d,p,null)}finally{qe()}return new la(this.componentType,f,fo(g,p),p,g)}}class la extends class{}{constructor(t,e,n,r,s){super(),this.location=n,this._rootLView=r,this._tNode=s,this.instance=e,this.hostView=this.changeDetectorRef=new Fo(r),this.componentType=t}get injector(){return new On(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const ua=new Map;class ca extends Qo{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new sa(this);const n=Qt(t),r=t[Ut]||null;r&&to(r),this._bootstrapComponents=gr(n.bootstrap),this._r3Injector=Xs(t,e,[{provide:Qo,useValue:this},{provide:ho,useValue:this.componentFactoryResolver}],tt(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=ai.THROW_IF_NOT_FOUND,n=_t.Default){return t===ai||t===Qo||t===Gs?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class ha extends Ko{constructor(t){super(),this.moduleType=t,null!==Qt(t)&&function(t){const e=new Set;!function t(n){const r=Qt(n,!0),s=r.id;null!==s&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${tt(e)} vs ${tt(e.name)}`)}(s,ua.get(s),n),ua.set(s,n));const i=gr(r.imports);for(const o of i)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new ca(this.moduleType,t)}}function da(t){return e=>{setTimeout(t,void 0,e)}}const pa=class extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var r,s,i;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(r=e.next)||void 0===r?void 0:r.bind(e),a=null===(s=e.error)||void 0===s?void 0:s.bind(e),l=null===(i=e.complete)||void 0===i?void 0:i.bind(e)}this.__isAsync&&(a=da(a),o&&(o=da(o)),l&&(l=da(l)));const u=super.subscribe({next:o,error:a,complete:l});return t instanceof h&&t.add(u),u}},fa=new jn("Application Initializer");let ga=(()=>{class t{constructor(t){this.appInits=t,this.resolve=po,this.reject=po,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Kn(fa,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const ma=new jn("AppId"),ya={provide:ma,useFactory:function(){return`${va()}${va()}${va()}`},deps:[]};function va(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const _a=new jn("Platform Initializer"),ba=new jn("Platform ID"),wa=new jn("appBootstrapListener");let Ca=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Sa=new jn("LocaleId"),xa=new jn("DefaultCurrencyCode");class Ea{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const Ta=function(t){return new ha(t)},Aa=Ta,ka=function(t){return Promise.resolve(Ta(t))},Oa=function(t){const e=Ta(t),n=gr(Qt(t).declarations).reduce((t,e)=>{const n=Zt(e);return n&&t.push(new aa(n)),t},[]);return new Ea(e,n)},Ra=Oa,Ia=function(t){return Promise.resolve(Oa(t))};let Pa=(()=>{class t{constructor(){this.compileModuleSync=Aa,this.compileModuleAsync=ka,this.compileModuleAndAllComponentsSync=Ra,this.compileModuleAndAllComponentsAsync=Ia}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Va=(()=>Promise.resolve(0))();function ja(t){"undefined"==typeof Zone?Va.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Da{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new pa(!1),this.onMicrotaskEmpty=new pa(!1),this.onStable=new pa(!1),this.onError=new pa(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&e,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let t=Rt.requestAnimationFrame,e=Rt.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=e[Zone.__symbol__("OriginalDelegate")];r&&(e=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Rt,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Ma(t),t.isCheckStableRunning=!0,Ua(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Ma(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,s,i,o,a)=>{try{return Fa(t),n.invokeTask(s,i,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||t.shouldCoalesceRunChangeDetection)&&e(),La(t)}},onInvoke:(n,r,s,i,o,a,l)=>{try{return Fa(t),n.invoke(s,i,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),La(t)}},onHasTask:(e,n,r,s)=>{e.hasTask(r,s),n===r&&("microTask"==s.change?(t._hasPendingMicrotasks=s.microTask,Ma(t),Ua(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,r,s)=>(e.handleError(r,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Da.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Da.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,r){const s=this._inner,i=s.scheduleEventTask("NgZoneEvent: "+r,t,Na,po,po);try{return s.runTask(i,e,n)}finally{s.cancelTask(i)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const Na={};function Ua(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Ma(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Fa(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function La(t){t._nesting--,Ua(t)}class Ha{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new pa,this.onMicrotaskEmpty=new pa,this.onStable=new pa,this.onError=new pa}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,r){return t.apply(e,n)}}let $a=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Da.assertNotInAngularZone(),ja(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())ja(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let r=-1;e&&e>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==r),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:r,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Kn(Da))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),za=(()=>{class t{constructor(){this._applications=new Map,Ga.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return Ga.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();class Ba{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let qa,Ga=new Ba,Wa=!0,Za=!1;const Qa=new jn("AllowMultipleToken");class Ka{constructor(t,e){this.name=t,this.token=e}}function Ja(t,e,n=[]){const r=`Platform: ${e}`,s=new jn(r);return(e=[])=>{let i=Ya();if(!i||i.injector.get(Qa,!1))if(t)t(n.concat(e).concat({provide:s,useValue:!0}));else{const t=n.concat(e).concat({provide:s,useValue:!0},{provide:Zs,useValue:"platform"});!function(t){if(qa&&!qa.destroyed&&!qa.injector.get(Qa,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");qa=t.get(Xa);const e=t.get(_a,null);e&&e.forEach(t=>t())}(ai.create({providers:t,name:r}))}return function(t){const e=Ya();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(s)}}function Ya(){return qa&&!qa.destroyed?qa:null}let Xa=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Ha:("zone.js"===t?void 0:t)||new Da({enableLongStackTrace:(Za=!0,Wa),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),r=[{provide:Da,useValue:n}];return n.run(()=>{const e=ai.create({providers:r,parent:this.injector,name:t.moduleType.name}),s=t.create(e),i=s.injector.get(pr,null);if(!i)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{i.handleError(t)}});s.onDestroy(()=>{nl(this._modules,s),t.unsubscribe()})}),function(t,e,n){try{const r=n();return Oi(r)?r.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):r}catch(r){throw e.runOutsideAngular(()=>t.handleError(r)),r}}(i,n,()=>{const t=s.injector.get(ga);return t.runInitializers(),t.donePromise.then(()=>(to(s.injector.get(Sa,Yi)||Yi),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=tl({},e);return function(t,e,n){const r=new ha(n);return Promise.resolve(r)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(el);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${tt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Kn(ai))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function tl(t,e){return Array.isArray(e)?e.reduce(tl,t):Object.assign(Object.assign({},t),e)}let el=(()=>{class t{constructor(t,e,n,r,s){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=r,this._initStatus=s,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const i=new v(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new v(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Da.assertNotInAngularZone(),ja(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Da.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=function(...t){let e=Number.POSITIVE_INFINITY,n=null,r=t[t.length-1];return E(r)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof r&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof v?t[0]:z(e)(B(t,n))}(i,o.pipe(t=>{return q()((e=J,function(t){let n;n="function"==typeof e?e:function(){return e};const r=Object.create(t,Q);return r.source=t,r.subjectFactory=n,r})(t));var e}))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof uo?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const r=n.isBoundToModule?void 0:this._injector.get(Qo),s=n.create(ai.NULL,[],e||n.selector,r),i=s.location.nativeElement,o=s.injector.get($a,null),a=o&&s.injector.get(za);return o&&a&&a.registerApplication(i,o),s.onDestroy(()=>{this.detachView(s.hostView),nl(this.components,s),a&&a.unregisterApplication(i)}),this._loadComponent(s),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;nl(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(wa,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Kn(Da),Kn(ai),Kn(pr),Kn(ho),Kn(ga))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function nl(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}class rl{}class sl{}const il={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let ol=(()=>{class t{constructor(t,e){this._compiler=t,this._config=e||il}load(t){return this.loadAndCompile(t)}loadAndCompile(t){let[e,r]=t.split("#");return void 0===r&&(r="default"),n(255)(e).then(t=>t[r]).then(t=>al(t,e,r)).then(t=>this._compiler.compileModuleAsync(t))}loadFactory(t){let[e,r]=t.split("#"),s="NgFactory";return void 0===r&&(r="default",s=""),n(255)(this._config.factoryPathPrefix+e+this._config.factoryPathSuffix).then(t=>t[r+s]).then(t=>al(t,e,r))}}return t.\u0275fac=function(e){return new(e||t)(Kn(Pa),Kn(sl,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function al(t,e,n){if(!t)throw new Error(`Cannot find '${n}' in '${e}'`);return t}const ll=Ja(null,"core",[{provide:ba,useValue:"unknown"},{provide:Xa,deps:[ai]},{provide:za,deps:[]},{provide:Ca,deps:[]}]),ul=[{provide:el,useClass:el,deps:[Da,ai,pr,ho,ga]},{provide:oa,deps:[Da],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ga,useClass:ga,deps:[[new tr,fa]]},{provide:Pa,useClass:Pa,deps:[]},ya,{provide:jo,useFactory:function(){return zo},deps:[]},{provide:No,useFactory:function(){return Bo},deps:[]},{provide:Sa,useFactory:function(t){return to(t=t||"undefined"!=typeof $localize&&$localize.locale||Yi),t},deps:[[new Xn(Sa),new tr,new er]]},{provide:xa,useValue:"USD"}];let cl=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Kn(el))},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:ul}),t})(),hl=null;function dl(){return hl}const pl=new jn("DocumentToken");let fl=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({factory:gl,token:t,providedIn:"platform"}),t})();function gl(){return Kn(yl)}const ml=new jn("Location Initialized");let yl=(()=>{class t extends fl{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return dl().getBaseHref(this._doc)}onPopState(t){const e=dl().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=dl().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){vl()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){vl()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({factory:_l,token:t,providedIn:"platform"}),t})();function vl(){return!!window.history.pushState}function _l(){return new yl(Kn(pl))}function bl(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function wl(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function Cl(t){return t&&"?"!==t[0]?"?"+t:t}let Sl=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({factory:xl,token:t,providedIn:"root"}),t})();function xl(t){const e=Kn(pl).location;return new Tl(Kn(fl),e&&e.origin||"")}const El=new jn("appBaseHref");let Tl=(()=>{class t extends Sl{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return bl(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+Cl(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,r){const s=this.prepareExternalUrl(n+Cl(r));this._platformLocation.pushState(t,e,s)}replaceState(t,e,n,r){const s=this.prepareExternalUrl(n+Cl(r));this._platformLocation.replaceState(t,e,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(fl),Kn(El,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),Al=(()=>{class t extends Sl{constructor(t,e){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=e&&(this._baseHref=e)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e}prepareExternalUrl(t){const e=bl(this._baseHref,t);return e.length>0?"#"+e:e}pushState(t,e,n,r){let s=this.prepareExternalUrl(n+Cl(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,e,s)}replaceState(t,e,n,r){let s=this.prepareExternalUrl(n+Cl(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(fl),Kn(El,8))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),kl=(()=>{class t{constructor(t,e){this._subject=new pa,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=wl(Rl(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+Cl(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,Rl(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Cl(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Cl(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Kn(Sl),Kn(fl))},t.normalizeQueryParams=Cl,t.joinWithSlash=bl,t.stripTrailingSlash=wl,t.\u0275prov=ct({factory:Ol,token:t,providedIn:"root"}),t})();function Ol(){return new kl(Kn(Sl),Kn(fl))}function Rl(t){return t.replace(/\/index.html$/,"")}var Il=function(t){return t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other",t}({});class Pl{}let Vl=(()=>{class t extends Pl{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(function(t){return function(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=Ki(e);if(n)return n;const r=e.split("-")[0];if(n=Ki(r),n)return n;if("en"===r)return Zi;throw new Error(`Missing locale data for the locale "${t}".`)}(t)[Ji.PluralCase]}(e||this.locale)(t)){case Il.Zero:return"zero";case Il.One:return"one";case Il.Two:return"two";case Il.Few:return"few";case Il.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Kn(Sa))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function jl(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[r,s]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class Dl{constructor(t,e,n,r){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Nl=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;if(!this._differ&&n)try{this._differ=this._differs.find(n).create(this.ngForTrackBy)}catch(e){throw new Error(`Cannot find a differ supporting object '${n}' of type '${t=n,t.name||typeof t}'. NgFor only supports binding to Iterables such as Arrays.`)}}var t;if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,r)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Dl(null,this._ngForOf,-1,-1),null===r?void 0:r),s=new Ul(t,n);e.push(s)}else if(null==r)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const s=this._viewContainer.get(n);this._viewContainer.move(s,r);const i=new Ul(t,s);e.push(i)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(Ci(Yo),Ci(Go),Ci(jo))},t.\u0275dir=Wt({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ul{constructor(t,e){this.record=t,this.view=e}}let Ml=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Fl,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ll("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ll("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(Ci(Yo),Ci(Go))},t.\u0275dir=Wt({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Fl{constructor(){this.$implicit=null,this.ngIf=null}}function Ll(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${tt(e)}'.`)}let Hl=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:[{provide:Pl,useClass:Vl}]}),t})(),$l=(()=>{class t{}return t.\u0275prov=ct({token:t,providedIn:"root",factory:()=>new zl(Kn(pl),window)}),t})();class zl{constructor(t,e){this.document=t,this.window=e,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const e=function(t,e){const n=t.getElementById(e)||t.getElementsByName(e)[0];if(n)return n;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const n=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let r=n.currentNode;for(;r;){const t=r.shadowRoot;if(t){const n=t.getElementById(e)||t.querySelector(`[name="${e}"]`);if(n)return n}r=n.nextNode()}}return null}(this.document,t);e&&(this.scrollToElement(e),this.attemptFocus(e))}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),n=e.left+this.window.pageXOffset,r=e.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(n-s[0],r-s[1])}attemptFocus(t){return t.focus(),this.document.activeElement===t}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=Bl(this.window.history)||Bl(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch(t){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(t){return!1}}}function Bl(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class ql{}class Gl extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){var t;t=new Gl,hl||(hl=t)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zl=Zl||document.querySelector("base"),Zl?Zl.getAttribute("href"):null);return null==e?null:function(t){Wl=Wl||document.createElement("a"),Wl.setAttribute("href",t);const e=Wl.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zl=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return jl(document.cookie,t)}}let Wl,Zl=null;const Ql=new jn("TRANSITION_ID"),Kl=[{provide:fa,useFactory:function(t,e,n){return()=>{n.get(ga).donePromise.then(()=>{const n=dl();Array.prototype.slice.apply(e.querySelectorAll("style[ng-transition]")).filter(e=>e.getAttribute("ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[Ql,pl,ai],multi:!0}];class Jl{static init(){var t;t=new Jl,Ga=t}addToWindow(t){Rt.getAngularTestability=(e,n=!0)=>{const r=t.findTestabilityInTree(e,n);if(null==r)throw new Error("Could not find testability for element.");return r},Rt.getAllAngularTestabilities=()=>t.getAllTestabilities(),Rt.getAllAngularRootElements=()=>t.getAllRootElements(),Rt.frameworkStabilizers||(Rt.frameworkStabilizers=[]),Rt.frameworkStabilizers.push(t=>{const e=Rt.getAllAngularTestabilities();let n=e.length,r=!1;const s=function(e){r=r||e,n--,0==n&&t(r)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const r=t.getTestability(e);return null!=r?r:n?dl().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let Yl=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Xl=new jn("EventManagerPlugins");let tu=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let r=0;r{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),ru=(()=>{class t extends nu{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const r=this._doc.createElement("style");r.textContent=t,n.push(e.appendChild(r))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(su),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(su))}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function su(t){dl().remove(t)}const iu={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ou=/%COMP%/g;function au(t,e,n){for(let r=0;r{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let uu=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new cu(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case Et.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new hu(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case Et.ShadowDom:return new du(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=au(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Kn(tu),Kn(ru),Kn(ma))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();class cu{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(iu[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,r){if(r){e=r+":"+e;const s=iu[r];s?t.setAttributeNS(s,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const r=iu[n];r?t.removeAttributeNS(r,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,r){r&(mr.DashCase|mr.Important)?t.style.setProperty(e,n,r&mr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&mr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,lu(n)):this.eventManager.addEventListener(t,e,lu(n))}}class hu extends cu{constructor(t,e,n,r){super(t),this.component=n;const s=au(r+"-"+n.id,n.styles,[]);e.addStyles(s),this.contentAttr="_ngcontent-%COMP%".replace(ou,r+"-"+n.id),this.hostAttr="_nghost-%COMP%".replace(ou,r+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class du extends cu{constructor(t,e,n,r){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=au(r.id,r.styles,[]);for(let i=0;i{class t extends eu{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const fu=["alt","control","meta","shift"],gu={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},mu={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},yu={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let vu=(()=>{class t extends eu{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,r){const s=t.parseEventName(n),i=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>dl().onAndCancel(e,s.domEventName,i))}static parseEventName(e){const n=e.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;const s=t._normalizeKey(n.pop());let i="";if(fu.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),i+=t+".")}),i+=s,0!=n.length||0===s.length)return null;const o={};return o.domEventName=r,o.fullKey=i,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&mu.hasOwnProperty(e)&&(e=mu[e]))}return gu[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),fu.forEach(r=>{r!=n&&(0,yu[r])(t)&&(e+=r+".")}),e+=n,e}static eventCallback(e,n,r){return s=>{t.getEventFullKey(s)===e&&r.runGuarded(()=>n(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const _u=Ja(ll,"browser",[{provide:ba,useValue:"browser"},{provide:_a,useValue:function(){Gl.makeCurrent(),Jl.init()},multi:!0},{provide:pl,useFactory:function(){return function(t){he=t}(document),document},deps:[]}]),bu=[[],{provide:Zs,useValue:"root"},{provide:pr,useFactory:function(){return new pr},deps:[]},{provide:Xl,useClass:pu,multi:!0,deps:[pl,Da,ba]},{provide:Xl,useClass:vu,multi:!0,deps:[pl]},[],{provide:uu,useClass:uu,deps:[tu,ru,ma]},{provide:yo,useExisting:uu},{provide:nu,useExisting:ru},{provide:ru,useClass:ru,deps:[pl]},{provide:$a,useClass:$a,deps:[Da]},{provide:tu,useClass:tu,deps:[Xl,Da]},{provide:ql,useClass:Yl,deps:[]},[]];let wu=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:ma,useValue:e.appId},{provide:Ql,useExisting:ma},Kl]}}}return t.\u0275fac=function(e){return new(e||t)(Kn(t,12))},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:bu,imports:[Hl,cl]}),t})();function Cu(t,e){return new v(n=>{const r=t.length;if(0===r)return void n.complete();const s=new Array(r);let i=0,o=0;for(let a=0;a{u||(u=!0,o++),s[a]=t},error:t=>n.error(t),complete:()=>{i++,i!==r&&u||(o===r&&n.next(e?e.reduce((t,e,n)=>(t[e]=s[n],t),{}):s),n.complete())}}))}})}"undefined"!=typeof window&&window;let Su=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(vo),Ci(mo))},t.\u0275dir=Wt({type:t}),t})(),xu=(()=>{class t extends Su{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=Rn(t)))(n||t)}}(),t.\u0275dir=Wt({type:t,features:[ui]}),t})();const Eu=new jn("NgValueAccessor"),Tu={provide:Eu,useExisting:rt(()=>ku),multi:!0},Au=new jn("CompositionEventMode");let ku=(()=>{class t extends Su{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=dl()?dl().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(vo),Ci(mo),Ci(Au,8))},t.\u0275dir=Wt({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&Ii("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[lo([Tu]),ui]}),t})();const Ou=new jn("NgValidators"),Ru=new jn("NgAsyncValidators");function Iu(t){return null!=t}function Pu(t){const e=Oi(t)?N(t):t;return Ri(e),e}function Vu(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function ju(t,e){return e.map(e=>e(t))}function Du(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function Nu(t){return null!=t?function(t){if(!t)return null;const e=t.filter(Iu);return 0==e.length?null:function(t){return Vu(ju(t,e))}}(Du(t)):null}function Uu(t){return null!=t?function(t){if(!t)return null;const e=t.filter(Iu);return 0==e.length?null:function(t){return function(...t){if(1===t.length){const e=t[0];if(l(e))return Cu(e,null);if(u(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Cu(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Cu(t=1===t.length&&l(t[0])?t[0]:t,null).pipe(T(t=>e(...t)))}return Cu(t,null)}(ju(t,e).map(Pu)).pipe(T(Vu))}}(Du(t)):null}function Mu(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}let Fu=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=Nu(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Uu(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Wt({type:t}),t})(),Lu=(()=>{class t extends Fu{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=Rn(t)))(n||t)}}(),t.\u0275dir=Wt({type:t,features:[ui]}),t})();class Hu extends Fu{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class $u{constructor(t){this._cd=t}is(t){var e,n;return!!(null===(n=null===(e=this._cd)||void 0===e?void 0:e.control)||void 0===n?void 0:n[t])}}let zu=(()=>{class t extends $u{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(Hu,2))},t.\u0275dir=Wt({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&Mi("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[ui]}),t})(),Bu=(()=>{class t extends $u{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(Ci(Lu,10))},t.\u0275dir=Wt({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:14,hostBindings:function(t,e){2&t&&Mi("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[ui]}),t})();function qu(t,e){Wu(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&Zu(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&Zu(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function Gu(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function Wu(t,e){const n=function(t){return t._rawValidators}(t);null!==e.validator?t.setValidators(Mu(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const r=function(t){return t._rawAsyncValidators}(t);null!==e.asyncValidator?t.setAsyncValidators(Mu(r,e.asyncValidator)):"function"==typeof r&&t.setAsyncValidators([r]);const s=()=>t.updateValueAndValidity();Gu(e._rawValidators,s),Gu(e._rawAsyncValidators,s)}function Zu(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function Qu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Ku="VALID",Ju="INVALID",Yu="PENDING",Xu="DISABLED";function tc(t){return(sc(t)?t.validators:t)||null}function ec(t){return Array.isArray(t)?Nu(t):t||null}function nc(t,e){return(sc(e)?e.asyncValidators:t)||null}function rc(t){return Array.isArray(t)?Uu(t):t||null}function sc(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class ic{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=ec(this._rawValidators),this._composedAsyncValidatorFn=rc(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Ku}get invalid(){return this.status===Ju}get pending(){return this.status==Yu}get disabled(){return this.status===Xu}get enabled(){return this.status!==Xu}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=ec(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=rc(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Yu,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Xu,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Ku,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==Ku&&this.status!==Yu||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Xu:Ku}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Yu,this._hasOwnPendingAsyncValidator=!0;const e=Pu(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e)return null;if(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length)return null;let r=t;return e.forEach(t=>{r=r instanceof ac?r.controls.hasOwnProperty(t)?r.controls[t]:null:r instanceof lc&&r.at(t)||null}),r}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new pa,this.statusChanges=new pa}_calculateStatus(){return this._allControlsDisabled()?Xu:this.errors?Ju:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Yu)?Yu:this._anyControlsHaveStatus(Ju)?Ju:Ku}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){sc(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class oc extends ic{constructor(t=null,e,n){super(tc(e),nc(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!n})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Qu(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Qu(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class ac extends ic{constructor(t,e,n){super(tc(e),nc(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!n})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof oc?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,r)=>{n=e(n,t,r)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class lc extends ic{constructor(t,e,n){super(tc(e),nc(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!n})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof oc?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const uc={provide:Lu,useExisting:rt(()=>hc)},cc=(()=>Promise.resolve(null))();let hc=(()=>{class t extends Lu{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new pa,this.form=new ac({},Nu(t),Uu(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){cc.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),qu(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){cc.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),Qu(this._directives,t)})}addFormGroup(t){cc.then(()=>{const e=this._findContainer(t.path),n=new ac({});(function(t,e){Wu(t,e)})(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){cc.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){cc.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,e=this._directives,this.form._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)}),this.ngSubmit.emit(t),!1;var e}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(Ci(Ou,10),Ci(Ru,10))},t.\u0275dir=Wt({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&Ii("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[lo([uc]),ui]}),t})();const dc={provide:Hu,useExisting:rt(()=>fc)},pc=(()=>Promise.resolve(null))();let fc=(()=>{class t extends Hu{constructor(t,e,n,r){super(),this.control=new oc,this._registered=!1,this.update=new pa,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=function(t,e){if(!e)return null;let n,r,s;return Array.isArray(e),e.forEach(t=>{t.constructor===ku?n=t:Object.getPrototypeOf(t.constructor)===xu?r=t:s=t}),s||r||n||null}(0,r)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),function(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?[...this._parent.path,this.name]:[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){qu(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){pc.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;pc.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(Ci(Lu,9),Ci(Ou,10),Ci(Ru,10),Ci(Eu,10))},t.\u0275dir=Wt({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[lo([dc]),ui,oe]}),t})(),gc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Wt({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),mc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({}),t})();const yc={provide:Ou,useExisting:rt(()=>vc),multi:!0};let vc=(()=>{class t{constructor(){this._required=!1}get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!=`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?function(t){return null==(e=t.value)||0===e.length?{required:!0}:null;var e}(t):null}registerOnValidatorChange(t){this._onChange=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Wt({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,e){2&t&&_i("required",e.required?"":null)},inputs:{required:"required"},features:[lo([yc])]}),t})(),_c=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({imports:[[mc]]}),t})(),bc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({imports:[_c]}),t})();function wc(...t){let e=t[t.length-1];return E(e)?(t.pop(),D(t,e)):B(t)}function Cc(t,e){return L(t,e,1)}function Sc(t,e){return function(n){return n.lift(new xc(t,e))}}class xc{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new Ec(t,this.predicate,this.thisArg))}}class Ec extends f{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}class Tc{}class Ac{}class kc{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),r=n.toLowerCase(),s=t.slice(e+1).trim();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(s):this.headers.set(r,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const r=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(r,n),this.maybeSetNormalizedName(e,r))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof kc?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new kc;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof kc?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const r=("a"===t.op?this.headers.get(e):void 0)||[];r.push(...n),this.headers.set(e,r);break;case"d":const s=t.value;if(s){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===s.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Oc{encodeKey(t){return Rc(t)}encodeValue(t){return Rc(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function Rc(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function Ic(t){return`${t}`}class Pc{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Oc,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const r=t.indexOf("="),[s,i]=-1==r?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,r)),e.decodeValue(t.slice(r+1))],o=n.get(s)||[];o.push(i),n.set(s,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:r,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new Pc({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Ic(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Ic(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Vc{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function jc(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Dc(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Nc(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Uc{constructor(t,e,n,r){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new kc),this.context||(this.context=new Vc),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(u=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),u)),new Uc(n,r,i,{params:u,headers:l,context:c,reportProgress:a,responseType:s,withCredentials:o})}}var Mc=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}({});class Fc{constructor(t,e=200,n="OK"){this.headers=t.headers||new kc,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Lc extends Fc{constructor(t={}){super(t),this.type=Mc.ResponseHeader}clone(t={}){return new Lc({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Hc extends Fc{constructor(t={}){super(t),this.type=Mc.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Hc({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class $c extends Fc{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function zc(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Bc=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let r;if(t instanceof Uc)r=t;else{let s,i;s=n.headers instanceof kc?n.headers:new kc(n.headers),n.params&&(i=n.params instanceof Pc?n.params:new Pc({fromObject:n.params})),r=new Uc(t,e,void 0!==n.body?n.body:null,{headers:s,context:n.context,params:i,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const s=wc(r).pipe(Cc(t=>this.handler.handle(t)));if(t instanceof Uc||"events"===n.observe)return s;const i=s.pipe(Sc(t=>t instanceof Hc));switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return i.pipe(T(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return i.pipe(T(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return i.pipe(T(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return i.pipe(T(t=>t.body))}case"response":return i;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new Pc).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,zc(n,e))}post(t,e,n={}){return this.request("POST",t,zc(n,e))}put(t,e,n={}){return this.request("PUT",t,zc(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Kn(Tc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();class qc{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const Gc=new jn("HTTP_INTERCEPTORS");let Wc=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Zc=/^\)\]\}',?\n/;let Qc=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new v(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const r=t.serializeBody();let s=null;const i=()=>{if(null!==s)return s;const e=1223===n.status?204:n.status,r=n.statusText||"OK",i=new kc(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return s=new Lc({headers:i,status:e,statusText:r,url:o}),s},o=()=>{let{headers:r,status:s,statusText:o,url:a}=i(),l=null;204!==s&&(l=void 0===n.response?n.responseText:n.response),0===s&&(s=l?200:0);let u=s>=200&&s<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(Zc,"");try{l=""!==l?JSON.parse(l):null}catch(c){l=t,u&&(u=!1,l={error:c,text:l})}}u?(e.next(new Hc({body:l,headers:r,status:s,statusText:o,url:a||void 0})),e.complete()):e.error(new $c({error:l,headers:r,status:s,statusText:o,url:a||void 0}))},a=t=>{const{url:r}=i(),s=new $c({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:r||void 0});e.error(s)};let l=!1;const u=r=>{l||(e.next(i()),l=!0);let s={type:Mc.DownloadProgress,loaded:r.loaded};r.lengthComputable&&(s.total=r.total),"text"===t.responseType&&n.responseText&&(s.partialText=n.responseText),e.next(s)},c=t=>{let n={type:Mc.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",u),null!==r&&n.upload&&n.upload.addEventListener("progress",c)),n.send(r),e.next({type:Mc.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",u),null!==r&&n.upload&&n.upload.removeEventListener("progress",c)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Kn(ql))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const Kc=new jn("XSRF_COOKIE_NAME"),Jc=new jn("XSRF_HEADER_NAME");class Yc{}let Xc=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=jl(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Kn(pl),Kn(ba),Kn(Kc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),th=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(Yc),Kn(Jc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),eh=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(Gc,[]);this.chain=t.reduceRight((t,e)=>new qc(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Kn(Ac),Kn(ai))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),nh=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:th,useClass:Wc}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:Kc,useValue:e.cookieName}:[],e.headerName?{provide:Jc,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:[th,{provide:Gc,useExisting:th,multi:!0},{provide:Yc,useClass:Xc},{provide:Kc,useValue:"XSRF-TOKEN"},{provide:Jc,useValue:"X-XSRF-TOKEN"}]}),t})(),rh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({providers:[Bc,{provide:Tc,useClass:eh},Qc,{provide:Ac,useExisting:Qc}],imports:[[nh.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();class sh extends S{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new b;return this._value}next(t){super.next(this._value=t)}}class ih extends f{notifyNext(t,e,n,r,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class oh extends f{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function ah(t,e,n,r,s=new oh(t,n,r)){if(!s.closed)return e instanceof v?e.subscribe(s):j(e)(s)}const lh={};class uh{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new ch(t,this.resultSelector))}}class ch extends ih{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(lh),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t})();function dh(...t){return z(1)(wc(...t))}const ph=new v(t=>t.complete());function fh(t){return t?function(t){return new v(e=>t.schedule(()=>e.complete()))}(t):ph}function gh(t){return new v(e=>{let n;try{n=t()}catch(r){return void e.error(r)}return(n?N(n):fh()).subscribe(e)})}function mh(t,e){return"function"==typeof e?n=>n.pipe(mh((n,r)=>N(t(n,r)).pipe(T((t,s)=>e(n,t,r,s))))):e=>e.lift(new yh(t))}class yh{constructor(t){this.project=t}call(t,e){return e.subscribe(new vh(t,this.project))}}class vh extends M{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(r){return void this.destination.error(r)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new U(this),r=this.destination;r.add(n),this.innerSubscription=F(t,n),this.innerSubscription!==n&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const _h=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function bh(t){return e=>0===t?fh():e.lift(new wh(t))}class wh{constructor(t){if(this.total=t,this.total<0)throw new _h}call(t,e){return e.subscribe(new Ch(t,this.total))}}class Ch extends f{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function Sh(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new xh(t,e,n))}}class xh{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new Eh(t,this.accumulator,this.seed,this.hasSeed))}}class Eh extends f{constructor(t,e,n,r){super(t),this.accumulator=e,this._seed=n,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(r){this.destination.error(r)}this.seed=n,this.destination.next(n)}}function Th(t){return function(e){const n=new Ah(t),r=e.lift(n);return n.caught=r}}class Ah{constructor(t){this.selector=t}call(t,e){return e.subscribe(new kh(t,this.selector,this.caught))}}class kh extends M{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const r=new U(this);this.add(r);const s=F(n,r);s!==r&&this.add(s)}}}function Oh(t){return function(e){return 0===t?fh():e.lift(new Rh(t))}}class Rh{constructor(t){if(this.total=t,this.total<0)throw new _h}call(t,e){return e.subscribe(new Ih(t,this.total))}}class Ih extends f{constructor(t,e){super(t),this.total=e,this.ring=new Array,this.count=0}_next(t){const e=this.ring,n=this.total,r=this.count++;e.length0){const n=this.count>=this.total?this.total:this.count,r=this.ring;for(let s=0;se.lift(new Vh(t))}class Vh{constructor(t){this.errorFactory=t}call(t,e){return e.subscribe(new jh(t,this.errorFactory))}}class jh extends f{constructor(t,e){super(t),this.errorFactory=e,this.hasValue=!1}_next(t){this.hasValue=!0,this.destination.next(t)}_complete(){if(this.hasValue)return this.destination.complete();{let e;try{e=this.errorFactory()}catch(t){e=t}this.destination.error(e)}}}function Dh(){return new hh}function Nh(t=null){return e=>e.lift(new Uh(t))}class Uh{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new Mh(t,this.defaultValue))}}class Mh extends f{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function Fh(t,e){const n=arguments.length>=2;return r=>r.pipe(t?Sc((e,n)=>t(e,n,r)):y,bh(1),n?Nh(e):Ph(()=>new hh))}function Lh(){}function Hh(t,e,n){return function(r){return r.lift(new $h(t,e,n))}}class $h{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new zh(t,this.nextOrObserver,this.error,this.complete))}}class zh extends f{constructor(t,e,n,s){super(t),this._tapNext=Lh,this._tapError=Lh,this._tapComplete=Lh,this._tapError=n||Lh,this._tapComplete=s||Lh,r(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||Lh,this._tapError=e.error||Lh,this._tapComplete=e.complete||Lh)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}class Bh{constructor(t){this.callback=t}call(t,e){return e.subscribe(new qh(t,this.callback))}}class qh extends f{constructor(t,e){super(t),this.add(new h(e))}}class Gh{constructor(t,e){this.id=t,this.url=e}}class Wh extends Gh{constructor(t,e,n="imperative",r=null){super(t,e),this.navigationTrigger=n,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Zh extends Gh{constructor(t,e,n){super(t,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Qh extends Gh{constructor(t,e,n){super(t,e),this.reason=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Kh extends Gh{constructor(t,e,n){super(t,e),this.error=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Jh extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Yh extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Xh extends Gh{constructor(t,e,n,r,s){super(t,e),this.urlAfterRedirects=n,this.state=r,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class td extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ed extends Gh{constructor(t,e,n,r){super(t,e),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nd{constructor(t){this.route=t}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class rd{constructor(t){this.route=t}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class sd{constructor(t){this.snapshot=t}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class id{constructor(t){this.snapshot=t}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class od{constructor(t){this.snapshot=t}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ad{constructor(t){this.snapshot=t}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ld{constructor(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const ud="primary";class cd{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e[0]:e}return null}getAll(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function hd(t){return new cd(t)}function dd(t){const e=Error("NavigationCancelingError: "+t);return e.ngNavigationCancelingError=!0,e}function pd(t,e,n){const r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.lengthr[e]===t)}return t===e}function md(t){return Array.prototype.concat.apply([],t)}function yd(t){return t.length>0?t[t.length-1]:null}function vd(t,e){for(const n in t)t.hasOwnProperty(n)&&e(t[n],n)}function _d(t){return Ri(t)?t:Oi(t)?N(Promise.resolve(t)):wc(t)}const bd={exact:function t(e,n,r){if(!Od(e.segments,n.segments))return!1;if(!Ed(e.segments,n.segments,r))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(const s in n.children){if(!e.children[s])return!1;if(!t(e.children[s],n.children[s],r))return!1}return!0},subset:Sd},wd={exact:function(t,e){return fd(t,e)},subset:function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(n=>gd(t[n],e[n]))},ignored:()=>!0};function Cd(t,e,n){return bd[n.paths](t.root,e.root,n.matrixParams)&&wd[n.queryParams](t.queryParams,e.queryParams)&&!("exact"===n.fragment&&t.fragment!==e.fragment)}function Sd(t,e,n){return xd(t,e,e.segments,n)}function xd(t,e,n,r){if(t.segments.length>n.length){const s=t.segments.slice(0,n.length);return!!Od(s,n)&&!e.hasChildren()&&!!Ed(s,n,r)}if(t.segments.length===n.length){if(!Od(t.segments,n))return!1;if(!Ed(t.segments,n,r))return!1;for(const n in e.children){if(!t.children[n])return!1;if(!Sd(t.children[n],e.children[n],r))return!1}return!0}{const s=n.slice(0,t.segments.length),i=n.slice(t.segments.length);return!!Od(t.segments,s)&&!!Ed(t.segments,s,r)&&!!t.children.primary&&xd(t.children.primary,e,i,r)}}function Ed(t,e,n){return e.every((e,r)=>wd[n](t[r].parameters,e.parameters))}class Td{constructor(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=hd(this.queryParams)),this._queryParamMap}toString(){return Pd.serialize(this)}}class Ad{constructor(t,e){this.segments=t,this.children=e,this.parent=null,vd(e,(t,e)=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Vd(this)}}class kd{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=hd(this.parameters)),this._parameterMap}toString(){return Ld(this)}}function Od(t,e){return t.length===e.length&&t.every((t,n)=>t.path===e[n].path)}class Rd{}class Id{parse(t){const e=new qd(t);return new Td(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){var e;return`/${jd(t.root,!0)}${function(t){const e=Object.keys(t).map(e=>{const n=t[e];return Array.isArray(n)?n.map(t=>`${Nd(e)}=${Nd(t)}`).join("&"):`${Nd(e)}=${Nd(n)}`});return e.length?`?${e.join("&")}`:""}(t.queryParams)}${"string"==typeof t.fragment?`#${e=t.fragment,encodeURI(e)}`:""}`}}const Pd=new Id;function Vd(t){return t.segments.map(t=>Ld(t)).join("/")}function jd(t,e){if(!t.hasChildren())return Vd(t);if(e){const e=t.children.primary?jd(t.children.primary,!1):"",n=[];return vd(t.children,(t,e)=>{e!==ud&&n.push(`${e}:${jd(t,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}{const e=function(t,e){let n=[];return vd(t.children,(t,r)=>{r===ud&&(n=n.concat(e(t,r)))}),vd(t.children,(t,r)=>{r!==ud&&(n=n.concat(e(t,r)))}),n}(t,(e,n)=>n===ud?[jd(t.children.primary,!1)]:[`${n}:${jd(e,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children.primary?`${Vd(t)}/${e[0]}`:`${Vd(t)}/(${e.join("//")})`}}function Dd(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Nd(t){return Dd(t).replace(/%3B/gi,";")}function Ud(t){return Dd(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Md(t){return decodeURIComponent(t)}function Fd(t){return Md(t.replace(/\+/g,"%20"))}function Ld(t){return`${Ud(t.path)}${e=t.parameters,Object.keys(e).map(t=>`;${Ud(t)}=${Ud(e[t])}`).join("")}`;var e}const Hd=/^[^\/()?;=#]+/;function $d(t){const e=t.match(Hd);return e?e[0]:""}const zd=/^[^=?]+/,Bd=/^[^?]+/;class qd{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ad([],{}):new Ad([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n.primary=new Ad(t,e)),n}parseSegment(){const t=$d(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(t),new kd(Md(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=$d(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=$d(this.remaining);t&&(n=t,this.capture(n))}t[Md(e)]=Md(n)}parseQueryParam(t){const e=function(t){const e=t.match(zd);return e?e[0]:""}(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=function(t){const e=t.match(Bd);return e?e[0]:""}(this.remaining);t&&(n=t,this.capture(n))}const r=Fd(e),s=Fd(n);if(t.hasOwnProperty(r)){let e=t[r];Array.isArray(e)||(e=[e],t[r]=e),e.push(s)}else t[r]=s}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=$d(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error(`Cannot parse url '${this.url}'`);let s;n.indexOf(":")>-1?(s=n.substr(0,n.indexOf(":")),this.capture(s),this.capture(":")):t&&(s=ud);const i=this.parseChildren();e[s]=1===Object.keys(i).length?i.primary:new Ad([],i),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Error(`Expected "${t}".`)}}class Gd{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=Wd(t,this._root);return e?e.children.map(t=>t.value):[]}firstChild(t){const e=Wd(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=Zd(t,this._root);return e.length<2?[]:e[e.length-2].children.map(t=>t.value).filter(e=>e!==t)}pathFromRoot(t){return Zd(t,this._root).map(t=>t.value)}}function Wd(t,e){if(t===e.value)return e;for(const n of e.children){const e=Wd(t,n);if(e)return e}return null}function Zd(t,e){if(t===e.value)return[e];for(const n of e.children){const r=Zd(t,n);if(r.length)return r.unshift(e),r}return[]}class Qd{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function Kd(t){const e={};return t&&t.children.forEach(t=>e[t.value.outlet]=t),e}class Jd extends Gd{constructor(t,e){super(t),this.snapshot=e,rp(this,t)}toString(){return this.snapshot.toString()}}function Yd(t,e){const n=function(t,e){const n=new ep([],{},{},"",{},ud,e,null,t.root,-1,{});return new np("",new Qd(n,[]))}(t,e),r=new sh([new kd("",{})]),s=new sh({}),i=new sh({}),o=new sh({}),a=new sh(""),l=new Xd(r,s,o,a,i,ud,e,n.root);return l.snapshot=n.root,new Jd(new Qd(l,[]),n)}class Xd{constructor(t,e,n,r,s,i,o,a){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=s,this.outlet=i,this.component=o,this._futureSnapshot=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(T(t=>hd(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(T(t=>hd(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function tp(t,e="emptyOnly"){const n=t.pathFromRoot;let r=0;if("always"!==e)for(r=n.length-1;r>=1;){const t=n[r],e=n[r-1];if(t.routeConfig&&""===t.routeConfig.path)r--;else{if(e.component)break;r--}}return function(t){return t.reduce((t,e)=>({params:Object.assign(Object.assign({},t.params),e.params),data:Object.assign(Object.assign({},t.data),e.data),resolve:Object.assign(Object.assign({},t.resolve),e._resolvedData)}),{params:{},data:{},resolve:{}})}(n.slice(r))}class ep{constructor(t,e,n,r,s,i,o,a,l,u,c){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=s,this.outlet=i,this.component=o,this.routeConfig=a,this._urlSegment=l,this._lastPathIndex=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=hd(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=hd(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(t=>t.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class np extends Gd{constructor(t,e){super(e),this.url=t,rp(this,e)}toString(){return sp(this._root)}}function rp(t,e){e.value._routerState=t,e.children.forEach(e=>rp(t,e))}function sp(t){const e=t.children.length>0?` { ${t.children.map(sp).join(", ")} } `:"";return`${t.value}${e}`}function ip(t){if(t.snapshot){const e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,fd(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),fd(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(let n=0;nfd(t.parameters,r[e].parameters))&&!(!t.parent!=!e.parent)&&(!t.parent||op(t.parent,e.parent))}function ap(t,e,n){if(n&&t.shouldReuseRoute(e.value,n.value.snapshot)){const r=n.value;r._futureSnapshot=e.value;const s=function(t,e,n){return e.children.map(e=>{for(const r of n.children)if(t.shouldReuseRoute(e.value,r.value.snapshot))return ap(t,e,r);return ap(t,e)})}(t,e,n);return new Qd(r,s)}{if(t.shouldAttach(e.value)){const n=t.retrieve(e.value);if(null!==n){const t=n.route;return lp(e,t),t}}const n=new Xd(new sh((r=e.value).url),new sh(r.params),new sh(r.queryParams),new sh(r.fragment),new sh(r.data),r.outlet,r.component,r),s=e.children.map(e=>ap(t,e));return new Qd(n,s)}var r}function lp(t,e){if(t.value.routeConfig!==e.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==e.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");e.value._futureSnapshot=t.value;for(let n=0;n{i[e]=Array.isArray(t)?t.map(t=>`${t}`):`${t}`}),new Td(n.root===t?e:dp(n.root,t,e),i,s)}function dp(t,e,n){const r={};return vd(t.children,(t,s)=>{r[s]=t===e?n:dp(t,e,n)}),new Ad(t.segments,r)}class pp{constructor(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&up(n[0]))throw new Error("Root segment cannot have matrix parameters");const r=n.find(cp);if(r&&r!==yd(n))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class fp{constructor(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n}}function gp(t,e,n){if(t||(t=new Ad([],{})),0===t.segments.length&&t.hasChildren())return mp(t,e,n);const r=function(t,e,n){let r=0,s=e;const i={match:!1,pathIndex:0,commandIndex:0};for(;s=n.length)return i;const e=t.segments[s],o=n[r];if(cp(o))break;const a=`${o}`,l=r0&&void 0===a)break;if(a&&l&&"object"==typeof l&&void 0===l.outlets){if(!bp(a,l,e))return i;r+=2}else{if(!bp(a,{},e))return i;r++}s++}return{match:!0,pathIndex:s,commandIndex:r}}(t,e,n),s=n.slice(r.commandIndex);if(r.match&&r.pathIndex{"string"==typeof n&&(n=[n]),null!==n&&(s[r]=gp(t.children[r],e,n))}),vd(t.children,(t,e)=>{void 0===r[e]&&(s[e]=t)}),new Ad(t.segments,s)}}function yp(t,e,n){const r=t.segments.slice(0,e);let s=0;for(;s{"string"==typeof t&&(t=[t]),null!==t&&(e[n]=yp(new Ad([],{}),0,t))}),e}function _p(t){const e={};return vd(t,(t,n)=>e[n]=`${t}`),e}function bp(t,e,n){return t==n.path&&fd(e,n.parameters)}class wp{constructor(t,e,n,r){this.routeReuseStrategy=t,this.futureState=e,this.currState=n,this.forwardEvent=r}activate(t){const e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,t),ip(this.futureState.root),this.activateChildRoutes(e,n,t)}deactivateChildRoutes(t,e,n){const r=Kd(e);t.children.forEach(t=>{const e=t.value.outlet;this.deactivateRoutes(t,r[e],n),delete r[e]}),vd(r,(t,e)=>{this.deactivateRouteAndItsChildren(t,n)})}deactivateRoutes(t,e,n){const r=t.value,s=e?e.value:null;if(r===s)if(r.component){const s=n.getContext(r.outlet);s&&this.deactivateChildRoutes(t,e,s.children)}else this.deactivateChildRoutes(t,e,n);else s&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const n=e.getContext(t.value.outlet);if(n&&n.outlet){const e=n.outlet.detach(),r=n.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:e,route:t,contexts:r})}}deactivateRouteAndOutlet(t,e){const n=e.getContext(t.value.outlet),r=n&&t.value.component?n.children:e,s=Kd(t);for(const i of Object.keys(s))this.deactivateRouteAndItsChildren(s[i],r);n&&n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated(),n.attachRef=null,n.resolver=null,n.route=null)}activateChildRoutes(t,e,n){const r=Kd(e);t.children.forEach(t=>{this.activateRoutes(t,r[t.value.outlet],n),this.forwardEvent(new ad(t.value.snapshot))}),t.children.length&&this.forwardEvent(new id(t.value.snapshot))}activateRoutes(t,e,n){const r=t.value,s=e?e.value:null;if(ip(r),r===s)if(r.component){const s=n.getOrCreateContext(r.outlet);this.activateChildRoutes(t,e,s.children)}else this.activateChildRoutes(t,e,n);else if(r.component){const e=n.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const t=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),e.children.onOutletReAttached(t.contexts),e.attachRef=t.componentRef,e.route=t.route.value,e.outlet&&e.outlet.attach(t.componentRef,t.route.value),Cp(t.route)}else{const n=function(t){for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(r.snapshot),s=n?n.module.componentFactoryResolver:null;e.attachRef=null,e.route=r,e.resolver=s,e.outlet&&e.outlet.activateWith(r,s),this.activateChildRoutes(t,null,e.children)}}else this.activateChildRoutes(t,null,n)}}function Cp(t){ip(t.value),t.children.forEach(Cp)}class Sp{constructor(t,e){this.routes=t,this.module=e}}function xp(t){return"function"==typeof t}function Ep(t){return t instanceof Td}const Tp=Symbol("INITIAL_VALUE");function Ap(){return mh(t=>function(...t){let e,n;return E(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),B(t,n).lift(new uh(e))}(t.map(t=>t.pipe(bh(1),function(...t){const e=t[t.length-1];return E(e)?(t.pop(),n=>dh(t,n,e)):e=>dh(t,e)}(Tp)))).pipe(Sh((t,e)=>{let n=!1;return e.reduce((t,r,s)=>{if(t!==Tp)return t;if(r===Tp&&(n=!0),!n){if(!1===r)return r;if(s===e.length-1||Ep(r))return r}return t},t)},Tp),Sc(t=>t!==Tp),T(t=>Ep(t)?t:!0===t),bh(1)))}let kp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ht({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,e){1&t&&Ai(0,"router-outlet")},directives:function(){return[Ef]},encapsulation:2}),t})();function Op(t,e=""){for(let n=0;nVp(t)===e);return n.push(...t.filter(t=>Vp(t)!==e)),n}const Dp={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function Np(t,e,n){var r;if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?Object.assign({},Dp):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const s=(e.matcher||pd)(n,t,e);if(!s)return Object.assign({},Dp);const i={};vd(s.posParams,(t,e)=>{i[e]=t.path});const o=s.consumed.length>0?Object.assign(Object.assign({},i),s.consumed[s.consumed.length-1].parameters):i;return{matched:!0,consumedSegments:s.consumed,lastChild:s.consumed.length,parameters:o,positionalParamSegments:null!==(r=s.posParams)&&void 0!==r?r:{}}}function Up(t,e,n,r,s="corrected"){if(n.length>0&&function(t,e,n){return n.some(n=>Mp(t,e,n)&&Vp(n)!==ud)}(t,n,r)){const s=new Ad(e,function(t,e,n,r){const s={};s.primary=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(const i of n)if(""===i.path&&Vp(i)!==ud){const n=new Ad([],{});n._sourceSegment=t,n._segmentIndexShift=e.length,s[Vp(i)]=n}return s}(t,e,r,new Ad(n,t.children)));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(n=>Mp(t,e,n))}(t,n,r)){const i=new Ad(t.segments,function(t,e,n,r,s,i){const o={};for(const a of r)if(Mp(t,n,a)&&!s[Vp(a)]){const n=new Ad([],{});n._sourceSegment=t,n._segmentIndexShift="legacy"===i?t.segments.length:e.length,o[Vp(a)]=n}return Object.assign(Object.assign({},s),o)}(t,e,n,r,t.children,s));return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}const i=new Ad(t.segments,t.children);return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}function Mp(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path}function Fp(t,e,n,r){return!!(Vp(t)===r||r!==ud&&Mp(e,n,t))&&("**"===t.path||Np(e,t,n).matched)}function Lp(t,e,n){return 0===e.length&&!t.children[n]}class Hp{constructor(t){this.segmentGroup=t||null}}class $p{constructor(t){this.urlTree=t}}function zp(t){return new v(e=>e.error(new Hp(t)))}function Bp(t){return new v(e=>e.error(new $p(t)))}function qp(t){return new v(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${t}'`)))}class Gp{constructor(t,e,n,r,s){this.configLoader=e,this.urlSerializer=n,this.urlTree=r,this.config=s,this.allowRedirects=!0,this.ngModule=t.get(Qo)}apply(){const t=Up(this.urlTree.root,[],[],this.config).segmentGroup,e=new Ad(t.segments,t.children);return this.expandSegmentGroup(this.ngModule,this.config,e,ud).pipe(T(t=>this.createUrlTree(Wp(t),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Th(t=>{if(t instanceof $p)return this.allowRedirects=!1,this.match(t.urlTree);if(t instanceof Hp)throw this.noMatchError(t);throw t}))}match(t){return this.expandSegmentGroup(this.ngModule,this.config,t.root,ud).pipe(T(e=>this.createUrlTree(Wp(e),t.queryParams,t.fragment))).pipe(Th(t=>{if(t instanceof Hp)throw this.noMatchError(t);throw t}))}noMatchError(t){return new Error(`Cannot match any routes. URL Segment: '${t.segmentGroup}'`)}createUrlTree(t,e,n){const r=t.segments.length>0?new Ad([],{[ud]:t}):t;return new Td(r,e,n)}expandSegmentGroup(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(t,e,n).pipe(T(t=>new Ad([],t))):this.expandSegment(t,n,e,n.segments,r,!0)}expandChildren(t,e,n){const r=[];for(const s of Object.keys(n.children))"primary"===s?r.unshift(s):r.push(s);return N(r).pipe(Cc(r=>{const s=n.children[r],i=jp(e,r);return this.expandSegmentGroup(t,i,s,r).pipe(T(t=>({segment:t,outlet:r})))}),Sh((t,e)=>(t[e.outlet]=e.segment,t),{}),function(t,e){const n=arguments.length>=2;return r=>r.pipe(t?Sc((e,n)=>t(e,n,r)):y,Oh(1),n?Nh(e):Ph(()=>new hh))}())}expandSegment(t,e,n,r,s,i){return N(n).pipe(Cc(o=>this.expandSegmentAgainstRoute(t,e,n,o,r,s,i).pipe(Th(t=>{if(t instanceof Hp)return wc(null);throw t}))),Fh(t=>!!t),Th((t,n)=>{if(t instanceof hh||"EmptyError"===t.name){if(Lp(e,r,s))return wc(new Ad([],{}));throw new Hp(e)}throw t}))}expandSegmentAgainstRoute(t,e,n,r,s,i,o){return Fp(r,e,s,i)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,s,i):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i):zp(e):zp(e)}expandSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,i):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,n,r){const s=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Bp(s):this.lineralizeSegments(n,s).pipe(L(n=>{const s=new Ad(n,{});return this.expandSegment(t,s,e,n,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,s,i){const{matched:o,consumedSegments:a,lastChild:l,positionalParamSegments:u}=Np(e,r,s);if(!o)return zp(e);const c=this.applyRedirectCommands(a,r.redirectTo,u);return r.redirectTo.startsWith("/")?Bp(c):this.lineralizeSegments(r,c).pipe(L(r=>this.expandSegment(t,e,n,r.concat(s.slice(l)),i,!1)))}matchSegmentAgainstRoute(t,e,n,r,s){if("**"===n.path)return n.loadChildren?(n._loadedConfig?wc(n._loadedConfig):this.configLoader.load(t.injector,n)).pipe(T(t=>(n._loadedConfig=t,new Ad(r,{})))):wc(new Ad(r,{}));const{matched:i,consumedSegments:o,lastChild:a}=Np(e,n,r);if(!i)return zp(e);const l=r.slice(a);return this.getChildConfig(t,n,r).pipe(L(t=>{const r=t.module,i=t.routes,{segmentGroup:a,slicedSegments:u}=Up(e,o,l,i),c=new Ad(a.segments,a.children);if(0===u.length&&c.hasChildren())return this.expandChildren(r,i,c).pipe(T(t=>new Ad(o,t)));if(0===i.length&&0===u.length)return wc(new Ad(o,{}));const h=Vp(n)===s;return this.expandSegment(r,c,i,u,h?ud:s,!0).pipe(T(t=>new Ad(o.concat(t.segments),t.children)))}))}getChildConfig(t,e,n){return e.children?wc(new Sp(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?wc(e._loadedConfig):this.runCanLoadGuards(t.injector,e,n).pipe(L(n=>n?this.configLoader.load(t.injector,e).pipe(T(t=>(e._loadedConfig=t,t))):function(t){return new v(e=>e.error(dd(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`)))}(e))):wc(new Sp([],t))}runCanLoadGuards(t,e,n){const r=e.canLoad;return r&&0!==r.length?wc(r.map(r=>{const s=t.get(r);let i;if(function(t){return t&&xp(t.canLoad)}(s))i=s.canLoad(e,n);else{if(!xp(s))throw new Error("Invalid CanLoad guard");i=s(e,n)}return _d(i)})).pipe(Ap(),Hh(t=>{if(!Ep(t))return;const e=dd(`Redirecting to "${this.urlSerializer.serialize(t)}"`);throw e.url=t,e}),T(t=>!0===t)):wc(!0)}lineralizeSegments(t,e){let n=[],r=e.root;for(;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return wc(n);if(r.numberOfChildren>1||!r.children.primary)return qp(t.redirectTo);r=r.children.primary}}applyRedirectCommands(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)}applyRedirectCreatreUrlTree(t,e,n,r){const s=this.createSegmentGroup(t,e.root,n,r);return new Td(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const n={};return vd(t,(t,r)=>{if("string"==typeof t&&t.startsWith(":")){const s=t.substring(1);n[r]=e[s]}else n[r]=t}),n}createSegmentGroup(t,e,n,r){const s=this.createSegments(t,e.segments,n,r);let i={};return vd(e.children,(e,s)=>{i[s]=this.createSegmentGroup(t,e,n,r)}),new Ad(s,i)}createSegments(t,e,n,r){return e.map(e=>e.path.startsWith(":")?this.findPosParam(t,e,r):this.findOrReturn(e,n))}findPosParam(t,e,n){const r=n[e.path.substring(1)];if(!r)throw new Error(`Cannot redirect to '${t}'. Cannot find '${e.path}'.`);return r}findOrReturn(t,e){let n=0;for(const r of e){if(r.path===t.path)return e.splice(n),r;n++}return t}}function Wp(t){const e={};for(const n of Object.keys(t.children)){const r=Wp(t.children[n]);(r.segments.length>0||r.hasChildren())&&(e[n]=r)}return function(t){if(1===t.numberOfChildren&&t.children.primary){const e=t.children.primary;return new Ad(t.segments.concat(e.segments),e.children)}return t}(new Ad(t.segments,e))}class Zp{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Qp{constructor(t,e){this.component=t,this.route=e}}function Kp(t,e,n){const r=t._root;return Yp(r,e?e._root:null,n,[r.value])}function Jp(t,e,n){const r=function(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(r?r.module.injector:n).get(t)}function Yp(t,e,n,r,s={canDeactivateChecks:[],canActivateChecks:[]}){const i=Kd(e);return t.children.forEach(t=>{!function(t,e,n,r,s={canDeactivateChecks:[],canActivateChecks:[]}){const i=t.value,o=e?e.value:null,a=n?n.getContext(t.value.outlet):null;if(o&&i.routeConfig===o.routeConfig){const l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!Od(t.url,e.url);case"pathParamsOrQueryParamsChange":return!Od(t.url,e.url)||!fd(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!op(t,e)||!fd(t.queryParams,e.queryParams);case"paramsChange":default:return!op(t,e)}}(o,i,i.routeConfig.runGuardsAndResolvers);l?s.canActivateChecks.push(new Zp(r)):(i.data=o.data,i._resolvedData=o._resolvedData),Yp(t,e,i.component?a?a.children:null:n,r,s),l&&a&&a.outlet&&a.outlet.isActivated&&s.canDeactivateChecks.push(new Qp(a.outlet.component,o))}else o&&Xp(e,a,s),s.canActivateChecks.push(new Zp(r)),Yp(t,null,i.component?a?a.children:null:n,r,s)}(t,i[t.value.outlet],n,r.concat([t.value]),s),delete i[t.value.outlet]}),vd(i,(t,e)=>Xp(t,n.getContext(e),s)),s}function Xp(t,e,n){const r=Kd(t),s=t.value;vd(r,(t,r)=>{Xp(t,s.component?e?e.children.getContext(r):null:e,n)}),n.canDeactivateChecks.push(new Qp(s.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,s))}class tf{}function ef(t){return new v(e=>e.error(t))}class nf{constructor(t,e,n,r,s,i){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=i}recognize(){const t=Up(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,ud);if(null===e)return null;const n=new ep([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},ud,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new Qd(n,e),s=new np(this.url,r);return this.inheritParamsAndData(s._root),s}inheritParamsAndData(t){const e=t.value,n=tp(e,this.paramsInheritanceStrategy);e.params=Object.freeze(n.params),e.data=Object.freeze(n.data),t.children.forEach(t=>this.inheritParamsAndData(t))}processSegmentGroup(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)}processChildren(t,e){const n=[];for(const s of Object.keys(e.children)){const r=e.children[s],i=jp(t,s),o=this.processSegmentGroup(i,r,s);if(null===o)return null;n.push(...o)}const r=sf(n);return r.sort((t,e)=>t.value.outlet===ud?-1:e.value.outlet===ud?1:t.value.outlet.localeCompare(e.value.outlet)),r}processSegment(t,e,n,r){for(const s of t){const t=this.processSegmentAgainstRoute(s,e,n,r);if(null!==t)return t}return Lp(e,n,r)?[]:null}processSegmentAgainstRoute(t,e,n,r){if(t.redirectTo||!Fp(t,e,n,r))return null;let s,i=[],o=[];if("**"===t.path){const r=n.length>0?yd(n).parameters:{};s=new ep(n,r,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,lf(t),Vp(t),t.component,t,of(e),af(e)+n.length,uf(t))}else{const r=Np(e,t,n);if(!r.matched)return null;i=r.consumedSegments,o=n.slice(r.lastChild),s=new ep(i,r.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,lf(t),Vp(t),t.component,t,of(e),af(e)+i.length,uf(t))}const a=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),{segmentGroup:l,slicedSegments:u}=Up(e,i,o,a.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution);if(0===u.length&&l.hasChildren()){const t=this.processChildren(a,l);return null===t?null:[new Qd(s,t)]}if(0===a.length&&0===u.length)return[new Qd(s,[])];const c=Vp(t)===r,h=this.processSegment(a,l,u,c?ud:r);return null===h?null:[new Qd(s,h)]}}function rf(t){const e=t.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function sf(t){const e=[],n=new Set;for(const r of t){if(!rf(r)){e.push(r);continue}const t=e.find(t=>r.value.routeConfig===t.value.routeConfig);void 0!==t?(t.children.push(...r.children),n.add(t)):e.push(r)}for(const r of n){const t=sf(r.children);e.push(new Qd(r.value,t))}return e.filter(t=>!n.has(t))}function of(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function af(t){let e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,n+=e._segmentIndexShift?e._segmentIndexShift:0;return n-1}function lf(t){return t.data||{}}function uf(t){return t.resolve||{}}function cf(t){return mh(e=>{const n=t(e);return n?N(n).pipe(T(()=>e)):wc(e)})}class hf extends class{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}{}const df=new jn("ROUTES");class pf{constructor(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}load(t,e){if(e._loader$)return e._loader$;this.onLoadStartListener&&this.onLoadStartListener(e);const n=this.loadModuleFactory(e.loadChildren).pipe(T(n=>{this.onLoadEndListener&&this.onLoadEndListener(e);const r=n.create(t);return new Sp(md(r.injector.get(df,void 0,_t.Self|_t.Optional)).map(Pp),r)}),Th(t=>{throw e._loader$=void 0,t}));return e._loader$=new Z(n,()=>new S).pipe(q()),e._loader$}loadModuleFactory(t){return"string"==typeof t?N(this.loader.load(t)):_d(t()).pipe(L(t=>t instanceof Ko?wc(t):N(this.compiler.compileModuleAsync(t))))}}class ff{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new gf,this.attachRef=null}}class gf{constructor(){this.contexts=new Map}onChildOutletCreated(t,e){const n=this.getOrCreateContext(t);n.outlet=e,this.contexts.set(t,n)}onChildOutletDestroyed(t){const e=this.getContext(t);e&&(e.outlet=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let e=this.getContext(t);return e||(e=new ff,this.contexts.set(t,e)),e}getContext(t){return this.contexts.get(t)||null}}class mf{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,e){return t}}function yf(t){throw t}function vf(t,e,n){return e.parse("/")}function _f(t,e){return wc(null)}const bf={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},wf={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Cf=(()=>{class t{constructor(t,e,n,r,s,i,o,a){this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=r,this.config=a,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new S,this.errorHandler=yf,this.malformedUriErrorHandler=vf,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:_f,afterPreactivation:_f},this.urlHandlingStrategy=new mf,this.routeReuseStrategy=new hf,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.ngModule=s.get(Qo),this.console=s.get(Ca);const l=s.get(Da);this.isNgZoneEnabled=l instanceof Da&&Da.isInAngularZone(),this.resetConfig(a),this.currentUrlTree=new Td(new Ad([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new pf(i,o,t=>this.triggerEvent(new nd(t)),t=>this.triggerEvent(new rd(t))),this.routerState=Yd(this.currentUrlTree,this.rootComponentType),this.transitions=new sh({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(t){const e=this.events;return t.pipe(Sc(t=>0!==t.id),T(t=>Object.assign(Object.assign({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl)})),mh(t=>{let n=!1,r=!1;return wc(t).pipe(Hh(t=>{this.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),mh(t=>{const n=!this.navigated||t.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||n)&&this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return wc(t).pipe(mh(t=>{const n=this.transitions.getValue();return e.next(new Wh(t.id,this.serializeUrl(t.extractedUrl),t.source,t.restoredState)),n!==this.transitions.getValue()?ph:Promise.resolve(t)}),function(t,e,n,r){return mh(s=>function(t,e,n,r,s){return new Gp(t,e,n,r,s).apply()}(t,e,n,s.extractedUrl,r).pipe(T(t=>Object.assign(Object.assign({},s),{urlAfterRedirects:t}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Hh(t=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:t.urlAfterRedirects})}),function(t,e,n,r,s){return L(i=>function(t,e,n,r,s="emptyOnly",i="legacy"){try{const o=new nf(t,e,n,r,s,i).recognize();return null===o?ef(new tf):wc(o)}catch(o){return ef(o)}}(t,e,i.urlAfterRedirects,n(i.urlAfterRedirects),r,s).pipe(T(t=>Object.assign(Object.assign({},i),{targetSnapshot:t}))))}(this.rootComponentType,this.config,t=>this.serializeUrl(t),this.paramsInheritanceStrategy,this.relativeLinkResolution),Hh(t=>{"eager"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects);const n=new Jh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.next(n)}));if(n&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:n,extractedUrl:r,source:s,restoredState:i,extras:o}=t,a=new Wh(n,this.serializeUrl(r),s,i);e.next(a);const l=Yd(r,this.rootComponentType).snapshot;return wc(Object.assign(Object.assign({},t),{targetSnapshot:l,urlAfterRedirects:r,extras:Object.assign(Object.assign({},o),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=t.rawUrl,this.browserUrlTree=t.urlAfterRedirects,t.resolve(null),ph}),cf(t=>{const{targetSnapshot:e,id:n,extractedUrl:r,rawUrl:s,extras:{skipLocationChange:i,replaceUrl:o}}=t;return this.hooks.beforePreactivation(e,{navigationId:n,appliedUrlTree:r,rawUrlTree:s,skipLocationChange:!!i,replaceUrl:!!o})}),Hh(t=>{const e=new Yh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),T(t=>Object.assign(Object.assign({},t),{guards:Kp(t.targetSnapshot,t.currentSnapshot,this.rootContexts)})),function(t,e){return L(n=>{const{targetSnapshot:r,currentSnapshot:s,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return 0===o.length&&0===i.length?wc(Object.assign(Object.assign({},n),{guardsResult:!0})):function(t,e,n,r){return N(t).pipe(L(t=>function(t,e,n,r,s){const i=e&&e.routeConfig?e.routeConfig.canDeactivate:null;return i&&0!==i.length?wc(i.map(i=>{const o=Jp(i,e,s);let a;if(function(t){return t&&xp(t.canDeactivate)}(o))a=_d(o.canDeactivate(t,e,n,r));else{if(!xp(o))throw new Error("Invalid CanDeactivate guard");a=_d(o(t,e,n,r))}return a.pipe(Fh())})).pipe(Ap()):wc(!0)}(t.component,t.route,n,e,r)),Fh(t=>!0!==t,!0))}(o,r,s,t).pipe(L(n=>n&&"boolean"==typeof n?function(t,e,n,r){return N(e).pipe(Cc(e=>dh(function(t,e){return null!==t&&e&&e(new sd(t)),wc(!0)}(e.route.parent,r),function(t,e){return null!==t&&e&&e(new od(t)),wc(!0)}(e.route,r),function(t,e,n){const r=e[e.length-1],s=e.slice(0,e.length-1).reverse().map(t=>function(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)).filter(t=>null!==t).map(e=>gh(()=>wc(e.guards.map(s=>{const i=Jp(s,e.node,n);let o;if(function(t){return t&&xp(t.canActivateChild)}(i))o=_d(i.canActivateChild(r,t));else{if(!xp(i))throw new Error("Invalid CanActivateChild guard");o=_d(i(r,t))}return o.pipe(Fh())})).pipe(Ap())));return wc(s).pipe(Ap())}(t,e.path,n),function(t,e,n){const r=e.routeConfig?e.routeConfig.canActivate:null;return r&&0!==r.length?wc(r.map(r=>gh(()=>{const s=Jp(r,e,n);let i;if(function(t){return t&&xp(t.canActivate)}(s))i=_d(s.canActivate(e,t));else{if(!xp(s))throw new Error("Invalid CanActivate guard");i=_d(s(e,t))}return i.pipe(Fh())}))).pipe(Ap()):wc(!0)}(t,e.route,n))),Fh(t=>!0!==t,!0))}(r,i,t,e):wc(n)),T(t=>Object.assign(Object.assign({},n),{guardsResult:t})))})}(this.ngModule.injector,t=>this.triggerEvent(t)),Hh(t=>{if(Ep(t.guardsResult)){const e=dd(`Redirecting to "${this.serializeUrl(t.guardsResult)}"`);throw e.url=t.guardsResult,e}const e=new Xh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);this.triggerEvent(e)}),Sc(t=>{if(!t.guardsResult){this.resetUrlToCurrentUrlTree();const n=new Qh(t.id,this.serializeUrl(t.extractedUrl),"");return e.next(n),t.resolve(!1),!1}return!0}),cf(t=>{if(t.guards.canActivateChecks.length)return wc(t).pipe(Hh(t=>{const e=new td(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),mh(t=>{let n=!1;return wc(t).pipe((r=this.paramsInheritanceStrategy,s=this.ngModule.injector,L(t=>{const{targetSnapshot:e,guards:{canActivateChecks:n}}=t;if(!n.length)return wc(t);let i=0;return N(n).pipe(Cc(t=>function(t,e,n,r){return function(t,e,n,r){const s=Object.keys(t);if(0===s.length)return wc({});const i={};return N(s).pipe(L(s=>function(t,e,n,r){const s=Jp(t,e,r);return _d(s.resolve?s.resolve(e,n):s(e,n))}(t[s],e,n,r).pipe(Hh(t=>{i[s]=t}))),Oh(1),L(()=>Object.keys(i).length===s.length?wc(i):ph))}(t._resolve,t,e,r).pipe(T(e=>(t._resolvedData=e,t.data=Object.assign(Object.assign({},t.data),tp(t,n).resolve),null)))}(t.route,e,r,s)),Hh(()=>i++),Oh(1),L(e=>i===n.length?wc(t):ph))})),Hh({next:()=>n=!0,complete:()=>{if(!n){const n=new Qh(t.id,this.serializeUrl(t.extractedUrl),"At least one route resolver didn't emit any value.");e.next(n),t.resolve(!1)}}}));var r,s}),Hh(t=>{const e=new ed(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}))}),cf(t=>{const{targetSnapshot:e,id:n,extractedUrl:r,rawUrl:s,extras:{skipLocationChange:i,replaceUrl:o}}=t;return this.hooks.afterPreactivation(e,{navigationId:n,appliedUrlTree:r,rawUrlTree:s,skipLocationChange:!!i,replaceUrl:!!o})}),T(t=>{const e=function(t,e,n){const r=ap(t,e._root,n?n._root:void 0);return new Jd(r,e)}(this.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign(Object.assign({},t),{targetRouterState:e})}),Hh(t=>{this.currentUrlTree=t.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl),this.routerState=t.targetRouterState,"deferred"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects)}),(i=this.rootContexts,o=this.routeReuseStrategy,a=t=>this.triggerEvent(t),T(t=>(new wp(o,t.targetRouterState,t.currentRouterState,a).activate(i),t))),Hh({next(){n=!0},complete(){n=!0}}),(s=()=>{if(!n&&!r){this.resetUrlToCurrentUrlTree();const n=new Qh(t.id,this.serializeUrl(t.extractedUrl),`Navigation ID ${t.id} is not equal to the current navigation id ${this.navigationId}`);e.next(n),t.resolve(!1)}this.currentNavigation=null},t=>t.lift(new Bh(s))),Th(n=>{if(r=!0,(s=n)&&s.ngNavigationCancelingError){const r=Ep(n.url);r||(this.navigated=!0,this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));const s=new Qh(t.id,this.serializeUrl(t.extractedUrl),n.message);e.next(s),r?setTimeout(()=>{const e=this.urlHandlingStrategy.merge(n.url,this.rawUrlTree);this.scheduleNavigation(e,"imperative",null,{skipLocationChange:t.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy},{resolve:t.resolve,reject:t.reject,promise:t.promise})},0):t.resolve(!1)}else{this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);const r=new Kh(t.id,this.serializeUrl(t.extractedUrl),n);e.next(r);try{t.resolve(this.errorHandler(n))}catch(i){t.reject(i)}}var s;return ph}));var s,i,o,a}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}getTransition(){const t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const e=this.extractLocationChangeInfoFromEvent(t);this.shouldScheduleNavigation(this.lastLocationChangeInfo,e)&&setTimeout(()=>{const{source:t,state:n,urlTree:r}=e,s={replaceUrl:!0};if(n){const t=Object.assign({},n);delete t.navigationId,0!==Object.keys(t).length&&(s.state=t)}this.scheduleNavigation(r,t,n,s)},0),this.lastLocationChangeInfo=e}))}extractLocationChangeInfoFromEvent(t){var e;return{source:"popstate"===t.type?"popstate":"hashchange",urlTree:this.parseUrl(t.url),state:(null===(e=t.state)||void 0===e?void 0:e.navigationId)?t.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(t,e){if(!t)return!0;const n=e.urlTree.toString()===t.urlTree.toString();return!(e.transitionId===t.transitionId&&n&&("hashchange"===e.source&&"popstate"===t.source||"popstate"===e.source&&"hashchange"===t.source))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){Op(t),this.config=t.map(Pp),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,e={}){const{relativeTo:n,queryParams:r,fragment:s,queryParamsHandling:i,preserveFragment:o}=e,a=n||this.routerState.root,l=o?this.currentUrlTree.fragment:s;let u=null;switch(i){case"merge":u=Object.assign(Object.assign({},this.currentUrlTree.queryParams),r);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=r||null}return null!==u&&(u=this.removeEmptyProps(u)),function(t,e,n,r,s){if(0===n.length)return hp(e.root,e.root,e,r,s);const i=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new pp(!0,0,t);let e=0,n=!1;const r=t.reduce((t,r,s)=>{if("object"==typeof r&&null!=r){if(r.outlets){const e={};return vd(r.outlets,(t,n)=>{e[n]="string"==typeof t?t.split("/"):t}),[...t,{outlets:e}]}if(r.segmentPath)return[...t,r.segmentPath]}return"string"!=typeof r?[...t,r]:0===s?(r.split("/").forEach((r,s)=>{0==s&&"."===r||(0==s&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):[...t,r]},[]);return new pp(n,e,r)}(n);if(i.toRoot())return hp(e.root,new Ad([],{}),e,r,s);const o=function(t,e,n){if(t.isAbsolute)return new fp(e.root,!0,0);if(-1===n.snapshot._lastPathIndex){const t=n.snapshot._urlSegment;return new fp(t,t===e.root,0)}const r=up(t.commands[0])?0:1;return function(t,e,n){let r=t,s=e,i=n;for(;i>s;){if(i-=s,r=r.parent,!r)throw new Error("Invalid number of '../'");s=r.segments.length}return new fp(r,!1,s-i)}(n.snapshot._urlSegment,n.snapshot._lastPathIndex+r,t.numberOfDoubleDots)}(i,e,t),a=o.processChildren?mp(o.segmentGroup,o.index,i.commands):gp(o.segmentGroup,o.index,i.commands);return hp(o.segmentGroup,a,e,r,s)}(a,this.currentUrlTree,t,u,null!=l?l:null)}navigateByUrl(t,e={skipLocationChange:!1}){const n=Ep(t)?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,e)}navigate(t,e={skipLocationChange:!1}){return function(t){for(let e=0;e{const r=t[n];return null!=r&&(e[n]=r),e},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.events.next(new Zh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(t,e,n,r,s){if(this.disposed)return Promise.resolve(!1);const i=this.getTransition(),o="imperative"!==e&&"imperative"===(null==i?void 0:i.source),a=(this.lastSuccessfulId===i.id||this.currentNavigation?i.rawUrl:i.urlAfterRedirects).toString()===t.toString();if(o&&a)return Promise.resolve(!0);let l,u,c;s?(l=s.resolve,u=s.reject,c=s.promise):c=new Promise((t,e)=>{l=t,u=e});const h=++this.navigationId;return this.setTransition({id:h,source:e,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:r,resolve:l,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(t=>Promise.reject(t))}setBrowserUrl(t,e,n,r){const s=this.urlSerializer.serialize(t);r=r||{},this.location.isCurrentPathEqualTo(s)||e?this.location.replaceState(s,"",Object.assign(Object.assign({},r),{navigationId:n})):this.location.go(s,"",Object.assign(Object.assign({},r),{navigationId:n}))}resetStateAndUrl(t,e,n){this.routerState=t,this.currentUrlTree=e,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",{navigationId:this.lastSuccessfulId})}}return t.\u0275fac=function(e){return new(e||t)(Kn(Nn),Kn(Rd),Kn(gf),Kn(kl),Kn(ai),Kn(rl),Kn(Pa),Kn(void 0))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),Sf=(()=>{class t{constructor(t,e,n){this.router=t,this.route=e,this.locationStrategy=n,this.commands=[],this.onChanges=new S,this.subscription=t.events.subscribe(t=>{t instanceof Zh&&this.updateTargetUrlAndHref()})}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}ngOnChanges(t){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(t,e,n,r,s){if(0!==t||e||n||r||s)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;const i={skipLocationChange:xf(this.skipLocationChange),replaceUrl:xf(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,i),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:xf(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(Ci(Cf),Ci(Xd),Ci(Sl))},t.\u0275dir=Wt({type:t,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(t,e){1&t&&Ii("click",function(t){return e.onClick(t.button,t.ctrlKey,t.shiftKey,t.altKey,t.metaKey)}),2&t&&(Gi("href",e.href,ar),_i("target",e.target))},inputs:{routerLink:"routerLink",target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[oe]}),t})();function xf(t){return""===t||!!t}let Ef=(()=>{class t{constructor(t,e,n,r,s){this.parentContexts=t,this.location=e,this.resolver=n,this.changeDetector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new pa,this.deactivateEvents=new pa,this.name=r||ud,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,t}attach(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,e){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const n=(e=e||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),r=this.parentContexts.getOrCreateContext(this.name).children,s=new Tf(t,r,this.location.injector);this.activated=this.location.createComponent(n,this.location.length,s),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)(Ci(gf),Ci(Yo),Ci(ho),("name",function(t,e){const n=t.attrs;if(n){const t=n.length;let r=0;for(;r{class t{constructor(t,e,n,r,s){this.router=t,this.injector=r,this.preloadingStrategy=s,this.loader=new pf(e,n,e=>t.triggerEvent(new nd(e)),e=>t.triggerEvent(new rd(e)))}setUpPreloading(){this.subscription=this.router.events.pipe(Sc(t=>t instanceof Zh),Cc(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(Qo);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,e){const n=[];for(const r of e)if(r.loadChildren&&!r.canLoad&&r._loadedConfig){const t=r._loadedConfig;n.push(this.processRoutes(t.module,t.routes))}else r.loadChildren&&!r.canLoad?n.push(this.preloadConfig(t,r)):r.children&&n.push(this.processRoutes(t,r.children));return N(n).pipe(z(),T(t=>{}))}preloadConfig(t,e){return this.preloadingStrategy.preload(e,()=>(e._loadedConfig?wc(e._loadedConfig):this.loader.load(t.injector,e)).pipe(L(t=>(e._loadedConfig=t,this.processRoutes(t.module,t.routes)))))}}return t.\u0275fac=function(e){return new(e||t)(Kn(Cf),Kn(rl),Kn(Pa),Kn(ai),Kn(Af))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})(),Rf=(()=>{class t{constructor(t,e,n={}){this.router=t,this.viewportScroller=e,this.options=n,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},n.scrollPositionRestoration=n.scrollPositionRestoration||"disabled",n.anchorScrolling=n.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof Wh?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Zh&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof ld&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,e){this.router.triggerEvent(new ld(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,e))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Kn(Cf),Kn($l),Kn(void 0))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();const If=new jn("ROUTER_CONFIGURATION"),Pf=new jn("ROUTER_FORROOT_GUARD"),Vf=[kl,{provide:Rd,useClass:Id},{provide:Cf,useFactory:function(t,e,n,r,s,i,o,a={},l,u){const c=new Cf(null,t,e,n,r,s,i,md(o));return l&&(c.urlHandlingStrategy=l),u&&(c.routeReuseStrategy=u),function(t,e){t.errorHandler&&(e.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(e.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(e.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(e.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(e.urlUpdateStrategy=t.urlUpdateStrategy)}(a,c),a.enableTracing&&c.events.subscribe(t=>{var e,n;null===(e=console.group)||void 0===e||e.call(console,`Router Event: ${t.constructor.name}`),console.log(t.toString()),console.log(t),null===(n=console.groupEnd)||void 0===n||n.call(console)}),c},deps:[Rd,gf,kl,ai,rl,Pa,df,If,[class{},new tr],[class{},new tr]]},gf,{provide:Xd,useFactory:function(t){return t.routerState.root},deps:[Cf]},{provide:rl,useClass:ol},Of,kf,class{preload(t,e){return e().pipe(Th(()=>wc(null)))}},{provide:If,useValue:{enableTracing:!1}}];function jf(){return new Ka("Router",Cf)}let Df=(()=>{class t{constructor(t,e){}static forRoot(e,n){return{ngModule:t,providers:[Vf,Ff(e),{provide:Pf,useFactory:Mf,deps:[[Cf,new tr,new er]]},{provide:If,useValue:n||{}},{provide:Sl,useFactory:Uf,deps:[fl,[new Xn(El),new tr],If]},{provide:Rf,useFactory:Nf,deps:[Cf,$l,If]},{provide:Af,useExisting:n&&n.preloadingStrategy?n.preloadingStrategy:kf},{provide:Ka,multi:!0,useFactory:jf},[Lf,{provide:fa,multi:!0,useFactory:Hf,deps:[Lf]},{provide:zf,useFactory:$f,deps:[Lf]},{provide:wa,multi:!0,useExisting:zf}]]}}static forChild(e){return{ngModule:t,providers:[Ff(e)]}}}return t.\u0275fac=function(e){return new(e||t)(Kn(Pf,8),Kn(Cf,8))},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({}),t})();function Nf(t,e,n){return n.scrollOffset&&e.setOffset(n.scrollOffset),new Rf(t,e,n)}function Uf(t,e,n={}){return n.useHash?new Al(t,e):new Tl(t,e)}function Mf(t){return"guarded"}function Ff(t){return[{provide:Dn,multi:!0,useValue:t},{provide:df,multi:!0,useValue:t}]}let Lf=(()=>{class t{constructor(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new S}appInitializer(){return this.injector.get(ml,Promise.resolve(null)).then(()=>{let t=null;const e=new Promise(e=>t=e),n=this.injector.get(Cf),r=this.injector.get(If);return"disabled"===r.initialNavigation?(n.setUpLocationChangeListener(),t(!0)):"enabled"===r.initialNavigation||"enabledBlocking"===r.initialNavigation?(n.hooks.afterPreactivation=()=>this.initNavigation?wc(null):(this.initNavigation=!0,t(!0),this.resultOfPreactivationDone),n.initialNavigation()):t(!0),e})}bootstrapListener(t){const e=this.injector.get(If),n=this.injector.get(Of),r=this.injector.get(Rf),s=this.injector.get(Cf),i=this.injector.get(el);t===i.components[0]&&("enabledNonBlocking"!==e.initialNavigation&&void 0!==e.initialNavigation||s.initialNavigation(),n.setUpPreloading(),r.init(),s.resetRootComponentType(i.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}}return t.\u0275fac=function(e){return new(e||t)(Kn(ai))},t.\u0275prov=ct({token:t,factory:t.\u0275fac}),t})();function Hf(t){return t.appInitializer.bind(t)}function $f(t){return t.bootstrapListener.bind(t)}const zf=new jn("Router Initializer"),Bf="http://localhost:8080/api/tutorials";let qf=(()=>{class t{constructor(t){this.http=t}getAll(){return this.http.get(Bf)}get(t){return this.http.get(`${Bf}/${t}`)}create(t){return this.http.post(Bf,t)}update(t,e){return this.http.put(`${Bf}/${t}`,e)}delete(t){return this.http.delete(`${Bf}/${t}`)}deleteAll(){return this.http.delete(Bf)}findByTitle(t){return this.http.get(`${Bf}?title=${t}`)}}return t.\u0275fac=function(e){return new(e||t)(Kn(Bc))},t.\u0275prov=ct({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function Gf(t,e){if(1&t){const t=ki();Ei(0,"li",11),Ii("click",function(){const e=Ae(t),n=e.$implicit,r=e.index;return ji().setActiveTutorial(n,r)}),zi(1),Ti()}if(2&t){const t=e.$implicit;Mi("active",e.index==ji().currentIndex),Xr(1),qi(" ",t.title," ")}}function Wf(t,e){if(1&t&&(Ei(0,"div"),Ei(1,"h4"),zi(2,"Tutorial"),Ti(),Ei(3,"div"),Ei(4,"label"),Ei(5,"strong"),zi(6,"Title:"),Ti(),Ti(),zi(7),Ti(),Ei(8,"div"),Ei(9,"label"),Ei(10,"strong"),zi(11,"Description:"),Ti(),Ti(),zi(12),Ti(),Ei(13,"div"),Ei(14,"label"),Ei(15,"strong"),zi(16,"Status:"),Ti(),Ti(),zi(17),Ti(),Ei(18,"a",12),zi(19," Edit "),Ti(),Ti()),2&t){const t=ji();Xr(7),qi(" ",t.currentTutorial.title," "),Xr(5),qi(" ",t.currentTutorial.description," "),Xr(5),qi(" ",t.currentTutorial.published?"Published":"Pending"," "),Xr(1),Di("routerLink","/tutorials/",t.currentTutorial.id,"")}}function Zf(t,e){1&t&&(Ei(0,"div"),Ai(1,"br"),Ei(2,"p"),zi(3,"Please click on a Tutorial..."),Ti(),Ti())}function Qf(t,e){if(1&t){const t=ki();Ei(0,"button",11),Ii("click",function(){return Ae(t),ji(2).updatePublished(!1)}),zi(1," UnPublish "),Ti()}}function Kf(t,e){if(1&t){const t=ki();Ei(0,"button",11),Ii("click",function(){return Ae(t),ji(2).updatePublished(!0)}),zi(1," Publish "),Ti()}}function Jf(t,e){if(1&t){const t=ki();Ei(0,"div",2),Ei(1,"h4"),zi(2,"Tutorial"),Ti(),Ei(3,"form"),Ei(4,"div",3),Ei(5,"label",4),zi(6,"Title"),Ti(),Ei(7,"input",5),Ii("ngModelChange",function(e){return Ae(t),ji().currentTutorial.title=e}),Ti(),Ti(),Ei(8,"div",3),Ei(9,"label",6),zi(10,"Description"),Ti(),Ei(11,"input",7),Ii("ngModelChange",function(e){return Ae(t),ji().currentTutorial.description=e}),Ti(),Ti(),Ei(12,"div",3),Ei(13,"label"),Ei(14,"strong"),zi(15,"Status:"),Ti(),Ti(),zi(16),Ti(),Ti(),wi(17,Qf,2,0,"button",8),wi(18,Kf,2,0,"button",8),Ei(19,"button",9),Ii("click",function(){return Ae(t),ji().deleteTutorial()}),zi(20," Delete "),Ti(),Ei(21,"button",10),Ii("click",function(){return Ae(t),ji().updateTutorial()}),zi(22," Update "),Ti(),Ei(23,"p"),zi(24),Ti(),Ti()}if(2&t){const t=ji();Xr(7),Si("ngModel",t.currentTutorial.title),Xr(4),Si("ngModel",t.currentTutorial.description),Xr(5),qi(" ",t.currentTutorial.published?"Published":"Pending"," "),Xr(1),Si("ngIf",t.currentTutorial.published),Xr(1),Si("ngIf",!t.currentTutorial.published),Xr(6),Bi(t.message)}}function Yf(t,e){1&t&&(Ei(0,"div"),Ai(1,"br"),Ei(2,"p"),zi(3,"Cannot access this Tutorial..."),Ti(),Ti())}function Xf(t,e){if(1&t){const t=ki();Ei(0,"div"),Ei(1,"div",2),Ei(2,"label",3),zi(3,"Title"),Ti(),Ei(4,"input",4),Ii("ngModelChange",function(e){return Ae(t),ji().tutorial.title=e}),Ti(),Ti(),Ei(5,"div",2),Ei(6,"label",5),zi(7,"Description"),Ti(),Ei(8,"input",6),Ii("ngModelChange",function(e){return Ae(t),ji().tutorial.description=e}),Ti(),Ti(),Ei(9,"button",7),Ii("click",function(){return Ae(t),ji().saveTutorial()}),zi(10,"Submit"),Ti(),Ti()}if(2&t){const t=ji();Xr(4),Si("ngModel",t.tutorial.title),Xr(4),Si("ngModel",t.tutorial.description)}}function tg(t,e){if(1&t){const t=ki();Ei(0,"div"),Ei(1,"h4"),zi(2,"Tutorial was submitted successfully!"),Ti(),Ei(3,"button",7),Ii("click",function(){return Ae(t),ji().newTutorial()}),zi(4,"Add"),Ti(),Ti()}}const eg=[{path:"",redirectTo:"tutorials",pathMatch:"full"},{path:"tutorials",component:(()=>{class t{constructor(t){this.tutorialService=t,this.currentTutorial={},this.currentIndex=-1,this.title=""}ngOnInit(){this.retrieveTutorials()}retrieveTutorials(){this.tutorialService.getAll().subscribe(t=>{this.tutorials=t,console.log(t)},t=>{console.log(t)})}refreshList(){this.retrieveTutorials(),this.currentTutorial={},this.currentIndex=-1}setActiveTutorial(t,e){this.currentTutorial=t,this.currentIndex=e}removeAllTutorials(){this.tutorialService.deleteAll().subscribe(t=>{console.log(t),this.refreshList()},t=>{console.log(t)})}searchTitle(){this.currentTutorial={},this.currentIndex=-1,this.tutorialService.findByTitle(this.title).subscribe(t=>{this.tutorials=t,console.log(t)},t=>{console.log(t)})}}return t.\u0275fac=function(e){return new(e||t)(Ci(qf))},t.\u0275cmp=Ht({type:t,selectors:[["app-tutorials-list"]],decls:17,vars:4,consts:[[1,"list","row"],[1,"col-md-8"],[1,"input-group","mb-3"],["type","text","placeholder","Search by title",1,"form-control",3,"ngModel","ngModelChange"],[1,"input-group-append"],["type","button",1,"btn","btn-outline-secondary",3,"click"],[1,"col-md-6"],[1,"list-group"],["class","list-group-item",3,"active","click",4,"ngFor","ngForOf"],[1,"m-3","btn","btn-sm","btn-danger",3,"click"],[4,"ngIf"],[1,"list-group-item",3,"click"],[1,"badge","badge-warning",3,"routerLink"]],template:function(t,e){1&t&&(Ei(0,"div",0),Ei(1,"div",1),Ei(2,"div",2),Ei(3,"input",3),Ii("ngModelChange",function(t){return e.title=t}),Ti(),Ei(4,"div",4),Ei(5,"button",5),Ii("click",function(){return e.searchTitle()}),zi(6," Search "),Ti(),Ti(),Ti(),Ti(),Ei(7,"div",6),Ei(8,"h4"),zi(9,"Tutorials List"),Ti(),Ei(10,"ul",7),wi(11,Gf,2,3,"li",8),Ti(),Ei(12,"button",9),Ii("click",function(){return e.removeAllTutorials()}),zi(13," Remove All "),Ti(),Ti(),Ei(14,"div",6),wi(15,Wf,20,4,"div",10),wi(16,Zf,4,0,"div",10),Ti(),Ti()),2&t&&(Xr(3),Si("ngModel",e.title),Xr(8),Si("ngForOf",e.tutorials),Xr(4),Si("ngIf",e.currentTutorial.id),Xr(1),Si("ngIf",!e.currentTutorial))},directives:[ku,zu,fc,Nl,Ml,Sf],styles:[".list[_ngcontent-%COMP%]{text-align:left;max-width:750px;margin:auto}"]}),t})()},{path:"tutorials/:id",component:(()=>{class t{constructor(t,e,n){this.tutorialService=t,this.route=e,this.router=n,this.currentTutorial={title:"",description:"",published:!1},this.message=""}ngOnInit(){this.message="",this.getTutorial(this.route.snapshot.params.id)}getTutorial(t){this.tutorialService.get(t).subscribe(t=>{this.currentTutorial=t,console.log(t)},t=>{console.log(t)})}updatePublished(t){const e={title:this.currentTutorial.title,description:this.currentTutorial.description,published:t};this.message="",this.tutorialService.update(this.currentTutorial.id,e).subscribe(e=>{this.currentTutorial.published=t,console.log(e),this.message=e.message?e.message:"The status was updated successfully!"},t=>{console.log(t)})}updateTutorial(){this.message="",this.tutorialService.update(this.currentTutorial.id,this.currentTutorial).subscribe(t=>{console.log(t),this.message=t.message?t.message:"This tutorial was updated successfully!"},t=>{console.log(t)})}deleteTutorial(){this.tutorialService.delete(this.currentTutorial.id).subscribe(t=>{console.log(t),this.router.navigate(["/tutorials"])},t=>{console.log(t)})}}return t.\u0275fac=function(e){return new(e||t)(Ci(qf),Ci(Xd),Ci(Cf))},t.\u0275cmp=Ht({type:t,selectors:[["app-tutorial-details"]],decls:3,vars:2,consts:[["class","edit-form",4,"ngIf"],[4,"ngIf"],[1,"edit-form"],[1,"form-group"],["for","title"],["type","text","id","title","name","title",1,"form-control",3,"ngModel","ngModelChange"],["for","description"],["type","text","id","description","name","description",1,"form-control",3,"ngModel","ngModelChange"],["class","badge badge-primary mr-2",3,"click",4,"ngIf"],[1,"badge","badge-danger","mr-2",3,"click"],["type","submit",1,"badge","badge-success","mb-2",3,"click"],[1,"badge","badge-primary","mr-2",3,"click"]],template:function(t,e){1&t&&(Ei(0,"div"),wi(1,Jf,25,6,"div",0),wi(2,Yf,4,0,"div",1),Ti()),2&t&&(Xr(1),Si("ngIf",e.currentTutorial.id),Xr(1),Si("ngIf",!e.currentTutorial.id))},directives:[Ml,gc,Bu,hc,ku,zu,fc],styles:[".edit-form[_ngcontent-%COMP%]{max-width:400px;margin:auto}"]}),t})()},{path:"add",component:(()=>{class t{constructor(t){this.tutorialService=t,this.tutorial={title:"",description:"",published:!1},this.submitted=!1}ngOnInit(){}saveTutorial(){this.tutorialService.create({title:this.tutorial.title,description:this.tutorial.description}).subscribe(t=>{console.log(t),this.submitted=!0},t=>{console.log(t)})}newTutorial(){this.submitted=!1,this.tutorial={title:"",description:"",published:!1}}}return t.\u0275fac=function(e){return new(e||t)(Ci(qf))},t.\u0275cmp=Ht({type:t,selectors:[["app-add-tutorial"]],decls:4,vars:2,consts:[[1,"submit-form"],[4,"ngIf"],[1,"form-group"],["for","title"],["type","text","id","title","required","","name","title",1,"form-control",3,"ngModel","ngModelChange"],["for","description"],["id","description","required","","name","description",1,"form-control",3,"ngModel","ngModelChange"],[1,"btn","btn-success",3,"click"]],template:function(t,e){1&t&&(Ei(0,"div"),Ei(1,"div",0),wi(2,Xf,11,2,"div",1),wi(3,tg,5,0,"div",1),Ti(),Ti()),2&t&&(Xr(2),Si("ngIf",!e.submitted),Xr(1),Si("ngIf",e.submitted))},directives:[Ml,ku,vc,zu,fc],styles:[".submit-form[_ngcontent-%COMP%]{max-width:400px;margin:auto}"]}),t})()}];let ng=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t}),t.\u0275inj=ht({imports:[[Df.forRoot(eg)],Df]}),t})(),rg=(()=>{class t{constructor(){this.title="Angular 12 Crud"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ht({type:t,selectors:[["app-root"]],decls:13,vars:0,consts:[[1,"navbar","navbar-expand","navbar-dark","bg-dark"],["href","#",1,"navbar-brand"],[1,"navbar-nav","mr-auto"],[1,"nav-item"],["routerLink","tutorials",1,"nav-link"],["routerLink","add",1,"nav-link"],[1,"container","mt-3"]],template:function(t,e){1&t&&(Ei(0,"div"),Ei(1,"nav",0),Ei(2,"a",1),zi(3,"bezKoder"),Ti(),Ei(4,"div",2),Ei(5,"li",3),Ei(6,"a",4),zi(7,"Tutorials"),Ti(),Ti(),Ei(8,"li",3),Ei(9,"a",5),zi(10,"Add"),Ti(),Ti(),Ti(),Ti(),Ei(11,"div",6),Ai(12,"router-outlet"),Ti(),Ti())},directives:[Sf,Ef],styles:[""]}),t})(),sg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=qt({type:t,bootstrap:[rg]}),t.\u0275inj=ht({providers:[],imports:[[wu,ng,bc,rh]]}),t})();(function(){if(Za)throw new Error("Cannot enable prod mode after platform setup.");Wa=!1})(),_u().bootstrapModule(sg).catch(t=>console.error(t))}},t=>{"use strict";t(t.s=621)}]);
\ No newline at end of file
diff --git a/node-js-server/app/views/polyfills.9bfe7059f6aebac52b86.js b/node-js-server/app/views/polyfills.9bfe7059f6aebac52b86.js
new file mode 100644
index 0000000..cc32889
--- /dev/null
+++ b/node-js-server/app/views/polyfills.9bfe7059f6aebac52b86.js
@@ -0,0 +1 @@
+(self.webpackChunkangular12_crud=self.webpackChunkangular12_crud||[]).push([[429],{167:()=>{"use strict";!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=e.__Zone_symbol_prefix||"__zone_symbol__";function s(e){return r+e}const a=!0===e[s("forceDuplicateZoneCheck")];if(e.Zone){if(a||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}class i{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=i.current;for(;e.parent;)e=e.parent;return e}static get current(){return z.zone}static get currentTask(){return j}static __load_patch(t,r,s=!1){if(O.hasOwnProperty(t)){if(!s&&a)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const s="Zone:"+t;n(s),O[t]=r(e,i,C),o(s,s)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){z={parent:z,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{z=z.parent}}runGuarded(e,t=null,n,o){z={parent:z,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(r){if(this._zoneDelegate.handleError(this,r))throw r}}finally{z=z.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");if(e.state===v&&(e.type===P||e.type===D))return;const o=e.state!=E;o&&e._transitionTo(E,b),e.runCount++;const r=j;j=e,z={parent:z,zone:this};try{e.type==D&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(s){if(this._zoneDelegate.handleError(this,s))throw s}}finally{e.state!==v&&e.state!==Z&&(e.type==P||e.data&&e.data.isPeriodic?o&&e._transitionTo(b,E):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(v,E,v))),z=z.parent,j=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(T,v);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(n){throw e._transitionTo(Z,T,v),this._zoneDelegate.handleError(this,n),n}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==T&&e._transitionTo(b,T),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new u(S,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new u(D,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new u(P,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");e._transitionTo(w,b,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(v,w),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;oe.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,s)=>e.invokeTask(n,o,r,s),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class l{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new i(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");k(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){this.handleError(e,n)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class u{constructor(t,n,o,r,s,a){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=s,this.cancelFn=a,!o)throw new Error("callback is not defined");this.callback=o;const i=this;this.invoke=t===P&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(e,i,this,arguments)}}static invokeTask(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&m(),I--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(v,T)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==v&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=s("setTimeout"),p=s("Promise"),f=s("then");let d,g=[],_=!1;function k(t){if(0===I&&0===g.length)if(d||e[p]&&(d=e[p].resolve(0)),d){let e=d[f];e||(e=d.then),e.call(d,m)}else e[h](m,0);t&&g.push(t)}function m(){if(!_){for(_=!0;g.length;){const t=g;g=[];for(let n=0;nz,onUnhandledError:R,microtaskDrainDone:R,scheduleMicroTask:k,showUncaughtError:()=>!i[s("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:R,patchMethod:()=>R,bindArguments:()=>[],patchThen:()=>R,patchMacroTask:()=>R,patchEventPrototype:()=>R,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>R,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>R,wrapWithCurrentZone:()=>R,filterProperties:()=>[],attachOriginToPatched:()=>R,_redefineProperty:()=>R,patchCallbacks:()=>R};let z={parent:null,zone:new i(null,null)},j=null,I=0;function R(){}o("Zone","Zone"),e.Zone=i}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,o=Object.create,r=Array.prototype.slice,s="addEventListener",a="removeEventListener",i=Zone.__symbol__(s),c=Zone.__symbol__(a),l="true",u="false",h=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function f(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const d=Zone.__symbol__,g="undefined"!=typeof window,_=g?window:void 0,k=g&&_||"object"==typeof self&&self||global,m=[null];function y(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function v(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,b=!("nw"in k)&&void 0!==k.process&&"[object process]"==={}.toString.call(k.process),E=!b&&!T&&!(!g||!_.HTMLElement),w=void 0!==k.process&&"[object process]"==={}.toString.call(k.process)&&!T&&!(!g||!_.HTMLElement),Z={},S=function(e){if(!(e=e||k.event))return;let t=Z[e.type];t||(t=Z[e.type]=d("ON_PROPERTY"+e.type));const n=this||e.target||k,o=n[t];let r;if(E&&n===_&&"error"===e.type){const t=e;r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===r&&e.preventDefault()}else r=o&&o.apply(this,arguments),null==r||r||e.preventDefault();return r};function D(n,o,r){let s=e(n,o);if(!s&&r&&e(r,o)&&(s={enumerable:!0,configurable:!0}),!s||!s.configurable)return;const a=d("on"+o+"patched");if(n.hasOwnProperty(a)&&n[a])return;delete s.writable,delete s.value;const i=s.get,c=s.set,l=o.substr(2);let u=Z[l];u||(u=Z[l]=d("ON_PROPERTY"+l)),s.set=function(e){let t=this;t||n!==k||(t=k),t&&(t[u]&&t.removeEventListener(l,S),c&&c.apply(t,m),"function"==typeof e?(t[u]=e,t.addEventListener(l,S,!1)):t[u]=null)},s.get=function(){let e=this;if(e||n!==k||(e=k),!e)return null;const t=e[u];if(t)return t;if(i){let t=i&&i.call(this);if(t)return s.set.call(this,t),"function"==typeof e.removeAttribute&&e.removeAttribute(o),t}return null},t(n,o,s),n[a]=!0}function P(e,t,n){if(t)for(let o=0;ofunction(t,o){const s=n(t,o);return s.cbIdx>=0&&"function"==typeof o[s.cbIdx]?f(s.name,o[s.cbIdx],s,r):e.apply(t,o)})}function I(e,t){e[d("OriginalDelegate")]=t}let R=!1,M=!1;function N(){try{const e=_.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function x(){if(R)return M;R=!0;try{const e=_.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(M=!0)}catch(e){}return M}Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,s=n.symbol,a=[],i=!0===e[s("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=s("Promise"),l=s("then");n.onUnhandledError=e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;a.length;){const t=a.shift();try{t.zone.runGuarded(()=>{if(t.throwOriginal)throw t.rejection;throw t})}catch(e){h(e)}}};const u=s("unhandledPromiseRejectionHandler");function h(e){n.onUnhandledError(e);try{const n=t[u];"function"==typeof n&&n.call(this,e)}catch(o){}}function p(e){return e&&e.then}function f(e){return e}function d(e){return C.reject(e)}const g=s("state"),_=s("value"),k=s("finally"),m=s("parentPromiseValue"),y=s("parentPromiseState"),v=null,T=!0,b=!1;function E(e,t){return n=>{try{Z(e,t,n)}catch(o){Z(e,!1,o)}}}const w=s("currentTaskTrace");function Z(e,o,s){const c=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}}();if(e===s)throw new TypeError("Promise resolved with itself");if(e[g]===v){let h=null;try{"object"!=typeof s&&"function"!=typeof s||(h=s&&s.then)}catch(u){return c(()=>{Z(e,!1,u)})(),e}if(o!==b&&s instanceof C&&s.hasOwnProperty(g)&&s.hasOwnProperty(_)&&s[g]!==v)D(s),Z(e,s[g],s[_]);else if(o!==b&&"function"==typeof h)try{h.call(s,c(E(e,o)),c(E(e,!1)))}catch(u){c(()=>{Z(e,!1,u)})()}else{e[g]=o;const c=e[_];if(e[_]=s,e[k]===k&&o===T&&(e[g]=e[y],e[_]=e[m]),o===b&&s instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&r(s,w,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t{try{const o=e[_],r=!!n&&k===n[k];r&&(n[m]=o,n[y]=s);const i=t.run(a,void 0,r&&a!==d&&a!==f?[]:[o]);Z(n,!0,i)}catch(o){Z(n,!1,o)}},n)}const O=function(){};class C{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(e){return Z(new this(null),T,e)}static reject(e){return Z(new this(null),b,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function s(e){n(e)}for(let a of e)p(a)||(a=this.resolve(a)),a.then(r,s);return o}static all(e){return C.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof C?this:C).allWithCallback(e,{thenCallback:e=>({status:"fulfilled",value:e}),errorCallback:e=>({status:"rejected",reason:e})})}static allWithCallback(e,t){let n,o,r=new this((e,t)=>{n=e,o=t}),s=2,a=0;const i=[];for(let l of e){p(l)||(l=this.resolve(l));const e=a;try{l.then(o=>{i[e]=t?t.thenCallback(o):o,s--,0===s&&n(i)},r=>{t?(i[e]=t.errorCallback(r),s--,0===s&&n(i)):o(r)})}catch(c){o(c)}s++,a++}return s-=2,0===s&&n(i),r}constructor(e){const t=this;if(!(t instanceof C))throw new Error("Must be an instanceof Promise.");t[g]=v,t[_]=[];try{e&&e(E(t,T),E(t,b))}catch(n){Z(t,!1,n)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return C}then(e,n){let o=this.constructor[Symbol.species];o&&"function"==typeof o||(o=this.constructor||C);const r=new o(O),s=t.current;return this[g]==v?this[_].push(s,r,e,n):P(this,s,r,e,n),r}catch(e){return this.then(null,e)}finally(e){let n=this.constructor[Symbol.species];n&&"function"==typeof n||(n=C);const o=new n(O);o[k]=k;const r=t.current;return this[g]==v?this[_].push(r,o,e,e):P(this,r,o,e,e),o}}C.resolve=C.resolve,C.reject=C.reject,C.race=C.race,C.all=C.all;const j=e[c]=e.Promise;e.Promise=C;const I=s("thenPatched");function R(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[l]=r,e.prototype.then=function(e,t){return new C((e,t)=>{r.call(this,e,t)}).then(e,t)},e[I]=!0}return n.patchThen=R,j&&(R(j),z(e,"fetch",e=>{return t=e,function(e,n){let o=t.apply(e,n);if(o instanceof C)return o;let r=o.constructor;return r[I]||R(r),o};var t})),Promise[t.__symbol__("uncaughtPromiseErrors")]=a,C}),Zone.__load_patch("toString",e=>{const t=Function.prototype.toString,n=d("OriginalDelegate"),o=d("Promise"),r=d("Error"),s=function(){if("function"==typeof this){const s=this[n];if(s)return"function"==typeof s?t.call(s):Object.prototype.toString.call(s);if(this===Promise){const n=e[o];if(n)return t.call(n)}if(this===Error){const n=e[r];if(n)return t.call(n)}}return t.call(this)};s[n]=t,Function.prototype.toString=s;const a=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":a.call(this)}});let L=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){L=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(he){L=!1}const A={useG:!0},H={},F={},q=new RegExp("^"+h+"(\\w+)(true|false)$"),G=d("propagationStopped");function B(e,t){const n=(t?t(e):e)+u,o=(t?t(e):e)+l,r=h+n,s=h+o;H[e]={},H[e].false=r,H[e].true=s}function W(e,t,o){const r=o&&o.add||s,i=o&&o.rm||a,c=o&&o.listeners||"eventListeners",p=o&&o.rmAll||"removeAllListeners",f=d(r),g="."+r+":",_=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=e=>o.handleEvent(e),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},k=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[H[t.type].false];if(o)if(1===o.length)_(o[0],n,t);else{const e=o.slice();for(let o=0;ofunction(t,n){t[G]=!0,e&&e.apply(t,n)})}function $(e,t,n,o,r){const s=Zone.__symbol__(o);if(t[s])return;const a=t[s]=t[o];t[o]=function(s,i,c){return i&&i.prototype&&r.forEach(function(t){const r=`${n}.${o}::`+t,s=i.prototype;if(s.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(s,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(i.prototype,t,n)):s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}else s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}),a.call(t,s,i,c)},e.attachOriginToPatched(t[o],a)}const X=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],Y=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],J=["load"],K=["blur","error","focus","load","resize","scroll","messageerror"],Q=["bounce","finish","start"],ee=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],te=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],ne=["close","error","open","message"],oe=["error","message"],re=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],X,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function se(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function ae(e,t,n,o){e&&P(e,se(e,t,n),o)}function ie(e,t){if(b&&!w)return;if(Zone[e.symbol("patchEvents")])return;const o="undefined"!=typeof WebSocket,r=t.__Zone_ignore_on_properties;if(E){const e=window,t=N()?[{target:e,ignoreProperties:["error"]}]:[];ae(e,re.concat(["messageerror"]),r?r.concat(t):r,n(e)),ae(Document.prototype,re,r),void 0!==e.SVGElement&&ae(e.SVGElement.prototype,re,r),ae(Element.prototype,re,r),ae(HTMLElement.prototype,re,r),ae(HTMLMediaElement.prototype,Y,r),ae(HTMLFrameSetElement.prototype,X.concat(K),r),ae(HTMLBodyElement.prototype,X.concat(K),r),ae(HTMLFrameElement.prototype,J,r),ae(HTMLIFrameElement.prototype,J,r);const o=e.HTMLMarqueeElement;o&&ae(o.prototype,Q,r);const s=e.Worker;s&&ae(s.prototype,oe,r)}const s=t.XMLHttpRequest;s&&ae(s.prototype,ee,r);const a=t.XMLHttpRequestEventTarget;a&&ae(a&&a.prototype,ee,r),"undefined"!=typeof IDBIndex&&(ae(IDBIndex.prototype,te,r),ae(IDBRequest.prototype,te,r),ae(IDBOpenDBRequest.prototype,te,r),ae(IDBDatabase.prototype,te,r),ae(IDBTransaction.prototype,te,r),ae(IDBCursor.prototype,te,r)),o&&ae(WebSocket.prototype,ne,r)}Zone.__load_patch("util",(n,i,c)=>{c.patchOnProperties=P,c.patchMethod=z,c.bindArguments=y,c.patchMacroTask=j;const f=i.__symbol__("BLACK_LISTED_EVENTS"),d=i.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[f]=n[d]),n[f]&&(i[f]=i[d]=n[f]),c.patchEventPrototype=V,c.patchEventTarget=W,c.isIEOrEdge=x,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=o,c.ArraySlice=r,c.patchClass=C,c.wrapWithCurrentZone=p,c.filterProperties=se,c.attachOriginToPatched=I,c._redefineProperty=Object.defineProperty,c.patchCallbacks=$,c.getGlobalObjects=()=>({globalSources:F,zoneSymbolEventNames:H,eventNames:re,isBrowser:E,isMix:w,isNode:b,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:a})});const ce=d("zoneTask");function le(e,t,n,o){let r=null,s=null;n+=o;const a={};function i(t){const n=t.data;return n.args[0]=function(){return t.invoke.apply(this,arguments)},n.handleId=r.apply(e,n.args),t}function c(t){return s.call(e,t.data.handleId)}r=z(e,t+=o,n=>function(r,s){if("function"==typeof s[0]){const e={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?s[1]||0:void 0,args:s},n=s[0];s[0]=function(){try{return n.apply(this,arguments)}finally{e.isPeriodic||("number"==typeof e.handleId?delete a[e.handleId]:e.handleId&&(e.handleId[ce]=null))}};const r=f(t,s[0],e,i,c);if(!r)return r;const l=r.data.handleId;return"number"==typeof l?a[l]=r:l&&(l[ce]=r),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(r.ref=l.ref.bind(l),r.unref=l.unref.bind(l)),"number"==typeof l||l?l:r}return n.apply(e,s)}),s=z(e,n,t=>function(n,o){const r=o[0];let s;"number"==typeof r?s=a[r]:(s=r&&r[ce],s||(s=r)),s&&"string"==typeof s.type?"notScheduled"!==s.state&&(s.cancelFn&&s.data.isPeriodic||0===s.runCount)&&("number"==typeof r?delete a[r]:r&&(r[ce]=null),s.zone.cancelTask(s)):t.apply(e,o)})}function ue(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:s,ZONE_SYMBOL_PREFIX:a}=t.getGlobalObjects();for(let c=0;c{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("queueMicrotask",(e,t,n)=>{n.patchMethod(e,"queueMicrotask",e=>function(e,n){t.current.scheduleMicroTask("queueMicrotask",n[0])})}),Zone.__load_patch("timers",e=>{const t="set",n="clear";le(e,t,n,"Timeout"),le(e,t,n,"Interval"),le(e,t,n,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{le(e,"request","cancel","AnimationFrame"),le(e,"mozRequest","mozCancel","AnimationFrame"),le(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;ofunction(o,s){return t.current.run(n,e,s,r)})}),Zone.__load_patch("EventTarget",(e,t,n)=>{!function(e,t){t.patchEventPrototype(e,t)}(e,n),ue(e,n);const o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype])}),Zone.__load_patch("MutationObserver",(e,t,n)=>{C("MutationObserver"),C("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,t,n)=>{C("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,t,n)=>{C("FileReader")}),Zone.__load_patch("on_property",(e,t,n)=>{ie(n,e)}),Zone.__load_patch("customElements",(e,t,n)=>{!function(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function(e){const u=e.XMLHttpRequest;if(!u)return;const h=u.prototype;let p=h[i],g=h[c];if(!p){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;p=e[i],g=e[c]}}const _="readystatechange",k="scheduled";function m(e){const o=e.data,a=o.target;a[s]=!1,a[l]=!1;const u=a[r];p||(p=a[i],g=a[c]),u&&g.call(a,_,u);const h=a[r]=()=>{if(a.readyState===a.DONE)if(!o.aborted&&a[s]&&e.state===k){const n=a[t.__symbol__("loadfalse")];if(0!==a.status&&n&&n.length>0){const r=e.invoke;e.invoke=function(){const n=a[t.__symbol__("loadfalse")];for(let t=0;tfunction(e,t){return e[o]=0==t[2],e[a]=t[1],T.apply(e,t)}),b=d("fetchTaskAborting"),E=d("fetchTaskScheduling"),w=z(h,"send",()=>function(e,n){if(!0===t.current[E])return w.apply(e,n);if(e[o])return w.apply(e,n);{const t={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},o=f("XMLHttpRequest.send",y,t,m,v);e&&!0===e[l]&&!t.aborted&&o.state===k&&o.invoke()}}),Z=z(h,"abort",()=>function(e,o){const r=e[n];if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[b])return Z.apply(e,o)})}(e);const n=d("xhrTask"),o=d("xhrSync"),r=d("xhrListener"),s=d("xhrScheduled"),a=d("xhrURL"),l=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,n){const o=t.constructor.name;for(let r=0;r{const t=function(){return e.apply(this,y(arguments,o+"."+s))};return I(t,e),t})(a)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){U(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})},796:(e,t,n)=>{"use strict";n(167)}},e=>{"use strict";e(e.s=796)}]);
\ No newline at end of file
diff --git a/node-js-server/app/views/runtime.d096b1053e110ec9273b.js b/node-js-server/app/views/runtime.d096b1053e110ec9273b.js
new file mode 100644
index 0000000..0138fda
--- /dev/null
+++ b/node-js-server/app/views/runtime.d096b1053e110ec9273b.js
@@ -0,0 +1 @@
+(()=>{"use strict";var r,e={},n={};function t(r){var a=n[r];if(void 0!==a)return a.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}t.m=e,r=[],t.O=(e,n,a,o)=>{if(!n){var u=1/0;for(s=0;s=o)&&Object.keys(t.O).every(r=>t.O[r](n[f]))?n.splice(f--,1):(l=!1,o0&&r[s-1][2]>o;s--)r[s]=r[s-1];r[s]=[n,a,o]},t.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return t.d(e,{a:e}),e},t.d=(r,e)=>{for(var n in e)t.o(e,n)&&!t.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:e[n]})},t.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),(()=>{var r={666:0};t.O.j=e=>0===r[e];var e=(e,n)=>{var a,o,[u,l,f]=n,s=0;for(a in l)t.o(l,a)&&(t.m[a]=l[a]);if(f)var i=f(t);for(e&&e(n);s