Index: trip-planner-front/node_modules/@angular/material/__ivy_ngcc__/fesm2015/list.js
===================================================================
--- trip-planner-front/node_modules/@angular/material/__ivy_ngcc__/fesm2015/list.js	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,1071 +1,0 @@
-import { CommonModule } from '@angular/common';
-import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Directive, ChangeDetectorRef, Optional, Inject, ContentChildren, ContentChild, Input, forwardRef, EventEmitter, Output, ViewChild, Attribute, NgModule } from '@angular/core';
-import { mixinDisabled, mixinDisableRipple, setLines, MatLine, MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule } from '@angular/material/core';
-import { coerceBooleanProperty } from '@angular/cdk/coercion';
-import { Subject } from 'rxjs';
-import { takeUntil, startWith } from 'rxjs/operators';
-import { FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';
-import { SelectionModel } from '@angular/cdk/collections';
-import { hasModifierKey, A, ENTER, SPACE, UP_ARROW, DOWN_ARROW } from '@angular/cdk/keycodes';
-import { NG_VALUE_ACCESSOR } from '@angular/forms';
-import { MatDividerModule } from '@angular/material/divider';
-
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-// Boilerplate for applying mixins to MatList.
-/** @docs-private */
-import * as ɵngcc0 from '@angular/core';
-import * as ɵngcc1 from '@angular/material/core';
-import * as ɵngcc2 from '@angular/common';
-import * as ɵngcc3 from '@angular/cdk/a11y';
-
-const _c0 = ["*"];
-const _c1 = ".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n";
-const _c2 = [[["", "mat-list-avatar", ""], ["", "mat-list-icon", ""], ["", "matListAvatar", ""], ["", "matListIcon", ""]], [["", "mat-line", ""], ["", "matLine", ""]], "*"];
-const _c3 = ["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]", "[mat-line], [matLine]", "*"];
-const _c4 = ["text"];
-function MatListOption_mat_pseudo_checkbox_2_Template(rf, ctx) { if (rf & 1) {
-    ɵngcc0.ɵɵelement(0, "mat-pseudo-checkbox", 5);
-} if (rf & 2) {
-    const ctx_r0 = ɵngcc0.ɵɵnextContext();
-    ɵngcc0.ɵɵproperty("state", ctx_r0.selected ? "checked" : "unchecked")("disabled", ctx_r0.disabled);
-} }
-const _c5 = ["*", [["", "mat-list-avatar", ""], ["", "mat-list-icon", ""], ["", "matListAvatar", ""], ["", "matListIcon", ""]]];
-const _c6 = ["*", "[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]"];
-const _MatListBase = mixinDisabled(mixinDisableRipple(class {
-}));
-// Boilerplate for applying mixins to MatListItem.
-/** @docs-private */
-const _MatListItemMixinBase = mixinDisableRipple(class {
-});
-/**
- * Injection token that can be used to inject instances of `MatList`. It serves as
- * alternative token to the actual `MatList` class which could cause unnecessary
- * retention of the class and its component metadata.
- */
-const MAT_LIST = new InjectionToken('MatList');
-/**
- * Injection token that can be used to inject instances of `MatNavList`. It serves as
- * alternative token to the actual `MatNavList` class which could cause unnecessary
- * retention of the class and its component metadata.
- */
-const MAT_NAV_LIST = new InjectionToken('MatNavList');
-class MatNavList extends _MatListBase {
-    constructor() {
-        super(...arguments);
-        /** Emits when the state of the list changes. */
-        this._stateChanges = new Subject();
-    }
-    ngOnChanges() {
-        this._stateChanges.next();
-    }
-    ngOnDestroy() {
-        this._stateChanges.complete();
-    }
-}
-MatNavList.ɵfac = /*@__PURE__*/ function () { let ɵMatNavList_BaseFactory; return function MatNavList_Factory(t) { return (ɵMatNavList_BaseFactory || (ɵMatNavList_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatNavList)))(t || MatNavList); }; }();
-MatNavList.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatNavList, selectors: [["mat-nav-list"]], hostAttrs: ["role", "navigation", 1, "mat-nav-list", "mat-list-base"], inputs: { disableRipple: "disableRipple", disabled: "disabled" }, exportAs: ["matNavList"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_NAV_LIST, useExisting: MatNavList }]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatNavList_Template(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵprojectionDef();
-        ɵngcc0.ɵɵprojection(0);
-    } }, styles: [_c1], encapsulation: 2, changeDetection: 0 });
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatNavList, [{
-        type: Component,
-        args: [{
-                selector: 'mat-nav-list',
-                exportAs: 'matNavList',
-                host: {
-                    'role': 'navigation',
-                    'class': 'mat-nav-list mat-list-base'
-                },
-                template: "<ng-content></ng-content>\n\n",
-                inputs: ['disableRipple', 'disabled'],
-                encapsulation: ViewEncapsulation.None,
-                changeDetection: ChangeDetectionStrategy.OnPush,
-                providers: [{ provide: MAT_NAV_LIST, useExisting: MatNavList }],
-                styles: [".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n"]
-            }]
-    }], null, null); })();
-class MatList extends _MatListBase {
-    constructor(_elementRef) {
-        super();
-        this._elementRef = _elementRef;
-        /** Emits when the state of the list changes. */
-        this._stateChanges = new Subject();
-        if (this._getListType() === 'action-list') {
-            _elementRef.nativeElement.classList.add('mat-action-list');
-        }
-    }
-    _getListType() {
-        const nodeName = this._elementRef.nativeElement.nodeName.toLowerCase();
-        if (nodeName === 'mat-list') {
-            return 'list';
-        }
-        if (nodeName === 'mat-action-list') {
-            return 'action-list';
-        }
-        return null;
-    }
-    ngOnChanges() {
-        this._stateChanges.next();
-    }
-    ngOnDestroy() {
-        this._stateChanges.complete();
-    }
-}
-MatList.ɵfac = function MatList_Factory(t) { return new (t || MatList)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };
-MatList.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatList, selectors: [["mat-list"], ["mat-action-list"]], hostAttrs: [1, "mat-list", "mat-list-base"], inputs: { disableRipple: "disableRipple", disabled: "disabled" }, exportAs: ["matList"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_LIST, useExisting: MatList }]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatList_Template(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵprojectionDef();
-        ɵngcc0.ɵɵprojection(0);
-    } }, styles: [_c1], encapsulation: 2, changeDetection: 0 });
-MatList.ctorParameters = () => [
-    { type: ElementRef }
-];
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatList, [{
-        type: Component,
-        args: [{
-                selector: 'mat-list, mat-action-list',
-                exportAs: 'matList',
-                template: "<ng-content></ng-content>\n\n",
-                host: {
-                    'class': 'mat-list mat-list-base'
-                },
-                inputs: ['disableRipple', 'disabled'],
-                encapsulation: ViewEncapsulation.None,
-                changeDetection: ChangeDetectionStrategy.OnPush,
-                providers: [{ provide: MAT_LIST, useExisting: MatList }],
-                styles: [".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n"]
-            }]
-    }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();
-/**
- * Directive whose purpose is to add the mat- CSS styling to this selector.
- * @docs-private
- */
-class MatListAvatarCssMatStyler {
-}
-MatListAvatarCssMatStyler.ɵfac = function MatListAvatarCssMatStyler_Factory(t) { return new (t || MatListAvatarCssMatStyler)(); };
-MatListAvatarCssMatStyler.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatListAvatarCssMatStyler, selectors: [["", "mat-list-avatar", ""], ["", "matListAvatar", ""]], hostAttrs: [1, "mat-list-avatar"] });
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListAvatarCssMatStyler, [{
-        type: Directive,
-        args: [{
-                selector: '[mat-list-avatar], [matListAvatar]',
-                host: { 'class': 'mat-list-avatar' }
-            }]
-    }], null, null); })();
-/**
- * Directive whose purpose is to add the mat- CSS styling to this selector.
- * @docs-private
- */
-class MatListIconCssMatStyler {
-}
-MatListIconCssMatStyler.ɵfac = function MatListIconCssMatStyler_Factory(t) { return new (t || MatListIconCssMatStyler)(); };
-MatListIconCssMatStyler.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatListIconCssMatStyler, selectors: [["", "mat-list-icon", ""], ["", "matListIcon", ""]], hostAttrs: [1, "mat-list-icon"] });
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListIconCssMatStyler, [{
-        type: Directive,
-        args: [{
-                selector: '[mat-list-icon], [matListIcon]',
-                host: { 'class': 'mat-list-icon' }
-            }]
-    }], null, null); })();
-/**
- * Directive whose purpose is to add the mat- CSS styling to this selector.
- * @docs-private
- */
-class MatListSubheaderCssMatStyler {
-}
-MatListSubheaderCssMatStyler.ɵfac = function MatListSubheaderCssMatStyler_Factory(t) { return new (t || MatListSubheaderCssMatStyler)(); };
-MatListSubheaderCssMatStyler.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatListSubheaderCssMatStyler, selectors: [["", "mat-subheader", ""], ["", "matSubheader", ""]], hostAttrs: [1, "mat-subheader"] });
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListSubheaderCssMatStyler, [{
-        type: Directive,
-        args: [{
-                selector: '[mat-subheader], [matSubheader]',
-                host: { 'class': 'mat-subheader' }
-            }]
-    }], null, null); })();
-/** An item within a Material Design list. */
-class MatListItem extends _MatListItemMixinBase {
-    constructor(_element, _changeDetectorRef, navList, list) {
-        super();
-        this._element = _element;
-        this._isInteractiveList = false;
-        this._destroyed = new Subject();
-        this._disabled = false;
-        this._isInteractiveList = !!(navList || (list && list._getListType() === 'action-list'));
-        this._list = navList || list;
-        // If no type attribute is specified for <button>, set it to "button".
-        // If a type attribute is already specified, do nothing.
-        const element = this._getHostElement();
-        if (element.nodeName.toLowerCase() === 'button' && !element.hasAttribute('type')) {
-            element.setAttribute('type', 'button');
-        }
-        if (this._list) {
-            // React to changes in the state of the parent list since
-            // some of the item's properties depend on it (e.g. `disableRipple`).
-            this._list._stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {
-                _changeDetectorRef.markForCheck();
-            });
-        }
-    }
-    /** Whether the option is disabled. */
-    get disabled() { return this._disabled || !!(this._list && this._list.disabled); }
-    set disabled(value) {
-        this._disabled = coerceBooleanProperty(value);
-    }
-    ngAfterContentInit() {
-        setLines(this._lines, this._element);
-    }
-    ngOnDestroy() {
-        this._destroyed.next();
-        this._destroyed.complete();
-    }
-    /** Whether this list item should show a ripple effect when clicked. */
-    _isRippleDisabled() {
-        return !this._isInteractiveList || this.disableRipple ||
-            !!(this._list && this._list.disableRipple);
-    }
-    /** Retrieves the DOM element of the component host. */
-    _getHostElement() {
-        return this._element.nativeElement;
-    }
-}
-MatListItem.ɵfac = function MatListItem_Factory(t) { return new (t || MatListItem)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_NAV_LIST, 8), ɵngcc0.ɵɵdirectiveInject(MAT_LIST, 8)); };
-MatListItem.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatListItem, selectors: [["mat-list-item"], ["a", "mat-list-item", ""], ["button", "mat-list-item", ""]], contentQueries: function MatListItem_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
-        ɵngcc0.ɵɵcontentQuery(dirIndex, MatListAvatarCssMatStyler, 5);
-        ɵngcc0.ɵɵcontentQuery(dirIndex, MatListIconCssMatStyler, 5);
-        ɵngcc0.ɵɵcontentQuery(dirIndex, MatLine, 5);
-    } if (rf & 2) {
-        let _t;
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._avatar = _t.first);
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._icon = _t.first);
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._lines = _t);
-    } }, hostAttrs: [1, "mat-list-item", "mat-focus-indicator"], hostVars: 6, hostBindings: function MatListItem_HostBindings(rf, ctx) { if (rf & 2) {
-        ɵngcc0.ɵɵclassProp("mat-list-item-disabled", ctx.disabled)("mat-list-item-avatar", ctx._avatar || ctx._icon)("mat-list-item-with-avatar", ctx._avatar || ctx._icon);
-    } }, inputs: { disableRipple: "disableRipple", disabled: "disabled" }, exportAs: ["matListItem"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c3, decls: 6, vars: 2, consts: [[1, "mat-list-item-content"], ["mat-ripple", "", 1, "mat-list-item-ripple", 3, "matRippleTrigger", "matRippleDisabled"], [1, "mat-list-text"]], template: function MatListItem_Template(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵprojectionDef(_c2);
-        ɵngcc0.ɵɵelementStart(0, "div", 0);
-        ɵngcc0.ɵɵelement(1, "div", 1);
-        ɵngcc0.ɵɵprojection(2);
-        ɵngcc0.ɵɵelementStart(3, "div", 2);
-        ɵngcc0.ɵɵprojection(4, 1);
-        ɵngcc0.ɵɵelementEnd();
-        ɵngcc0.ɵɵprojection(5, 2);
-        ɵngcc0.ɵɵelementEnd();
-    } if (rf & 2) {
-        ɵngcc0.ɵɵadvance(1);
-        ɵngcc0.ɵɵproperty("matRippleTrigger", ctx._getHostElement())("matRippleDisabled", ctx._isRippleDisabled());
-    } }, directives: [ɵngcc1.MatRipple], encapsulation: 2, changeDetection: 0 });
-MatListItem.ctorParameters = () => [
-    { type: ElementRef },
-    { type: ChangeDetectorRef },
-    { type: MatNavList, decorators: [{ type: Optional }, { type: Inject, args: [MAT_NAV_LIST,] }] },
-    { type: MatList, decorators: [{ type: Optional }, { type: Inject, args: [MAT_LIST,] }] }
-];
-MatListItem.propDecorators = {
-    _lines: [{ type: ContentChildren, args: [MatLine, { descendants: true },] }],
-    _avatar: [{ type: ContentChild, args: [MatListAvatarCssMatStyler,] }],
-    _icon: [{ type: ContentChild, args: [MatListIconCssMatStyler,] }],
-    disabled: [{ type: Input }]
-};
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListItem, [{
-        type: Component,
-        args: [{
-                selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',
-                exportAs: 'matListItem',
-                host: {
-                    'class': 'mat-list-item mat-focus-indicator',
-                    '[class.mat-list-item-disabled]': 'disabled',
-                    // @breaking-change 8.0.0 Remove `mat-list-item-avatar` in favor of `mat-list-item-with-avatar`.
-                    '[class.mat-list-item-avatar]': '_avatar || _icon',
-                    '[class.mat-list-item-with-avatar]': '_avatar || _icon'
-                },
-                inputs: ['disableRipple'],
-                template: "<div class=\"mat-list-item-content\">\n  <div class=\"mat-list-item-ripple\" mat-ripple\n       [matRippleTrigger]=\"_getHostElement()\"\n       [matRippleDisabled]=\"_isRippleDisabled()\">\n  </div>\n\n  <ng-content select=\"[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]\">\n  </ng-content>\n\n  <div class=\"mat-list-text\"><ng-content select=\"[mat-line], [matLine]\"></ng-content></div>\n\n  <ng-content></ng-content>\n</div>\n",
-                encapsulation: ViewEncapsulation.None,
-                changeDetection: ChangeDetectionStrategy.OnPush
-            }]
-    }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: MatNavList, decorators: [{
-                type: Optional
-            }, {
-                type: Inject,
-                args: [MAT_NAV_LIST]
-            }] }, { type: MatList, decorators: [{
-                type: Optional
-            }, {
-                type: Inject,
-                args: [MAT_LIST]
-            }] }]; }, { disabled: [{
-            type: Input
-        }], _lines: [{
-            type: ContentChildren,
-            args: [MatLine, { descendants: true }]
-        }], _avatar: [{
-            type: ContentChild,
-            args: [MatListAvatarCssMatStyler]
-        }], _icon: [{
-            type: ContentChild,
-            args: [MatListIconCssMatStyler]
-        }] }); })();
-
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-const _MatSelectionListBase = mixinDisableRipple(class {
-});
-const _MatListOptionBase = mixinDisableRipple(class {
-});
-/** @docs-private */
-const MAT_SELECTION_LIST_VALUE_ACCESSOR = {
-    provide: NG_VALUE_ACCESSOR,
-    useExisting: forwardRef(() => MatSelectionList),
-    multi: true
-};
-/** Change event that is being fired whenever the selected state of an option changes. */
-class MatSelectionListChange {
-    constructor(
-    /** Reference to the selection list that emitted the event. */
-    source, 
-    /**
-     * Reference to the option that has been changed.
-     * @deprecated Use `options` instead, because some events may change more than one option.
-     * @breaking-change 12.0.0
-     */
-    option, 
-    /** Reference to the options that have been changed. */
-    options) {
-        this.source = source;
-        this.option = option;
-        this.options = options;
-    }
-}
-/**
- * Component for list-options of selection-list. Each list-option can automatically
- * generate a checkbox and can put current item into the selectionModel of selection-list
- * if the current item is selected.
- */
-class MatListOption extends _MatListOptionBase {
-    constructor(_element, _changeDetector, 
-    /** @docs-private */
-    selectionList) {
-        super();
-        this._element = _element;
-        this._changeDetector = _changeDetector;
-        this.selectionList = selectionList;
-        this._selected = false;
-        this._disabled = false;
-        this._hasFocus = false;
-        /**
-         * Emits when the selected state of the option has changed.
-         * Use to facilitate two-data binding to the `selected` property.
-         * @docs-private
-         */
-        this.selectedChange = new EventEmitter();
-        /** Whether the label should appear before or after the checkbox. Defaults to 'after' */
-        this.checkboxPosition = 'after';
-        /**
-         * This is set to true after the first OnChanges cycle so we don't clear the value of `selected`
-         * in the first cycle.
-         */
-        this._inputsInitialized = false;
-    }
-    /** Theme color of the list option. This sets the color of the checkbox. */
-    get color() { return this._color || this.selectionList.color; }
-    set color(newValue) { this._color = newValue; }
-    /** Value of the option */
-    get value() { return this._value; }
-    set value(newValue) {
-        if (this.selected &&
-            !this.selectionList.compareWith(newValue, this.value) &&
-            this._inputsInitialized) {
-            this.selected = false;
-        }
-        this._value = newValue;
-    }
-    /** Whether the option is disabled. */
-    get disabled() { return this._disabled || (this.selectionList && this.selectionList.disabled); }
-    set disabled(value) {
-        const newValue = coerceBooleanProperty(value);
-        if (newValue !== this._disabled) {
-            this._disabled = newValue;
-            this._changeDetector.markForCheck();
-        }
-    }
-    /** Whether the option is selected. */
-    get selected() { return this.selectionList.selectedOptions.isSelected(this); }
-    set selected(value) {
-        const isSelected = coerceBooleanProperty(value);
-        if (isSelected !== this._selected) {
-            this._setSelected(isSelected);
-            if (isSelected || this.selectionList.multiple) {
-                this.selectionList._reportValueChange();
-            }
-        }
-    }
-    ngOnInit() {
-        const list = this.selectionList;
-        if (list._value && list._value.some(value => list.compareWith(value, this._value))) {
-            this._setSelected(true);
-        }
-        const wasSelected = this._selected;
-        // List options that are selected at initialization can't be reported properly to the form
-        // control. This is because it takes some time until the selection-list knows about all
-        // available options. Also it can happen that the ControlValueAccessor has an initial value
-        // that should be used instead. Deferring the value change report to the next tick ensures
-        // that the form control value is not being overwritten.
-        Promise.resolve().then(() => {
-            if (this._selected || wasSelected) {
-                this.selected = true;
-                this._changeDetector.markForCheck();
-            }
-        });
-        this._inputsInitialized = true;
-    }
-    ngAfterContentInit() {
-        setLines(this._lines, this._element);
-    }
-    ngOnDestroy() {
-        if (this.selected) {
-            // We have to delay this until the next tick in order
-            // to avoid changed after checked errors.
-            Promise.resolve().then(() => {
-                this.selected = false;
-            });
-        }
-        const hadFocus = this._hasFocus;
-        const newActiveItem = this.selectionList._removeOptionFromList(this);
-        // Only move focus if this option was focused at the time it was destroyed.
-        if (hadFocus && newActiveItem) {
-            newActiveItem.focus();
-        }
-    }
-    /** Toggles the selection state of the option. */
-    toggle() {
-        this.selected = !this.selected;
-    }
-    /** Allows for programmatic focusing of the option. */
-    focus() {
-        this._element.nativeElement.focus();
-    }
-    /**
-     * Returns the list item's text label. Implemented as a part of the FocusKeyManager.
-     * @docs-private
-     */
-    getLabel() {
-        return this._text ? (this._text.nativeElement.textContent || '') : '';
-    }
-    /** Whether this list item should show a ripple effect when clicked. */
-    _isRippleDisabled() {
-        return this.disabled || this.disableRipple || this.selectionList.disableRipple;
-    }
-    _handleClick() {
-        if (!this.disabled && (this.selectionList.multiple || !this.selected)) {
-            this.toggle();
-            // Emit a change event if the selected state of the option changed through user interaction.
-            this.selectionList._emitChangeEvent([this]);
-        }
-    }
-    _handleFocus() {
-        this.selectionList._setFocusedOption(this);
-        this._hasFocus = true;
-    }
-    _handleBlur() {
-        this.selectionList._onTouched();
-        this._hasFocus = false;
-    }
-    /** Retrieves the DOM element of the component host. */
-    _getHostElement() {
-        return this._element.nativeElement;
-    }
-    /** Sets the selected state of the option. Returns whether the value has changed. */
-    _setSelected(selected) {
-        if (selected === this._selected) {
-            return false;
-        }
-        this._selected = selected;
-        if (selected) {
-            this.selectionList.selectedOptions.select(this);
-        }
-        else {
-            this.selectionList.selectedOptions.deselect(this);
-        }
-        this.selectedChange.emit(selected);
-        this._changeDetector.markForCheck();
-        return true;
-    }
-    /**
-     * Notifies Angular that the option needs to be checked in the next change detection run. Mainly
-     * used to trigger an update of the list option if the disabled state of the selection list
-     * changed.
-     */
-    _markForCheck() {
-        this._changeDetector.markForCheck();
-    }
-}
-MatListOption.ɵfac = function MatListOption_Factory(t) { return new (t || MatListOption)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(forwardRef(() => MatSelectionList))); };
-MatListOption.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatListOption, selectors: [["mat-list-option"]], contentQueries: function MatListOption_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
-        ɵngcc0.ɵɵcontentQuery(dirIndex, MatListAvatarCssMatStyler, 5);
-        ɵngcc0.ɵɵcontentQuery(dirIndex, MatListIconCssMatStyler, 5);
-        ɵngcc0.ɵɵcontentQuery(dirIndex, MatLine, 5);
-    } if (rf & 2) {
-        let _t;
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._avatar = _t.first);
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._icon = _t.first);
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._lines = _t);
-    } }, viewQuery: function MatListOption_Query(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵviewQuery(_c4, 5);
-    } if (rf & 2) {
-        let _t;
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._text = _t.first);
-    } }, hostAttrs: ["role", "option", 1, "mat-list-item", "mat-list-option", "mat-focus-indicator"], hostVars: 15, hostBindings: function MatListOption_HostBindings(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵlistener("focus", function MatListOption_focus_HostBindingHandler() { return ctx._handleFocus(); })("blur", function MatListOption_blur_HostBindingHandler() { return ctx._handleBlur(); })("click", function MatListOption_click_HostBindingHandler() { return ctx._handleClick(); });
-    } if (rf & 2) {
-        ɵngcc0.ɵɵattribute("aria-selected", ctx.selected)("aria-disabled", ctx.disabled)("tabindex", -1);
-        ɵngcc0.ɵɵclassProp("mat-list-item-disabled", ctx.disabled)("mat-list-item-with-avatar", ctx._avatar || ctx._icon)("mat-primary", ctx.color === "primary")("mat-accent", ctx.color !== "primary" && ctx.color !== "warn")("mat-warn", ctx.color === "warn")("mat-list-single-selected-option", ctx.selected && !ctx.selectionList.multiple);
-    } }, inputs: { disableRipple: "disableRipple", checkboxPosition: "checkboxPosition", color: "color", value: "value", selected: "selected", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, exportAs: ["matListOption"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c6, decls: 7, vars: 5, consts: [[1, "mat-list-item-content"], ["mat-ripple", "", 1, "mat-list-item-ripple", 3, "matRippleTrigger", "matRippleDisabled"], [3, "state", "disabled", 4, "ngIf"], [1, "mat-list-text"], ["text", ""], [3, "state", "disabled"]], template: function MatListOption_Template(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵprojectionDef(_c5);
-        ɵngcc0.ɵɵelementStart(0, "div", 0);
-        ɵngcc0.ɵɵelement(1, "div", 1);
-        ɵngcc0.ɵɵtemplate(2, MatListOption_mat_pseudo_checkbox_2_Template, 1, 2, "mat-pseudo-checkbox", 2);
-        ɵngcc0.ɵɵelementStart(3, "div", 3, 4);
-        ɵngcc0.ɵɵprojection(5);
-        ɵngcc0.ɵɵelementEnd();
-        ɵngcc0.ɵɵprojection(6, 1);
-        ɵngcc0.ɵɵelementEnd();
-    } if (rf & 2) {
-        ɵngcc0.ɵɵclassProp("mat-list-item-content-reverse", ctx.checkboxPosition == "after");
-        ɵngcc0.ɵɵadvance(1);
-        ɵngcc0.ɵɵproperty("matRippleTrigger", ctx._getHostElement())("matRippleDisabled", ctx._isRippleDisabled());
-        ɵngcc0.ɵɵadvance(1);
-        ɵngcc0.ɵɵproperty("ngIf", ctx.selectionList.multiple);
-    } }, directives: [ɵngcc1.MatRipple, ɵngcc2.NgIf, ɵngcc1.MatPseudoCheckbox], encapsulation: 2, changeDetection: 0 });
-MatListOption.ctorParameters = () => [
-    { type: ElementRef },
-    { type: ChangeDetectorRef },
-    { type: MatSelectionList, decorators: [{ type: Inject, args: [forwardRef(() => MatSelectionList),] }] }
-];
-MatListOption.propDecorators = {
-    _avatar: [{ type: ContentChild, args: [MatListAvatarCssMatStyler,] }],
-    _icon: [{ type: ContentChild, args: [MatListIconCssMatStyler,] }],
-    _lines: [{ type: ContentChildren, args: [MatLine, { descendants: true },] }],
-    selectedChange: [{ type: Output }],
-    _text: [{ type: ViewChild, args: ['text',] }],
-    checkboxPosition: [{ type: Input }],
-    color: [{ type: Input }],
-    value: [{ type: Input }],
-    disabled: [{ type: Input }],
-    selected: [{ type: Input }]
-};
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListOption, [{
-        type: Component,
-        args: [{
-                selector: 'mat-list-option',
-                exportAs: 'matListOption',
-                inputs: ['disableRipple'],
-                host: {
-                    'role': 'option',
-                    'class': 'mat-list-item mat-list-option mat-focus-indicator',
-                    '(focus)': '_handleFocus()',
-                    '(blur)': '_handleBlur()',
-                    '(click)': '_handleClick()',
-                    '[class.mat-list-item-disabled]': 'disabled',
-                    '[class.mat-list-item-with-avatar]': '_avatar || _icon',
-                    // Manually set the "primary" or "warn" class if the color has been explicitly
-                    // set to "primary" or "warn". The pseudo checkbox picks up these classes for
-                    // its theme.
-                    '[class.mat-primary]': 'color === "primary"',
-                    // Even though accent is the default, we need to set this class anyway, because the  list might
-                    // be placed inside a parent that has one of the other colors with a higher specificity.
-                    '[class.mat-accent]': 'color !== "primary" && color !== "warn"',
-                    '[class.mat-warn]': 'color === "warn"',
-                    '[class.mat-list-single-selected-option]': 'selected && !selectionList.multiple',
-                    '[attr.aria-selected]': 'selected',
-                    '[attr.aria-disabled]': 'disabled',
-                    '[attr.tabindex]': '-1'
-                },
-                template: "<div class=\"mat-list-item-content\"\n  [class.mat-list-item-content-reverse]=\"checkboxPosition == 'after'\">\n\n  <div mat-ripple\n    class=\"mat-list-item-ripple\"\n    [matRippleTrigger]=\"_getHostElement()\"\n    [matRippleDisabled]=\"_isRippleDisabled()\"></div>\n\n  <mat-pseudo-checkbox\n    *ngIf=\"selectionList.multiple\"\n    [state]=\"selected ? 'checked' : 'unchecked'\"\n    [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n  <div class=\"mat-list-text\" #text><ng-content></ng-content></div>\n\n  <ng-content select=\"[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]\">\n  </ng-content>\n\n</div>\n",
-                encapsulation: ViewEncapsulation.None,
-                changeDetection: ChangeDetectionStrategy.OnPush
-            }]
-    }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: MatSelectionList, decorators: [{
-                type: Inject,
-                args: [forwardRef(() => MatSelectionList)]
-            }] }]; }, { selectedChange: [{
-            type: Output
-        }], checkboxPosition: [{
-            type: Input
-        }], color: [{
-            type: Input
-        }], value: [{
-            type: Input
-        }], selected: [{
-            type: Input
-        }], disabled: [{
-            type: Input
-        }], _avatar: [{
-            type: ContentChild,
-            args: [MatListAvatarCssMatStyler]
-        }], _icon: [{
-            type: ContentChild,
-            args: [MatListIconCssMatStyler]
-        }], _lines: [{
-            type: ContentChildren,
-            args: [MatLine, { descendants: true }]
-        }], _text: [{
-            type: ViewChild,
-            args: ['text']
-        }] }); })();
-/**
- * Material Design list component where each item is a selectable option. Behaves as a listbox.
- */
-class MatSelectionList extends _MatSelectionListBase {
-    constructor(_element, 
-    // @breaking-change 11.0.0 Remove `tabIndex` parameter.
-    tabIndex, _changeDetector, 
-    // @breaking-change 11.0.0 `_focusMonitor` parameter to become required.
-    _focusMonitor) {
-        super();
-        this._element = _element;
-        this._changeDetector = _changeDetector;
-        this._focusMonitor = _focusMonitor;
-        this._multiple = true;
-        this._contentInitialized = false;
-        /** Emits a change event whenever the selected state of an option changes. */
-        this.selectionChange = new EventEmitter();
-        /**
-         * Tabindex of the selection list.
-         * @breaking-change 11.0.0 Remove `tabIndex` input.
-         */
-        this.tabIndex = 0;
-        /** Theme color of the selection list. This sets the checkbox color for all list options. */
-        this.color = 'accent';
-        /**
-         * Function used for comparing an option against the selected value when determining which
-         * options should appear as selected. The first argument is the value of an options. The second
-         * one is a value from the selected value. A boolean must be returned.
-         */
-        this.compareWith = (a1, a2) => a1 === a2;
-        this._disabled = false;
-        /** The currently selected options. */
-        this.selectedOptions = new SelectionModel(this._multiple);
-        /** The tabindex of the selection list. */
-        this._tabIndex = -1;
-        /** View to model callback that should be called whenever the selected options change. */
-        this._onChange = (_) => { };
-        /** Emits when the list has been destroyed. */
-        this._destroyed = new Subject();
-        /** View to model callback that should be called if the list or its options lost focus. */
-        this._onTouched = () => { };
-    }
-    /** Whether the selection list is disabled. */
-    get disabled() { return this._disabled; }
-    set disabled(value) {
-        this._disabled = coerceBooleanProperty(value);
-        // The `MatSelectionList` and `MatListOption` are using the `OnPush` change detection
-        // strategy. Therefore the options will not check for any changes if the `MatSelectionList`
-        // changed its state. Since we know that a change to `disabled` property of the list affects
-        // the state of the options, we manually mark each option for check.
-        this._markOptionsForCheck();
-    }
-    /** Whether selection is limited to one or multiple items (default multiple). */
-    get multiple() { return this._multiple; }
-    set multiple(value) {
-        const newValue = coerceBooleanProperty(value);
-        if (newValue !== this._multiple) {
-            if (this._contentInitialized && (typeof ngDevMode === 'undefined' || ngDevMode)) {
-                throw new Error('Cannot change `multiple` mode of mat-selection-list after initialization.');
-            }
-            this._multiple = newValue;
-            this.selectedOptions = new SelectionModel(this._multiple, this.selectedOptions.selected);
-        }
-    }
-    ngAfterContentInit() {
-        var _a;
-        this._contentInitialized = true;
-        this._keyManager = new FocusKeyManager(this.options)
-            .withWrap()
-            .withTypeAhead()
-            .withHomeAndEnd()
-            // Allow disabled items to be focusable. For accessibility reasons, there must be a way for
-            // screenreader users, that allows reading the different options of the list.
-            .skipPredicate(() => false)
-            .withAllowedModifierKeys(['shiftKey']);
-        if (this._value) {
-            this._setOptionsFromValues(this._value);
-        }
-        // If the user attempts to tab out of the selection list, allow focus to escape.
-        this._keyManager.tabOut.pipe(takeUntil(this._destroyed)).subscribe(() => {
-            this._allowFocusEscape();
-        });
-        // When the number of options change, update the tabindex of the selection list.
-        this.options.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {
-            this._updateTabIndex();
-        });
-        // Sync external changes to the model back to the options.
-        this.selectedOptions.changed.pipe(takeUntil(this._destroyed)).subscribe(event => {
-            if (event.added) {
-                for (let item of event.added) {
-                    item.selected = true;
-                }
-            }
-            if (event.removed) {
-                for (let item of event.removed) {
-                    item.selected = false;
-                }
-            }
-        });
-        // @breaking-change 11.0.0 Remove null assertion once _focusMonitor is required.
-        (_a = this._focusMonitor) === null || _a === void 0 ? void 0 : _a.monitor(this._element).pipe(takeUntil(this._destroyed)).subscribe(origin => {
-            var _a;
-            if (origin === 'keyboard' || origin === 'program') {
-                let toFocus = 0;
-                for (let i = 0; i < this.options.length; i++) {
-                    if ((_a = this.options.get(i)) === null || _a === void 0 ? void 0 : _a.selected) {
-                        toFocus = i;
-                        break;
-                    }
-                }
-                this._keyManager.setActiveItem(toFocus);
-            }
-        });
-    }
-    ngOnChanges(changes) {
-        const disableRippleChanges = changes['disableRipple'];
-        const colorChanges = changes['color'];
-        if ((disableRippleChanges && !disableRippleChanges.firstChange) ||
-            (colorChanges && !colorChanges.firstChange)) {
-            this._markOptionsForCheck();
-        }
-    }
-    ngOnDestroy() {
-        var _a;
-        // @breaking-change 11.0.0 Remove null assertion once _focusMonitor is required.
-        (_a = this._focusMonitor) === null || _a === void 0 ? void 0 : _a.stopMonitoring(this._element);
-        this._destroyed.next();
-        this._destroyed.complete();
-        this._isDestroyed = true;
-    }
-    /** Focuses the selection list. */
-    focus(options) {
-        this._element.nativeElement.focus(options);
-    }
-    /** Selects all of the options. Returns the options that changed as a result. */
-    selectAll() {
-        return this._setAllOptionsSelected(true);
-    }
-    /** Deselects all of the options. Returns the options that changed as a result. */
-    deselectAll() {
-        return this._setAllOptionsSelected(false);
-    }
-    /** Sets the focused option of the selection-list. */
-    _setFocusedOption(option) {
-        this._keyManager.updateActiveItem(option);
-    }
-    /**
-     * Removes an option from the selection list and updates the active item.
-     * @returns Currently-active item.
-     */
-    _removeOptionFromList(option) {
-        const optionIndex = this._getOptionIndex(option);
-        if (optionIndex > -1 && this._keyManager.activeItemIndex === optionIndex) {
-            // Check whether the option is the last item
-            if (optionIndex > 0) {
-                this._keyManager.updateActiveItem(optionIndex - 1);
-            }
-            else if (optionIndex === 0 && this.options.length > 1) {
-                this._keyManager.updateActiveItem(Math.min(optionIndex + 1, this.options.length - 1));
-            }
-        }
-        return this._keyManager.activeItem;
-    }
-    /** Passes relevant key presses to our key manager. */
-    _keydown(event) {
-        const keyCode = event.keyCode;
-        const manager = this._keyManager;
-        const previousFocusIndex = manager.activeItemIndex;
-        const hasModifier = hasModifierKey(event);
-        switch (keyCode) {
-            case SPACE:
-            case ENTER:
-                if (!hasModifier && !manager.isTyping()) {
-                    this._toggleFocusedOption();
-                    // Always prevent space from scrolling the page since the list has focus
-                    event.preventDefault();
-                }
-                break;
-            default:
-                // The "A" key gets special treatment, because it's used for the "select all" functionality.
-                if (keyCode === A && this.multiple && hasModifierKey(event, 'ctrlKey') &&
-                    !manager.isTyping()) {
-                    const shouldSelect = this.options.some(option => !option.disabled && !option.selected);
-                    this._setAllOptionsSelected(shouldSelect, true, true);
-                    event.preventDefault();
-                }
-                else {
-                    manager.onKeydown(event);
-                }
-        }
-        if (this.multiple && (keyCode === UP_ARROW || keyCode === DOWN_ARROW) && event.shiftKey &&
-            manager.activeItemIndex !== previousFocusIndex) {
-            this._toggleFocusedOption();
-        }
-    }
-    /** Reports a value change to the ControlValueAccessor */
-    _reportValueChange() {
-        // Stop reporting value changes after the list has been destroyed. This avoids
-        // cases where the list might wrongly reset its value once it is removed, but
-        // the form control is still live.
-        if (this.options && !this._isDestroyed) {
-            const value = this._getSelectedOptionValues();
-            this._onChange(value);
-            this._value = value;
-        }
-    }
-    /** Emits a change event if the selected state of an option changed. */
-    _emitChangeEvent(options) {
-        this.selectionChange.emit(new MatSelectionListChange(this, options[0], options));
-    }
-    /** Implemented as part of ControlValueAccessor. */
-    writeValue(values) {
-        this._value = values;
-        if (this.options) {
-            this._setOptionsFromValues(values || []);
-        }
-    }
-    /** Implemented as a part of ControlValueAccessor. */
-    setDisabledState(isDisabled) {
-        this.disabled = isDisabled;
-    }
-    /** Implemented as part of ControlValueAccessor. */
-    registerOnChange(fn) {
-        this._onChange = fn;
-    }
-    /** Implemented as part of ControlValueAccessor. */
-    registerOnTouched(fn) {
-        this._onTouched = fn;
-    }
-    /** Sets the selected options based on the specified values. */
-    _setOptionsFromValues(values) {
-        this.options.forEach(option => option._setSelected(false));
-        values.forEach(value => {
-            const correspondingOption = this.options.find(option => {
-                // Skip options that are already in the model. This allows us to handle cases
-                // where the same primitive value is selected multiple times.
-                return option.selected ? false : this.compareWith(option.value, value);
-            });
-            if (correspondingOption) {
-                correspondingOption._setSelected(true);
-            }
-        });
-    }
-    /** Returns the values of the selected options. */
-    _getSelectedOptionValues() {
-        return this.options.filter(option => option.selected).map(option => option.value);
-    }
-    /** Toggles the state of the currently focused option if enabled. */
-    _toggleFocusedOption() {
-        let focusedIndex = this._keyManager.activeItemIndex;
-        if (focusedIndex != null && this._isValidIndex(focusedIndex)) {
-            let focusedOption = this.options.toArray()[focusedIndex];
-            if (focusedOption && !focusedOption.disabled && (this._multiple || !focusedOption.selected)) {
-                focusedOption.toggle();
-                // Emit a change event because the focused option changed its state through user
-                // interaction.
-                this._emitChangeEvent([focusedOption]);
-            }
-        }
-    }
-    /**
-     * Sets the selected state on all of the options
-     * and emits an event if anything changed.
-     */
-    _setAllOptionsSelected(isSelected, skipDisabled, isUserInput) {
-        // Keep track of whether anything changed, because we only want to
-        // emit the changed event when something actually changed.
-        const changedOptions = [];
-        this.options.forEach(option => {
-            if ((!skipDisabled || !option.disabled) && option._setSelected(isSelected)) {
-                changedOptions.push(option);
-            }
-        });
-        if (changedOptions.length) {
-            this._reportValueChange();
-            if (isUserInput) {
-                this._emitChangeEvent(changedOptions);
-            }
-        }
-        return changedOptions;
-    }
-    /**
-     * Utility to ensure all indexes are valid.
-     * @param index The index to be checked.
-     * @returns True if the index is valid for our list of options.
-     */
-    _isValidIndex(index) {
-        return index >= 0 && index < this.options.length;
-    }
-    /** Returns the index of the specified list option. */
-    _getOptionIndex(option) {
-        return this.options.toArray().indexOf(option);
-    }
-    /** Marks all the options to be checked in the next change detection run. */
-    _markOptionsForCheck() {
-        if (this.options) {
-            this.options.forEach(option => option._markForCheck());
-        }
-    }
-    /**
-     * Removes the tabindex from the selection list and resets it back afterwards, allowing the user
-     * to tab out of it. This prevents the list from capturing focus and redirecting it back within
-     * the list, creating a focus trap if it user tries to tab away.
-     */
-    _allowFocusEscape() {
-        this._tabIndex = -1;
-        setTimeout(() => {
-            this._tabIndex = 0;
-            this._changeDetector.markForCheck();
-        });
-    }
-    /** Updates the tabindex based upon if the selection list is empty. */
-    _updateTabIndex() {
-        this._tabIndex = (this.options.length === 0) ? -1 : 0;
-    }
-}
-MatSelectionList.ɵfac = function MatSelectionList_Factory(t) { return new (t || MatSelectionList)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.FocusMonitor)); };
-MatSelectionList.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatSelectionList, selectors: [["mat-selection-list"]], contentQueries: function MatSelectionList_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
-        ɵngcc0.ɵɵcontentQuery(dirIndex, MatListOption, 5);
-    } if (rf & 2) {
-        let _t;
-        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.options = _t);
-    } }, hostAttrs: ["role", "listbox", 1, "mat-selection-list", "mat-list-base"], hostVars: 3, hostBindings: function MatSelectionList_HostBindings(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵlistener("keydown", function MatSelectionList_keydown_HostBindingHandler($event) { return ctx._keydown($event); });
-    } if (rf & 2) {
-        ɵngcc0.ɵɵattribute("aria-multiselectable", ctx.multiple)("aria-disabled", ctx.disabled.toString())("tabindex", ctx._tabIndex);
-    } }, inputs: { disableRipple: "disableRipple", tabIndex: "tabIndex", color: "color", compareWith: "compareWith", disabled: "disabled", multiple: "multiple" }, outputs: { selectionChange: "selectionChange" }, exportAs: ["matSelectionList"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_SELECTION_LIST_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatSelectionList_Template(rf, ctx) { if (rf & 1) {
-        ɵngcc0.ɵɵprojectionDef();
-        ɵngcc0.ɵɵprojection(0);
-    } }, styles: [_c1], encapsulation: 2, changeDetection: 0 });
-MatSelectionList.ctorParameters = () => [
-    { type: ElementRef },
-    { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },
-    { type: ChangeDetectorRef },
-    { type: FocusMonitor }
-];
-MatSelectionList.propDecorators = {
-    options: [{ type: ContentChildren, args: [MatListOption, { descendants: true },] }],
-    selectionChange: [{ type: Output }],
-    tabIndex: [{ type: Input }],
-    color: [{ type: Input }],
-    compareWith: [{ type: Input }],
-    disabled: [{ type: Input }],
-    multiple: [{ type: Input }]
-};
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSelectionList, [{
-        type: Component,
-        args: [{
-                selector: 'mat-selection-list',
-                exportAs: 'matSelectionList',
-                inputs: ['disableRipple'],
-                host: {
-                    'role': 'listbox',
-                    'class': 'mat-selection-list mat-list-base',
-                    '(keydown)': '_keydown($event)',
-                    '[attr.aria-multiselectable]': 'multiple',
-                    '[attr.aria-disabled]': 'disabled.toString()',
-                    '[attr.tabindex]': '_tabIndex'
-                },
-                template: '<ng-content></ng-content>',
-                encapsulation: ViewEncapsulation.None,
-                providers: [MAT_SELECTION_LIST_VALUE_ACCESSOR],
-                changeDetection: ChangeDetectionStrategy.OnPush,
-                styles: [".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n"]
-            }]
-    }], function () { return [{ type: ɵngcc0.ElementRef }, { type: String, decorators: [{
-                type: Attribute,
-                args: ['tabindex']
-            }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc3.FocusMonitor }]; }, { selectionChange: [{
-            type: Output
-        }], tabIndex: [{
-            type: Input
-        }], color: [{
-            type: Input
-        }], compareWith: [{
-            type: Input
-        }], disabled: [{
-            type: Input
-        }], multiple: [{
-            type: Input
-        }], options: [{
-            type: ContentChildren,
-            args: [MatListOption, { descendants: true }]
-        }] }); })();
-
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-class MatListModule {
-}
-MatListModule.ɵfac = function MatListModule_Factory(t) { return new (t || MatListModule)(); };
-MatListModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatListModule });
-MatListModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule], MatLineModule,
-        MatCommonModule,
-        MatPseudoCheckboxModule,
-        MatDividerModule] });
-(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListModule, [{
-        type: NgModule,
-        args: [{
-                imports: [MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule],
-                exports: [
-                    MatList,
-                    MatNavList,
-                    MatListItem,
-                    MatListAvatarCssMatStyler,
-                    MatLineModule,
-                    MatCommonModule,
-                    MatListIconCssMatStyler,
-                    MatListSubheaderCssMatStyler,
-                    MatPseudoCheckboxModule,
-                    MatSelectionList,
-                    MatListOption,
-                    MatDividerModule
-                ],
-                declarations: [
-                    MatList,
-                    MatNavList,
-                    MatListItem,
-                    MatListAvatarCssMatStyler,
-                    MatListIconCssMatStyler,
-                    MatListSubheaderCssMatStyler,
-                    MatSelectionList,
-                    MatListOption
-                ]
-            }]
-    }], null, null); })();
-(function () { (typeof ngJitMode === "undefined" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatListModule, { declarations: function () { return [MatList, MatNavList, MatListItem, MatListAvatarCssMatStyler, MatListIconCssMatStyler, MatListSubheaderCssMatStyler, MatSelectionList, MatListOption]; }, imports: function () { return [MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule]; }, exports: function () { return [MatList, MatNavList, MatListItem, MatListAvatarCssMatStyler, MatLineModule,
-        MatCommonModule, MatListIconCssMatStyler, MatListSubheaderCssMatStyler, MatPseudoCheckboxModule, MatSelectionList, MatListOption, MatDividerModule]; } }); })();
-
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-/**
- * Generated bundle index. Do not edit.
- */
-
-export { MAT_LIST, MAT_NAV_LIST, MAT_SELECTION_LIST_VALUE_ACCESSOR, MatList, MatListAvatarCssMatStyler, MatListIconCssMatStyler, MatListItem, MatListModule, MatListOption, MatListSubheaderCssMatStyler, MatNavList, MatSelectionList, MatSelectionListChange };
-
-//# sourceMappingURL=list.js.map
Index: trip-planner-front/node_modules/@angular/material/__ivy_ngcc__/fesm2015/list.js.map
===================================================================
--- trip-planner-front/node_modules/@angular/material/__ivy_ngcc__/fesm2015/list.js.map	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,1 +1,0 @@
-{"version":3,"file":"list.js","sources":["../../../../../../src/material/list/list.ts","../../../../../../src/material/list/selection-list.ts","../../../../../../src/material/list/list-module.ts","../../../../../../src/material/list/public-api.ts","../../../../../../src/material/list/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty, BooleanInput} from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  Optional,\n  QueryList,\n  ViewEncapsulation,\n  OnChanges,\n  OnDestroy,\n  ChangeDetectorRef,\n  Input,\n  InjectionToken,\n  Inject,\n} from '@angular/core';\nimport {\n  CanDisable,\n  CanDisableRipple,\n  MatLine,\n  setLines,\n  mixinDisableRipple,\n  mixinDisabled,\n} from '@angular/material/core';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// Boilerplate for applying mixins to MatList.\n/** @docs-private */\nconst _MatListBase = mixinDisabled(mixinDisableRipple(class {}));\n\n// Boilerplate for applying mixins to MatListItem.\n/** @docs-private */\nconst _MatListItemMixinBase = mixinDisableRipple(class {});\n\n/**\n * Injection token that can be used to inject instances of `MatList`. It serves as\n * alternative token to the actual `MatList` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport const MAT_LIST = new InjectionToken<MatList>('MatList');\n\n/**\n * Injection token that can be used to inject instances of `MatNavList`. It serves as\n * alternative token to the actual `MatNavList` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport const MAT_NAV_LIST = new InjectionToken<MatNavList>('MatNavList');\n\n@Component({\n  selector: 'mat-nav-list',\n  exportAs: 'matNavList',\n  host: {\n    'role': 'navigation',\n    'class': 'mat-nav-list mat-list-base'\n  },\n  templateUrl: 'list.html',\n  styleUrls: ['list.css'],\n  inputs: ['disableRipple', 'disabled'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{provide: MAT_NAV_LIST, useExisting: MatNavList}],\n})\nexport class MatNavList extends _MatListBase implements CanDisable, CanDisableRipple,\n  OnChanges, OnDestroy {\n  /** Emits when the state of the list changes. */\n  readonly _stateChanges = new Subject<void>();\n\n  ngOnChanges() {\n    this._stateChanges.next();\n  }\n\n  ngOnDestroy() {\n    this._stateChanges.complete();\n  }\n\n  static ngAcceptInputType_disableRipple: BooleanInput;\n  static ngAcceptInputType_disabled: BooleanInput;\n}\n\n@Component({\n  selector: 'mat-list, mat-action-list',\n  exportAs: 'matList',\n  templateUrl: 'list.html',\n  host: {\n    'class': 'mat-list mat-list-base'\n  },\n  styleUrls: ['list.css'],\n  inputs: ['disableRipple', 'disabled'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{provide: MAT_LIST, useExisting: MatList}],\n})\nexport class MatList extends _MatListBase implements CanDisable, CanDisableRipple, OnChanges,\n  OnDestroy {\n  /** Emits when the state of the list changes. */\n  readonly _stateChanges = new Subject<void>();\n\n  constructor(private _elementRef: ElementRef<HTMLElement>) {\n    super();\n\n    if (this._getListType() === 'action-list') {\n      _elementRef.nativeElement.classList.add('mat-action-list');\n    }\n  }\n\n  _getListType(): 'list' | 'action-list' | null {\n    const nodeName = this._elementRef.nativeElement.nodeName.toLowerCase();\n\n    if (nodeName === 'mat-list') {\n      return 'list';\n    }\n\n    if (nodeName === 'mat-action-list') {\n      return 'action-list';\n    }\n\n    return null;\n  }\n\n  ngOnChanges() {\n    this._stateChanges.next();\n  }\n\n  ngOnDestroy() {\n    this._stateChanges.complete();\n  }\n\n  static ngAcceptInputType_disableRipple: BooleanInput;\n  static ngAcceptInputType_disabled: BooleanInput;\n}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n  selector: '[mat-list-avatar], [matListAvatar]',\n  host: {'class': 'mat-list-avatar'}\n})\nexport class MatListAvatarCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n  selector: '[mat-list-icon], [matListIcon]',\n  host: {'class': 'mat-list-icon'}\n})\nexport class MatListIconCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n  selector: '[mat-subheader], [matSubheader]',\n  host: {'class': 'mat-subheader'}\n})\nexport class MatListSubheaderCssMatStyler {}\n\n/** An item within a Material Design list. */\n@Component({\n  selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',\n  exportAs: 'matListItem',\n  host: {\n    'class': 'mat-list-item mat-focus-indicator',\n    '[class.mat-list-item-disabled]': 'disabled',\n    // @breaking-change 8.0.0 Remove `mat-list-item-avatar` in favor of `mat-list-item-with-avatar`.\n    '[class.mat-list-item-avatar]': '_avatar || _icon',\n    '[class.mat-list-item-with-avatar]': '_avatar || _icon',\n  },\n  inputs: ['disableRipple'],\n  templateUrl: 'list-item.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListItem extends _MatListItemMixinBase implements AfterContentInit,\n    CanDisableRipple, OnDestroy {\n  private _isInteractiveList: boolean = false;\n  private _list?: MatNavList | MatList;\n  private readonly _destroyed = new Subject<void>();\n\n  @ContentChildren(MatLine, {descendants: true}) _lines: QueryList<MatLine>;\n  @ContentChild(MatListAvatarCssMatStyler) _avatar: MatListAvatarCssMatStyler;\n  @ContentChild(MatListIconCssMatStyler) _icon: MatListIconCssMatStyler;\n\n  constructor(private _element: ElementRef<HTMLElement>,\n              _changeDetectorRef: ChangeDetectorRef,\n              @Optional() @Inject(MAT_NAV_LIST) navList?: MatNavList,\n              @Optional() @Inject(MAT_LIST) list?: MatList) {\n    super();\n    this._isInteractiveList = !!(navList || (list && list._getListType() === 'action-list'));\n    this._list = navList || list;\n\n    // If no type attribute is specified for <button>, set it to \"button\".\n    // If a type attribute is already specified, do nothing.\n    const element = this._getHostElement();\n\n    if (element.nodeName.toLowerCase() === 'button' && !element.hasAttribute('type')) {\n      element.setAttribute('type', 'button');\n    }\n\n    if (this._list) {\n      // React to changes in the state of the parent list since\n      // some of the item's properties depend on it (e.g. `disableRipple`).\n      this._list._stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {\n        _changeDetectorRef.markForCheck();\n      });\n    }\n  }\n\n  /** Whether the option is disabled. */\n  @Input()\n  get disabled() { return this._disabled || !!(this._list && this._list.disabled); }\n  set disabled(value: boolean) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  private _disabled = false;\n\n  ngAfterContentInit() {\n    setLines(this._lines, this._element);\n  }\n\n  ngOnDestroy() {\n    this._destroyed.next();\n    this._destroyed.complete();\n  }\n\n  /** Whether this list item should show a ripple effect when clicked. */\n  _isRippleDisabled() {\n    return !this._isInteractiveList || this.disableRipple ||\n           !!(this._list && this._list.disableRipple);\n  }\n\n  /** Retrieves the DOM element of the component host. */\n  _getHostElement(): HTMLElement {\n    return this._element.nativeElement;\n  }\n\n  static ngAcceptInputType_disableRipple: BooleanInput;\n  static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusableOption, FocusKeyManager, FocusMonitor} from '@angular/cdk/a11y';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {\n  A,\n  DOWN_ARROW,\n  ENTER,\n  hasModifierKey,\n  SPACE,\n  UP_ARROW,\n} from '@angular/cdk/keycodes';\nimport {\n  AfterContentInit,\n  Attribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Inject,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  QueryList,\n  SimpleChanges,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n  CanDisableRipple,\n  MatLine,\n  mixinDisableRipple,\n  setLines,\n  ThemePalette,\n} from '@angular/material/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\nimport {MatListAvatarCssMatStyler, MatListIconCssMatStyler} from './list';\n\nconst _MatSelectionListBase = mixinDisableRipple(class {});\nconst _MatListOptionBase = mixinDisableRipple(class {});\n\n/** @docs-private */\nexport const MAT_SELECTION_LIST_VALUE_ACCESSOR: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => MatSelectionList),\n  multi: true\n};\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport class MatSelectionListChange {\n  constructor(\n    /** Reference to the selection list that emitted the event. */\n    public source: MatSelectionList,\n    /**\n     * Reference to the option that has been changed.\n     * @deprecated Use `options` instead, because some events may change more than one option.\n     * @breaking-change 12.0.0\n     */\n    public option: MatListOption,\n    /** Reference to the options that have been changed. */\n    public options: MatListOption[]) {}\n}\n\n/**\n * Type describing possible positions of a checkbox in a list option\n * with respect to the list item's text.\n */\nexport type MatListOptionCheckboxPosition = 'before'|'after';\n\n/**\n * Component for list-options of selection-list. Each list-option can automatically\n * generate a checkbox and can put current item into the selectionModel of selection-list\n * if the current item is selected.\n */\n@Component({\n  selector: 'mat-list-option',\n  exportAs: 'matListOption',\n  inputs: ['disableRipple'],\n  host: {\n    'role': 'option',\n    'class': 'mat-list-item mat-list-option mat-focus-indicator',\n    '(focus)': '_handleFocus()',\n    '(blur)': '_handleBlur()',\n    '(click)': '_handleClick()',\n    '[class.mat-list-item-disabled]': 'disabled',\n    '[class.mat-list-item-with-avatar]': '_avatar || _icon',\n    // Manually set the \"primary\" or \"warn\" class if the color has been explicitly\n    // set to \"primary\" or \"warn\". The pseudo checkbox picks up these classes for\n    // its theme.\n    '[class.mat-primary]': 'color === \"primary\"',\n    // Even though accent is the default, we need to set this class anyway, because the  list might\n    // be placed inside a parent that has one of the other colors with a higher specificity.\n    '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n    '[class.mat-warn]': 'color === \"warn\"',\n    '[class.mat-list-single-selected-option]': 'selected && !selectionList.multiple',\n    '[attr.aria-selected]': 'selected',\n    '[attr.aria-disabled]': 'disabled',\n    '[attr.tabindex]': '-1',\n  },\n  templateUrl: 'list-option.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListOption extends _MatListOptionBase implements AfterContentInit, OnDestroy,\n                                                                      OnInit, FocusableOption,\n                                                                      CanDisableRipple {\n  private _selected = false;\n  private _disabled = false;\n  private _hasFocus = false;\n\n  @ContentChild(MatListAvatarCssMatStyler) _avatar: MatListAvatarCssMatStyler;\n  @ContentChild(MatListIconCssMatStyler) _icon: MatListIconCssMatStyler;\n  @ContentChildren(MatLine, {descendants: true}) _lines: QueryList<MatLine>;\n\n  /**\n   * Emits when the selected state of the option has changed.\n   * Use to facilitate two-data binding to the `selected` property.\n   * @docs-private\n   */\n  @Output()\n  readonly selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  /** DOM element containing the item's text. */\n  @ViewChild('text') _text: ElementRef;\n\n  /** Whether the label should appear before or after the checkbox. Defaults to 'after' */\n  @Input() checkboxPosition: MatListOptionCheckboxPosition = 'after';\n\n  /** Theme color of the list option. This sets the color of the checkbox. */\n  @Input()\n  get color(): ThemePalette { return this._color || this.selectionList.color; }\n  set color(newValue: ThemePalette) { this._color = newValue; }\n  private _color: ThemePalette;\n\n  /**\n   * This is set to true after the first OnChanges cycle so we don't clear the value of `selected`\n   * in the first cycle.\n   */\n  private _inputsInitialized = false;\n  /** Value of the option */\n  @Input()\n  get value(): any { return this._value; }\n  set value(newValue: any) {\n    if (\n      this.selected &&\n      !this.selectionList.compareWith(newValue, this.value) &&\n      this._inputsInitialized\n    ) {\n      this.selected = false;\n    }\n\n    this._value = newValue;\n  }\n  private _value: any;\n\n  /** Whether the option is disabled. */\n  @Input()\n  get disabled() { return this._disabled || (this.selectionList && this.selectionList.disabled); }\n  set disabled(value: any) {\n    const newValue = coerceBooleanProperty(value);\n\n    if (newValue !== this._disabled) {\n      this._disabled = newValue;\n      this._changeDetector.markForCheck();\n    }\n  }\n\n  /** Whether the option is selected. */\n  @Input()\n  get selected(): boolean { return this.selectionList.selectedOptions.isSelected(this); }\n  set selected(value: boolean) {\n    const isSelected = coerceBooleanProperty(value);\n\n    if (isSelected !== this._selected) {\n      this._setSelected(isSelected);\n\n      if (isSelected || this.selectionList.multiple) {\n        this.selectionList._reportValueChange();\n      }\n    }\n  }\n\n  constructor(private _element: ElementRef<HTMLElement>,\n              private _changeDetector: ChangeDetectorRef,\n              /** @docs-private */\n              @Inject(forwardRef(() => MatSelectionList)) public selectionList: MatSelectionList) {\n    super();\n  }\n\n  ngOnInit() {\n    const list = this.selectionList;\n\n    if (list._value && list._value.some(value => list.compareWith(value, this._value))) {\n      this._setSelected(true);\n    }\n\n    const wasSelected = this._selected;\n\n    // List options that are selected at initialization can't be reported properly to the form\n    // control. This is because it takes some time until the selection-list knows about all\n    // available options. Also it can happen that the ControlValueAccessor has an initial value\n    // that should be used instead. Deferring the value change report to the next tick ensures\n    // that the form control value is not being overwritten.\n    Promise.resolve().then(() => {\n      if (this._selected || wasSelected) {\n        this.selected = true;\n        this._changeDetector.markForCheck();\n      }\n    });\n    this._inputsInitialized = true;\n  }\n\n  ngAfterContentInit() {\n    setLines(this._lines, this._element);\n  }\n\n  ngOnDestroy(): void {\n    if (this.selected) {\n      // We have to delay this until the next tick in order\n      // to avoid changed after checked errors.\n      Promise.resolve().then(() => {\n        this.selected = false;\n      });\n    }\n\n    const hadFocus = this._hasFocus;\n    const newActiveItem = this.selectionList._removeOptionFromList(this);\n\n    // Only move focus if this option was focused at the time it was destroyed.\n    if (hadFocus && newActiveItem) {\n      newActiveItem.focus();\n    }\n  }\n\n  /** Toggles the selection state of the option. */\n  toggle(): void {\n    this.selected = !this.selected;\n  }\n\n  /** Allows for programmatic focusing of the option. */\n  focus(): void {\n    this._element.nativeElement.focus();\n  }\n\n  /**\n   * Returns the list item's text label. Implemented as a part of the FocusKeyManager.\n   * @docs-private\n   */\n  getLabel() {\n    return this._text ? (this._text.nativeElement.textContent || '') : '';\n  }\n\n  /** Whether this list item should show a ripple effect when clicked. */\n  _isRippleDisabled() {\n    return this.disabled || this.disableRipple || this.selectionList.disableRipple;\n  }\n\n  _handleClick() {\n    if (!this.disabled && (this.selectionList.multiple || !this.selected)) {\n      this.toggle();\n\n      // Emit a change event if the selected state of the option changed through user interaction.\n      this.selectionList._emitChangeEvent([this]);\n    }\n  }\n\n  _handleFocus() {\n    this.selectionList._setFocusedOption(this);\n    this._hasFocus = true;\n  }\n\n  _handleBlur() {\n    this.selectionList._onTouched();\n    this._hasFocus = false;\n  }\n\n  /** Retrieves the DOM element of the component host. */\n  _getHostElement(): HTMLElement {\n    return this._element.nativeElement;\n  }\n\n  /** Sets the selected state of the option. Returns whether the value has changed. */\n  _setSelected(selected: boolean): boolean {\n    if (selected === this._selected) {\n      return false;\n    }\n\n    this._selected = selected;\n\n    if (selected) {\n      this.selectionList.selectedOptions.select(this);\n    } else {\n      this.selectionList.selectedOptions.deselect(this);\n    }\n\n    this.selectedChange.emit(selected);\n    this._changeDetector.markForCheck();\n    return true;\n  }\n\n  /**\n   * Notifies Angular that the option needs to be checked in the next change detection run. Mainly\n   * used to trigger an update of the list option if the disabled state of the selection list\n   * changed.\n   */\n  _markForCheck() {\n    this._changeDetector.markForCheck();\n  }\n\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_selected: BooleanInput;\n  static ngAcceptInputType_disableRipple: BooleanInput;\n}\n\n\n/**\n * Material Design list component where each item is a selectable option. Behaves as a listbox.\n */\n@Component({\n  selector: 'mat-selection-list',\n  exportAs: 'matSelectionList',\n  inputs: ['disableRipple'],\n  host: {\n    'role': 'listbox',\n    'class': 'mat-selection-list mat-list-base',\n    '(keydown)': '_keydown($event)',\n    '[attr.aria-multiselectable]': 'multiple',\n    '[attr.aria-disabled]': 'disabled.toString()',\n    '[attr.tabindex]': '_tabIndex',\n  },\n  template: '<ng-content></ng-content>',\n  styleUrls: ['list.css'],\n  encapsulation: ViewEncapsulation.None,\n  providers: [MAT_SELECTION_LIST_VALUE_ACCESSOR],\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MatSelectionList extends _MatSelectionListBase implements CanDisableRipple,\n  AfterContentInit, ControlValueAccessor, OnDestroy, OnChanges {\n  private _multiple = true;\n  private _contentInitialized = false;\n\n  /** The FocusKeyManager which handles focus. */\n  _keyManager: FocusKeyManager<MatListOption>;\n\n  /** The option components contained within this selection-list. */\n  @ContentChildren(MatListOption, {descendants: true}) options: QueryList<MatListOption>;\n\n  /** Emits a change event whenever the selected state of an option changes. */\n  @Output() readonly selectionChange: EventEmitter<MatSelectionListChange> =\n      new EventEmitter<MatSelectionListChange>();\n\n  /**\n   * Tabindex of the selection list.\n   * @breaking-change 11.0.0 Remove `tabIndex` input.\n   */\n  @Input() tabIndex: number = 0;\n\n  /** Theme color of the selection list. This sets the checkbox color for all list options. */\n  @Input() color: ThemePalette = 'accent';\n\n  /**\n   * Function used for comparing an option against the selected value when determining which\n   * options should appear as selected. The first argument is the value of an options. The second\n   * one is a value from the selected value. A boolean must be returned.\n   */\n  @Input() compareWith: (o1: any, o2: any) => boolean = (a1, a2) => a1 === a2;\n\n  /** Whether the selection list is disabled. */\n  @Input()\n  get disabled(): boolean { return this._disabled; }\n  set disabled(value: boolean) {\n    this._disabled = coerceBooleanProperty(value);\n\n    // The `MatSelectionList` and `MatListOption` are using the `OnPush` change detection\n    // strategy. Therefore the options will not check for any changes if the `MatSelectionList`\n    // changed its state. Since we know that a change to `disabled` property of the list affects\n    // the state of the options, we manually mark each option for check.\n    this._markOptionsForCheck();\n  }\n  private _disabled: boolean = false;\n\n  /** Whether selection is limited to one or multiple items (default multiple). */\n  @Input()\n  get multiple(): boolean { return this._multiple; }\n  set multiple(value: boolean) {\n    const newValue = coerceBooleanProperty(value);\n\n    if (newValue !== this._multiple) {\n      if (this._contentInitialized && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw new Error(\n            'Cannot change `multiple` mode of mat-selection-list after initialization.');\n      }\n\n      this._multiple = newValue;\n      this.selectedOptions = new SelectionModel(this._multiple, this.selectedOptions.selected);\n    }\n  }\n\n  /** The currently selected options. */\n  selectedOptions = new SelectionModel<MatListOption>(this._multiple);\n\n  /** The tabindex of the selection list. */\n  _tabIndex = -1;\n\n  /** View to model callback that should be called whenever the selected options change. */\n  private _onChange: (value: any) => void = (_: any) => {};\n\n  /** Keeps track of the currently-selected value. */\n  _value: string[]|null;\n\n  /** Emits when the list has been destroyed. */\n  private readonly _destroyed = new Subject<void>();\n\n  /** View to model callback that should be called if the list or its options lost focus. */\n  _onTouched: () => void = () => {};\n\n  /** Whether the list has been destroyed. */\n  private _isDestroyed: boolean;\n\n  constructor(private _element: ElementRef<HTMLElement>,\n    // @breaking-change 11.0.0 Remove `tabIndex` parameter.\n    @Attribute('tabindex') tabIndex: string,\n    private _changeDetector: ChangeDetectorRef,\n    // @breaking-change 11.0.0 `_focusMonitor` parameter to become required.\n    private _focusMonitor?: FocusMonitor) {\n    super();\n  }\n\n  ngAfterContentInit(): void {\n    this._contentInitialized = true;\n\n    this._keyManager = new FocusKeyManager<MatListOption>(this.options)\n      .withWrap()\n      .withTypeAhead()\n      .withHomeAndEnd()\n      // Allow disabled items to be focusable. For accessibility reasons, there must be a way for\n      // screenreader users, that allows reading the different options of the list.\n      .skipPredicate(() => false)\n      .withAllowedModifierKeys(['shiftKey']);\n\n    if (this._value) {\n      this._setOptionsFromValues(this._value);\n    }\n\n    // If the user attempts to tab out of the selection list, allow focus to escape.\n    this._keyManager.tabOut.pipe(takeUntil(this._destroyed)).subscribe(() => {\n      this._allowFocusEscape();\n    });\n\n    // When the number of options change, update the tabindex of the selection list.\n    this.options.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {\n      this._updateTabIndex();\n    });\n\n    // Sync external changes to the model back to the options.\n    this.selectedOptions.changed.pipe(takeUntil(this._destroyed)).subscribe(event => {\n      if (event.added) {\n        for (let item of event.added) {\n          item.selected = true;\n        }\n      }\n\n      if (event.removed) {\n        for (let item of event.removed) {\n          item.selected = false;\n        }\n      }\n    });\n\n    // @breaking-change 11.0.0 Remove null assertion once _focusMonitor is required.\n    this._focusMonitor?.monitor(this._element)\n      .pipe(takeUntil(this._destroyed))\n      .subscribe(origin => {\n        if (origin === 'keyboard' || origin === 'program') {\n          let toFocus = 0;\n          for (let i = 0; i < this.options.length; i++) {\n            if (this.options.get(i)?.selected) {\n              toFocus = i;\n              break;\n            }\n          }\n          this._keyManager.setActiveItem(toFocus);\n        }\n      });\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    const disableRippleChanges = changes['disableRipple'];\n    const colorChanges = changes['color'];\n\n    if ((disableRippleChanges && !disableRippleChanges.firstChange) ||\n        (colorChanges && !colorChanges.firstChange)) {\n      this._markOptionsForCheck();\n    }\n  }\n\n  ngOnDestroy() {\n    // @breaking-change 11.0.0 Remove null assertion once _focusMonitor is required.\n    this._focusMonitor?.stopMonitoring(this._element);\n    this._destroyed.next();\n    this._destroyed.complete();\n    this._isDestroyed = true;\n  }\n\n  /** Focuses the selection list. */\n  focus(options?: FocusOptions) {\n    this._element.nativeElement.focus(options);\n  }\n\n  /** Selects all of the options. Returns the options that changed as a result. */\n  selectAll(): MatListOption[] {\n    return this._setAllOptionsSelected(true);\n  }\n\n  /** Deselects all of the options. Returns the options that changed as a result. */\n  deselectAll(): MatListOption[] {\n    return this._setAllOptionsSelected(false);\n  }\n\n  /** Sets the focused option of the selection-list. */\n  _setFocusedOption(option: MatListOption) {\n    this._keyManager.updateActiveItem(option);\n  }\n\n  /**\n   * Removes an option from the selection list and updates the active item.\n   * @returns Currently-active item.\n   */\n  _removeOptionFromList(option: MatListOption): MatListOption | null {\n    const optionIndex = this._getOptionIndex(option);\n\n    if (optionIndex > -1 && this._keyManager.activeItemIndex === optionIndex) {\n      // Check whether the option is the last item\n      if (optionIndex > 0) {\n        this._keyManager.updateActiveItem(optionIndex - 1);\n      } else if (optionIndex === 0 && this.options.length > 1) {\n        this._keyManager.updateActiveItem(Math.min(optionIndex + 1, this.options.length - 1));\n      }\n    }\n\n    return this._keyManager.activeItem;\n  }\n\n  /** Passes relevant key presses to our key manager. */\n  _keydown(event: KeyboardEvent) {\n    const keyCode = event.keyCode;\n    const manager = this._keyManager;\n    const previousFocusIndex = manager.activeItemIndex;\n    const hasModifier = hasModifierKey(event);\n\n    switch (keyCode) {\n      case SPACE:\n      case ENTER:\n        if (!hasModifier && !manager.isTyping()) {\n          this._toggleFocusedOption();\n          // Always prevent space from scrolling the page since the list has focus\n          event.preventDefault();\n        }\n        break;\n      default:\n        // The \"A\" key gets special treatment, because it's used for the \"select all\" functionality.\n        if (keyCode === A && this.multiple && hasModifierKey(event, 'ctrlKey') &&\n            !manager.isTyping()) {\n          const shouldSelect = this.options.some(option => !option.disabled && !option.selected);\n          this._setAllOptionsSelected(shouldSelect, true, true);\n          event.preventDefault();\n        } else {\n          manager.onKeydown(event);\n        }\n    }\n\n    if (this.multiple && (keyCode === UP_ARROW || keyCode === DOWN_ARROW) && event.shiftKey &&\n        manager.activeItemIndex !== previousFocusIndex) {\n      this._toggleFocusedOption();\n    }\n  }\n\n  /** Reports a value change to the ControlValueAccessor */\n  _reportValueChange() {\n    // Stop reporting value changes after the list has been destroyed. This avoids\n    // cases where the list might wrongly reset its value once it is removed, but\n    // the form control is still live.\n    if (this.options && !this._isDestroyed) {\n      const value = this._getSelectedOptionValues();\n      this._onChange(value);\n      this._value = value;\n    }\n  }\n\n  /** Emits a change event if the selected state of an option changed. */\n  _emitChangeEvent(options: MatListOption[]) {\n    this.selectionChange.emit(new MatSelectionListChange(this, options[0], options));\n  }\n\n  /** Implemented as part of ControlValueAccessor. */\n  writeValue(values: string[]): void {\n    this._value = values;\n\n    if (this.options) {\n      this._setOptionsFromValues(values || []);\n    }\n  }\n\n  /** Implemented as a part of ControlValueAccessor. */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  /** Implemented as part of ControlValueAccessor. */\n  registerOnChange(fn: (value: any) => void): void {\n    this._onChange = fn;\n  }\n\n  /** Implemented as part of ControlValueAccessor. */\n  registerOnTouched(fn: () => void): void {\n    this._onTouched = fn;\n  }\n\n  /** Sets the selected options based on the specified values. */\n  private _setOptionsFromValues(values: string[]) {\n    this.options.forEach(option => option._setSelected(false));\n\n    values.forEach(value => {\n      const correspondingOption = this.options.find(option => {\n        // Skip options that are already in the model. This allows us to handle cases\n        // where the same primitive value is selected multiple times.\n        return option.selected ? false : this.compareWith(option.value, value);\n      });\n\n      if (correspondingOption) {\n        correspondingOption._setSelected(true);\n      }\n    });\n  }\n\n  /** Returns the values of the selected options. */\n  private _getSelectedOptionValues(): string[] {\n    return this.options.filter(option => option.selected).map(option => option.value);\n  }\n\n  /** Toggles the state of the currently focused option if enabled. */\n  private _toggleFocusedOption(): void {\n    let focusedIndex = this._keyManager.activeItemIndex;\n\n    if (focusedIndex != null && this._isValidIndex(focusedIndex)) {\n      let focusedOption: MatListOption = this.options.toArray()[focusedIndex];\n\n      if (focusedOption && !focusedOption.disabled && (this._multiple || !focusedOption.selected)) {\n        focusedOption.toggle();\n\n        // Emit a change event because the focused option changed its state through user\n        // interaction.\n        this._emitChangeEvent([focusedOption]);\n      }\n    }\n  }\n\n  /**\n   * Sets the selected state on all of the options\n   * and emits an event if anything changed.\n   */\n  private _setAllOptionsSelected(\n    isSelected: boolean,\n    skipDisabled?: boolean,\n    isUserInput?: boolean): MatListOption[] {\n    // Keep track of whether anything changed, because we only want to\n    // emit the changed event when something actually changed.\n    const changedOptions: MatListOption[] = [];\n\n    this.options.forEach(option => {\n      if ((!skipDisabled || !option.disabled) && option._setSelected(isSelected)) {\n        changedOptions.push(option);\n      }\n    });\n\n    if (changedOptions.length) {\n      this._reportValueChange();\n\n      if (isUserInput) {\n        this._emitChangeEvent(changedOptions);\n      }\n    }\n\n    return changedOptions;\n  }\n\n  /**\n   * Utility to ensure all indexes are valid.\n   * @param index The index to be checked.\n   * @returns True if the index is valid for our list of options.\n   */\n  private _isValidIndex(index: number): boolean {\n    return index >= 0 && index < this.options.length;\n  }\n\n  /** Returns the index of the specified list option. */\n  private _getOptionIndex(option: MatListOption): number {\n    return this.options.toArray().indexOf(option);\n  }\n\n  /** Marks all the options to be checked in the next change detection run. */\n  private _markOptionsForCheck() {\n    if (this.options) {\n      this.options.forEach(option => option._markForCheck());\n    }\n  }\n\n  /**\n   * Removes the tabindex from the selection list and resets it back afterwards, allowing the user\n   * to tab out of it. This prevents the list from capturing focus and redirecting it back within\n   * the list, creating a focus trap if it user tries to tab away.\n   */\n  private _allowFocusEscape() {\n    this._tabIndex = -1;\n\n    setTimeout(() => {\n      this._tabIndex = 0;\n      this._changeDetector.markForCheck();\n    });\n  }\n\n  /** Updates the tabindex based upon if the selection list is empty. */\n  private _updateTabIndex(): void {\n    this._tabIndex = (this.options.length === 0) ? -1 : 0;\n  }\n\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_disableRipple: BooleanInput;\n  static ngAcceptInputType_multiple: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n  MatCommonModule,\n  MatLineModule,\n  MatPseudoCheckboxModule,\n  MatRippleModule,\n} from '@angular/material/core';\nimport {\n  MatList,\n  MatNavList,\n  MatListAvatarCssMatStyler,\n  MatListIconCssMatStyler,\n  MatListItem,\n  MatListSubheaderCssMatStyler,\n} from './list';\nimport {MatListOption, MatSelectionList} from './selection-list';\nimport {MatDividerModule} from '@angular/material/divider';\n\n\n@NgModule({\n  imports: [MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule],\n  exports: [\n    MatList,\n    MatNavList,\n    MatListItem,\n    MatListAvatarCssMatStyler,\n    MatLineModule,\n    MatCommonModule,\n    MatListIconCssMatStyler,\n    MatListSubheaderCssMatStyler,\n    MatPseudoCheckboxModule,\n    MatSelectionList,\n    MatListOption,\n    MatDividerModule\n  ],\n  declarations: [\n    MatList,\n    MatNavList,\n    MatListItem,\n    MatListAvatarCssMatStyler,\n    MatListIconCssMatStyler,\n    MatListSubheaderCssMatStyler,\n    MatSelectionList,\n    MatListOption\n  ],\n})\nexport class MatListModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './list-module';\nexport * from './list';\nexport * from './selection-list';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"]}
Index: trip-planner-front/node_modules/@angular/material/list/index.d.ts
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/index.d.ts	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ trip-planner-front/node_modules/@angular/material/list/index.d.ts	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -3,4 +3,2 @@
  */
 export * from './public-api';
