@sumaris-net/ngx-components 1.21.8 → 1.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sumaris-net.ngx-components.umd.js +4056 -2920
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +6 -0
- package/esm2015/public_api.js +8 -1
- package/esm2015/src/app/core/core.module.js +5 -5
- package/esm2015/src/app/core/icon/icon.component.js +5 -2
- package/esm2015/src/app/core/icon/icon.module.js +26 -0
- package/esm2015/src/app/core/menu/menu.component.js +9 -5
- package/esm2015/src/app/core/menu/menu.model.js +3 -1
- package/esm2015/src/app/core/menu/menu.module.js +4 -2
- package/esm2015/src/app/shared/pipes/date-diff-duration.pipe.js +9 -5
- package/esm2015/src/app/shared/types.js +1 -1
- package/esm2015/src/app/social/job/job.model.js +26 -0
- package/esm2015/src/app/social/job/job.module.js +25 -0
- package/esm2015/src/app/social/job/job.service.js +54 -0
- package/esm2015/src/app/social/job/progression/job-progression.component.js +200 -0
- package/esm2015/src/app/social/job/progression/job-progression.list.js +20 -0
- package/esm2015/src/app/social/message/message.module.js +25 -0
- package/esm2015/src/app/social/social.errors.js +5 -2
- package/esm2015/src/app/social/social.module.js +10 -15
- package/esm2015/src/app/social/user-event/notification/user-event-notification.component.js +89 -0
- package/esm2015/src/app/social/user-event/notification/user-event-notification.list.js +78 -0
- package/esm2015/src/app/social/user-event/testing/user-event.testing.service.js +73 -0
- package/esm2015/src/app/social/user-event/user-event.model.js +58 -2
- package/esm2015/src/app/social/user-event/user-event.module.js +33 -0
- package/esm2015/src/app/social/user-event/user-event.service.js +412 -173
- package/esm2015/src/app/social/user-event/user-events.table.js +18 -13
- package/esm2015/sumaris-net.ngx-components.js +17 -13
- package/fesm2015/sumaris-net.ngx-components.js +3269 -2374
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +7 -0
- package/src/app/core/icon/icon.component.d.ts +4 -4
- package/src/app/core/icon/icon.module.d.ts +2 -0
- package/src/app/core/menu/menu.component.d.ts +7 -5
- package/src/app/core/menu/menu.model.d.ts +3 -0
- package/src/app/shared/material/badge/badge-icon.test.d.ts +1 -1
- package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +6 -2
- package/src/app/shared/types.d.ts +4 -0
- package/src/app/social/job/job.model.d.ts +33 -0
- package/src/app/social/job/job.module.d.ts +2 -0
- package/src/app/social/job/job.service.d.ts +23 -0
- package/src/app/social/job/progression/job-progression.component.d.ts +44 -0
- package/src/app/social/job/progression/job-progression.list.d.ts +12 -0
- package/src/app/social/message/message.module.d.ts +2 -0
- package/src/app/social/social.errors.d.ts +3 -0
- package/src/app/social/social.module.d.ts +8 -0
- package/src/app/social/user-event/notification/user-event-notification.component.d.ts +22 -0
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +30 -0
- package/src/app/social/user-event/testing/user-event.testing.service.d.ts +35 -0
- package/src/app/social/user-event/user-event.model.d.ts +52 -8
- package/src/app/social/user-event/user-event.module.d.ts +2 -0
- package/src/app/social/user-event/user-event.service.d.ts +101 -51
- package/src/app/social/user-event/user-events.table.d.ts +6 -6
- package/src/assets/i18n/en-US.json +17 -3
- package/src/assets/i18n/en.json +18 -3
- package/src/assets/i18n/fr.json +17 -2
- package/src/theme/_ngx-components.scss +8 -0
- package/sumaris-net.ngx-components.d.ts +16 -12
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Injector, Input } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { UserEventService, UserEventServiceToken } from './user-event.service';
|
|
4
4
|
import { AccountService } from '../../core/services/account.service';
|
|
5
|
-
import { UserEvent, UserEventTypes } from './user-event.model';
|
|
5
|
+
import { UserEvent, UserEventFilter, UserEventTypes } from './user-event.model';
|
|
6
6
|
import { toBoolean } from '../../shared/functions';
|
|
7
7
|
import { AppTable, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS } from '../../core/table/table.class';
|
|
8
8
|
import { EntitiesTableDataSource } from '../../core/table/entities-table-datasource.class';
|
|
@@ -10,7 +10,7 @@ import { EntitiesStorage } from '../../core/services/storage/entities-storage.se
|
|
|
10
10
|
import { ENVIRONMENT } from '../../../environments/environment.class';
|
|
11
11
|
const ICONS_MAP = {
|
|
12
12
|
DEBUG_DATA: { matIcon: 'bug_report' },
|
|
13
|
-
INBOX_MESSAGE: { matIcon: 'mail' }
|
|
13
|
+
INBOX_MESSAGE: { matIcon: 'mail' }
|
|
14
14
|
};
|
|
15
15
|
// TODO: refactor with a registration done by data service:
|
|
16
16
|
// - userEventService.registerEventAction({__typename: 'TripVO', ...})
|
|
@@ -76,7 +76,7 @@ export class UserEventsTable extends AppTable {
|
|
|
76
76
|
}
|
|
77
77
|
}));
|
|
78
78
|
const filter = this.filter || new UserEventFilter();
|
|
79
|
-
filter.
|
|
79
|
+
filter.recipients = [this.recipient];
|
|
80
80
|
this.setFilter(filter, { emitEvent: true });
|
|
81
81
|
}
|
|
82
82
|
start() {
|
|
@@ -89,17 +89,17 @@ export class UserEventsTable extends AppTable {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
getIcon(source) {
|
|
92
|
-
return ICONS_MAP[source.
|
|
92
|
+
return ICONS_MAP[source.type];
|
|
93
93
|
}
|
|
94
94
|
getDetail(source) {
|
|
95
95
|
if (!source)
|
|
96
96
|
return undefined;
|
|
97
|
-
if (source.content && source.
|
|
97
|
+
if (source.content && source.type === UserEventTypes.DEBUG_DATA) {
|
|
98
98
|
const context = source.content.context;
|
|
99
99
|
if (context && context.__typename) {
|
|
100
|
-
const actions = this.service.getActionsByTypename(context.__typename);
|
|
100
|
+
// const actions = this.service.getActionsByTypename(context.__typename);
|
|
101
101
|
return {
|
|
102
|
-
actions,
|
|
102
|
+
// actions,
|
|
103
103
|
title: source.content.error && source.content.error.message || source.content.message,
|
|
104
104
|
description: source.content.error && source.content.error.details || undefined
|
|
105
105
|
};
|
|
@@ -111,11 +111,11 @@ export class UserEventsTable extends AppTable {
|
|
|
111
111
|
doAction(action, row) {
|
|
112
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
113
|
const event = row.currentData;
|
|
114
|
-
const context = event.content && event.content.context;
|
|
114
|
+
// const context = event.content && event.content.context;
|
|
115
115
|
this.markAsLoading();
|
|
116
116
|
if (action && typeof action.executeAction === 'function') {
|
|
117
117
|
try {
|
|
118
|
-
let res = action.executeAction(event
|
|
118
|
+
let res = action.executeAction(event /*, context*/);
|
|
119
119
|
res = (res instanceof Promise) ? yield res : res;
|
|
120
120
|
}
|
|
121
121
|
catch (err) {
|
|
@@ -132,15 +132,20 @@ export class UserEventsTable extends AppTable {
|
|
|
132
132
|
UserEventsTable.decorators = [
|
|
133
133
|
{ type: Component, args: [{
|
|
134
134
|
selector: 'app-user-events-table',
|
|
135
|
-
template: "\n<!-- Type = options menu -->\n<mat-menu #optionsMenu=\"matMenu\" xPosition=\"after\">\n\n <!-- display columns -->\n <button mat-menu-item\n (click)=\"openSelectColumnsModal($event)\">\n <mat-icon>view_column</mat-icon>\n <ion-label translate>COMMON.DISPLAYED_COLUMNS_DOTS</ion-label>\n </button>\n\n</mat-menu>\n\n<!-- top header -->\n<mat-toolbar>\n\n <ng-container *ngIf=\"!selection.hasValue(); else hasSelection\">\n\n <button mat-icon-button [title]=\"'COMMON.BTN_REFRESH'|translate\" (click)=\"onRefresh.emit()\">\n <mat-icon>refresh</mat-icon>\n </button>\n\n </ng-container>\n\n <!-- if row selection -->\n <ng-template #hasSelection>\n\n <!-- delete -->\n <button mat-icon-button class=\"hidden-xs hidden-sm\" *ngIf=\"canDelete\"\n [title]=\"'COMMON.BTN_DELETE'|translate\" (click)=\"deleteSelection($event)\">\n <mat-icon>delete</mat-icon>\n </button>\n </ng-template>\n\n <!-- error -->\n <ion-item *ngIf=\"error\" hidden-xs hidden-sm hidden-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <div class=\"toolbar-spacer\"></div>\n\n <button mat-icon-button\n [title]=\"'COMMON.BTN_OPTIONS'|translate\"\n [matMenuTriggerFor]=\"optionsMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n</mat-toolbar>\n\n\n<mat-table [dataSource]=\"dataSource\" matSort\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n matSortDisableClear [trackBy]=\"trackByFn\">\n\n <!-- select -->\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </mat-cell>\n </ng-container>\n\n <!-- id -->\n <ng-container matColumnDef=\"id\">\n <mat-header-cell *matHeaderCellDef mat-sort-header [class.cdk-visually-hidden]=\"!isAdmin\">\n <app-loading-spinner [loading]=\"loadingSubject|async\"><ion-label>#</ion-label></app-loading-spinner>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!isAdmin\">{{ row.currentData.id | mathAbs }}</mat-cell>\n </ng-container>\n\n <!-- creationDate -->\n <ng-container matColumnDef=\"creationDate\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>SOCIAL.USER_EVENT.CREATION_DATE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\">\n <ion-text>\n {{row.currentData.creationDate | dateFromNow }}<br/>\n <ion-text color=\"medium\"><small>{{row.currentData.creationDate | dateFormat: {time: true} }}</small></ion-text>\n </ion-text>\n </mat-cell>\n </ng-container>\n\n <!-- icon -->\n <ng-container matColumnDef=\"icon\">\n <mat-header-cell *matHeaderCellDef>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <ng-container *ngIf=\"getIcon(row.currentData); let details\">\n <ion-icon slot=\"start\" *ngIf=\"details.icon\" [name]=\"details.icon\"></ion-icon>\n <mat-icon slot=\"start\" *ngIf=\"details.matIcon\">{{details.matIcon}}</mat-icon>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <!-- event type -->\n <ng-container matColumnDef=\"eventType\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>SOCIAL.USER_EVENT.EVENT_TYPE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <span>{{'SOCIAL.USER_EVENT.TYPE_ENUM.' + row.currentData.eventType | translate}}</span>\n </mat-cell>\n </ng-container>\n\n <!-- message -->\n <ng-container matColumnDef=\"message\">\n <mat-header-cell *matHeaderCellDef>\n <ion-label translate>SOCIAL.USER_EVENT.MESSAGE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <ng-container *ngIf=\"getDetail(row.currentData); let details\">\n <ion-text [innerHTML]=\"details.title|translate\">\n </ion-text>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <!-- Actions buttons column -->\n <ng-container matColumnDef=\"actions\">\n <mat-header-cell *matHeaderCellDef>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"getDetail(row.currentData); let details\">\n <button mat-icon-button color=\"light\"\n *ngFor=\"let action of details.actions\"\n [title]=\"action.title |translate\"\n [color]=\"action.color\"\n (click)=\"doAction(action, row)\">\n <
|
|
135
|
+
template: "\n<!-- Type = options menu -->\n<mat-menu #optionsMenu=\"matMenu\" xPosition=\"after\">\n\n <!-- display columns -->\n <button mat-menu-item\n (click)=\"openSelectColumnsModal($event)\">\n <mat-icon>view_column</mat-icon>\n <ion-label translate>COMMON.DISPLAYED_COLUMNS_DOTS</ion-label>\n </button>\n\n</mat-menu>\n\n<!-- top header -->\n<mat-toolbar>\n\n <ng-container *ngIf=\"!selection.hasValue(); else hasSelection\">\n\n <button mat-icon-button [title]=\"'COMMON.BTN_REFRESH'|translate\" (click)=\"onRefresh.emit()\">\n <mat-icon>refresh</mat-icon>\n </button>\n\n </ng-container>\n\n <!-- if row selection -->\n <ng-template #hasSelection>\n\n <!-- delete -->\n <button mat-icon-button class=\"hidden-xs hidden-sm\" *ngIf=\"canDelete\"\n [title]=\"'COMMON.BTN_DELETE'|translate\" (click)=\"deleteSelection($event)\">\n <mat-icon>delete</mat-icon>\n </button>\n </ng-template>\n\n <!-- error -->\n <ion-item *ngIf=\"error\" hidden-xs hidden-sm hidden-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <div class=\"toolbar-spacer\"></div>\n\n <button mat-icon-button\n [title]=\"'COMMON.BTN_OPTIONS'|translate\"\n [matMenuTriggerFor]=\"optionsMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n</mat-toolbar>\n\n\n<mat-table [dataSource]=\"dataSource\" matSort\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n matSortDisableClear [trackBy]=\"trackByFn\">\n\n <!-- select -->\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </mat-cell>\n </ng-container>\n\n <!-- id -->\n <ng-container matColumnDef=\"id\">\n <mat-header-cell *matHeaderCellDef mat-sort-header [class.cdk-visually-hidden]=\"!isAdmin\">\n <app-loading-spinner [loading]=\"loadingSubject|async\"><ion-label>#</ion-label></app-loading-spinner>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!isAdmin\">{{ row.currentData.id | mathAbs }}</mat-cell>\n </ng-container>\n\n <!-- creationDate -->\n <ng-container matColumnDef=\"creationDate\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>SOCIAL.USER_EVENT.CREATION_DATE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\">\n <ion-text>\n {{row.currentData.creationDate | dateFromNow }}<br/>\n <ion-text color=\"medium\"><small>{{row.currentData.creationDate | dateFormat: {time: true} }}</small></ion-text>\n </ion-text>\n </mat-cell>\n </ng-container>\n\n <!-- icon -->\n <ng-container matColumnDef=\"icon\">\n <mat-header-cell *matHeaderCellDef>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <ng-container *ngIf=\"getIcon(row.currentData); let details\">\n <ion-icon slot=\"start\" *ngIf=\"details.icon\" [name]=\"details.icon\"></ion-icon>\n <mat-icon slot=\"start\" *ngIf=\"details.matIcon\">{{details.matIcon}}</mat-icon>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <!-- event type -->\n <ng-container matColumnDef=\"eventType\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>SOCIAL.USER_EVENT.EVENT_TYPE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <span>{{'SOCIAL.USER_EVENT.TYPE_ENUM.' + row.currentData.eventType | translate}}</span>\n </mat-cell>\n </ng-container>\n\n <!-- message -->\n <ng-container matColumnDef=\"message\">\n <mat-header-cell *matHeaderCellDef>\n <ion-label translate>SOCIAL.USER_EVENT.MESSAGE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <ng-container *ngIf=\"getDetail(row.currentData); let details\">\n <ion-text [innerHTML]=\"details.title|translate\">\n </ion-text>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <!-- Actions buttons column -->\n <ng-container matColumnDef=\"actions\">\n <mat-header-cell *matHeaderCellDef>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"getDetail(row.currentData); let details\">\n <button mat-icon-button color=\"light\"\n *ngFor=\"let action of details.actions\"\n [title]=\"action.title |translate\"\n [color]=\"action.color\"\n (click)=\"doAction(action, row)\">\n <app-icon slot=\"start\" *ngIf=\"action.iconRef\" [ref]=\"action.iconRef\"></app-icon>\n </button>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\"\n class=\"mat-row-disabled\"\n (click)=\"clickRow($event, row)\"></mat-row>\n\n</mat-table>\n\n<ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col class=\"ion-no-padding\" size=\"auto\">\n <mat-paginator [length]=\"totalRowCount\" [pageSize]=\"defaultPageSize\" [pageSizeOptions]=\"defaultPageSizeOptions\" showFirstLastButtons>\n </mat-paginator>\n </ion-col>\n</ion-row>\n",
|
|
136
136
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
137
|
+
providers: [
|
|
138
|
+
{
|
|
139
|
+
provide: UserEventServiceToken, useClass: UserEventService
|
|
140
|
+
}
|
|
141
|
+
],
|
|
137
142
|
styles: [".mat-header-row .mat-column-icon,.mat-row .mat-column-icon{max-width:40px;padding-left:0}.mat-header-row .mat-column-icon ion-icon,.mat-header-row .mat-column-icon mat-icon,.mat-row .mat-column-icon ion-icon,.mat-row .mat-column-icon mat-icon{font-size:1.2em;height:1.2em;width:1.2em}.mat-header-row .mat-column-creationDate,.mat-row .mat-column-creationDate{min-width:100px;max-width:120px}"]
|
|
138
143
|
},] }
|
|
139
144
|
];
|
|
140
145
|
UserEventsTable.ctorParameters = () => [
|
|
141
146
|
{ type: Injector },
|
|
142
147
|
{ type: AccountService },
|
|
143
|
-
{ type:
|
|
148
|
+
{ type: undefined, decorators: [{ type: Inject, args: [UserEventServiceToken,] }] },
|
|
144
149
|
{ type: EntitiesStorage },
|
|
145
150
|
{ type: ChangeDetectorRef },
|
|
146
151
|
{ type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] }
|
|
@@ -151,4 +156,4 @@ UserEventsTable.propDecorators = {
|
|
|
151
156
|
defaultSortBy: [{ type: Input }],
|
|
152
157
|
defaultSortDirection: [{ type: Input }]
|
|
153
158
|
};
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudHMudGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3VzZXItZXZlbnRzLnRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBbUIsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUl0RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUUzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFHdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBK0J0RSxNQUFNLFNBQVMsR0FBb0M7SUFDakQsVUFBVSxFQUFFLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQztJQUNuQyxhQUFhLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDO0NBQ2pDLENBQUM7QUFFRiwyREFBMkQ7QUFDM0Qsc0VBQXNFO0FBQ3RFLHNFQUFzRTtBQUN0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQVNILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQW9DO0lBY3ZFLFlBQ0UsUUFBa0IsRUFDUixjQUE4QixFQUM5QixP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Q0FBQyxHQUFHLENBQUM7aUJBQ2xEO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLENBQUM7b0JBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLE1BQU0sQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQzFHO3dCQUNPO29CQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztpQkFDckI7YUFDRjtRQUNILENBQUM7S0FBQTs7O1lBbklGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUVqQyxnMkxBQXVDO2dCQUN2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDOUM7OztZQW5GcUUsUUFBUTtZQUd2RSxjQUFjO1lBREcsZ0JBQWdCO1lBWWpDLGVBQWU7WUFkVSxpQkFBaUI7NENBd0c5QyxNQUFNLFNBQUMsV0FBVzs7O3dCQVpwQixLQUFLOzBCQUVMLEtBQUs7NEJBQ0wsS0FBSzttQ0FDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlRWxlbWVudCB9IGZyb20gJ0BlLWlzL25neC1tYXRlcmlhbC10YWJsZSc7XG5pbXBvcnQgeyBVc2VyRXZlbnRGaWx0ZXIsIFVzZXJFdmVudFNlcnZpY2UgfSBmcm9tICcuL3VzZXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVXNlckV2ZW50QWN0aW9uLCBVc2VyRXZlbnRUeXBlcyB9IGZyb20gJy4vdXNlci1ldmVudC5tb2RlbCc7XG5pbXBvcnQgeyBMb2NhbFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbG9jYWwtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBBcHBUYWJsZSwgUkVTRVJWRURfRU5EX0NPTFVNTlMsIFJFU0VSVkVEX1NUQVJUX0NPTFVNTlMgfSBmcm9tICcuLi8uLi9jb3JlL3RhYmxlL3RhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVudGl0aWVzVGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vY29yZS90YWJsZS9lbnRpdGllcy10YWJsZS1kYXRhc291cmNlLmNsYXNzJztcbmltcG9ydCB7IFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IEVudGl0aWVzU3RvcmFnZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvc3RvcmFnZS9lbnRpdGllcy1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlZGVmaW5lZENvbG9ycyB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyRXZlbnREZXRhaWw8VCBleHRlbmRzIElFbnRpdHk8VD4+IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG5cbiAgYWN0aW9uPzogc3RyaW5nIHwgYW55O1xuICBhY3Rpb25UaXRsZT86IHN0cmluZztcbiAgYWN0aW9uQ29sb3I/OiBQcmVkZWZpbmVkQ29sb3JzO1xuXG4gIGljb24/OiBzdHJpbmc7XG4gIG1hdEljb24/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgdGltZT86IE1vbWVudDtcblxuICAvLyBBIGNvbmZpZyBwcm9wZXJ0eSwgdG8gb3ZlcnJpZGUgdGhlIHRpdGxlXG4gIHRpdGxlUHJvcGVydHk/OiBzdHJpbmc7XG4gIHRpdGxlQXJncz86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xuXG4gIC8vIGNvbnZlcnNpb25cbiAgZnJvbU9iamVjdD86IChzb3VyY2U6IGFueSkgPT4gVDtcbiAgY2hpbGRyZW5GaWVsZHM/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckV2ZW50SWNvbntcbiAgaWNvbj86IHN0cmluZztcbiAgbWF0SWNvbj86IHN0cmluZztcbiAgY29sb3I/OiBQcmVkZWZpbmVkQ29sb3JzO1xufVxuY29uc3QgSUNPTlNfTUFQOiB7W2tleTogc3RyaW5nXTogVXNlckV2ZW50SWNvbiB9ID0ge1xuICBERUJVR19EQVRBOiB7bWF0SWNvbjogJ2J1Z19yZXBvcnQnfSxcbiAgSU5CT1hfTUVTU0FHRToge21hdEljb246ICdtYWlsJ30sXG59O1xuXG4vLyBUT0RPOiByZWZhY3RvciB3aXRoIGEgcmVnaXN0cmF0aW9uIGRvbmUgYnkgZGF0YSBzZXJ2aWNlOlxuLy8gLSB1c2VyRXZlbnRTZXJ2aWNlLnJlZ2lzdGVyRXZlbnRBY3Rpb24oe19fdHlwZW5hbWU6ICdUcmlwVk8nLCAuLi59KVxuLy8gLSB1c2VyRXZlbnRTZXJ2aWNlLmdldEFjdGlvbnNGb3IoX190eXBlbmFtZSk6IFVzZXJFdmVudERldGFpbEFjdGlvblxuLypjb25zdCBERVRBSUxTX01BUDoge1trZXk6IHN0cmluZ106IFVzZXJFdmVudEFjdGlvbjxSb290RGF0YUVudGl0eTxhbnk+Pn0gPSB7XG4gIFwiVHJpcFZPXCI6IHtcbiAgICBpY29uOiBudWxsLFxuICAgIG1hdEljb246IFwiY29udGVudF9jb3B5XCIsXG4gICAgYWN0aW9uOiAnY29weVRvTG9jYWwnLFxuICAgIGFjdGlvblRpdGxlOiAnU09DSUFMLlVTRVJfRVZFTlQuQlROX0NPUFlfVE9fTE9DQUwnLFxuICAgIGFjdGlvbkNvbG9yOiAncHJpbWFyeScsXG4gICAgZnJvbU9iamVjdDogVHJpcC5mcm9tT2JqZWN0LFxuICAgIGNoaWxkcmVuRmllbGRzOiBbJ29wZXJhdGlvbicsICdsYW5kaW5nJ11cbiAgfSxcbiAgXCJPYnNlcnZlZExvY2F0aW9uVk9cIjoge1xuICAgIGljb246IG51bGwsXG4gICAgbWF0SWNvbjogXCJjb250ZW50X2NvcHlcIixcbiAgICBhY3Rpb246ICdjb3B5VG9Mb2NhbCcsXG4gICAgYWN0aW9uVGl0bGU6ICdTT0NJQUwuVVNFUl9FVkVOVC5CVE5fQ09QWV9UT19MT0NBTCcsXG4gICAgYWN0aW9uQ29sb3I6ICdwcmltYXJ5JyxcbiAgICBmcm9tT2JqZWN0OiBPYnNlcnZlZExvY2F0aW9uLmZyb21PYmplY3QsXG4gICAgY2hpbGRyZW5GaWVsZHM6IFsnbGFuZGluZ3MnXVxuICB9XG59Ki9cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci1ldmVudHMtdGFibGUnLFxuICBzdHlsZVVybHM6IFsndXNlci1ldmVudHMudGFibGUuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1ldmVudHMudGFibGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG4gIH0pXG5leHBvcnQgY2xhc3MgVXNlckV2ZW50c1RhYmxlIGV4dGVuZHMgQXBwVGFibGU8VXNlckV2ZW50LCBVc2VyRXZlbnRGaWx0ZXI+XG4gIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBkYXRlVGltZVBhdHRlcm46IHN0cmluZztcbiAgY2FuRWRpdDogYm9vbGVhbjtcbiAgY2FuRGVsZXRlOiBib29sZWFuO1xuICBpc0FkbWluOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHJlY2lwaWVudDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHdpdGhDb250ZW50OiBib29sZWFuO1xuICBASW5wdXQoKSBkZWZhdWx0U29ydEJ5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRTb3J0RGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzZXJ2aWNlOiBVc2VyRXZlbnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBlbnRpdGllczogRW50aXRpZXNTdG9yYWdlLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJvdGVjdGVkIGVudmlyb25tZW50XG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yLFxuICAgICAgLy8gY29sdW1uc1xuICAgICAgUkVTRVJWRURfU1RBUlRfQ09MVU1OU1xuICAgICAgICAuY29uY2F0KFtcbiAgICAgICAgICAnY3JlYXRpb25EYXRlJyxcbiAgICAgICAgICAnaWNvbicsXG4gICAgICAgICAgJ2V2ZW50VHlwZScsXG4gICAgICAgICAgJ21lc3NhZ2UnXG4gICAgICAgIF0pXG4gICAgICAgIC5jb25jYXQoUkVTRVJWRURfRU5EX0NPTFVNTlMpLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwpO1xuXG4gICAgdGhpcy5pMThuQ29sdW1uUHJlZml4ID0gJ1NPQ0lBTC5VU0VSX0VWRU5ULic7XG4gICAgdGhpcy5hdXRvTG9hZCA9IGZhbHNlOyAvLyB0aGlzLnN0YXJ0KClcbiAgICB0aGlzLmlubGluZUVkaXRpb24gPSBmYWxzZTtcbiAgICB0aGlzLmRlZmF1bHRTb3J0QnkgPSAnY3JlYXRpb25EYXRlJztcbiAgICB0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uID0gJ2Rlc2MnO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gTG9hZCBkYXRlL3RpbWUgcGF0dGVyblxuICAgIHRoaXMuZGF0ZVRpbWVQYXR0ZXJuID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ09NTU9OLkRBVEVfVElNRV9QQVRURVJOJyk7XG4gICAgdGhpcy53aXRoQ29udGVudCA9IHRvQm9vbGVhbih0aGlzLndpdGhDb250ZW50LCBmYWxzZSk7XG5cbiAgICBjb25zdCBhY2NvdW50ID0gdGhpcy5hY2NvdW50U2VydmljZS5hY2NvdW50O1xuICAgIGNvbnN0IHB1YmtleSA9IGFjY291bnQgJiYgYWNjb3VudC5wdWJrZXk7XG4gICAgdGhpcy5pc0FkbWluID0gdGhpcy5hY2NvdW50U2VydmljZS5pc0FkbWluKCk7XG4gICAgdGhpcy5jYW5FZGl0ID0gdGhpcy5pc0FkbWluIHx8IHB1YmtleSA9PT0gdGhpcy5yZWNpcGllbnQ7XG4gICAgdGhpcy5jYW5EZWxldGUgPSB0aGlzLmNhbkVkaXQ7XG5cbiAgICB0aGlzLnNldERhdGFzb3VyY2UobmV3IEVudGl0aWVzVGFibGVEYXRhU291cmNlKFVzZXJFdmVudCxcbiAgICAgIHRoaXMuc2VydmljZSxcbiAgICAgIG51bGwsXG4gICAgICB7XG4gICAgICAgIHByZXBlbmROZXdFbGVtZW50czogZmFsc2UsXG4gICAgICAgIHN1cHByZXNzRXJyb3JzOiB0cnVlLFxuICAgICAgICBkYXRhU2VydmljZU9wdGlvbnM6IHtcbiAgICAgICAgICB3aXRoQ29udGVudDogdGhpcy53aXRoQ29udGVudFxuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZpbHRlciB8fCBuZXcgVXNlckV2ZW50RmlsdGVyKCk7XG4gICAgZmlsdGVyLnJlY2lwaWVudCA9IHRoaXMucmVjaXBpZW50O1xuICAgIHRoaXMuc2V0RmlsdGVyKGZpbHRlciwge2VtaXRFdmVudDogdHJ1ZX0pO1xuICB9XG5cbiAgYXN5bmMgc3RhcnQoKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW3VzZXItZXZlbnRdIFN0YXJ0aW5nLi4uJyk7XG5cbiAgICAvLyBXYWl0aW5nIGFjY291bnQgdG8gYmUgcmVhZHlcbiAgICBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLnJlYWR5KCk7XG5cbiAgICAvLyBMb2FkIGRhdGFcbiAgICB0aGlzLm9uUmVmcmVzaC5lbWl0KCk7XG4gIH1cblxuICBnZXRJY29uKHNvdXJjZTogVXNlckV2ZW50KTogVXNlckV2ZW50SWNvbiB7XG4gICAgcmV0dXJuIElDT05TX01BUFtzb3VyY2UuZXZlbnRUeXBlXTtcbiAgfVxuXG4gIGdldERldGFpbChzb3VyY2U6IFVzZXJFdmVudCk6IFBhcnRpYWw8VXNlckV2ZW50RGV0YWlsPElFbnRpdHk8YW55Pj4gJiB7YWN0aW9uczogVXNlckV2ZW50QWN0aW9uPGFueT5bXX0+IHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGlmIChzb3VyY2UuY29udGVudCAmJiBzb3VyY2UuZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlcy5ERUJVR19EQVRBKSB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gc291cmNlLmNvbnRlbnQuY29udGV4dDtcbiAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuX190eXBlbmFtZSkge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gdGhpcy5zZXJ2aWNlLmdldEFjdGlvbnNCeVR5cGVuYW1lKGNvbnRleHQuX190eXBlbmFtZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYWN0aW9ucyxcbiAgICAgICAgICB0aXRsZTogc291cmNlLmNvbnRlbnQuZXJyb3IgJiYgc291cmNlLmNvbnRlbnQuZXJyb3IubWVzc2FnZSB8fCBzb3VyY2UuY29udGVudC5tZXNzYWdlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBzb3VyY2UuY29udGVudC5lcnJvciAmJiBzb3VyY2UuY29udGVudC5lcnJvci5kZXRhaWxzIHx8IHVuZGVmaW5lZFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnNvbGUuZGVidWcoJ1RPRE86IGltcGxlbWVudCBnZXREZXRhaWwoKSBmb3IgZXZlbnQ6ICcsIHNvdXJjZSk7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cblxuICBhc3luYyBkb0FjdGlvbihhY3Rpb246IFVzZXJFdmVudEFjdGlvbjxhbnk+LCByb3c6IFRhYmxlRWxlbWVudDxVc2VyRXZlbnQ+KSB7XG5cbiAgICBjb25zdCBldmVudCA9IHJvdy5jdXJyZW50RGF0YTtcbiAgICBjb25zdCBjb250ZXh0ID0gZXZlbnQuY29udGVudCAmJiBldmVudC5jb250ZW50LmNvbnRleHQ7XG5cbiAgICB0aGlzLm1hcmtBc0xvYWRpbmcoKTtcblxuICAgIGlmIChhY3Rpb24gJiYgdHlwZW9mIGFjdGlvbi5leGVjdXRlQWN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0cnkge1xuICAgICAgICBsZXQgcmVzID0gYWN0aW9uLmV4ZWN1dGVBY3Rpb24oZXZlbnQsIGNvbnRleHQpO1xuICAgICAgICByZXMgPSAocmVzIGluc3RhbmNlb2YgUHJvbWlzZSkgPyBhd2FpdCByZXMgOiByZXM7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5zZXRFcnJvcihlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyKTtcbiAgICAgICAgY29uc29sZS5lcnJvcihgW3VzZXItZXZlbnRdIEZhaWxlZCB0byBleGVjdXRlIGFjdGlvbiAke2FjdGlvbi5uYW1lfTogJHtlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyfWAsIGVycik7XG4gICAgICB9XG4gICAgICBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy5tYXJrQXNMb2FkZWQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIl19
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudHMudGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3VzZXItZXZlbnRzLnRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBcUIsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBbUIsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBR3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWlDdEUsTUFBTSxTQUFTLEdBQXFDO0lBQ2xELFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7SUFDckMsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtDQUNuQyxDQUFDO0FBRUYsMkRBQTJEO0FBQzNELHNFQUFzRTtBQUN0RSxzRUFBc0U7QUFDdEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFlSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxRQUFvQztJQWN2RSxZQUNFLFFBQWtCLEVBQ1Is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RyxDQUFDLENBQUM7b0JBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLE1BQU0sQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQzFHO3dCQUFTO29CQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztpQkFDckI7YUFDRjtRQUNILENBQUM7S0FBQTs7O1lBeElGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUVqQywwd0xBQXVDO2dCQUN2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCO3FCQUMzRDtpQkFDRjs7YUFDRjs7O1lBdEZ1RSxRQUFRO1lBR3ZFLGNBQWM7NENBc0dsQixNQUFNLFNBQUMscUJBQXFCO1lBL0Z4QixlQUFlO1lBVlUsaUJBQWlCOzRDQTRHOUMsTUFBTSxTQUFDLFdBQVc7Ozt3QkFacEIsS0FBSzswQkFFTCxLQUFLOzRCQUNMLEtBQUs7bUNBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICdAZS1pcy9uZ3gtbWF0ZXJpYWwtdGFibGUnO1xuaW1wb3J0IHsgSVVzZXJFdmVudFNlcnZpY2UsIFVzZXJFdmVudFNlcnZpY2UsIFVzZXJFdmVudFNlcnZpY2VUb2tlbiB9IGZyb20gJy4vdXNlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBVc2VyRXZlbnRBY3Rpb24sIFVzZXJFdmVudEZpbHRlciwgVXNlckV2ZW50VHlwZXMgfSBmcm9tICcuL3VzZXItZXZlbnQubW9kZWwnO1xuaW1wb3J0IHsgdG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQXBwVGFibGUsIFJFU0VSVkVEX0VORF9DT0xVTU5TLCBSRVNFUlZFRF9TVEFSVF9DT0xVTU5TIH0gZnJvbSAnLi4vLi4vY29yZS90YWJsZS90YWJsZS5jbGFzcyc7XG5pbXBvcnQgeyBFbnRpdGllc1RhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2NvcmUvdGFibGUvZW50aXRpZXMtdGFibGUtZGF0YXNvdXJjZS5jbGFzcyc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBFbnRpdGllc1N0b3JhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByZWRlZmluZWRDb2xvcnMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRU5WSVJPTk1FTlQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckV2ZW50RGV0YWlsPFQgZXh0ZW5kcyBJRW50aXR5PFQ+PiB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuXG4gIGFjdGlvbj86IHN0cmluZyB8IGFueTtcbiAgYWN0aW9uVGl0bGU/OiBzdHJpbmc7XG4gIGFjdGlvbkNvbG9yPzogUHJlZGVmaW5lZENvbG9ycztcblxuICBpY29uPzogc3RyaW5nO1xuICBtYXRJY29uPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIHRpbWU/OiBNb21lbnQ7XG5cbiAgLy8gQSBjb25maWcgcHJvcGVydHksIHRvIG92ZXJyaWRlIHRoZSB0aXRsZVxuICB0aXRsZVByb3BlcnR5Pzogc3RyaW5nO1xuICB0aXRsZUFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8vIGNvbnZlcnNpb25cbiAgZnJvbU9iamVjdD86IChzb3VyY2U6IGFueSkgPT4gVDtcbiAgY2hpbGRyZW5GaWVsZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyRXZlbnRJY29uIHtcbiAgaWNvbj86IHN0cmluZztcbiAgbWF0SWNvbj86IHN0cmluZztcbiAgY29sb3I/OiBQcmVkZWZpbmVkQ29sb3JzO1xufVxuXG5jb25zdCBJQ09OU19NQVA6IHsgW2tleTogc3RyaW5nXTogVXNlckV2ZW50SWNvbiB9ID0ge1xuICBERUJVR19EQVRBOiB7IG1hdEljb246ICdidWdfcmVwb3J0JyB9LFxuICBJTkJPWF9NRVNTQUdFOiB7IG1hdEljb246ICdtYWlsJyB9XG59O1xuXG4vLyBUT0RPOiByZWZhY3RvciB3aXRoIGEgcmVnaXN0cmF0aW9uIGRvbmUgYnkgZGF0YSBzZXJ2aWNlOlxuLy8gLSB1c2VyRXZlbnRTZXJ2aWNlLnJlZ2lzdGVyRXZlbnRBY3Rpb24oe19fdHlwZW5hbWU6ICdUcmlwVk8nLCAuLi59KVxuLy8gLSB1c2VyRXZlbnRTZXJ2aWNlLmdldEFjdGlvbnNGb3IoX190eXBlbmFtZSk6IFVzZXJFdmVudERldGFpbEFjdGlvblxuLypjb25zdCBERVRBSUxTX01BUDoge1trZXk6IHN0cmluZ106IFVzZXJFdmVudEFjdGlvbjxSb290RGF0YUVudGl0eTxhbnk+Pn0gPSB7XG4gIFwiVHJpcFZPXCI6IHtcbiAgICBpY29uOiBudWxsLFxuICAgIG1hdEljb246IFwiY29udGVudF9jb3B5XCIsXG4gICAgYWN0aW9uOiAnY29weVRvTG9jYWwnLFxuICAgIGFjdGlvblRpdGxlOiAnU09DSUFMLlVTRVJfRVZFTlQuQlROX0NPUFlfVE9fTE9DQUwnLFxuICAgIGFjdGlvbkNvbG9yOiAncHJpbWFyeScsXG4gICAgZnJvbU9iamVjdDogVHJpcC5mcm9tT2JqZWN0LFxuICAgIGNoaWxkcmVuRmllbGRzOiBbJ29wZXJhdGlvbicsICdsYW5kaW5nJ11cbiAgfSxcbiAgXCJPYnNlcnZlZExvY2F0aW9uVk9cIjoge1xuICAgIGljb246IG51bGwsXG4gICAgbWF0SWNvbjogXCJjb250ZW50X2NvcHlcIixcbiAgICBhY3Rpb246ICdjb3B5VG9Mb2NhbCcsXG4gICAgYWN0aW9uVGl0bGU6ICdTT0NJQUwuVVNFUl9FVkVOVC5CVE5fQ09QWV9UT19MT0NBTCcsXG4gICAgYWN0aW9uQ29sb3I6ICdwcmltYXJ5JyxcbiAgICBmcm9tT2JqZWN0OiBPYnNlcnZlZExvY2F0aW9uLmZyb21PYmplY3QsXG4gICAgY2hpbGRyZW5GaWVsZHM6IFsnbGFuZGluZ3MnXVxuICB9XG59Ki9cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci1ldmVudHMtdGFibGUnLFxuICBzdHlsZVVybHM6IFsndXNlci1ldmVudHMudGFibGUuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1ldmVudHMudGFibGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBVc2VyRXZlbnRTZXJ2aWNlVG9rZW4sIHVzZUNsYXNzOiBVc2VyRXZlbnRTZXJ2aWNlXG4gICAgfVxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgVXNlckV2ZW50c1RhYmxlIGV4dGVuZHMgQXBwVGFibGU8VXNlckV2ZW50LCBVc2VyRXZlbnRGaWx0ZXI+XG4gIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBkYXRlVGltZVBhdHRlcm46IHN0cmluZztcbiAgY2FuRWRpdDogYm9vbGVhbjtcbiAgY2FuRGVsZXRlOiBib29sZWFuO1xuICBpc0FkbWluOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHJlY2lwaWVudDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHdpdGhDb250ZW50OiBib29sZWFuO1xuICBASW5wdXQoKSBkZWZhdWx0U29ydEJ5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRTb3J0RGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIEBJbmplY3QoVXNlckV2ZW50U2VydmljZVRva2VuKSBwcm90ZWN0ZWQgc2VydmljZTogSVVzZXJFdmVudFNlcnZpY2U8VXNlckV2ZW50LCBVc2VyRXZlbnRGaWx0ZXI+LFxuICAgIHByb3RlY3RlZCBlbnRpdGllczogRW50aXRpZXNTdG9yYWdlLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJvdGVjdGVkIGVudmlyb25tZW50XG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yLFxuICAgICAgLy8gY29sdW1uc1xuICAgICAgUkVTRVJWRURfU1RBUlRfQ09MVU1OU1xuICAgICAgICAuY29uY2F0KFtcbiAgICAgICAgICAnY3JlYXRpb25EYXRlJyxcbiAgICAgICAgICAnaWNvbicsXG4gICAgICAgICAgJ2V2ZW50VHlwZScsXG4gICAgICAgICAgJ21lc3NhZ2UnXG4gICAgICAgIF0pXG4gICAgICAgIC5jb25jYXQoUkVTRVJWRURfRU5EX0NPTFVNTlMpLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwpO1xuXG4gICAgdGhpcy5pMThuQ29sdW1uUHJlZml4ID0gJ1NPQ0lBTC5VU0VSX0VWRU5ULic7XG4gICAgdGhpcy5hdXRvTG9hZCA9IGZhbHNlOyAvLyB0aGlzLnN0YXJ0KClcbiAgICB0aGlzLmlubGluZUVkaXRpb24gPSBmYWxzZTtcbiAgICB0aGlzLmRlZmF1bHRTb3J0QnkgPSAnY3JlYXRpb25EYXRlJztcbiAgICB0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uID0gJ2Rlc2MnO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gTG9hZCBkYXRlL3RpbWUgcGF0dGVyblxuICAgIHRoaXMuZGF0ZVRpbWVQYXR0ZXJuID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ09NTU9OLkRBVEVfVElNRV9QQVRURVJOJyk7XG4gICAgdGhpcy53aXRoQ29udGVudCA9IHRvQm9vbGVhbih0aGlzLndpdGhDb250ZW50LCBmYWxzZSk7XG5cbiAgICBjb25zdCBhY2NvdW50ID0gdGhpcy5hY2NvdW50U2VydmljZS5hY2NvdW50O1xuICAgIGNvbnN0IHB1YmtleSA9IGFjY291bnQgJiYgYWNjb3VudC5wdWJrZXk7XG4gICAgdGhpcy5pc0FkbWluID0gdGhpcy5hY2NvdW50U2VydmljZS5pc0FkbWluKCk7XG4gICAgdGhpcy5jYW5FZGl0ID0gdGhpcy5pc0FkbWluIHx8IHB1YmtleSA9PT0gdGhpcy5yZWNpcGllbnQ7XG4gICAgdGhpcy5jYW5EZWxldGUgPSB0aGlzLmNhbkVkaXQ7XG5cbiAgICB0aGlzLnNldERhdGFzb3VyY2UobmV3IEVudGl0aWVzVGFibGVEYXRhU291cmNlKFVzZXJFdmVudCxcbiAgICAgIHRoaXMuc2VydmljZSxcbiAgICAgIG51bGwsXG4gICAgICB7XG4gICAgICAgIHByZXBlbmROZXdFbGVtZW50czogZmFsc2UsXG4gICAgICAgIHN1cHByZXNzRXJyb3JzOiB0cnVlLFxuICAgICAgICBkYXRhU2VydmljZU9wdGlvbnM6IHtcbiAgICAgICAgICB3aXRoQ29udGVudDogdGhpcy53aXRoQ29udGVudFxuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmZpbHRlciB8fCBuZXcgVXNlckV2ZW50RmlsdGVyKCk7XG4gICAgZmlsdGVyLnJlY2lwaWVudHMgPSBbdGhpcy5yZWNpcGllbnRdO1xuICAgIHRoaXMuc2V0RmlsdGVyKGZpbHRlciwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gIH1cblxuICBhc3luYyBzdGFydCgpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbdXNlci1ldmVudF0gU3RhcnRpbmcuLi4nKTtcblxuICAgIC8vIFdhaXRpbmcgYWNjb3VudCB0byBiZSByZWFkeVxuICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2UucmVhZHkoKTtcblxuICAgIC8vIExvYWQgZGF0YVxuICAgIHRoaXMub25SZWZyZXNoLmVtaXQoKTtcbiAgfVxuXG4gIGdldEljb24oc291cmNlOiBVc2VyRXZlbnQpOiBVc2VyRXZlbnRJY29uIHtcbiAgICByZXR1cm4gSUNPTlNfTUFQW3NvdXJjZS50eXBlXTtcbiAgfVxuXG4gIGdldERldGFpbChzb3VyY2U6IFVzZXJFdmVudCk6IFBhcnRpYWw8VXNlckV2ZW50RGV0YWlsPElFbnRpdHk8YW55Pj4gJiB7IGFjdGlvbnM6IFVzZXJFdmVudEFjdGlvbltdIH0+IHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGlmIChzb3VyY2UuY29udGVudCAmJiBzb3VyY2UudHlwZSA9PT0gVXNlckV2ZW50VHlwZXMuREVCVUdfREFUQSkge1xuICAgICAgY29uc3QgY29udGV4dCA9IHNvdXJjZS5jb250ZW50LmNvbnRleHQ7XG4gICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9fdHlwZW5hbWUpIHtcbiAgICAgICAgLy8gY29uc3QgYWN0aW9ucyA9IHRoaXMuc2VydmljZS5nZXRBY3Rpb25zQnlUeXBlbmFtZShjb250ZXh0Ll9fdHlwZW5hbWUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC8vIGFjdGlvbnMsXG4gICAgICAgICAgdGl0bGU6IHNvdXJjZS5jb250ZW50LmVycm9yICYmIHNvdXJjZS5jb250ZW50LmVycm9yLm1lc3NhZ2UgfHwgc291cmNlLmNvbnRlbnQubWVzc2FnZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogc291cmNlLmNvbnRlbnQuZXJyb3IgJiYgc291cmNlLmNvbnRlbnQuZXJyb3IuZGV0YWlscyB8fCB1bmRlZmluZWRcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmRlYnVnKCdUT0RPOiBpbXBsZW1lbnQgZ2V0RGV0YWlsKCkgZm9yIGV2ZW50OiAnLCBzb3VyY2UpO1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG5cbiAgYXN5bmMgZG9BY3Rpb24oYWN0aW9uOiBVc2VyRXZlbnRBY3Rpb24sIHJvdzogVGFibGVFbGVtZW50PFVzZXJFdmVudD4pIHtcblxuICAgIGNvbnN0IGV2ZW50ID0gcm93LmN1cnJlbnREYXRhO1xuICAgIC8vIGNvbnN0IGNvbnRleHQgPSBldmVudC5jb250ZW50ICYmIGV2ZW50LmNvbnRlbnQuY29udGV4dDtcblxuICAgIHRoaXMubWFya0FzTG9hZGluZygpO1xuXG4gICAgaWYgKGFjdGlvbiAmJiB0eXBlb2YgYWN0aW9uLmV4ZWN1dGVBY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxldCByZXMgPSBhY3Rpb24uZXhlY3V0ZUFjdGlvbihldmVudC8qLCBjb250ZXh0Ki8pO1xuICAgICAgICByZXMgPSAocmVzIGluc3RhbmNlb2YgUHJvbWlzZSkgPyBhd2FpdCByZXMgOiByZXM7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5zZXRFcnJvcihlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyKTtcbiAgICAgICAgY29uc29sZS5lcnJvcihgW3VzZXItZXZlbnRdIEZhaWxlZCB0byBleGVjdXRlIGFjdGlvbiAke2FjdGlvbi5uYW1lfTogJHtlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyfWAsIGVycik7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLm1hcmtBc0xvYWRlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -2,19 +2,23 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public_api';
|
|
5
|
-
export { AppIconComponent as
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
5
|
+
export { AppIconComponent as ɵe } from './src/app/core/icon/icon.component';
|
|
6
|
+
export { AppIconModule as ɵd } from './src/app/core/icon/icon.module';
|
|
7
|
+
export { AppUpdateOfflineModeCard as ɵm } from './src/app/core/offline/update-offline-mode-card.component';
|
|
8
|
+
export { RegisterForm as ɵh } from './src/app/core/register/form/form-register';
|
|
9
|
+
export { RegisterModal as ɵj } from './src/app/core/register/modal/modal-register';
|
|
10
|
+
export { AccountValidatorService as ɵi } from './src/app/core/services/validator/account.validator';
|
|
11
|
+
export { LocalSettingsValidatorService as ɵl } from './src/app/core/services/validator/local-settings.validator';
|
|
12
|
+
export { UserSettingsValidatorService as ɵk } from './src/app/core/services/validator/user-settings.validator';
|
|
12
13
|
export { isFocusableElement as ɵc } from './src/app/shared/focusable';
|
|
13
|
-
export { MatBadgeIconTestPage as
|
|
14
|
-
export { DateTestPage as
|
|
14
|
+
export { MatBadgeIconTestPage as ɵq } from './src/app/shared/material/badge/badge-icon.test';
|
|
15
|
+
export { DateTestPage as ɵo } from './src/app/shared/material/datetime/testing/mat-date.test';
|
|
15
16
|
export { MatNumpadDomService as ɵb } from './src/app/shared/material/numpad/numpad.dom-service';
|
|
16
|
-
export { NumpadTestPage as
|
|
17
|
+
export { NumpadTestPage as ɵp } from './src/app/shared/material/numpad/testing/numpad.test';
|
|
17
18
|
export { CustomReuseStrategy as ɵa } from './src/app/shared/shared-routing.module';
|
|
18
|
-
export { ToastTestingPage as
|
|
19
|
-
export { ToastTestingModule as
|
|
20
|
-
|
|
19
|
+
export { ToastTestingPage as ɵs } from './src/app/shared/toast/toast.testing';
|
|
20
|
+
export { ToastTestingModule as ɵr } from './src/app/shared/toast/toast.testing.module';
|
|
21
|
+
export { JobProgressionList as ɵn } from './src/app/social/job/progression/job-progression.list';
|
|
22
|
+
export { UserEventNotificationList as ɵf } from './src/app/social/user-event/notification/user-event-notification.list';
|
|
23
|
+
export { UserEventTestService as ɵg } from './src/app/social/user-event/testing/user-event.testing.service';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtYXJpcy1uZXQubmd4LWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zdW1hcmlzLW5ldC5uZ3gtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUMvRyxPQUFPLEVBQUMsNEJBQTRCLElBQUksRUFBRSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0csT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDdEgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdFQUFnRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0FwcEljb25Db21wb25lbnQgYXMgybVlfSBmcm9tICcuL3NyYy9hcHAvY29yZS9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCB7QXBwSWNvbk1vZHVsZSBhcyDJtWR9IGZyb20gJy4vc3JjL2FwcC9jb3JlL2ljb24vaWNvbi5tb2R1bGUnO1xuZXhwb3J0IHtBcHBVcGRhdGVPZmZsaW5lTW9kZUNhcmQgYXMgybVtfSBmcm9tICcuL3NyYy9hcHAvY29yZS9vZmZsaW5lL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWdpc3RlckZvcm0gYXMgybVofSBmcm9tICcuL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9mb3JtL2Zvcm0tcmVnaXN0ZXInO1xuZXhwb3J0IHtSZWdpc3Rlck1vZGFsIGFzIMm1an0gZnJvbSAnLi9zcmMvYXBwL2NvcmUvcmVnaXN0ZXIvbW9kYWwvbW9kYWwtcmVnaXN0ZXInO1xuZXhwb3J0IHtBY2NvdW50VmFsaWRhdG9yU2VydmljZSBhcyDJtWl9IGZyb20gJy4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL3ZhbGlkYXRvci9hY2NvdW50LnZhbGlkYXRvcic7XG5leHBvcnQge0xvY2FsU2V0dGluZ3NWYWxpZGF0b3JTZXJ2aWNlIGFzIMm1bH0gZnJvbSAnLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvdmFsaWRhdG9yL2xvY2FsLXNldHRpbmdzLnZhbGlkYXRvcic7XG5leHBvcnQge1VzZXJTZXR0aW5nc1ZhbGlkYXRvclNlcnZpY2UgYXMgybVrfSBmcm9tICcuL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy92YWxpZGF0b3IvdXNlci1zZXR0aW5ncy52YWxpZGF0b3InO1xuZXhwb3J0IHtpc0ZvY3VzYWJsZUVsZW1lbnQgYXMgybVjfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL2ZvY3VzYWJsZSc7XG5leHBvcnQge01hdEJhZGdlSWNvblRlc3RQYWdlIGFzIMm1cX0gZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9iYWRnZS9iYWRnZS1pY29uLnRlc3QnO1xuZXhwb3J0IHtEYXRlVGVzdFBhZ2UgYXMgybVvfSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2RhdGV0aW1lL3Rlc3RpbmcvbWF0LWRhdGUudGVzdCc7XG5leHBvcnQge01hdE51bXBhZERvbVNlcnZpY2UgYXMgybVifSBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC9udW1wYWQuZG9tLXNlcnZpY2UnO1xuZXhwb3J0IHtOdW1wYWRUZXN0UGFnZSBhcyDJtXB9IGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL3Rlc3RpbmcvbnVtcGFkLnRlc3QnO1xuZXhwb3J0IHtDdXN0b21SZXVzZVN0cmF0ZWd5IGFzIMm1YX0gZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC9zaGFyZWQtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtUb2FzdFRlc3RpbmdQYWdlIGFzIMm1c30gZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nJztcbmV4cG9ydCB7VG9hc3RUZXN0aW5nTW9kdWxlIGFzIMm1cn0gZnJvbSAnLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQge0pvYlByb2dyZXNzaW9uTGlzdCBhcyDJtW59IGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvam9iL3Byb2dyZXNzaW9uL2pvYi1wcm9ncmVzc2lvbi5saXN0JztcbmV4cG9ydCB7VXNlckV2ZW50Tm90aWZpY2F0aW9uTGlzdCBhcyDJtWZ9IGZyb20gJy4vc3JjL2FwcC9zb2NpYWwvdXNlci1ldmVudC9ub3RpZmljYXRpb24vdXNlci1ldmVudC1ub3RpZmljYXRpb24ubGlzdCc7XG5leHBvcnQge1VzZXJFdmVudFRlc3RTZXJ2aWNlIGFzIMm1Z30gZnJvbSAnLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L3Rlc3RpbmcvdXNlci1ldmVudC50ZXN0aW5nLnNlcnZpY2UnOyJdfQ==
|