@hmcts/ccd-case-ui-toolkit 5.0.14-angular11-upgrade → 5.0.15-angular11-updgrade-welsh-release-v2
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/hmcts-ccd-case-ui-toolkit.umd.js +3067 -2039
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/components/banners/alert/alert.component.js +7 -5
- package/esm2015/lib/components/banners/alert/alert.module.js +12 -4
- package/esm2015/lib/components/footer/footer.component.js +55 -30
- package/esm2015/lib/components/footer/footers.module.js +12 -4
- package/esm2015/lib/components/form/date-input/date-input.component.js +56 -37
- package/esm2015/lib/components/form/form.module.js +8 -4
- package/esm2015/lib/components/header/header-bar/header-bar.component.js +32 -19
- package/esm2015/lib/components/header/headers.module.js +6 -4
- package/esm2015/lib/components/header/navigation/navigation-item.component.js +9 -7
- package/esm2015/lib/components/header/phase/phase.component.js +20 -9
- package/esm2015/lib/components/tabs/tabs.component.js +7 -5
- package/esm2015/lib/components/tabs/tabs.module.js +6 -2
- package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +12 -9
- package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +11 -8
- package/esm2015/lib/shared/components/activity/activity.component.js +15 -10
- package/esm2015/lib/shared/components/activity/activity.module.js +6 -2
- package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +33 -28
- package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +80 -51
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +179 -130
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +21 -17
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +51 -26
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +51 -28
- package/esm2015/lib/shared/components/case-history/case-history.component.js +96 -69
- package/esm2015/lib/shared/components/case-history/case-history.module.js +8 -4
- package/esm2015/lib/shared/components/case-list/case-list.component.js +56 -49
- package/esm2015/lib/shared/components/case-list/case-list.module.js +8 -4
- package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +8 -4
- package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +10 -6
- package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +8 -4
- package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +108 -67
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +91 -70
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +45 -23
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +89 -60
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +32 -20
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +109 -80
- package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +81 -50
- package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +10 -6
- package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +39 -24
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +63 -40
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +6 -2
- package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/dialogs.module.js +6 -2
- package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/error/callback-errors.component.js +34 -23
- package/esm2015/lib/shared/components/error/errors.module.js +6 -2
- package/esm2015/lib/shared/components/error-message/error-message.component.js +14 -11
- package/esm2015/lib/shared/components/error-message/error-message.module.js +8 -4
- package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +39 -20
- package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +34 -18
- package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +34 -19
- package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +50 -25
- package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +39 -20
- package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +34 -18
- package/esm2015/lib/shared/components/event-start/event-start.module.js +8 -4
- package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +27 -17
- package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +6 -2
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +7 -5
- package/esm2015/lib/shared/components/pagination/pagination.component.js +84 -67
- package/esm2015/lib/shared/components/pagination/pagination.module.js +8 -4
- package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +53 -33
- package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +10 -8
- package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +45 -32
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +50 -46
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +7 -6
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +22 -20
- package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +5 -4
- package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +29 -17
- package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +33 -26
- package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +22 -14
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +26 -17
- package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +20 -15
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +91 -69
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +60 -46
- package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +15 -11
- package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +19 -14
- package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +45 -26
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +9 -7
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +41 -29
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +48 -35
- package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +90 -51
- package/esm2015/lib/shared/components/palette/palette.module.js +28 -20
- package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +20 -15
- package/esm2015/lib/shared/components/search-filters/search-filters.component.js +62 -36
- package/esm2015/lib/shared/components/search-filters/search-filters.module.js +10 -6
- package/esm2015/lib/shared/components/search-result/search-result.component.js +124 -92
- package/esm2015/lib/shared/components/search-result/search-result.module.js +8 -4
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +66 -47
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +8 -4
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +3036 -2030
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/components/banners/alert/alert.module.d.ts +2 -1
- package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
- package/lib/components/footer/footers.module.d.ts +2 -1
- package/lib/components/footer/footers.module.d.ts.map +1 -1
- package/lib/components/form/form.module.d.ts +2 -1
- package/lib/components/form/form.module.d.ts.map +1 -1
- package/lib/components/header/headers.module.d.ts +2 -1
- package/lib/components/header/headers.module.d.ts.map +1 -1
- package/lib/components/tabs/tabs.module.d.ts +2 -1
- package/lib/components/tabs/tabs.module.d.ts.map +1 -1
- package/lib/shared/components/activity/activity.module.d.ts +2 -1
- package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts +3 -2
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-history/case-history.module.d.ts +2 -1
- package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -1
- package/lib/shared/components/case-list/case-list.module.d.ts +2 -1
- package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -1
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +2 -1
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -1
- package/lib/shared/components/case-timeline/case-timeline.module.d.ts +2 -1
- package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts +2 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +2 -1
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -1
- package/lib/shared/components/dialogs/dialogs.module.d.ts +2 -1
- package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
- package/lib/shared/components/error/errors.module.d.ts +2 -1
- package/lib/shared/components/error/errors.module.d.ts.map +1 -1
- package/lib/shared/components/error-message/error-message.module.d.ts +2 -1
- package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -1
- package/lib/shared/components/event-start/event-start.module.d.ts +2 -1
- package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -1
- package/lib/shared/components/event-trigger/event-trigger.module.d.ts +2 -1
- package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -1
- package/lib/shared/components/pagination/pagination.module.d.ts +2 -1
- package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.module.d.ts +21 -19
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/search-filters/search-filters.module.d.ts +2 -1
- package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
- package/lib/shared/components/search-result/search-result.module.d.ts +2 -1
- package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +2 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { NgModule } from '@angular/core';
|
|
|
3
3
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import { NgxPaginationModule } from 'ngx-pagination';
|
|
6
|
+
import { RpxTranslationModule } from 'rpx-xui-translation';
|
|
6
7
|
import { LabelSubstitutorModule } from '../../directives/substitutor/label-substitutor.module';
|
|
7
8
|
import { PipesModule } from '../../pipes/pipes.module';
|
|
8
9
|
import { BrowserService } from '../../services/browser/browser.service';
|
|
@@ -11,6 +12,7 @@ import { ActivityModule } from '../activity/activity.module';
|
|
|
11
12
|
import { PaginationModule } from '../pagination/pagination.module';
|
|
12
13
|
import { SearchResultComponent } from './search-result.component';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "rpx-xui-translation";
|
|
14
16
|
export class SearchResultModule {
|
|
15
17
|
}
|
|
16
18
|
SearchResultModule.ɵfac = function SearchResultModule_Factory(t) { return new (t || SearchResultModule)(); };
|
|
@@ -27,7 +29,8 @@ SearchResultModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
27
29
|
LabelSubstitutorModule,
|
|
28
30
|
PipesModule,
|
|
29
31
|
ActivityModule,
|
|
30
|
-
PaginationModule
|
|
32
|
+
PaginationModule,
|
|
33
|
+
RpxTranslationModule.forChild()
|
|
31
34
|
]] });
|
|
32
35
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SearchResultModule, { declarations: [SearchResultComponent], imports: [CommonModule,
|
|
33
36
|
NgxPaginationModule,
|
|
@@ -37,7 +40,7 @@ SearchResultModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
37
40
|
LabelSubstitutorModule,
|
|
38
41
|
PipesModule,
|
|
39
42
|
ActivityModule,
|
|
40
|
-
PaginationModule], exports: [SearchResultComponent] }); })();
|
|
43
|
+
PaginationModule, i1.RpxTranslationModule], exports: [SearchResultComponent] }); })();
|
|
41
44
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultModule, [{
|
|
42
45
|
type: NgModule,
|
|
43
46
|
args: [{
|
|
@@ -50,7 +53,8 @@ SearchResultModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
50
53
|
LabelSubstitutorModule,
|
|
51
54
|
PipesModule,
|
|
52
55
|
ActivityModule,
|
|
53
|
-
PaginationModule
|
|
56
|
+
PaginationModule,
|
|
57
|
+
RpxTranslationModule.forChild()
|
|
54
58
|
],
|
|
55
59
|
declarations: [
|
|
56
60
|
SearchResultComponent
|
|
@@ -64,4 +68,4 @@ SearchResultModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
64
68
|
]
|
|
65
69
|
}]
|
|
66
70
|
}], null, null); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDeEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUEwQmxFLE1BQU0sT0FBTyxrQkFBa0I7O29GQUFsQixrQkFBa0I7c0RBQWxCLGtCQUFrQjsyREFMbEI7UUFDVCxxQ0FBcUM7UUFDckMsY0FBYztLQUNmLFlBckJRO1lBQ1AsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIsV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsb0JBQW9CLENBQUMsUUFBUSxFQUFFO1NBQ2hDO3dGQVlVLGtCQUFrQixtQkFWM0IscUJBQXFCLGFBWnJCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLFdBQVc7UUFDWCxjQUFjO1FBQ2QsZ0JBQWdCLHNDQU9oQixxQkFBcUI7dUZBT1osa0JBQWtCO2NBeEI5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixzQkFBc0I7b0JBQ3RCLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtpQkFDaEM7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULHFDQUFxQztvQkFDckMsY0FBYztpQkFDZjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ3hQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnbmd4LXBhZ2luYXRpb24nO1xuaW1wb3J0IHsgUnB4VHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IExhYmVsU3Vic3RpdHV0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3N1YnN0aXR1dG9yL2xhYmVsLXN1YnN0aXR1dG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Jyb3dzZXIvYnJvd3Nlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gtcmVzdWx0L3NvcnRpbmcvc2VhcmNoLXJlc3VsdC12aWV3LWl0ZW0tY29tcGFyYXRvci1mYWN0b3J5JztcbmltcG9ydCB7IEFjdGl2aXR5TW9kdWxlIH0gZnJvbSAnLi4vYWN0aXZpdHkvYWN0aXZpdHkubW9kdWxlJztcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBBY3Rpdml0eU1vZHVsZSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFJweFRyYW5zbGF0aW9uTW9kdWxlLmZvckNoaWxkKClcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2VhcmNoUmVzdWx0Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTZWFyY2hSZXN1bHRDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnksXG4gICAgQnJvd3NlclNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRNb2R1bGUge31cbiJdfQ==
|
|
@@ -19,14 +19,15 @@ import * as i7 from "@angular/forms";
|
|
|
19
19
|
import * as i8 from "@angular/common";
|
|
20
20
|
import * as i9 from "../../directives/conditional-show/conditional-show-form.directive";
|
|
21
21
|
import * as i10 from "../palette/base-field/field-write.component";
|
|
22
|
-
|
|
22
|
+
import * as i11 from "rpx-xui-translation";
|
|
23
|
+
function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
|
|
23
24
|
i0.ɵɵelementStart(0, "option", 11);
|
|
24
25
|
i0.ɵɵtext(1, "Select a value");
|
|
25
26
|
i0.ɵɵelementEnd();
|
|
26
27
|
} if (rf & 2) {
|
|
27
28
|
i0.ɵɵproperty("ngValue", null);
|
|
28
29
|
} }
|
|
29
|
-
function
|
|
30
|
+
function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
|
|
30
31
|
i0.ɵɵelementStart(0, "option", 11);
|
|
31
32
|
i0.ɵɵtext(1);
|
|
32
33
|
i0.ɵɵelementEnd();
|
|
@@ -36,14 +37,14 @@ function WorkbasketFiltersComponent_option_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
36
37
|
i0.ɵɵadvance(1);
|
|
37
38
|
i0.ɵɵtextInterpolate(j_r6.name);
|
|
38
39
|
} }
|
|
39
|
-
function
|
|
40
|
+
function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
|
|
40
41
|
i0.ɵɵelementStart(0, "option", 11);
|
|
41
42
|
i0.ɵɵtext(1, "Select a value");
|
|
42
43
|
i0.ɵɵelementEnd();
|
|
43
44
|
} if (rf & 2) {
|
|
44
45
|
i0.ɵɵproperty("ngValue", null);
|
|
45
46
|
} }
|
|
46
|
-
function
|
|
47
|
+
function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
|
|
47
48
|
i0.ɵɵelementStart(0, "option", 11);
|
|
48
49
|
i0.ɵɵtext(1);
|
|
49
50
|
i0.ɵɵelementEnd();
|
|
@@ -53,7 +54,7 @@ function WorkbasketFiltersComponent_option_14_Template(rf, ctx) { if (rf & 1) {
|
|
|
53
54
|
i0.ɵɵadvance(1);
|
|
54
55
|
i0.ɵɵtextInterpolate(ct_r7.name);
|
|
55
56
|
} }
|
|
56
|
-
function
|
|
57
|
+
function WorkbasketFiltersComponent_option_25_Template(rf, ctx) { if (rf & 1) {
|
|
57
58
|
i0.ɵɵelementStart(0, "option", 11);
|
|
58
59
|
i0.ɵɵtext(1);
|
|
59
60
|
i0.ɵɵelementEnd();
|
|
@@ -63,11 +64,11 @@ function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
|
|
|
63
64
|
i0.ɵɵadvance(1);
|
|
64
65
|
i0.ɵɵtextInterpolate(cs_r8.name);
|
|
65
66
|
} }
|
|
66
|
-
function
|
|
67
|
+
function WorkbasketFiltersComponent_ng_container_26_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
67
68
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
68
69
|
i0.ɵɵelementStart(0, "div", 2);
|
|
69
70
|
i0.ɵɵelementStart(1, "ccd-field-write", 18);
|
|
70
|
-
i0.ɵɵlistener("keyup.enter", function
|
|
71
|
+
i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_26_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.apply(null); });
|
|
71
72
|
i0.ɵɵelementEnd();
|
|
72
73
|
i0.ɵɵelementEnd();
|
|
73
74
|
} if (rf & 2) {
|
|
@@ -76,10 +77,10 @@ function WorkbasketFiltersComponent_ng_container_22_div_2_Template(rf, ctx) { if
|
|
|
76
77
|
i0.ɵɵadvance(1);
|
|
77
78
|
i0.ɵɵproperty("caseField", workbasketInput_r10.field)("formGroup", ctx_r9.formGroup)("isExpanded", true)("isInSearchBlock", true);
|
|
78
79
|
} }
|
|
79
|
-
function
|
|
80
|
+
function WorkbasketFiltersComponent_ng_container_26_Template(rf, ctx) { if (rf & 1) {
|
|
80
81
|
i0.ɵɵelementContainerStart(0, 15);
|
|
81
82
|
i0.ɵɵelementStart(1, "div", 16);
|
|
82
|
-
i0.ɵɵtemplate(2,
|
|
83
|
+
i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_26_div_2_Template, 2, 4, "div", 17);
|
|
83
84
|
i0.ɵɵelementEnd();
|
|
84
85
|
i0.ɵɵelementContainerEnd();
|
|
85
86
|
} if (rf & 2) {
|
|
@@ -357,68 +358,82 @@ WorkbasketFiltersComponent.PARAM_JURISDICTION = 'jurisdiction';
|
|
|
357
358
|
WorkbasketFiltersComponent.PARAM_CASE_TYPE = 'case-type';
|
|
358
359
|
WorkbasketFiltersComponent.PARAM_CASE_STATE = 'case-state';
|
|
359
360
|
WorkbasketFiltersComponent.ɵfac = function WorkbasketFiltersComponent_Factory(t) { return new (t || WorkbasketFiltersComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.WorkbasketInputFilterService), i0.ɵɵdirectiveInject(i3.OrderService), i0.ɵɵdirectiveInject(i4.JurisdictionService), i0.ɵɵdirectiveInject(i5.AlertService), i0.ɵɵdirectiveInject(i6.WindowService)); };
|
|
360
|
-
WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls:
|
|
361
|
+
WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 34, vars: 31, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "ngModelChange", "change"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange", "change"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", "title", "Apply filter", "aria-label", "Apply filter", 1, "button", "workbasket-filters-apply", 3, "disabled", "click"], ["type", "button", "title", "Reset filter", "aria-label", "Reset filter", 1, "button", "button-secondary", 3, "click"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "caseField", "formGroup", "isExpanded", "isInSearchBlock", "keyup.enter"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
|
|
361
362
|
i0.ɵɵelementStart(0, "h2", 0);
|
|
362
|
-
i0.ɵɵtext(1
|
|
363
|
+
i0.ɵɵtext(1);
|
|
364
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
363
365
|
i0.ɵɵelementEnd();
|
|
364
|
-
i0.ɵɵelementStart(
|
|
365
|
-
i0.ɵɵelementStart(
|
|
366
|
-
i0.ɵɵelementStart(
|
|
367
|
-
i0.ɵɵtext(
|
|
366
|
+
i0.ɵɵelementStart(3, "form", 1);
|
|
367
|
+
i0.ɵɵelementStart(4, "div", 2);
|
|
368
|
+
i0.ɵɵelementStart(5, "label", 3);
|
|
369
|
+
i0.ɵɵtext(6);
|
|
370
|
+
i0.ɵɵpipe(7, "rpxTranslate");
|
|
368
371
|
i0.ɵɵelementEnd();
|
|
369
|
-
i0.ɵɵelementStart(
|
|
370
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
371
|
-
i0.ɵɵtemplate(
|
|
372
|
-
i0.ɵɵtemplate(
|
|
372
|
+
i0.ɵɵelementStart(8, "select", 4);
|
|
373
|
+
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_8_listener($event) { return ctx.selected.jurisdiction = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_8_listener() { return ctx.onJurisdictionIdChange(); });
|
|
374
|
+
i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template, 2, 1, "option", 5);
|
|
375
|
+
i0.ɵɵtemplate(10, WorkbasketFiltersComponent_option_10_Template, 2, 2, "option", 6);
|
|
373
376
|
i0.ɵɵelementEnd();
|
|
374
377
|
i0.ɵɵelementEnd();
|
|
375
|
-
i0.ɵɵelementStart(
|
|
376
|
-
i0.ɵɵelementStart(
|
|
377
|
-
i0.ɵɵtext(
|
|
378
|
+
i0.ɵɵelementStart(11, "div", 2);
|
|
379
|
+
i0.ɵɵelementStart(12, "label", 7);
|
|
380
|
+
i0.ɵɵtext(13);
|
|
381
|
+
i0.ɵɵpipe(14, "rpxTranslate");
|
|
378
382
|
i0.ɵɵelementEnd();
|
|
379
|
-
i0.ɵɵelementStart(
|
|
380
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
381
|
-
i0.ɵɵtemplate(
|
|
382
|
-
i0.ɵɵtemplate(
|
|
383
|
+
i0.ɵɵelementStart(15, "select", 8);
|
|
384
|
+
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_15_listener($event) { return ctx.selected.caseType = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_15_listener() { return ctx.onCaseTypeIdChange(); });
|
|
385
|
+
i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template, 2, 1, "option", 5);
|
|
386
|
+
i0.ɵɵtemplate(17, WorkbasketFiltersComponent_option_17_Template, 2, 2, "option", 6);
|
|
383
387
|
i0.ɵɵelementEnd();
|
|
384
388
|
i0.ɵɵelementEnd();
|
|
385
|
-
i0.ɵɵelementStart(
|
|
386
|
-
i0.ɵɵelementStart(
|
|
387
|
-
i0.ɵɵtext(
|
|
389
|
+
i0.ɵɵelementStart(18, "div", 2);
|
|
390
|
+
i0.ɵɵelementStart(19, "label", 9);
|
|
391
|
+
i0.ɵɵtext(20);
|
|
392
|
+
i0.ɵɵpipe(21, "rpxTranslate");
|
|
388
393
|
i0.ɵɵelementEnd();
|
|
389
|
-
i0.ɵɵelementStart(
|
|
390
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
391
|
-
i0.ɵɵelementStart(
|
|
392
|
-
i0.ɵɵtext(
|
|
394
|
+
i0.ɵɵelementStart(22, "select", 10);
|
|
395
|
+
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_22_listener($event) { return ctx.selected.caseState = $event; });
|
|
396
|
+
i0.ɵɵelementStart(23, "option", 11);
|
|
397
|
+
i0.ɵɵtext(24, "Any");
|
|
393
398
|
i0.ɵɵelementEnd();
|
|
394
|
-
i0.ɵɵtemplate(
|
|
399
|
+
i0.ɵɵtemplate(25, WorkbasketFiltersComponent_option_25_Template, 2, 2, "option", 6);
|
|
395
400
|
i0.ɵɵelementEnd();
|
|
396
401
|
i0.ɵɵelementEnd();
|
|
397
|
-
i0.ɵɵtemplate(
|
|
398
|
-
i0.ɵɵelementStart(
|
|
399
|
-
i0.ɵɵlistener("click", function
|
|
400
|
-
i0.ɵɵtext(
|
|
402
|
+
i0.ɵɵtemplate(26, WorkbasketFiltersComponent_ng_container_26_Template, 3, 3, "ng-container", 12);
|
|
403
|
+
i0.ɵɵelementStart(27, "button", 13);
|
|
404
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_27_listener() { return ctx.apply(true); });
|
|
405
|
+
i0.ɵɵtext(28);
|
|
406
|
+
i0.ɵɵpipe(29, "rpxTranslate");
|
|
401
407
|
i0.ɵɵelementEnd();
|
|
402
|
-
i0.ɵɵtext(
|
|
403
|
-
i0.ɵɵelementStart(
|
|
404
|
-
i0.ɵɵlistener("click", function
|
|
405
|
-
i0.ɵɵtext(
|
|
408
|
+
i0.ɵɵtext(30, " \u00A0\u00A0\u00A0 ");
|
|
409
|
+
i0.ɵɵelementStart(31, "button", 14);
|
|
410
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_31_listener() { return ctx.reset(); });
|
|
411
|
+
i0.ɵɵtext(32);
|
|
412
|
+
i0.ɵɵpipe(33, "rpxTranslate");
|
|
406
413
|
i0.ɵɵelementEnd();
|
|
407
414
|
i0.ɵɵelementEnd();
|
|
408
415
|
} if (rf & 2) {
|
|
409
|
-
i0.ɵɵadvance(
|
|
416
|
+
i0.ɵɵadvance(1);
|
|
417
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 19, "Filters"));
|
|
418
|
+
i0.ɵɵadvance(5);
|
|
419
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 21, "Jurisdiction"));
|
|
420
|
+
i0.ɵɵadvance(2);
|
|
410
421
|
i0.ɵɵproperty("ngModel", ctx.selected.jurisdiction);
|
|
411
422
|
i0.ɵɵadvance(1);
|
|
412
423
|
i0.ɵɵproperty("ngIf", !ctx.workbasketDefaults);
|
|
413
424
|
i0.ɵɵadvance(1);
|
|
414
425
|
i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
|
|
415
|
-
i0.ɵɵadvance(
|
|
426
|
+
i0.ɵɵadvance(3);
|
|
427
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 23, "Case type"));
|
|
428
|
+
i0.ɵɵadvance(2);
|
|
416
429
|
i0.ɵɵproperty("ngModel", ctx.selected.caseType)("disabled", ctx.isCaseTypesDropdownDisabled());
|
|
417
430
|
i0.ɵɵadvance(1);
|
|
418
431
|
i0.ɵɵproperty("ngIf", !ctx.workbasketDefaults);
|
|
419
432
|
i0.ɵɵadvance(1);
|
|
420
433
|
i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
|
|
421
|
-
i0.ɵɵadvance(
|
|
434
|
+
i0.ɵɵadvance(3);
|
|
435
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 25, "State"));
|
|
436
|
+
i0.ɵɵadvance(2);
|
|
422
437
|
i0.ɵɵproperty("ngModel", ctx.selected.caseState)("disabled", ctx.isCaseStatesDropdownDisabled());
|
|
423
438
|
i0.ɵɵadvance(1);
|
|
424
439
|
i0.ɵɵproperty("ngValue", null);
|
|
@@ -428,7 +443,11 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
428
443
|
i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
|
|
429
444
|
i0.ɵɵadvance(1);
|
|
430
445
|
i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled());
|
|
431
|
-
|
|
446
|
+
i0.ɵɵadvance(1);
|
|
447
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(29, 27, "Apply"));
|
|
448
|
+
i0.ɵɵadvance(4);
|
|
449
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 29, "Reset"));
|
|
450
|
+
} }, directives: [i7.ɵangular_packages_forms_forms_ba, i7.NgControlStatusGroup, i7.NgForm, i7.SelectControlValueAccessor, i7.NgControlStatus, i7.NgModel, i8.NgIf, i8.NgForOf, i7.NgSelectOption, i7.ɵangular_packages_forms_forms_z, i9.ConditionalShowFormDirective, i7.FormGroupDirective, i10.FieldWriteComponent], pipes: [i11.RpxTranslatePipe], styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width:641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
|
|
432
451
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
|
|
433
452
|
type: Component,
|
|
434
453
|
args: [{
|
|
@@ -445,4 +464,4 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
445
464
|
}], onReset: [{
|
|
446
465
|
type: Output
|
|
447
466
|
}] }); })();
|
|
448
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ05uRyxrQ0FBcUQ7SUFBQSw4QkFBYztJQUFBLGlCQUFTOztJQUF4Qyw4QkFBZ0I7OztJQUNwRCxrQ0FB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ZixlQUErQjtRQUEvQiwrQ0FBK0IsK0NBQUE7UUFFN0MsZUFBeUI7UUFBekIsOENBQXlCO1FBQ1gsZUFBZ0M7UUFBaEMsMkRBQWdDO1FBT3BDLGVBQWdDO1FBQWhDLGdEQUFnQyxnREFBQTtRQUUzQyxlQUFnQjtRQUFoQiw4QkFBZ0I7UUFDRCxlQUF5QjtRQUF6QixvREFBeUI7UUFJZCxlQUE0QztRQUE1QyxpRUFBNEM7UUFRRSxlQUFvQztRQUFwQyxzREFBb0M7O3VGRGhCN0csMEJBQTBCO2NBTHRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDtnT0FTUSxhQUFhO2tCQURuQixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsT0FBTztrQkFEYixNQUFNO1lBSUEsT0FBTztrQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVN0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVHlwZUxpdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXR5cGUtbGl0ZS5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgV29ya2Jhc2tldElucHV0TW9kZWwgfSBmcm9tICcuLi8uLi9kb21haW4vd29ya2Jhc2tldC93b3JrYmFza2V0LWlucHV0Lm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93L3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFdvcmtiYXNrZXRJbnB1dEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3JrYmFza2V0L3dvcmtiYXNrZXQtaW5wdXQtZmlsdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSA9ICd3b3JrYmFza2V0LWZpbHRlci1mb3JtLWdyb3VwLXZhbHVlJztcbmNvbnN0IFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFID0gJ3NhdmVkUXVlcnlQYXJhbXMnO1xuY29uc3QgUkVHSU9OX0xJU1RfQU5EX0ZSQ19GSUxURVIgPSAncmVnaW9uTGlzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13b3JrYmFza2V0LWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25zOiBKdXJpc2RpY3Rpb25bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdHM7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFwcGx5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uUmVzZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0SW5wdXRzOiBXb3JrYmFza2V0SW5wdXRNb2RlbFtdO1xuICBwdWJsaWMgd29ya2Jhc2tldElucHV0c1JlYWR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0RGVmYXVsdHM6IGJvb2xlYW47XG5cbiAgcHVibGljIHNlbGVjdGVkOiB7XG4gICAgaW5pdD86IGJvb2xlYW4sXG4gICAganVyaXNkaWN0aW9uPzogSnVyaXNkaWN0aW9uLFxuICAgIGNhc2VUeXBlPzogQ2FzZVR5cGVMaXRlLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsXG4gICAgcGFnZT86IG51bWJlcixcbiAgICBtZXRhZGF0YUZpZWxkcz86IHN0cmluZ1tdXG4gIH07XG5cbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgcHVibGljIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzPzogQ2FzZVR5cGVMaXRlW107XG4gIHB1YmxpYyBzZWxlY3RlZENhc2VUeXBlU3RhdGVzPzogQ2FzZVN0YXRlW107XG5cbiAgcHVibGljIGluaXRpYWxpc2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlOiBXb3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9O1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBpZiAoIXRoaXMuaW5pdGlhbGlzZWQgfHwgIXBhcmFtcyB8fCAhT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5pbml0RmlsdGVycyhmYWxzZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGlzZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KGluaXQpOiB2b2lkIHtcbiAgICAvLyBTYXZlIGZpbHRlcnMgYXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgY3VycmVudCByb3V0ZVxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1RZUEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1NUQVRFXSA9IHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlLmlkO1xuICAgIH1cbiAgICAvLyB3aXRob3V0IGV4cGxpY2l0bHkgcHJlc2VydmluZyBhbGVydHMgYW55IG1lc3NhZ2Ugb24gdGhlIHBhZ2VcbiAgICAvLyB3b3VsZCBiZSBjbGVhcmVkIG91dCBiZWNhdXNlIG9mIHRoaXMgaW5pdGlhbCBuYXZpZ2F0aW9uLlxuICAgIC8vIFRoZSBhYm92ZSBpcyBvbmx5IHRydWUgaWYgbm8gYWxlcnRzIHdlcmUgc2V0IHByaW9yIHRvIGxvYWRpbmcgY2FzZSBsaXN0IHBhZ2UuXG4gICAgaWYgKCF0aGlzLmFsZXJ0U2VydmljZS5pc1ByZXNlcnZlQWxlcnRzKCkpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNldFByZXNlcnZlQWxlcnRzKCF0aGlzLmluaXRpYWxpc2VkKTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGUgZm9ybSBncm91cCBmaWx0ZXJzXG4gICAgICB0aGlzLnVwZGF0ZUZvcm1Hcm91cEZpbHRlcnMoKTtcblxuICAgICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZC5pbml0ID0gaW5pdDtcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLmdldE1ldGFkYXRhRmllbGRzKCk7XG4gICAgaWYgKGluaXQpIHtcbiAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoU0FWRURfUVVFUllfUEFSQU1fTE9DX1NUT1JBR0UsIEpTT04uc3RyaW5naWZ5KHF1ZXJ5UGFyYW1zKSk7XG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtR3JvdXAudmFsdWUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQXBwbHkgZmlsdGVyc1xuICAgIHRoaXMub25BcHBseS5lbWl0KHtzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCwgcXVlcnlQYXJhbXN9KTtcbiAgICB0aGlzLnNldEZvY3VzVG9Ub3AoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFKTtcbiAgICBzZXRUaW1lb3V0ICgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKTtcbiAgICAgIHRoaXMub25SZXNldC5lbWl0KHRydWUpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWV0YWRhdGFGaWVsZHMoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLndvcmtiYXNrZXRJbnB1dHMpIHtcbiAgICAgIHJldHVybiB0aGlzLndvcmtiYXNrZXRJbnB1dHNcbiAgICAgICAgLmZpbHRlcih3b3JrYmFza2V0SW5wdXQgPT4gd29ya2Jhc2tldElucHV0LmZpZWxkLm1ldGFkYXRhID09PSB0cnVlKVxuICAgICAgICAubWFwKHdvcmtiYXNrZXRJbnB1dCA9PiB3b3JrYmFza2V0SW5wdXQuZmllbGQuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbklkQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmFubm91bmNlU2VsZWN0ZWRKdXJpc2RpY3Rpb24odGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pO1xuICAgICAgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmNhc2VUeXBlcy5sZW5ndGggPiAwID8gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzIDogbnVsbDtcbiAgICAgIC8vIExpbmUgd2FzIHRvbyBsb25nIGZvciBsaW50aW5nIHNvIHJlZmFjdG9yZWQgaXQuXG4gICAgICBpZiAodGhpcy53b3JrYmFza2V0RGVmYXVsdHMgJiYgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1swXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuXG4gICAgICBpZiAoIXRoaXMuaXNBcHBseUJ1dHRvbkRpc2FibGVkKCkpIHtcbiAgICAgICAgdGhpcy5vbkNhc2VUeXBlSWRDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldENhc2VUeXBlKCk7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2FzZVR5cGVJZENoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gdGhpcy5zb3J0U3RhdGVzKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuc3RhdGVzKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gbnVsbDtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuICAgICAgaWYgKCF0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCgpKSB7XG4gICAgICAgIHRoaXMud29ya2Jhc2tldElucHV0RmlsdGVyU2VydmljZS5nZXRXb3JrYmFza2V0SW5wdXRzKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkLCB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkKS5waXBlKFxuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKS5zdWJzY3JpYmUod29ya2Jhc2tldElucHV0cyA9PiB7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHMgPSB3b3JrYmFza2V0SW5wdXRzXG4gICAgICAgICAgICAgIC5zb3J0KHRoaXMub3JkZXJTZXJ2aWNlLnNvcnRBc2MpO1xuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSk7XG5cbiAgICAgICAgICAgIHdvcmtiYXNrZXRJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uZmllbGQuZWxlbWVudFBhdGgpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpZWxkLmlkID0gaXRlbS5maWVsZC5pZCArICcuJyArIGl0ZW0uZmllbGQuZWxlbWVudFBhdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICAgIGlmIChmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hGb3JtVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKGZvcm1WYWx1ZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5maWVsZC52YWx1ZSA9IHNlYXJjaEZvcm1WYWx1ZU9iamVjdFtpdGVtLmZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmdldENhc2VGaWVsZHMoKTtcbiAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnV29ya2Jhc2tldCBpbnB1dCBmaWVsZHMgcmVxdWVzdCB3aWxsIGJlIGRpc2NhcmRlZCByZWFzb246ICcsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQ2FzZVR5cGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXM7XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlU3RhdGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgfHwgISh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcyAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FwcGx5QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gJiYgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hhYmxlQW5kV29ya2Jhc2tldElucHV0c1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlICYmIHRoaXMud29ya2Jhc2tldElucHV0c1JlYWR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzbHkgdXNlZFxuICAgKiBmb3JtIGdyb3VwIGNvbnRyb2wgZmlsdGVyIHZhbHVlcyB0byBtYWtlIHN1cmUgb25seSB0aGVcbiAgICogY3VycmVudGx5IHNlbGVjdGVkIGZvcm0gZ3JvdXAgY29udHJvbCBmaWx0ZXIgdmFsdWVzIGFyZSBwcmVzZW50LlxuICAgKlxuICAgKiBIYXMgYmVlbiBpbXBsZW1lbnRlZCBmb3IgJ1JlZ2lvbiBhbmQgRlJDIGZpbHRlcnMnIGFuZCBjYW4gYmUgZXh0ZW5kZWRcbiAgICogaW4gZnV0dXJlIHRvIGluY29ycG9yYXRlIG90aGVyIGR5bmFtaWMgZmlsdGVycy5cbiAgICovXG4gICBwdWJsaWMgdXBkYXRlRm9ybUdyb3VwRmlsdGVycygpOiB2b2lkIHtcbiAgICAvLyBSZWFkIHRoZSBmb3JtIGdyb3VwIGxvY2FsIHN0b3JhZ2VcbiAgICBjb25zdCBmb3JtR3JvdXBMUyA9IEpTT04ucGFyc2UodGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuXG4gICAgLy8gRm9ybSBncm91cCBsb2NhbCBzdG9yYWdlIGlzIGF2YWlsYWJsZSBhbmQgY29udGFpbnMgcmVnaW9uTGlzdCBwcm9wZXJ0eVxuICAgIGlmICghIWZvcm1Hcm91cExTICYmIGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KFJFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSKSkge1xuICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikpIHtcbiAgICAgICAgLy8gSWYgcmVnaW9uTGlzdCB2YWx1ZSBkb2VzIG5vdCBtYXRjaCBiZXR3ZWVuIGxvY2FsIHN0b3JhZ2UgYW5kIGZvcm0gZ3JvdXBcbiAgICAgICAgLy8gdGhlbiB0aGUgZmlsdGVyIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYW5kIHdlIG5lZWQgdG8gY2xlYXIgdGhlIG9sZCBmaWx0ZXIgdmFsdWVzXG4gICAgICAgIGlmIChmb3JtR3JvdXBMU1tSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUl0gIT09IHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikudmFsdWUpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtR3JvdXBMUykge1xuICAgICAgICAgICAgaWYgKGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBmb3JtR3JvdXBMU1trZXldO1xuICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgZmlsdGVyIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZXMgaWYgaXQgaGFzIGEgdmFsdWUgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICAvLyBUaGUgcmVnaW9uTGlzdCBmb3JtIGdyb3VwIGNvbnRyb2wgdmFsdWUgc2hvdWxkIGJlIGlnbm9yZWQgYXMgaXQgYWx3YXlzIGNvbnRhaW4gdGhlIGxhdGVzdCB2YWx1ZVxuICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUiAmJiB2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KGtleSkuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRTdGF0ZXMoc3RhdGVzOiBDYXNlU3RhdGVbXSkge1xuICAgIHJldHVybiBzdGF0ZXMuc29ydCh0aGlzLm9yZGVyU2VydmljZS5zb3J0QXNjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gaW5pdGlhbGlzZSBmaWx0ZXJzIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMgb3Igd29ya2Jhc2tldCBkZWZhdWx0cy5cbiAgICogUXVlcnkgcGFyYW1ldGVycywgd2hlbiBhdmFpbGFibGUsIHRha2UgcHJlY2VkZW5jZSBvdmVyIHdvcmtiYXNrZXQgZGVmYXVsdHMuXG4gICAqL1xuICBwcml2YXRlIGluaXRGaWx0ZXJzKGluaXQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBzYXZlZFF1ZXJ5UGFyYW1zID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShTQVZFRF9RVUVSWV9QQVJBTV9MT0NfU1RPUkFHRSk7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3Q7XG4gICAgaWYgKHNhdmVkUXVlcnlQYXJhbXMpIHtcbiAgICAgIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMgPSBKU09OLnBhcnNlKHNhdmVkUXVlcnlQYXJhbXMpO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RlZEp1cmlzZGljdGlvbklkID0gcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dIHx8XG4gICAgICAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmp1cmlzZGljdGlvbl9pZCk7XG4gICAgaWYgKHNlbGVjdGVkSnVyaXNkaWN0aW9uSWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zLmZpbmQoaiA9PiBzZWxlY3RlZEp1cmlzZGljdGlvbklkID09PSBqLmlkKTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5jYXNlVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RDYXNlVHlwZSh0aGlzLnNlbGVjdGVkLCB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzLCByb3V0ZVNuYXBzaG90KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLm9uQ2FzZVR5cGVJZENoYW5nZSgpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5zZWxlY3RDYXNlU3RhdGUodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSwgcm91dGVTbmFwc2hvdCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuYXBwbHkoaW5pdCk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZShjYXNlVHlwZTogQ2FzZVR5cGVMaXRlLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVN0YXRlIHtcbiAgICBsZXQgY2FzZVN0YXRlO1xuICAgIGlmIChjYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlU3RhdGVJZCA9IHRoaXMuc2VsZWN0Q2FzZVN0YXRlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3QsICh0aGlzLmRlZmF1bHRzICYmIHRoaXMuZGVmYXVsdHMuc3RhdGVfaWQpKTtcbiAgICAgIGNhc2VTdGF0ZSA9IGNhc2VUeXBlLnN0YXRlcy5maW5kKGN0ID0+IHNlbGVjdGVkQ2FzZVN0YXRlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VTdGF0ZSA/IGNhc2VTdGF0ZSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBkZWZhdWx0Q2FzZVN0YXRlSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXNbV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQuUEFSQU1fQ0FTRV9TVEFURV0gfHwgZGVmYXVsdENhc2VTdGF0ZUlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDYXNlVHlwZShzZWxlY3RlZDogYW55LCBjYXNlVHlwZXM6IENhc2VUeXBlTGl0ZVtdLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVR5cGVMaXRlIHtcbiAgICBsZXQgY2FzZVR5cGU7XG4gICAgaWYgKHNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlVHlwZUlkID0gdGhpcy5zZWxlY3RDYXNlVHlwZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90LCAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmNhc2VfdHlwZV9pZCkpO1xuICAgICAgY2FzZVR5cGUgPSBjYXNlVHlwZXMuZmluZChjdCA9PiBzZWxlY3RlZENhc2VUeXBlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VUeXBlID8gY2FzZVR5cGUgOiBjYXNlVHlwZXNbMF07XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VUeXBlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRlZmF1bHRDYXNlVHlwZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gfHwgZGVmYXVsdENhc2VUeXBlSWQ7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKSB7XG4gICAgdGhpcy5yZXNldENhc2VTdGF0ZSgpO1xuICAgIHRoaXMucmVzZXRDYXNlVHlwZSgpO1xuICAgIHRoaXMuY2xlYXJXb3JrYmFza2V0SW5wdXRzKCk7XG4gICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgdGhpcy5pbml0aWFsaXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5pdEZpbHRlcnModHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyV29ya2Jhc2tldElucHV0cygpIHtcbiAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IGZhbHNlO1xuICAgIHRoaXMud29ya2Jhc2tldElucHV0cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENhc2VTdGF0ZSgpIHtcbiAgICB0aGlzLmRlZmF1bHRzLnN0YXRlX2lkID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDYXNlVHlwZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdW5kZWZpbmVkOyAvLyBvcHRpb24gc2hvdWxkIGJlIGJsYW5rIHJhdGhlciB0aGFuIFwiU2VsZWN0IGEgdmFsdWVcIiBpbiBjYXNlIG9mIHJlc2V0LlxuICAgIHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcblxuICAgIGNvbnN0IHRvcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gtcmVzdWx0LWhlYWRpbmdfX3RleHQnKTtcbiAgICBpZiAodG9wQ29udGFpbmVyKSB7XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud29ya2Jhc2tldElucHV0cykge1xuICAgICAgdGhpcy5jYXNlRmllbGRzID0gdGhpcy53b3JrYmFza2V0SW5wdXRzLm1hcChpdGVtID0+IEZpZWxkc1V0aWxzLmNvbnZlcnRUb0Nhc2VGaWVsZChpdGVtLmZpZWxkKSk7XG4gICAgfVxuICB9XG59XG4iLCJcbjxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBhcmlhLWxhYmVsPVwiRmlsdGVyc1wiPkZpbHRlcnM8L2gyPlxuPGZvcm0gY2xhc3M9XCJnbG9iYWwtZGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1qdXJpc2RpY3Rpb25cIj5KdXJpc2RpY3Rpb248L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWp1cmlzZGljdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwianVyaXNkaWN0aW9uXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5qdXJpc2RpY3Rpb25cIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKVwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIiF3b3JrYmFza2V0RGVmYXVsdHNcIiBbbmdWYWx1ZV09XCJudWxsXCI+U2VsZWN0IGEgdmFsdWU8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGogb2YganVyaXNkaWN0aW9uc1wiIFtuZ1ZhbHVlXT1cImpcIj57e2oubmFtZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIndiLWNhc2UtdHlwZVwiPkNhc2UgdHlwZTwvbGFiZWw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtMy00IGNjZC1kcm9wZG93blwiIGlkPVwid2ItY2FzZS10eXBlXCJcbiAgICAgICAgICAgIG5hbWU9XCJjYXNlLXR5cGVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkLmNhc2VUeXBlXCIgW2Rpc2FibGVkXT1cImlzQ2FzZVR5cGVzRHJvcGRvd25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25DYXNlVHlwZUlkQ2hhbmdlKClcIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIiF3b3JrYmFza2V0RGVmYXVsdHNcIiBbbmdWYWx1ZV09XCJudWxsXCI+U2VsZWN0IGEgdmFsdWU8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGN0IG9mIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzXCIgW25nVmFsdWVdPVwiY3RcIj57e2N0Lm5hbWV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1jYXNlLXN0YXRlXCI+U3RhdGU8L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWNhc2Utc3RhdGVcIlxuICAgICAgICAgICAgbmFtZT1cInN0YXRlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5jYXNlU3RhdGVcIiBbZGlzYWJsZWRdPVwiaXNDYXNlU3RhdGVzRHJvcGRvd25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJzZWFyY2gtcmVzdWx0XCI+XG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIj5Bbnk8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNzIG9mIHNlbGVjdGVkQ2FzZVR5cGVTdGF0ZXNcIiBbbmdWYWx1ZV09XCJjc1wiPnt7Y3MubmFtZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgY2NkQ29uZGl0aW9uYWxTaG93Rm9ybSAqbmdJZj1cImlzU2VhcmNoYWJsZUFuZFdvcmtiYXNrZXRJbnB1dHNSZWFkeSgpXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbY29udGV4dEZpZWxkc109XCJjYXNlRmllbGRzXCI+XG4gICAgPGRpdiBpZD1cImR5bmFtaWNGaWx0ZXJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiICpuZ0Zvcj1cImxldCB3b3JrYmFza2V0SW5wdXQgb2Ygd29ya2Jhc2tldElucHV0c1wiPlxuICAgICAgICA8Y2NkLWZpZWxkLXdyaXRlIFtjYXNlRmllbGRdPVwid29ya2Jhc2tldElucHV0LmZpZWxkXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbaXNFeHBhbmRlZF09XCJ0cnVlXCIgW2lzSW5TZWFyY2hCbG9ja109XCJ0cnVlXCIgKGtleXVwLmVudGVyKT1cImFwcGx5KG51bGwpXCI+PC9jY2QtZmllbGQtd3JpdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gd29ya2Jhc2tldC1maWx0ZXJzLWFwcGx5XCIgKGNsaWNrKT1cImFwcGx5KHRydWUpXCIgW2Rpc2FibGVkXT1cImlzQXBwbHlCdXR0b25EaXNhYmxlZCgpXCIgdGl0bGU9XCJBcHBseSBmaWx0ZXJcIiBhcmlhLWxhYmVsPVwiQXBwbHkgZmlsdGVyXCI+QXBwbHk8L2J1dHRvbj4gJm5ic3A7Jm5ic3A7Jm5ic3A7XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiIHRpdGxlPVwiUmVzZXQgZmlsdGVyXCIgYXJpYS1sYWJlbD1cIlJlc2V0IGZpbHRlclwiPlJlc2V0PC9idXR0b24+XG48L2Zvcm0+XG4iXX0=
|
|
467
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNObkcsa0NBQXFEO0lBQUEsOEJBQWM7SUFBQSxpQkFBUzs7SUFBeEMsOEJBQWdCOzs7SUFDcEQsa0NB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QUFtQztRQUVwRCxlQUF5QjtRQUF6Qiw4Q0FBeUI7UUFDWixlQUFnQjtRQUFoQiwyQ0FBZ0I7UUFLSyxlQUE4QjtRQUE5Qix5REFBOEI7UUFFbEQsZUFBK0I7UUFBL0IsK0NBQStCLCtDQUFBO1FBRTdDLGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNYLGVBQWdDO1FBQWhDLDJEQUFnQztRQUtYLGVBQTBCO1FBQTFCLHFEQUEwQjtRQUVuRCxlQUFnQztRQUFoQyxnREFBZ0MsZ0RBQUE7UUFFM0MsZUFBZ0I7UUFBaEIsOEJBQWdCO1FBQ0QsZUFBeUI7UUFBekIsb0RBQXlCO1FBSWQsZUFBNEM7UUFBNUMsaUVBQTRDO1FBUUUsZUFBb0M7UUFBcEMsc0RBQW9DO1FBQWdELGVBQTBCO1FBQTFCLHFEQUEwQjtRQUMzRSxlQUEwQjtRQUExQixxREFBMEI7O3VGRGpCdEksMEJBQTBCO2NBTHRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDtnT0FTUSxhQUFhO2tCQURuQixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsT0FBTztrQkFEYixNQUFNO1lBSUEsT0FBTztrQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVN0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVHlwZUxpdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXR5cGUtbGl0ZS5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgV29ya2Jhc2tldElucHV0TW9kZWwgfSBmcm9tICcuLi8uLi9kb21haW4vd29ya2Jhc2tldC93b3JrYmFza2V0LWlucHV0Lm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93L3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFdvcmtiYXNrZXRJbnB1dEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3JrYmFza2V0L3dvcmtiYXNrZXQtaW5wdXQtZmlsdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSA9ICd3b3JrYmFza2V0LWZpbHRlci1mb3JtLWdyb3VwLXZhbHVlJztcbmNvbnN0IFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFID0gJ3NhdmVkUXVlcnlQYXJhbXMnO1xuY29uc3QgUkVHSU9OX0xJU1RfQU5EX0ZSQ19GSUxURVIgPSAncmVnaW9uTGlzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13b3JrYmFza2V0LWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25zOiBKdXJpc2RpY3Rpb25bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdHM7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFwcGx5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uUmVzZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0SW5wdXRzOiBXb3JrYmFza2V0SW5wdXRNb2RlbFtdO1xuICBwdWJsaWMgd29ya2Jhc2tldElucHV0c1JlYWR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0RGVmYXVsdHM6IGJvb2xlYW47XG5cbiAgcHVibGljIHNlbGVjdGVkOiB7XG4gICAgaW5pdD86IGJvb2xlYW4sXG4gICAganVyaXNkaWN0aW9uPzogSnVyaXNkaWN0aW9uLFxuICAgIGNhc2VUeXBlPzogQ2FzZVR5cGVMaXRlLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsXG4gICAgcGFnZT86IG51bWJlcixcbiAgICBtZXRhZGF0YUZpZWxkcz86IHN0cmluZ1tdXG4gIH07XG5cbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgcHVibGljIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzPzogQ2FzZVR5cGVMaXRlW107XG4gIHB1YmxpYyBzZWxlY3RlZENhc2VUeXBlU3RhdGVzPzogQ2FzZVN0YXRlW107XG5cbiAgcHVibGljIGluaXRpYWxpc2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlOiBXb3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9O1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBpZiAoIXRoaXMuaW5pdGlhbGlzZWQgfHwgIXBhcmFtcyB8fCAhT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5pbml0RmlsdGVycyhmYWxzZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGlzZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KGluaXQpOiB2b2lkIHtcbiAgICAvLyBTYXZlIGZpbHRlcnMgYXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgY3VycmVudCByb3V0ZVxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1RZUEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1NUQVRFXSA9IHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlLmlkO1xuICAgIH1cbiAgICAvLyB3aXRob3V0IGV4cGxpY2l0bHkgcHJlc2VydmluZyBhbGVydHMgYW55IG1lc3NhZ2Ugb24gdGhlIHBhZ2VcbiAgICAvLyB3b3VsZCBiZSBjbGVhcmVkIG91dCBiZWNhdXNlIG9mIHRoaXMgaW5pdGlhbCBuYXZpZ2F0aW9uLlxuICAgIC8vIFRoZSBhYm92ZSBpcyBvbmx5IHRydWUgaWYgbm8gYWxlcnRzIHdlcmUgc2V0IHByaW9yIHRvIGxvYWRpbmcgY2FzZSBsaXN0IHBhZ2UuXG4gICAgaWYgKCF0aGlzLmFsZXJ0U2VydmljZS5pc1ByZXNlcnZlQWxlcnRzKCkpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNldFByZXNlcnZlQWxlcnRzKCF0aGlzLmluaXRpYWxpc2VkKTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGUgZm9ybSBncm91cCBmaWx0ZXJzXG4gICAgICB0aGlzLnVwZGF0ZUZvcm1Hcm91cEZpbHRlcnMoKTtcblxuICAgICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZC5pbml0ID0gaW5pdDtcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLmdldE1ldGFkYXRhRmllbGRzKCk7XG4gICAgaWYgKGluaXQpIHtcbiAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoU0FWRURfUVVFUllfUEFSQU1fTE9DX1NUT1JBR0UsIEpTT04uc3RyaW5naWZ5KHF1ZXJ5UGFyYW1zKSk7XG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtR3JvdXAudmFsdWUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQXBwbHkgZmlsdGVyc1xuICAgIHRoaXMub25BcHBseS5lbWl0KHtzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCwgcXVlcnlQYXJhbXN9KTtcbiAgICB0aGlzLnNldEZvY3VzVG9Ub3AoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFKTtcbiAgICBzZXRUaW1lb3V0ICgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKTtcbiAgICAgIHRoaXMub25SZXNldC5lbWl0KHRydWUpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWV0YWRhdGFGaWVsZHMoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLndvcmtiYXNrZXRJbnB1dHMpIHtcbiAgICAgIHJldHVybiB0aGlzLndvcmtiYXNrZXRJbnB1dHNcbiAgICAgICAgLmZpbHRlcih3b3JrYmFza2V0SW5wdXQgPT4gd29ya2Jhc2tldElucHV0LmZpZWxkLm1ldGFkYXRhID09PSB0cnVlKVxuICAgICAgICAubWFwKHdvcmtiYXNrZXRJbnB1dCA9PiB3b3JrYmFza2V0SW5wdXQuZmllbGQuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbklkQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmFubm91bmNlU2VsZWN0ZWRKdXJpc2RpY3Rpb24odGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pO1xuICAgICAgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmNhc2VUeXBlcy5sZW5ndGggPiAwID8gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzIDogbnVsbDtcbiAgICAgIC8vIExpbmUgd2FzIHRvbyBsb25nIGZvciBsaW50aW5nIHNvIHJlZmFjdG9yZWQgaXQuXG4gICAgICBpZiAodGhpcy53b3JrYmFza2V0RGVmYXVsdHMgJiYgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1swXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuXG4gICAgICBpZiAoIXRoaXMuaXNBcHBseUJ1dHRvbkRpc2FibGVkKCkpIHtcbiAgICAgICAgdGhpcy5vbkNhc2VUeXBlSWRDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldENhc2VUeXBlKCk7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2FzZVR5cGVJZENoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gdGhpcy5zb3J0U3RhdGVzKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuc3RhdGVzKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gbnVsbDtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuICAgICAgaWYgKCF0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCgpKSB7XG4gICAgICAgIHRoaXMud29ya2Jhc2tldElucHV0RmlsdGVyU2VydmljZS5nZXRXb3JrYmFza2V0SW5wdXRzKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkLCB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkKS5waXBlKFxuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKS5zdWJzY3JpYmUod29ya2Jhc2tldElucHV0cyA9PiB7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHMgPSB3b3JrYmFza2V0SW5wdXRzXG4gICAgICAgICAgICAgIC5zb3J0KHRoaXMub3JkZXJTZXJ2aWNlLnNvcnRBc2MpO1xuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSk7XG5cbiAgICAgICAgICAgIHdvcmtiYXNrZXRJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uZmllbGQuZWxlbWVudFBhdGgpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpZWxkLmlkID0gaXRlbS5maWVsZC5pZCArICcuJyArIGl0ZW0uZmllbGQuZWxlbWVudFBhdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICAgIGlmIChmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hGb3JtVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKGZvcm1WYWx1ZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5maWVsZC52YWx1ZSA9IHNlYXJjaEZvcm1WYWx1ZU9iamVjdFtpdGVtLmZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmdldENhc2VGaWVsZHMoKTtcbiAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnV29ya2Jhc2tldCBpbnB1dCBmaWVsZHMgcmVxdWVzdCB3aWxsIGJlIGRpc2NhcmRlZCByZWFzb246ICcsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQ2FzZVR5cGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXM7XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlU3RhdGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgfHwgISh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcyAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FwcGx5QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gJiYgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hhYmxlQW5kV29ya2Jhc2tldElucHV0c1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlICYmIHRoaXMud29ya2Jhc2tldElucHV0c1JlYWR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzbHkgdXNlZFxuICAgKiBmb3JtIGdyb3VwIGNvbnRyb2wgZmlsdGVyIHZhbHVlcyB0byBtYWtlIHN1cmUgb25seSB0aGVcbiAgICogY3VycmVudGx5IHNlbGVjdGVkIGZvcm0gZ3JvdXAgY29udHJvbCBmaWx0ZXIgdmFsdWVzIGFyZSBwcmVzZW50LlxuICAgKlxuICAgKiBIYXMgYmVlbiBpbXBsZW1lbnRlZCBmb3IgJ1JlZ2lvbiBhbmQgRlJDIGZpbHRlcnMnIGFuZCBjYW4gYmUgZXh0ZW5kZWRcbiAgICogaW4gZnV0dXJlIHRvIGluY29ycG9yYXRlIG90aGVyIGR5bmFtaWMgZmlsdGVycy5cbiAgICovXG4gICBwdWJsaWMgdXBkYXRlRm9ybUdyb3VwRmlsdGVycygpOiB2b2lkIHtcbiAgICAvLyBSZWFkIHRoZSBmb3JtIGdyb3VwIGxvY2FsIHN0b3JhZ2VcbiAgICBjb25zdCBmb3JtR3JvdXBMUyA9IEpTT04ucGFyc2UodGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuXG4gICAgLy8gRm9ybSBncm91cCBsb2NhbCBzdG9yYWdlIGlzIGF2YWlsYWJsZSBhbmQgY29udGFpbnMgcmVnaW9uTGlzdCBwcm9wZXJ0eVxuICAgIGlmICghIWZvcm1Hcm91cExTICYmIGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KFJFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSKSkge1xuICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikpIHtcbiAgICAgICAgLy8gSWYgcmVnaW9uTGlzdCB2YWx1ZSBkb2VzIG5vdCBtYXRjaCBiZXR3ZWVuIGxvY2FsIHN0b3JhZ2UgYW5kIGZvcm0gZ3JvdXBcbiAgICAgICAgLy8gdGhlbiB0aGUgZmlsdGVyIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYW5kIHdlIG5lZWQgdG8gY2xlYXIgdGhlIG9sZCBmaWx0ZXIgdmFsdWVzXG4gICAgICAgIGlmIChmb3JtR3JvdXBMU1tSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUl0gIT09IHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikudmFsdWUpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtR3JvdXBMUykge1xuICAgICAgICAgICAgaWYgKGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBmb3JtR3JvdXBMU1trZXldO1xuICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgZmlsdGVyIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZXMgaWYgaXQgaGFzIGEgdmFsdWUgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICAvLyBUaGUgcmVnaW9uTGlzdCBmb3JtIGdyb3VwIGNvbnRyb2wgdmFsdWUgc2hvdWxkIGJlIGlnbm9yZWQgYXMgaXQgYWx3YXlzIGNvbnRhaW4gdGhlIGxhdGVzdCB2YWx1ZVxuICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUiAmJiB2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KGtleSkuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRTdGF0ZXMoc3RhdGVzOiBDYXNlU3RhdGVbXSkge1xuICAgIHJldHVybiBzdGF0ZXMuc29ydCh0aGlzLm9yZGVyU2VydmljZS5zb3J0QXNjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gaW5pdGlhbGlzZSBmaWx0ZXJzIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMgb3Igd29ya2Jhc2tldCBkZWZhdWx0cy5cbiAgICogUXVlcnkgcGFyYW1ldGVycywgd2hlbiBhdmFpbGFibGUsIHRha2UgcHJlY2VkZW5jZSBvdmVyIHdvcmtiYXNrZXQgZGVmYXVsdHMuXG4gICAqL1xuICBwcml2YXRlIGluaXRGaWx0ZXJzKGluaXQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBzYXZlZFF1ZXJ5UGFyYW1zID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShTQVZFRF9RVUVSWV9QQVJBTV9MT0NfU1RPUkFHRSk7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3Q7XG4gICAgaWYgKHNhdmVkUXVlcnlQYXJhbXMpIHtcbiAgICAgIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMgPSBKU09OLnBhcnNlKHNhdmVkUXVlcnlQYXJhbXMpO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RlZEp1cmlzZGljdGlvbklkID0gcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dIHx8XG4gICAgICAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmp1cmlzZGljdGlvbl9pZCk7XG4gICAgaWYgKHNlbGVjdGVkSnVyaXNkaWN0aW9uSWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zLmZpbmQoaiA9PiBzZWxlY3RlZEp1cmlzZGljdGlvbklkID09PSBqLmlkKTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5jYXNlVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RDYXNlVHlwZSh0aGlzLnNlbGVjdGVkLCB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzLCByb3V0ZVNuYXBzaG90KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLm9uQ2FzZVR5cGVJZENoYW5nZSgpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5zZWxlY3RDYXNlU3RhdGUodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSwgcm91dGVTbmFwc2hvdCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuYXBwbHkoaW5pdCk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZShjYXNlVHlwZTogQ2FzZVR5cGVMaXRlLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVN0YXRlIHtcbiAgICBsZXQgY2FzZVN0YXRlO1xuICAgIGlmIChjYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlU3RhdGVJZCA9IHRoaXMuc2VsZWN0Q2FzZVN0YXRlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3QsICh0aGlzLmRlZmF1bHRzICYmIHRoaXMuZGVmYXVsdHMuc3RhdGVfaWQpKTtcbiAgICAgIGNhc2VTdGF0ZSA9IGNhc2VUeXBlLnN0YXRlcy5maW5kKGN0ID0+IHNlbGVjdGVkQ2FzZVN0YXRlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VTdGF0ZSA/IGNhc2VTdGF0ZSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBkZWZhdWx0Q2FzZVN0YXRlSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXNbV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQuUEFSQU1fQ0FTRV9TVEFURV0gfHwgZGVmYXVsdENhc2VTdGF0ZUlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDYXNlVHlwZShzZWxlY3RlZDogYW55LCBjYXNlVHlwZXM6IENhc2VUeXBlTGl0ZVtdLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVR5cGVMaXRlIHtcbiAgICBsZXQgY2FzZVR5cGU7XG4gICAgaWYgKHNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlVHlwZUlkID0gdGhpcy5zZWxlY3RDYXNlVHlwZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90LCAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmNhc2VfdHlwZV9pZCkpO1xuICAgICAgY2FzZVR5cGUgPSBjYXNlVHlwZXMuZmluZChjdCA9PiBzZWxlY3RlZENhc2VUeXBlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VUeXBlID8gY2FzZVR5cGUgOiBjYXNlVHlwZXNbMF07XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VUeXBlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRlZmF1bHRDYXNlVHlwZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gfHwgZGVmYXVsdENhc2VUeXBlSWQ7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKSB7XG4gICAgdGhpcy5yZXNldENhc2VTdGF0ZSgpO1xuICAgIHRoaXMucmVzZXRDYXNlVHlwZSgpO1xuICAgIHRoaXMuY2xlYXJXb3JrYmFza2V0SW5wdXRzKCk7XG4gICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgdGhpcy5pbml0aWFsaXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5pdEZpbHRlcnModHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyV29ya2Jhc2tldElucHV0cygpIHtcbiAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IGZhbHNlO1xuICAgIHRoaXMud29ya2Jhc2tldElucHV0cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENhc2VTdGF0ZSgpIHtcbiAgICB0aGlzLmRlZmF1bHRzLnN0YXRlX2lkID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDYXNlVHlwZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdW5kZWZpbmVkOyAvLyBvcHRpb24gc2hvdWxkIGJlIGJsYW5rIHJhdGhlciB0aGFuIFwiU2VsZWN0IGEgdmFsdWVcIiBpbiBjYXNlIG9mIHJlc2V0LlxuICAgIHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcblxuICAgIGNvbnN0IHRvcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gtcmVzdWx0LWhlYWRpbmdfX3RleHQnKTtcbiAgICBpZiAodG9wQ29udGFpbmVyKSB7XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud29ya2Jhc2tldElucHV0cykge1xuICAgICAgdGhpcy5jYXNlRmllbGRzID0gdGhpcy53b3JrYmFza2V0SW5wdXRzLm1hcChpdGVtID0+IEZpZWxkc1V0aWxzLmNvbnZlcnRUb0Nhc2VGaWVsZChpdGVtLmZpZWxkKSk7XG4gICAgfVxuICB9XG59XG4iLCJcbjxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBhcmlhLWxhYmVsPVwiRmlsdGVyc1wiPnt7J0ZpbHRlcnMnIHwgcnB4VHJhbnNsYXRlIH19PC9oMj5cbjxmb3JtIGNsYXNzPVwiZ2xvYmFsLWRpc3BsYXlcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwid2ItanVyaXNkaWN0aW9uXCI+e3snSnVyaXNkaWN0aW9uJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC0zLTQgY2NkLWRyb3Bkb3duXCIgaWQ9XCJ3Yi1qdXJpc2RpY3Rpb25cIlxuICAgICAgICAgICAgbmFtZT1cImp1cmlzZGljdGlvblwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWQuanVyaXNkaWN0aW9uXCIgYXJpYS1jb250cm9scz1cInNlYXJjaC1yZXN1bHRcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkp1cmlzZGljdGlvbklkQ2hhbmdlKClcIj5cbiAgICAgIDxvcHRpb24gKm5nSWY9XCIhd29ya2Jhc2tldERlZmF1bHRzXCIgW25nVmFsdWVdPVwibnVsbFwiPlNlbGVjdCBhIHZhbHVlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBqIG9mIGp1cmlzZGljdGlvbnNcIiBbbmdWYWx1ZV09XCJqXCI+e3tqLm5hbWV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1jYXNlLXR5cGVcIj57eydDYXNlIHR5cGUnIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWNhc2UtdHlwZVwiXG4gICAgICAgICAgICBuYW1lPVwiY2FzZS10eXBlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5jYXNlVHlwZVwiIFtkaXNhYmxlZF09XCJpc0Nhc2VUeXBlc0Ryb3Bkb3duRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2FzZVR5cGVJZENoYW5nZSgpXCIgYXJpYS1jb250cm9scz1cInNlYXJjaC1yZXN1bHRcIj5cbiAgICAgIDxvcHRpb24gKm5nSWY9XCIhd29ya2Jhc2tldERlZmF1bHRzXCIgW25nVmFsdWVdPVwibnVsbFwiPlNlbGVjdCBhIHZhbHVlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjdCBvZiBzZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1wiIFtuZ1ZhbHVlXT1cImN0XCI+e3tjdC5uYW1lfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwid2ItY2FzZS1zdGF0ZVwiPnt7J1N0YXRlJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC0zLTQgY2NkLWRyb3Bkb3duXCIgaWQ9XCJ3Yi1jYXNlLXN0YXRlXCJcbiAgICAgICAgICAgIG5hbWU9XCJzdGF0ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWQuY2FzZVN0YXRlXCIgW2Rpc2FibGVkXT1cImlzQ2FzZVN0YXRlc0Ryb3Bkb3duRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiPlxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCI+QW55PC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjcyBvZiBzZWxlY3RlZENhc2VUeXBlU3RhdGVzXCIgW25nVmFsdWVdPVwiY3NcIj57e2NzLm5hbWV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyIGNjZENvbmRpdGlvbmFsU2hvd0Zvcm0gKm5nSWY9XCJpc1NlYXJjaGFibGVBbmRXb3JrYmFza2V0SW5wdXRzUmVhZHkoKVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiPlxuICAgIDxkaXYgaWQ9XCJkeW5hbWljRmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiAqbmdGb3I9XCJsZXQgd29ya2Jhc2tldElucHV0IG9mIHdvcmtiYXNrZXRJbnB1dHNcIj5cbiAgICAgICAgPGNjZC1maWVsZC13cml0ZSBbY2FzZUZpZWxkXT1cIndvcmtiYXNrZXRJbnB1dC5maWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2lzRXhwYW5kZWRdPVwidHJ1ZVwiIFtpc0luU2VhcmNoQmxvY2tdPVwidHJ1ZVwiIChrZXl1cC5lbnRlcik9XCJhcHBseShudWxsKVwiPjwvY2NkLWZpZWxkLXdyaXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIHdvcmtiYXNrZXQtZmlsdGVycy1hcHBseVwiIChjbGljayk9XCJhcHBseSh0cnVlKVwiIFtkaXNhYmxlZF09XCJpc0FwcGx5QnV0dG9uRGlzYWJsZWQoKVwiIHRpdGxlPVwiQXBwbHkgZmlsdGVyXCIgYXJpYS1sYWJlbD1cIkFwcGx5IGZpbHRlclwiPnt7J0FwcGx5JyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+ICZuYnNwOyZuYnNwOyZuYnNwO1xuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVzZXQoKVwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0aXRsZT1cIlJlc2V0IGZpbHRlclwiIGFyaWEtbGFiZWw9XCJSZXNldCBmaWx0ZXJcIj57eydSZXNldCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
|
|
@@ -9,7 +9,9 @@ import { WindowService } from '../../services/window/window.service';
|
|
|
9
9
|
import { WorkbasketInputFilterService } from '../../services/workbasket/workbasket-input-filter.service';
|
|
10
10
|
import { PaletteModule } from '../palette/palette.module';
|
|
11
11
|
import { WorkbasketFiltersComponent } from './workbasket-filters.component';
|
|
12
|
+
import { RpxTranslationModule } from 'rpx-xui-translation';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "rpx-xui-translation";
|
|
13
15
|
export class WorkbasketFiltersModule {
|
|
14
16
|
}
|
|
15
17
|
WorkbasketFiltersModule.ɵfac = function WorkbasketFiltersModule_Factory(t) { return new (t || WorkbasketFiltersModule)(); };
|
|
@@ -25,13 +27,14 @@ WorkbasketFiltersModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
25
27
|
FormsModule,
|
|
26
28
|
ReactiveFormsModule,
|
|
27
29
|
PaletteModule,
|
|
28
|
-
ConditionalShowModule
|
|
30
|
+
ConditionalShowModule,
|
|
31
|
+
RpxTranslationModule.forChild()
|
|
29
32
|
]] });
|
|
30
33
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(WorkbasketFiltersModule, { declarations: [WorkbasketFiltersComponent], imports: [CommonModule,
|
|
31
34
|
FormsModule,
|
|
32
35
|
ReactiveFormsModule,
|
|
33
36
|
PaletteModule,
|
|
34
|
-
ConditionalShowModule], exports: [WorkbasketFiltersComponent] }); })();
|
|
37
|
+
ConditionalShowModule, i1.RpxTranslationModule], exports: [WorkbasketFiltersComponent] }); })();
|
|
35
38
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersModule, [{
|
|
36
39
|
type: NgModule,
|
|
37
40
|
args: [{
|
|
@@ -40,7 +43,8 @@ WorkbasketFiltersModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
40
43
|
FormsModule,
|
|
41
44
|
ReactiveFormsModule,
|
|
42
45
|
PaletteModule,
|
|
43
|
-
ConditionalShowModule
|
|
46
|
+
ConditionalShowModule,
|
|
47
|
+
RpxTranslationModule.forChild()
|
|
44
48
|
],
|
|
45
49
|
declarations: [
|
|
46
50
|
WorkbasketFiltersComponent,
|
|
@@ -57,4 +61,4 @@ WorkbasketFiltersModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
57
61
|
]
|
|
58
62
|
}]
|
|
59
63
|
}], null, null); })();
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Jhc2tldC1maWx0ZXJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUF3QjNELE1BQU0sT0FBTyx1QkFBdUI7OzhGQUF2Qix1QkFBdUI7MkRBQXZCLHVCQUF1QjtnRUFSckI7UUFDUCw0QkFBNEI7UUFDNUIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osYUFBYTtLQUNoQixZQXBCUTtZQUNMLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsb0JBQW9CLENBQUMsUUFBUSxFQUFFO1NBQ2xDO3dGQWVRLHVCQUF1QixtQkFiNUIsMEJBQTBCLGFBUjFCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixxQkFBcUIsc0NBT3JCLDBCQUEwQjt1RkFVckIsdUJBQXVCO2NBdkJuQyxRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IscUJBQXFCO29CQUNyQixvQkFBb0IsQ0FBQyxRQUFRLEVBQUU7aUJBQ2xDO2dCQUNELFlBQVksRUFBRTtvQkFDViwwQkFBMEI7aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCwwQkFBMEI7aUJBQzdCO2dCQUNELFNBQVMsRUFBRTtvQkFDUCw0QkFBNEI7b0JBQzVCLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLGFBQWE7aUJBQ2hCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29uZGl0aW9uYWxTaG93TW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2NvbmRpdGlvbmFsLXNob3cubW9kdWxlJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlci9vcmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3cvd2luZG93LnNlcnZpY2UnO1xuaW1wb3J0IHsgV29ya2Jhc2tldElucHV0RmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dvcmtiYXNrZXQvd29ya2Jhc2tldC1pbnB1dC1maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQYWxldHRlTW9kdWxlIH0gZnJvbSAnLi4vcGFsZXR0ZS9wYWxldHRlLm1vZHVsZSc7XG5pbXBvcnQgeyBXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFBhbGV0dGVNb2R1bGUsXG4gICAgICAgIENvbmRpdGlvbmFsU2hvd01vZHVsZSxcbiAgICAgICAgUnB4VHJhbnNsYXRpb25Nb2R1bGUuZm9yQ2hpbGQoKVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFdvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudCxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBXb3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICBPcmRlclNlcnZpY2UsXG4gICAgICAgIEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgIEFsZXJ0U2VydmljZSxcbiAgICAgICAgV2luZG93U2VydmljZSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtiYXNrZXRGaWx0ZXJzTW9kdWxlIHt9XG4iXX0=
|