-
-//# sourceMappingURL=index.d.ts.map
Index: trip-planner-front/node_modules/@angular/material/list/index.d.ts.__ivy_ngcc_bak
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/index.d.ts.__ivy_ngcc_bak	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,4 +1,0 @@
-/**
- * Generated bundle index. Do not edit.
- */
-export * from './public-api';
Index: trip-planner-front/node_modules/@angular/material/list/index.d.ts.map
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/index.d.ts.map	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,1 +1,0 @@
-{"version":3,"file":"index.d.ts","sources":["index.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n"]}
Index: trip-planner-front/node_modules/@angular/material/list/list-module.d.ts
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/list-module.d.ts	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ trip-planner-front/node_modules/@angular/material/list/list-module.d.ts	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -6,15 +6,4 @@
  * found in the LICENSE file at https://angular.io/license
  */
-import * as ɵngcc0 from '@angular/core';
-import * as ɵngcc1 from './list';
-import * as ɵngcc2 from './selection-list';
-import * as ɵngcc3 from '@angular/material/core';
-import * as ɵngcc4 from '@angular/common';
-import * as ɵngcc5 from '@angular/material/divider';
 export declare class MatListModule {
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatListModule, never>;
-    static ɵmod: ɵngcc0.ɵɵNgModuleDeclaration<MatListModule, [typeof ɵngcc1.MatList, typeof ɵngcc1.MatNavList, typeof ɵngcc1.MatListItem, typeof ɵngcc1.MatListAvatarCssMatStyler, typeof ɵngcc1.MatListIconCssMatStyler, typeof ɵngcc1.MatListSubheaderCssMatStyler, typeof ɵngcc2.MatSelectionList, typeof ɵngcc2.MatListOption], [typeof ɵngcc3.MatLineModule, typeof ɵngcc3.MatRippleModule, typeof ɵngcc3.MatCommonModule, typeof ɵngcc3.MatPseudoCheckboxModule, typeof ɵngcc4.CommonModule], [typeof ɵngcc1.MatList, typeof ɵngcc1.MatNavList, typeof ɵngcc1.MatListItem, typeof ɵngcc1.MatListAvatarCssMatStyler, typeof ɵngcc3.MatLineModule, typeof ɵngcc3.MatCommonModule, typeof ɵngcc1.MatListIconCssMatStyler, typeof ɵngcc1.MatListSubheaderCssMatStyler, typeof ɵngcc3.MatPseudoCheckboxModule, typeof ɵngcc2.MatSelectionList, typeof ɵngcc2.MatListOption, typeof ɵngcc5.MatDividerModule]>;
-    static ɵinj: ɵngcc0.ɵɵInjectorDeclaration<MatListModule>;
 }
-
-//# sourceMappingURL=list-module.d.ts.map
Index: trip-planner-front/node_modules/@angular/material/list/list-module.d.ts.__ivy_ngcc_bak
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/list-module.d.ts.__ivy_ngcc_bak	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,9 +1,0 @@
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-export declare class MatListModule {
-}
Index: trip-planner-front/node_modules/@angular/material/list/list-module.d.ts.map
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/list-module.d.ts.map	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,1 +1,0 @@
-{"version":3,"file":"list-module.d.ts","sources":["list-module.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AACA;;;;AACA","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport declare class MatListModule {\n}\n"]}
Index: trip-planner-front/node_modules/@angular/material/list/list.d.ts
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/list.d.ts	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ trip-planner-front/node_modules/@angular/material/list/list.d.ts	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -11,5 +11,4 @@
 import { Subject } from 'rxjs';
 /** @docs-private */
-import * as ɵngcc0 from '@angular/core';
 declare const _MatListBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisable> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisable> & import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisableRipple> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisableRipple> & {
     new (): {};
@@ -38,6 +37,4 @@
     static ngAcceptInputType_disableRipple: BooleanInput;
     static ngAcceptInputType_disabled: BooleanInput;
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatNavList, never>;
-    static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatNavList, "mat-nav-list", ["matNavList"], { "disableRipple": "disableRipple"; "disabled": "disabled"; }, {}, never, ["*"]>;
 }
 export declare class MatList extends _MatListBase implements CanDisable, CanDisableRipple, OnChanges, OnDestroy {
@@ -51,6 +48,4 @@
     static ngAcceptInputType_disableRipple: BooleanInput;
     static ngAcceptInputType_disabled: BooleanInput;
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatList, never>;
-    static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatList, "mat-list, mat-action-list", ["matList"], { "disableRipple": "disableRipple"; "disabled": "disabled"; }, {}, never, ["*"]>;
 }
 /**
@@ -59,6 +54,4 @@
  */
 export declare class MatListAvatarCssMatStyler {
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatListAvatarCssMatStyler, never>;
-    static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatListAvatarCssMatStyler, "[mat-list-avatar], [matListAvatar]", never, {}, {}, never>;
 }
 /**
@@ -67,6 +60,4 @@
  */
 export declare class MatListIconCssMatStyler {
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatListIconCssMatStyler, never>;
-    static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatListIconCssMatStyler, "[mat-list-icon], [matListIcon]", never, {}, {}, never>;
 }
 /**
@@ -75,6 +66,4 @@
  */
 export declare class MatListSubheaderCssMatStyler {
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatListSubheaderCssMatStyler, never>;
-    static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatListSubheaderCssMatStyler, "[mat-subheader], [matSubheader]", never, {}, {}, never>;
 }
 /** An item within a Material Design list. */
@@ -100,8 +89,4 @@
     static ngAcceptInputType_disableRipple: BooleanInput;
     static ngAcceptInputType_disabled: BooleanInput;
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatListItem, [null, null, { optional: true; }, { optional: true; }]>;
-    static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatListItem, "mat-list-item, a[mat-list-item], button[mat-list-item]", ["matListItem"], { "disableRipple": "disableRipple"; "disabled": "disabled"; }, {}, ["_avatar", "_icon", "_lines"], ["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]", "[mat-line], [matLine]", "*"]>;
 }
 export {};
-
-//# sourceMappingURL=list.d.ts.map
Index: trip-planner-front/node_modules/@angular/material/list/list.d.ts.__ivy_ngcc_bak
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/list.d.ts.__ivy_ngcc_bak	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,92 +1,0 @@
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-import { BooleanInput } from '@angular/cdk/coercion';
-import { AfterContentInit, ElementRef, QueryList, OnChanges, OnDestroy, ChangeDetectorRef, InjectionToken } from '@angular/core';
-import { CanDisable, CanDisableRipple, MatLine } from '@angular/material/core';
-import { Subject } from 'rxjs';
-/** @docs-private */
-declare const _MatListBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisable> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisable> & import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisableRipple> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisableRipple> & {
-    new (): {};
-};
-/** @docs-private */
-declare const _MatListItemMixinBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisableRipple> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisableRipple> & {
-    new (): {};
-};
-/**
- * Injection token that can be used to inject instances of `MatList`. It serves as
- * alternative token to the actual `MatList` class which could cause unnecessary
- * retention of the class and its component metadata.
- */
-export declare const MAT_LIST: InjectionToken<MatList>;
-/**
- * Injection token that can be used to inject instances of `MatNavList`. It serves as
- * alternative token to the actual `MatNavList` class which could cause unnecessary
- * retention of the class and its component metadata.
- */
-export declare const MAT_NAV_LIST: InjectionToken<MatNavList>;
-export declare class MatNavList extends _MatListBase implements CanDisable, CanDisableRipple, OnChanges, OnDestroy {
-    /** Emits when the state of the list changes. */
-    readonly _stateChanges: Subject<void>;
-    ngOnChanges(): void;
-    ngOnDestroy(): void;
-    static ngAcceptInputType_disableRipple: BooleanInput;
-    static ngAcceptInputType_disabled: BooleanInput;
-}
-export declare class MatList extends _MatListBase implements CanDisable, CanDisableRipple, OnChanges, OnDestroy {
-    private _elementRef;
-    /** Emits when the state of the list changes. */
-    readonly _stateChanges: Subject<void>;
-    constructor(_elementRef: ElementRef<HTMLElement>);
-    _getListType(): 'list' | 'action-list' | null;
-    ngOnChanges(): void;
-    ngOnDestroy(): void;
-    static ngAcceptInputType_disableRipple: BooleanInput;
-    static ngAcceptInputType_disabled: BooleanInput;
-}
-/**
- * Directive whose purpose is to add the mat- CSS styling to this selector.
- * @docs-private
- */
-export declare class MatListAvatarCssMatStyler {
-}
-/**
- * Directive whose purpose is to add the mat- CSS styling to this selector.
- * @docs-private
- */
-export declare class MatListIconCssMatStyler {
-}
-/**
- * Directive whose purpose is to add the mat- CSS styling to this selector.
- * @docs-private
- */
-export declare class MatListSubheaderCssMatStyler {
-}
-/** An item within a Material Design list. */
-export declare class MatListItem extends _MatListItemMixinBase implements AfterContentInit, CanDisableRipple, OnDestroy {
-    private _element;
-    private _isInteractiveList;
-    private _list?;
-    private readonly _destroyed;
-    _lines: QueryList<MatLine>;
-    _avatar: MatListAvatarCssMatStyler;
-    _icon: MatListIconCssMatStyler;
-    constructor(_element: ElementRef<HTMLElement>, _changeDetectorRef: ChangeDetectorRef, navList?: MatNavList, list?: MatList);
-    /** Whether the option is disabled. */
-    get disabled(): boolean;
-    set disabled(value: boolean);
-    private _disabled;
-    ngAfterContentInit(): void;
-    ngOnDestroy(): void;
-    /** Whether this list item should show a ripple effect when clicked. */
-    _isRippleDisabled(): boolean;
-    /** Retrieves the DOM element of the component host. */
-    _getHostElement(): HTMLElement;
-    static ngAcceptInputType_disableRipple: BooleanInput;
-    static ngAcceptInputType_disabled: BooleanInput;
-}
-export {};
Index: trip-planner-front/node_modules/@angular/material/list/list.d.ts.map
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/list.d.ts.map	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,1 +1,0 @@
-{"version":3,"file":"list.d.ts","sources":["list.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { AfterContentInit, ElementRef, QueryList, OnChanges, OnDestroy, ChangeDetectorRef, InjectionToken } from '@angular/core';\nimport { CanDisable, CanDisableRipple, MatLine } from '@angular/material/core';\nimport { Subject } from 'rxjs';\n/** @docs-private */\ndeclare const _MatListBase: import(\"@angular/material/core/common-behaviors/constructor\").Constructor<CanDisable> & import(\"@angular/material/core/common-behaviors/constructor\").AbstractConstructor<CanDisable> & import(\"@angular/material/core/common-behaviors/constructor\").Constructor<CanDisableRipple> & import(\"@angular/material/core/common-behaviors/constructor\").AbstractConstructor<CanDisableRipple> & {\n    new (): {};\n};\n/** @docs-private */\ndeclare const _MatListItemMixinBase: import(\"@angular/material/core/common-behaviors/constructor\").Constructor<CanDisableRipple> & import(\"@angular/material/core/common-behaviors/constructor\").AbstractConstructor<CanDisableRipple> & {\n    new (): {};\n};\n/**\n * Injection token that can be used to inject instances of `MatList`. It serves as\n * alternative token to the actual `MatList` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport declare const MAT_LIST: InjectionToken<MatList>;\n/**\n * Injection token that can be used to inject instances of `MatNavList`. It serves as\n * alternative token to the actual `MatNavList` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport declare const MAT_NAV_LIST: InjectionToken<MatNavList>;\nexport declare class MatNavList extends _MatListBase implements CanDisable, CanDisableRipple, OnChanges, OnDestroy {\n    /** Emits when the state of the list changes. */\n    readonly _stateChanges: Subject<void>;\n    ngOnChanges(): void;\n    ngOnDestroy(): void;\n    static ngAcceptInputType_disableRipple: BooleanInput;\n    static ngAcceptInputType_disabled: BooleanInput;\n}\nexport declare class MatList extends _MatListBase implements CanDisable, CanDisableRipple, OnChanges, OnDestroy {\n    private _elementRef;\n    /** Emits when the state of the list changes. */\n    readonly _stateChanges: Subject<void>;\n    constructor(_elementRef: ElementRef<HTMLElement>);\n    _getListType(): 'list' | 'action-list' | null;\n    ngOnChanges(): void;\n    ngOnDestroy(): void;\n    static ngAcceptInputType_disableRipple: BooleanInput;\n    static ngAcceptInputType_disabled: BooleanInput;\n}\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\nexport declare class MatListAvatarCssMatStyler {\n}\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\nexport declare class MatListIconCssMatStyler {\n}\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\nexport declare class MatListSubheaderCssMatStyler {\n}\n/** An item within a Material Design list. */\nexport declare class MatListItem extends _MatListItemMixinBase implements AfterContentInit, CanDisableRipple, OnDestroy {\n    private _element;\n    private _isInteractiveList;\n    private _list?;\n    private readonly _destroyed;\n    _lines: QueryList<MatLine>;\n    _avatar: MatListAvatarCssMatStyler;\n    _icon: MatListIconCssMatStyler;\n    constructor(_element: ElementRef<HTMLElement>, _changeDetectorRef: ChangeDetectorRef, navList?: MatNavList, list?: MatList);\n    /** Whether the option is disabled. */\n    get disabled(): boolean;\n    set disabled(value: boolean);\n    private _disabled;\n    ngAfterContentInit(): void;\n    ngOnDestroy(): void;\n    /** Whether this list item should show a ripple effect when clicked. */\n    _isRippleDisabled(): boolean;\n    /** Retrieves the DOM element of the component host. */\n    _getHostElement(): HTMLElement;\n    static ngAcceptInputType_disableRipple: BooleanInput;\n    static ngAcceptInputType_disabled: BooleanInput;\n}\nexport {};\n"]}
Index: trip-planner-front/node_modules/@angular/material/list/package.json
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/package.json	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ trip-planner-front/node_modules/@angular/material/list/package.json	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -2,20 +2,8 @@
   "name": "@angular/material/list",
   "main": "../bundles/material-list.umd.js",
-  "fesm2015_ivy_ngcc": "../__ivy_ngcc__/fesm2015/list.js",
   "fesm2015": "../fesm2015/list.js",
   "esm2015": "../esm2015/list/index.js",
   "typings": "./index.d.ts",
-  "module_ivy_ngcc": "../__ivy_ngcc__/fesm2015/list.js",
   "module": "../fesm2015/list.js",
-  "es2015_ivy_ngcc": "../__ivy_ngcc__/fesm2015/list.js",
-  "es2015": "../fesm2015/list.js",
-  "__processed_by_ivy_ngcc__": {
-    "es2015": "12.2.9",
-    "fesm2015": "12.2.9",
-    "module": "12.2.9",
-    "typings": "12.2.9"
-  },
-  "scripts": {
-    "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by NGCC. This is not allowed.\\nPlease delete and rebuild the package, without compiling with NGCC, before attempting to publish.\\nNote that NGCC may have been run by importing this package into another project that is being built with Ivy enabled.\\n')\" && exit 1"
-  }
+  "es2015": "../fesm2015/list.js"
 }
Index: trip-planner-front/node_modules/@angular/material/list/selection-list.d.ts
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/selection-list.d.ts	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ trip-planner-front/node_modules/@angular/material/list/selection-list.d.ts	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -13,5 +13,4 @@
 import { CanDisableRipple, MatLine, ThemePalette } from '@angular/material/core';
 import { MatListAvatarCssMatStyler, MatListIconCssMatStyler } from './list';
-import * as ɵngcc0 from '@angular/core';
 declare const _MatSelectionListBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisableRipple> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisableRipple> & {
     new (): {};
@@ -129,6 +128,4 @@
     static ngAcceptInputType_selected: BooleanInput;
     static ngAcceptInputType_disableRipple: BooleanInput;
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatListOption, never>;
-    static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatListOption, "mat-list-option", ["matListOption"], { "disableRipple": "disableRipple"; "checkboxPosition": "checkboxPosition"; "color": "color"; "value": "value"; "selected": "selected"; "disabled": "disabled"; }, { "selectedChange": "selectedChange"; }, ["_avatar", "_icon", "_lines"], ["*", "[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]"]>;
 }
 /**
@@ -244,8 +241,4 @@
     static ngAcceptInputType_disableRipple: BooleanInput;
     static ngAcceptInputType_multiple: BooleanInput;
-    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatSelectionList, [null, { attribute: "tabindex"; }, null, null]>;
-    static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatSelectionList, "mat-selection-list", ["matSelectionList"], { "disableRipple": "disableRipple"; "tabIndex": "tabIndex"; "color": "color"; "compareWith": "compareWith"; "disabled": "disabled"; "multiple": "multiple"; }, { "selectionChange": "selectionChange"; }, ["options"], ["*"]>;
 }
 export {};
-
-//# sourceMappingURL=selection-list.d.ts.map
Index: trip-planner-front/node_modules/@angular/material/list/selection-list.d.ts.__ivy_ngcc_bak
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/selection-list.d.ts.__ivy_ngcc_bak	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,244 +1,0 @@
-/**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-import { FocusableOption, FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';
-import { BooleanInput } from '@angular/cdk/coercion';
-import { SelectionModel } from '@angular/cdk/collections';
-import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
-import { ControlValueAccessor } from '@angular/forms';
-import { CanDisableRipple, MatLine, ThemePalette } from '@angular/material/core';
-import { MatListAvatarCssMatStyler, MatListIconCssMatStyler } from './list';
-declare const _MatSelectionListBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisableRipple> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisableRipple> & {
-    new (): {};
-};
-declare const _MatListOptionBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanDisableRipple> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanDisableRipple> & {
-    new (): {};
-};
-/** @docs-private */
-export declare const MAT_SELECTION_LIST_VALUE_ACCESSOR: any;
-/** Change event that is being fired whenever the selected state of an option changes. */
-export declare class MatSelectionListChange {
-    /** Reference to the selection list that emitted the event. */
-    source: MatSelectionList;
-    /**
-     * Reference to the option that has been changed.
-     * @deprecated Use `options` instead, because some events may change more than one option.
-     * @breaking-change 12.0.0
-     */
-    option: MatListOption;
-    /** Reference to the options that have been changed. */
-    options: MatListOption[];
-    constructor(
-    /** Reference to the selection list that emitted the event. */
-    source: MatSelectionList, 
-    /**
-     * Reference to the option that has been changed.
-     * @deprecated Use `options` instead, because some events may change more than one option.
-     * @breaking-change 12.0.0
-     */
-    option: MatListOption, 
-    /** Reference to the options that have been changed. */
-    options: MatListOption[]);
-}
-/**
- * Type describing possible positions of a checkbox in a list option
- * with respect to the list item's text.
- */
-export declare type MatListOptionCheckboxPosition = 'before' | 'after';
-/**
- * Component for list-options of selection-list. Each list-option can automatically
- * generate a checkbox and can put current item into the selectionModel of selection-list
- * if the current item is selected.
- */
-export declare class MatListOption extends _MatListOptionBase implements AfterContentInit, OnDestroy, OnInit, FocusableOption, CanDisableRipple {
-    private _element;
-    private _changeDetector;
-    /** @docs-private */
-    selectionList: MatSelectionList;
-    private _selected;
-    private _disabled;
-    private _hasFocus;
-    _avatar: MatListAvatarCssMatStyler;
-    _icon: MatListIconCssMatStyler;
-    _lines: QueryList<MatLine>;
-    /**
-     * Emits when the selected state of the option has changed.
-     * Use to facilitate two-data binding to the `selected` property.
-     * @docs-private
-     */
-    readonly selectedChange: EventEmitter<boolean>;
-    /** DOM element containing the item's text. */
-    _text: ElementRef;
-    /** Whether the label should appear before or after the checkbox. Defaults to 'after' */
-    checkboxPosition: MatListOptionCheckboxPosition;
-    /** Theme color of the list option. This sets the color of the checkbox. */
-    get color(): ThemePalette;
-    set color(newValue: ThemePalette);
-    private _color;
-    /**
-     * This is set to true after the first OnChanges cycle so we don't clear the value of `selected`
-     * in the first cycle.
-     */
-    private _inputsInitialized;
-    /** Value of the option */
-    get value(): any;
-    set value(newValue: any);
-    private _value;
-    /** Whether the option is disabled. */
-    get disabled(): any;
-    set disabled(value: any);
-    /** Whether the option is selected. */
-    get selected(): boolean;
-    set selected(value: boolean);
-    constructor(_element: ElementRef<HTMLElement>, _changeDetector: ChangeDetectorRef, 
-    /** @docs-private */
-    selectionList: MatSelectionList);
-    ngOnInit(): void;
-    ngAfterContentInit(): void;
-    ngOnDestroy(): void;
-    /** Toggles the selection state of the option. */
-    toggle(): void;
-    /** Allows for programmatic focusing of the option. */
-    focus(): void;
-    /**
-     * Returns the list item's text label. Implemented as a part of the FocusKeyManager.
-     * @docs-private
-     */
-    getLabel(): any;
-    /** Whether this list item should show a ripple effect when clicked. */
-    _isRippleDisabled(): any;
-    _handleClick(): void;
-    _handleFocus(): void;
-    _handleBlur(): void;
-    /** Retrieves the DOM element of the component host. */
-    _getHostElement(): HTMLElement;
-    /** Sets the selected state of the option. Returns whether the value has changed. */
-    _setSelected(selected: boolean): boolean;
-    /**
-     * Notifies Angular that the option needs to be checked in the next change detection run. Mainly
-     * used to trigger an update of the list option if the disabled state of the selection list
-     * changed.
-     */
-    _markForCheck(): void;
-    static ngAcceptInputType_disabled: BooleanInput;
-    static ngAcceptInputType_selected: BooleanInput;
-    static ngAcceptInputType_disableRipple: BooleanInput;
-}
-/**
- * Material Design list component where each item is a selectable option. Behaves as a listbox.
- */
-export declare class MatSelectionList extends _MatSelectionListBase implements CanDisableRipple, AfterContentInit, ControlValueAccessor, OnDestroy, OnChanges {
-    private _element;
-    private _changeDetector;
-    private _focusMonitor?;
-    private _multiple;
-    private _contentInitialized;
-    /** The FocusKeyManager which handles focus. */
-    _keyManager: FocusKeyManager<MatListOption>;
-    /** The option components contained within this selection-list. */
-    options: QueryList<MatListOption>;
-    /** Emits a change event whenever the selected state of an option changes. */
-    readonly selectionChange: EventEmitter<MatSelectionListChange>;
-    /**
-     * Tabindex of the selection list.
-     * @breaking-change 11.0.0 Remove `tabIndex` input.
-     */
-    tabIndex: number;
-    /** Theme color of the selection list. This sets the checkbox color for all list options. */
-    color: ThemePalette;
-    /**
-     * Function used for comparing an option against the selected value when determining which
-     * options should appear as selected. The first argument is the value of an options. The second
-     * one is a value from the selected value. A boolean must be returned.
-     */
-    compareWith: (o1: any, o2: any) => boolean;
-    /** Whether the selection list is disabled. */
-    get disabled(): boolean;
-    set disabled(value: boolean);
-    private _disabled;
-    /** Whether selection is limited to one or multiple items (default multiple). */
-    get multiple(): boolean;
-    set multiple(value: boolean);
-    /** The currently selected options. */
-    selectedOptions: SelectionModel<MatListOption>;
-    /** The tabindex of the selection list. */
-    _tabIndex: number;
-    /** View to model callback that should be called whenever the selected options change. */
-    private _onChange;
-    /** Keeps track of the currently-selected value. */
-    _value: string[] | null;
-    /** Emits when the list has been destroyed. */
-    private readonly _destroyed;
-    /** View to model callback that should be called if the list or its options lost focus. */
-    _onTouched: () => void;
-    /** Whether the list has been destroyed. */
-    private _isDestroyed;
-    constructor(_element: ElementRef<HTMLElement>, tabIndex: string, _changeDetector: ChangeDetectorRef, _focusMonitor?: FocusMonitor | undefined);
-    ngAfterContentInit(): void;
-    ngOnChanges(changes: SimpleChanges): void;
-    ngOnDestroy(): void;
-    /** Focuses the selection list. */
-    focus(options?: FocusOptions): void;
-    /** Selects all of the options. Returns the options that changed as a result. */
-    selectAll(): MatListOption[];
-    /** Deselects all of the options. Returns the options that changed as a result. */
-    deselectAll(): MatListOption[];
-    /** Sets the focused option of the selection-list. */
-    _setFocusedOption(option: MatListOption): void;
-    /**
-     * Removes an option from the selection list and updates the active item.
-     * @returns Currently-active item.
-     */
-    _removeOptionFromList(option: MatListOption): MatListOption | null;
-    /** Passes relevant key presses to our key manager. */
-    _keydown(event: KeyboardEvent): void;
-    /** Reports a value change to the ControlValueAccessor */
-    _reportValueChange(): void;
-    /** Emits a change event if the selected state of an option changed. */
-    _emitChangeEvent(options: MatListOption[]): void;
-    /** Implemented as part of ControlValueAccessor. */
-    writeValue(values: string[]): void;
-    /** Implemented as a part of ControlValueAccessor. */
-    setDisabledState(isDisabled: boolean): void;
-    /** Implemented as part of ControlValueAccessor. */
-    registerOnChange(fn: (value: any) => void): void;
-    /** Implemented as part of ControlValueAccessor. */
-    registerOnTouched(fn: () => void): void;
-    /** Sets the selected options based on the specified values. */
-    private _setOptionsFromValues;
-    /** Returns the values of the selected options. */
-    private _getSelectedOptionValues;
-    /** Toggles the state of the currently focused option if enabled. */
-    private _toggleFocusedOption;
-    /**
-     * Sets the selected state on all of the options
-     * and emits an event if anything changed.
-     */
-    private _setAllOptionsSelected;
-    /**
-     * Utility to ensure all indexes are valid.
-     * @param index The index to be checked.
-     * @returns True if the index is valid for our list of options.
-     */
-    private _isValidIndex;
-    /** Returns the index of the specified list option. */
-    private _getOptionIndex;
-    /** Marks all the options to be checked in the next change detection run. */
-    private _markOptionsForCheck;
-    /**
-     * Removes the tabindex from the selection list and resets it back afterwards, allowing the user
-     * to tab out of it. This prevents the list from capturing focus and redirecting it back within
-     * the list, creating a focus trap if it user tries to tab away.
-     */
-    private _allowFocusEscape;
-    /** Updates the tabindex based upon if the selection list is empty. */
-    private _updateTabIndex;
-    static ngAcceptInputType_disabled: BooleanInput;
-    static ngAcceptInputType_disableRipple: BooleanInput;
-    static ngAcceptInputType_multiple: BooleanInput;
-}
-export {};
Index: trip-planner-front/node_modules/@angular/material/list/selection-list.d.ts.map
===================================================================
--- trip-planner-front/node_modules/@angular/material/list/selection-list.d.ts.map	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ 	(revision )
@@ -1,1 +1,0 @@
-{"version":3,"file":"selection-list.d.ts","sources":["selection-list.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { FocusableOption, FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { CanDisableRipple, MatLine, ThemePalette } from '@angular/material/core';\nimport { MatListAvatarCssMatStyler, MatListIconCssMatStyler } from './list';\ndeclare const _MatSelectionListBase: import(\"@angular/material/core/common-behaviors/constructor\").Constructor<CanDisableRipple> & import(\"@angular/material/core/common-behaviors/constructor\").AbstractConstructor<CanDisableRipple> & {\n    new (): {};\n};\ndeclare const _MatListOptionBase: import(\"@angular/material/core/common-behaviors/constructor\").Constructor<CanDisableRipple> & import(\"@angular/material/core/common-behaviors/constructor\").AbstractConstructor<CanDisableRipple> & {\n    new (): {};\n};\n/** @docs-private */\nexport declare const MAT_SELECTION_LIST_VALUE_ACCESSOR: any;\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport declare class MatSelectionListChange {\n    /** Reference to the selection list that emitted the event. */\n    source: MatSelectionList;\n    /**\n     * Reference to the option that has been changed.\n     * @deprecated Use `options` instead, because some events may change more than one option.\n     * @breaking-change 12.0.0\n     */\n    option: MatListOption;\n    /** Reference to the options that have been changed. */\n    options: MatListOption[];\n    constructor(\n    /** Reference to the selection list that emitted the event. */\n    source: MatSelectionList, \n    /**\n     * Reference to the option that has been changed.\n     * @deprecated Use `options` instead, because some events may change more than one option.\n     * @breaking-change 12.0.0\n     */\n    option: MatListOption, \n    /** Reference to the options that have been changed. */\n    options: MatListOption[]);\n}\n/**\n * Type describing possible positions of a checkbox in a list option\n * with respect to the list item's text.\n */\nexport declare type MatListOptionCheckboxPosition = 'before' | 'after';\n/**\n * Component for list-options of selection-list. Each list-option can automatically\n * generate a checkbox and can put current item into the selectionModel of selection-list\n * if the current item is selected.\n */\nexport declare class MatListOption extends _MatListOptionBase implements AfterContentInit, OnDestroy, OnInit, FocusableOption, CanDisableRipple {\n    private _element;\n    private _changeDetector;\n    /** @docs-private */\n    selectionList: MatSelectionList;\n    private _selected;\n    private _disabled;\n    private _hasFocus;\n    _avatar: MatListAvatarCssMatStyler;\n    _icon: MatListIconCssMatStyler;\n    _lines: QueryList<MatLine>;\n    /**\n     * Emits when the selected state of the option has changed.\n     * Use to facilitate two-data binding to the `selected` property.\n     * @docs-private\n     */\n    readonly selectedChange: EventEmitter<boolean>;\n    /** DOM element containing the item's text. */\n    _text: ElementRef;\n    /** Whether the label should appear before or after the checkbox. Defaults to 'after' */\n    checkboxPosition: MatListOptionCheckboxPosition;\n    /** Theme color of the list option. This sets the color of the checkbox. */\n    get color(): ThemePalette;\n    set color(newValue: ThemePalette);\n    private _color;\n    /**\n     * This is set to true after the first OnChanges cycle so we don't clear the value of `selected`\n     * in the first cycle.\n     */\n    private _inputsInitialized;\n    /** Value of the option */\n    get value(): any;\n    set value(newValue: any);\n    private _value;\n    /** Whether the option is disabled. */\n    get disabled(): any;\n    set disabled(value: any);\n    /** Whether the option is selected. */\n    get selected(): boolean;\n    set selected(value: boolean);\n    constructor(_element: ElementRef<HTMLElement>, _changeDetector: ChangeDetectorRef, \n    /** @docs-private */\n    selectionList: MatSelectionList);\n    ngOnInit(): void;\n    ngAfterContentInit(): void;\n    ngOnDestroy(): void;\n    /** Toggles the selection state of the option. */\n    toggle(): void;\n    /** Allows for programmatic focusing of the option. */\n    focus(): void;\n    /**\n     * Returns the list item's text label. Implemented as a part of the FocusKeyManager.\n     * @docs-private\n     */\n    getLabel(): any;\n    /** Whether this list item should show a ripple effect when clicked. */\n    _isRippleDisabled(): any;\n    _handleClick(): void;\n    _handleFocus(): void;\n    _handleBlur(): void;\n    /** Retrieves the DOM element of the component host. */\n    _getHostElement(): HTMLElement;\n    /** Sets the selected state of the option. Returns whether the value has changed. */\n    _setSelected(selected: boolean): boolean;\n    /**\n     * Notifies Angular that the option needs to be checked in the next change detection run. Mainly\n     * used to trigger an update of the list option if the disabled state of the selection list\n     * changed.\n     */\n    _markForCheck(): void;\n    static ngAcceptInputType_disabled: BooleanInput;\n    static ngAcceptInputType_selected: BooleanInput;\n    static ngAcceptInputType_disableRipple: BooleanInput;\n}\n/**\n * Material Design list component where each item is a selectable option. Behaves as a listbox.\n */\nexport declare class MatSelectionList extends _MatSelectionListBase implements CanDisableRipple, AfterContentInit, ControlValueAccessor, OnDestroy, OnChanges {\n    private _element;\n    private _changeDetector;\n    private _focusMonitor?;\n    private _multiple;\n    private _contentInitialized;\n    /** The FocusKeyManager which handles focus. */\n    _keyManager: FocusKeyManager<MatListOption>;\n    /** The option components contained within this selection-list. */\n    options: QueryList<MatListOption>;\n    /** Emits a change event whenever the selected state of an option changes. */\n    readonly selectionChange: EventEmitter<MatSelectionListChange>;\n    /**\n     * Tabindex of the selection list.\n     * @breaking-change 11.0.0 Remove `tabIndex` input.\n     */\n    tabIndex: number;\n    /** Theme color of the selection list. This sets the checkbox color for all list options. */\n    color: ThemePalette;\n    /**\n     * Function used for comparing an option against the selected value when determining which\n     * options should appear as selected. The first argument is the value of an options. The second\n     * one is a value from the selected value. A boolean must be returned.\n     */\n    compareWith: (o1: any, o2: any) => boolean;\n    /** Whether the selection list is disabled. */\n    get disabled(): boolean;\n    set disabled(value: boolean);\n    private _disabled;\n    /** Whether selection is limited to one or multiple items (default multiple). */\n    get multiple(): boolean;\n    set multiple(value: boolean);\n    /** The currently selected options. */\n    selectedOptions: SelectionModel<MatListOption>;\n    /** The tabindex of the selection list. */\n    _tabIndex: number;\n    /** View to model callback that should be called whenever the selected options change. */\n    private _onChange;\n    /** Keeps track of the currently-selected value. */\n    _value: string[] | null;\n    /** Emits when the list has been destroyed. */\n    private readonly _destroyed;\n    /** View to model callback that should be called if the list or its options lost focus. */\n    _onTouched: () => void;\n    /** Whether the list has been destroyed. */\n    private _isDestroyed;\n    constructor(_element: ElementRef<HTMLElement>, tabIndex: string, _changeDetector: ChangeDetectorRef, _focusMonitor?: FocusMonitor | undefined);\n    ngAfterContentInit(): void;\n    ngOnChanges(changes: SimpleChanges): void;\n    ngOnDestroy(): void;\n    /** Focuses the selection list. */\n    focus(options?: FocusOptions): void;\n    /** Selects all of the options. Returns the options that changed as a result. */\n    selectAll(): MatListOption[];\n    /** Deselects all of the options. Returns the options that changed as a result. */\n    deselectAll(): MatListOption[];\n    /** Sets the focused option of the selection-list. */\n    _setFocusedOption(option: MatListOption): void;\n    /**\n     * Removes an option from the selection list and updates the active item.\n     * @returns Currently-active item.\n     */\n    _removeOptionFromList(option: MatListOption): MatListOption | null;\n    /** Passes relevant key presses to our key manager. */\n    _keydown(event: KeyboardEvent): void;\n    /** Reports a value change to the ControlValueAccessor */\n    _reportValueChange(): void;\n    /** Emits a change event if the selected state of an option changed. */\n    _emitChangeEvent(options: MatListOption[]): void;\n    /** Implemented as part of ControlValueAccessor. */\n    writeValue(values: string[]): void;\n    /** Implemented as a part of ControlValueAccessor. */\n    setDisabledState(isDisabled: boolean): void;\n    /** Implemented as part of ControlValueAccessor. */\n    registerOnChange(fn: (value: any) => void): void;\n    /** Implemented as part of ControlValueAccessor. */\n    registerOnTouched(fn: () => void): void;\n    /** Sets the selected options based on the specified values. */\n    private _setOptionsFromValues;\n    /** Returns the values of the selected options. */\n    private _getSelectedOptionValues;\n    /** Toggles the state of the currently focused option if enabled. */\n    private _toggleFocusedOption;\n    /**\n     * Sets the selected state on all of the options\n     * and emits an event if anything changed.\n     */\n    private _setAllOptionsSelected;\n    /**\n     * Utility to ensure all indexes are valid.\n     * @param index The index to be checked.\n     * @returns True if the index is valid for our list of options.\n     */\n    private _isValidIndex;\n    /** Returns the index of the specified list option. */\n    private _getOptionIndex;\n    /** Marks all the options to be checked in the next change detection run. */\n    private _markOptionsForCheck;\n    /**\n     * Removes the tabindex from the selection list and resets it back afterwards, allowing the user\n     * to tab out of it. This prevents the list from capturing focus and redirecting it back within\n     * the list, creating a focus trap if it user tries to tab away.\n     */\n    private _allowFocusEscape;\n    /** Updates the tabindex based upon if the selection list is empty. */\n    private _updateTabIndex;\n    static ngAcceptInputType_disabled: BooleanInput;\n    static ngAcceptInputType_disableRipple: BooleanInput;\n    static ngAcceptInputType_multiple: BooleanInput;\n}\nexport {};\n"]}
Index: trip-planner-front/node_modules/@angular/material/package.json
===================================================================
--- trip-planner-front/node_modules/@angular/material/package.json	(revision fa375fed9635035b3c62cf759f42938afa14271b)
+++ trip-planner-front/node_modules/@angular/material/package.json	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -1,10 +1,43 @@
 {
-  "name": "@angular/material",
-  "version": "12.2.10",
+  "_args": [
+    [
+      "@angular/material@12.2.10",
+      "C:\\Users\\DELL\\Desktop\\bachelor-thesis\\trip-planner-front"
+    ]
+  ],
+  "_from": "@angular/material@12.2.10",
+  "_id": "@angular/material@12.2.10",
+  "_inBundle": false,
+  "_integrity": "sha512-iC0EA8ogpn/KJ+kr3TEfQJLYPAtrguMr21KAGwtKOOLng1HiEhH6qEqlc0PPYUUQ06i+8nJr/WWfL0ORKXh3fg==",
+  "_location": "/@angular/material",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "version",
+    "registry": true,
+    "raw": "@angular/material@12.2.10",
+    "name": "@angular/material",
+    "escapedName": "@angular%2fmaterial",
+    "scope": "@angular",
+    "rawSpec": "12.2.10",
+    "saveSpec": null,
+    "fetchSpec": "12.2.10"
+  },
+  "_requiredBy": [
+    "/"
+  ],
+  "_resolved": "https://registry.npmjs.org/@angular/material/-/material-12.2.10.tgz",
+  "_spec": "12.2.10",
+  "_where": "C:\\Users\\DELL\\Desktop\\bachelor-thesis\\trip-planner-front",
+  "bugs": {
+    "url": "https://github.com/angular/components/issues"
+  },
+  "dependencies": {
+    "tslib": "^2.2.0"
+  },
   "description": "Angular Material",
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/angular/components.git"
-  },
+  "es2015": "./fesm2015/material.js",
+  "esm2015": "./esm2015/index.js",
+  "fesm2015": "./fesm2015/material.js",
+  "homepage": "https://github.com/angular/components#readme",
   "keywords": [
     "angular",
@@ -14,20 +47,7 @@
   ],
   "license": "MIT",
-  "bugs": {
-    "url": "https://github.com/angular/components/issues"
-  },
-  "homepage": "https://github.com/angular/components#readme",
-  "peerDependencies": {
-    "@angular/animations": "^12.0.0 || ^13.0.0-0",
-    "@angular/cdk": "12.2.10",
-    "@angular/core": "^12.0.0 || ^13.0.0-0",
-    "@angular/common": "^12.0.0 || ^13.0.0-0",
-    "@angular/forms": "^12.0.0 || ^13.0.0-0",
-    "rxjs": "^6.5.3 || ^7.0.0"
-  },
-  "dependencies": {
-    "tslib": "^2.2.0"
-  },
-  "schematics": "./schematics/collection.json",
+  "main": "./bundles/material.umd.js",
+  "module": "./fesm2015/material.js",
+  "name": "@angular/material",
   "ng-update": {
     "migrations": "./schematics/migration.json",
@@ -39,10 +59,19 @@
     ]
   },
+  "peerDependencies": {
+    "@angular/animations": "^12.0.0 || ^13.0.0-0",
+    "@angular/cdk": "12.2.10",
+    "@angular/core": "^12.0.0 || ^13.0.0-0",
+    "@angular/common": "^12.0.0 || ^13.0.0-0",
+    "@angular/forms": "^12.0.0 || ^13.0.0-0",
+    "rxjs": "^6.5.3 || ^7.0.0"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/angular/components.git"
+  },
+  "schematics": "./schematics/collection.json",
   "sideEffects": false,
-  "main": "./bundles/material.umd.js",
-  "fesm2015": "./fesm2015/material.js",
-  "esm2015": "./esm2015/index.js",
   "typings": "./index.d.ts",
-  "module": "./fesm2015/material.js",
-  "es2015": "./fesm2015/material.js"
+  "version": "12.2.10"
 }
