@valtimo/dossier-management 11.0.0 → 11.1.0

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.
Files changed (89) hide show
  1. package/esm2022/lib/components/dossier-management-assignee/dossier-management-assignee.component.mjs +75 -0
  2. package/esm2022/lib/{dossier-management-connect-modal → components/dossier-management-connect-modal}/dossier-management-connect-modal.component.mjs +1 -1
  3. package/esm2022/lib/{dossier-management-detail-container/tabs → components}/dossier-management-detail/dossier-management-detail.component.mjs +5 -5
  4. package/esm2022/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +68 -0
  5. package/esm2022/lib/components/dossier-management-link-process/dossier-management-link-process.component.mjs +84 -0
  6. package/esm2022/lib/{dossier-management-list → components/dossier-management-list}/dossier-management-list.component.mjs +1 -1
  7. package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +458 -0
  8. package/esm2022/lib/{dossier-management-remove-modal → components/dossier-management-remove-modal}/dossier-management-remove-modal.component.mjs +1 -1
  9. package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +416 -0
  10. package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +103 -0
  11. package/esm2022/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.mjs +71 -0
  12. package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +179 -0
  13. package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +76 -0
  14. package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.component.mjs +161 -0
  15. package/esm2022/lib/dossier-management-routing.module.mjs +3 -3
  16. package/esm2022/lib/dossier-management.module.mjs +38 -19
  17. package/esm2022/lib/models/index.mjs +2 -1
  18. package/esm2022/lib/models/tab.enum.mjs +23 -0
  19. package/esm2022/lib/services/index.mjs +18 -0
  20. package/esm2022/lib/services/tab-management.service.mjs +74 -0
  21. package/esm2022/lib/services/tab.service.mjs +88 -0
  22. package/esm2022/public-api.mjs +2 -2
  23. package/fesm2022/valtimo-dossier-management.mjs +1059 -520
  24. package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
  25. package/lib/components/dossier-management-assignee/dossier-management-assignee.component.d.ts.map +1 -0
  26. package/lib/components/dossier-management-connect-modal/dossier-management-connect-modal.component.d.ts.map +1 -0
  27. package/lib/{dossier-management-detail-container/tabs → components}/dossier-management-detail/dossier-management-detail.component.d.ts +2 -2
  28. package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts.map +1 -0
  29. package/lib/{dossier-management-detail-container → components/dossier-management-detail-container}/dossier-management-detail-container.component.d.ts +3 -2
  30. package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts.map +1 -0
  31. package/lib/components/dossier-management-link-process/dossier-management-link-process.component.d.ts.map +1 -0
  32. package/lib/components/dossier-management-list/dossier-management-list.component.d.ts.map +1 -0
  33. package/lib/{dossier-management-detail-container/tabs → components}/dossier-management-list-columns/dossier-management-list-columns.component.d.ts +1 -1
  34. package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +1 -0
  35. package/lib/components/dossier-management-remove-modal/dossier-management-remove-modal.component.d.ts.map +1 -0
  36. package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -0
  37. package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts +38 -0
  38. package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts.map +1 -0
  39. package/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.d.ts +22 -0
  40. package/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.d.ts.map +1 -0
  41. package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts +48 -0
  42. package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts.map +1 -0
  43. package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts +22 -0
  44. package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts.map +1 -0
  45. package/lib/components/dossier-management-upload/dossier-management-upload.component.d.ts.map +1 -0
  46. package/lib/dossier-management.module.d.ts +23 -19
  47. package/lib/dossier-management.module.d.ts.map +1 -1
  48. package/lib/models/index.d.ts +1 -0
  49. package/lib/models/index.d.ts.map +1 -1
  50. package/lib/models/tab.enum.d.ts +7 -0
  51. package/lib/models/tab.enum.d.ts.map +1 -0
  52. package/lib/services/index.d.ts +3 -0
  53. package/lib/services/index.d.ts.map +1 -0
  54. package/lib/services/tab-management.service.d.ts +26 -0
  55. package/lib/services/tab-management.service.d.ts.map +1 -0
  56. package/lib/services/tab.service.d.ts +31 -0
  57. package/lib/services/tab.service.d.ts.map +1 -0
  58. package/package.json +1 -1
  59. package/public-api.d.ts +1 -1
  60. package/public-api.d.ts.map +1 -1
  61. package/esm2022/lib/dossier-management-assignee/dossier-management-assignee.component.mjs +0 -75
  62. package/esm2022/lib/dossier-management-detail-container/dossier-management-detail-container.component.mjs +0 -65
  63. package/esm2022/lib/dossier-management-detail-container/tabs/dossier-management-list-columns/dossier-management-list-columns.component.mjs +0 -458
  64. package/esm2022/lib/dossier-management-detail-container/tabs/dossier-management-search-fields/dossier-management-search-fields.component.mjs +0 -416
  65. package/esm2022/lib/dossier-management-link-process/dossier-management-link-process.component.mjs +0 -84
  66. package/esm2022/lib/dossier-management-upload/dossier-management-upload.component.mjs +0 -161
  67. package/esm2022/lib/tab.enum.mjs +0 -22
  68. package/esm2022/lib/tab.service.mjs +0 -39
  69. package/lib/dossier-management-assignee/dossier-management-assignee.component.d.ts.map +0 -1
  70. package/lib/dossier-management-connect-modal/dossier-management-connect-modal.component.d.ts.map +0 -1
  71. package/lib/dossier-management-detail-container/dossier-management-detail-container.component.d.ts.map +0 -1
  72. package/lib/dossier-management-detail-container/tabs/dossier-management-detail/dossier-management-detail.component.d.ts.map +0 -1
  73. package/lib/dossier-management-detail-container/tabs/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +0 -1
  74. package/lib/dossier-management-detail-container/tabs/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +0 -1
  75. package/lib/dossier-management-link-process/dossier-management-link-process.component.d.ts.map +0 -1
  76. package/lib/dossier-management-list/dossier-management-list.component.d.ts.map +0 -1
  77. package/lib/dossier-management-remove-modal/dossier-management-remove-modal.component.d.ts.map +0 -1
  78. package/lib/dossier-management-upload/dossier-management-upload.component.d.ts.map +0 -1
  79. package/lib/tab.enum.d.ts +0 -6
  80. package/lib/tab.enum.d.ts.map +0 -1
  81. package/lib/tab.service.d.ts +0 -11
  82. package/lib/tab.service.d.ts.map +0 -1
  83. /package/lib/{dossier-management-assignee → components/dossier-management-assignee}/dossier-management-assignee.component.d.ts +0 -0
  84. /package/lib/{dossier-management-connect-modal → components/dossier-management-connect-modal}/dossier-management-connect-modal.component.d.ts +0 -0
  85. /package/lib/{dossier-management-link-process → components/dossier-management-link-process}/dossier-management-link-process.component.d.ts +0 -0
  86. /package/lib/{dossier-management-list → components/dossier-management-list}/dossier-management-list.component.d.ts +0 -0
  87. /package/lib/{dossier-management-remove-modal → components/dossier-management-remove-modal}/dossier-management-remove-modal.component.d.ts +0 -0
  88. /package/lib/{dossier-management-detail-container/tabs → components}/dossier-management-search-fields/dossier-management-search-fields.component.d.ts +0 -0
  89. /package/lib/{dossier-management-upload → components/dossier-management-upload}/dossier-management-upload.component.d.ts +0 -0
@@ -1,65 +0,0 @@
1
- /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component } from '@angular/core';
17
- import { filter, map, switchMap } from 'rxjs';
18
- import { TabEnum } from '../tab.enum';
19
- import { tap } from 'rxjs/operators';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@valtimo/document";
22
- import * as i2 from "@angular/router";
23
- import * as i3 from "@valtimo/config";
24
- import * as i4 from "../tab.service";
25
- import * as i5 from "@valtimo/components";
26
- import * as i6 from "@angular/common";
27
- import * as i7 from "./tabs/dossier-management-detail/dossier-management-detail.component";
28
- import * as i8 from "./tabs/dossier-management-search-fields/dossier-management-search-fields.component";
29
- import * as i9 from "./tabs/dossier-management-list-columns/dossier-management-list-columns.component";
30
- import * as i10 from "@ngx-translate/core";
31
- export class DossierManagementDetailContainerComponent {
32
- constructor(documentService, route, configService, tabService, pageTitleService) {
33
- this.documentService = documentService;
34
- this.route = route;
35
- this.configService = configService;
36
- this.tabService = tabService;
37
- this.pageTitleService = pageTitleService;
38
- this.TabEnum = TabEnum;
39
- this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName));
40
- this.documentDefinition$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinitionForManagement(documentDefinitionName)), tap(documentDefinition => {
41
- this.pageTitleService.setCustomPageTitle(documentDefinition.schema.title);
42
- }));
43
- this.caseListColumn = this.configService.config.featureToggles.caseListColumn;
44
- }
45
- ngOnInit() {
46
- this.openCurrentTabSubscription();
47
- }
48
- displayBodyComponent(tab) {
49
- this.tabService.currentTab = tab;
50
- }
51
- openCurrentTabSubscription() {
52
- this.tabSubscription = this.tabService.currentTab$.subscribe(value => (this.currentTab = value));
53
- }
54
- ngOnDestroy() {
55
- this.tabService.currentTab = TabEnum.CASE;
56
- this.tabSubscription?.unsubscribe();
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierManagementDetailContainerComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: i3.ConfigService }, { token: i4.TabService }, { token: i5.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierManagementDetailContainerComponent, selector: "valtimo-dossier-management-detail-container", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabContent\"></ng-container>\n </valtimo-widget>\n </div>\n </div>\n</div>\n\n<ng-template #title>\n <ng-container *ngIf=\"documentDefinition$ | async as documentDefinition\">\n <div class=\"bg-light dossier-header\" *ngIf=\"documentDefinition.readOnly\">\n <h3 class=\"dossier-title\">\n <div class=\"pull-right\">\n <span class=\"badge badge-pill badge-info increase-size\">{{\n 'dossierManagement.readonly' | translate\n }}</span>\n </div>\n </h3>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tabs>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\">\n <a\n id=\"case-tab\"\n class=\"nav-link clickable active\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.CASE)\"\n >\n {{ 'dossierManagement.tabs.cases' | translate }}\n </a>\n </li>\n <li class=\"nav-item\">\n <a\n id=\"search-tab\"\n class=\"nav-link clickable\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.SEARCH)\"\n >\n {{ 'dossierManagement.tabs.searchFields' | translate }}\n </a>\n </li>\n <li class=\"nav-item\" *ngIf=\"caseListColumn\">\n <a\n id=\"list-tab\"\n class=\"nav-link clickable\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.LIST)\"\n >\n {{ 'dossierManagement.tabs.listColumns' | translate }}\n </a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #tabContent>\n <div class=\"pt-3 bg-white position-relative tab-container\">\n <div *ngIf=\"currentTab && currentTab === TabEnum.CASE\">\n <valtimo-dossier-management-detail></valtimo-dossier-management-detail>\n </div>\n <div *ngIf=\"currentTab && currentTab === TabEnum.SEARCH\">\n <valtimo-dossier-management-search-fields></valtimo-dossier-management-search-fields>\n </div>\n <div *ngIf=\"currentTab && currentTab === TabEnum.LIST\">\n <valtimo-dossier-management-list-columns></valtimo-dossier-management-list-columns>\n </div>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i7.DossierManagementDetailComponent, selector: "valtimo-dossier-management-detail" }, { kind: "component", type: i8.DossierManagementSearchFieldsComponent, selector: "valtimo-dossier-management-search-fields", outputs: ["searchField"] }, { kind: "component", type: i9.DossierManagementListColumnsComponent, selector: "valtimo-dossier-management-list-columns" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierManagementDetailContainerComponent, decorators: [{
62
- type: Component,
63
- args: [{ selector: 'valtimo-dossier-management-detail-container', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabContent\"></ng-container>\n </valtimo-widget>\n </div>\n </div>\n</div>\n\n<ng-template #title>\n <ng-container *ngIf=\"documentDefinition$ | async as documentDefinition\">\n <div class=\"bg-light dossier-header\" *ngIf=\"documentDefinition.readOnly\">\n <h3 class=\"dossier-title\">\n <div class=\"pull-right\">\n <span class=\"badge badge-pill badge-info increase-size\">{{\n 'dossierManagement.readonly' | translate\n }}</span>\n </div>\n </h3>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tabs>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\">\n <a\n id=\"case-tab\"\n class=\"nav-link clickable active\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.CASE)\"\n >\n {{ 'dossierManagement.tabs.cases' | translate }}\n </a>\n </li>\n <li class=\"nav-item\">\n <a\n id=\"search-tab\"\n class=\"nav-link clickable\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.SEARCH)\"\n >\n {{ 'dossierManagement.tabs.searchFields' | translate }}\n </a>\n </li>\n <li class=\"nav-item\" *ngIf=\"caseListColumn\">\n <a\n id=\"list-tab\"\n class=\"nav-link clickable\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.LIST)\"\n >\n {{ 'dossierManagement.tabs.listColumns' | translate }}\n </a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #tabContent>\n <div class=\"pt-3 bg-white position-relative tab-container\">\n <div *ngIf=\"currentTab && currentTab === TabEnum.CASE\">\n <valtimo-dossier-management-detail></valtimo-dossier-management-detail>\n </div>\n <div *ngIf=\"currentTab && currentTab === TabEnum.SEARCH\">\n <valtimo-dossier-management-search-fields></valtimo-dossier-management-search-fields>\n </div>\n <div *ngIf=\"currentTab && currentTab === TabEnum.LIST\">\n <valtimo-dossier-management-list-columns></valtimo-dossier-management-list-columns>\n </div>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}\n"] }]
64
- }], ctorParameters: function () { return [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }, { type: i3.ConfigService }, { type: i4.TabService }, { type: i5.PageTitleService }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQTRCLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUd0RSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT25DLE1BQU0sT0FBTyx5Q0FBeUM7SUFzQnBELFlBQ21CLGVBQWdDLEVBQ2hDLEtBQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLFVBQXNCLEVBQ3RCLGdCQUFrQztRQUpsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckI1QyxZQUFPLEdBQUcsT0FBTyxDQUFDO1FBRWxCLDRCQUF1QixHQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzNFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQ2hDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FDbkMsQ0FBQztRQUVPLHdCQUFtQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQzlELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsa0NBQWtDLENBQUMsc0JBQXNCLENBQUMsQ0FDaEYsRUFDRCxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUNILENBQUM7UUFTQSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUM7SUFDaEYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7SUFDbkMsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDMUQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDOytHQWpEVSx5Q0FBeUM7bUdBQXpDLHlDQUF5QyxtRkMvQnRELHNoR0EwRkE7OzRGRDNEYSx5Q0FBeUM7a0JBTHJELFNBQVM7K0JBQ0UsNkNBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtUYWJTZXJ2aWNlfSBmcm9tICcuLi90YWIuc2VydmljZSc7XG5pbXBvcnQge1RhYkVudW19IGZyb20gJy4uL3RhYi5lbnVtJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudERldGFpbENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGN1cnJlbnRUYWI6IFRhYkVudW07XG4gIHB1YmxpYyBjYXNlTGlzdENvbHVtbiE6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSB0YWJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICByZWFkb25seSBUYWJFbnVtID0gVGFiRW51bTtcblxuICByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICBtYXAocGFyYW1zID0+IHBhcmFtcy5uYW1lIHx8ICcnKSxcbiAgICBmaWx0ZXIoZG9jRGVmTmFtZSA9PiAhIWRvY0RlZk5hbWUpXG4gICk7XG5cbiAgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uJCA9IHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PlxuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0RG9jdW1lbnREZWZpbml0aW9uRm9yTWFuYWdlbWVudChkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICksXG4gICAgdGFwKGRvY3VtZW50RGVmaW5pdGlvbiA9PiB7XG4gICAgICB0aGlzLnBhZ2VUaXRsZVNlcnZpY2Uuc2V0Q3VzdG9tUGFnZVRpdGxlKGRvY3VtZW50RGVmaW5pdGlvbi5zY2hlbWEudGl0bGUpO1xuICAgIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNhc2VMaXN0Q29sdW1uID0gdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5mZWF0dXJlVG9nZ2xlcy5jYXNlTGlzdENvbHVtbjtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkN1cnJlbnRUYWJTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIGRpc3BsYXlCb2R5Q29tcG9uZW50KHRhYjogVGFiRW51bSk6IHZvaWQge1xuICAgIHRoaXMudGFiU2VydmljZS5jdXJyZW50VGFiID0gdGFiO1xuICB9XG5cbiAgb3BlbkN1cnJlbnRUYWJTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy50YWJTdWJzY3JpcHRpb24gPSB0aGlzLnRhYlNlcnZpY2UuY3VycmVudFRhYiQuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4gKHRoaXMuY3VycmVudFRhYiA9IHZhbHVlKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYlNlcnZpY2UuY3VycmVudFRhYiA9IFRhYkVudW0uQ0FTRTtcbiAgICB0aGlzLnRhYlN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHB4LTAgbWItNVwiPlxuICAgICAgPHZhbHRpbW8td2lkZ2V0PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdmFsdGltby13aWRnZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGl0bGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb2N1bWVudERlZmluaXRpb24kIHwgYXN5bmMgYXMgZG9jdW1lbnREZWZpbml0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cImJnLWxpZ2h0IGRvc3NpZXItaGVhZGVyXCIgKm5nSWY9XCJkb2N1bWVudERlZmluaXRpb24ucmVhZE9ubHlcIj5cbiAgICAgIDxoMyBjbGFzcz1cImRvc3NpZXItdGl0bGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLXBpbGwgYmFkZ2UtaW5mbyBpbmNyZWFzZS1zaXplXCI+e3tcbiAgICAgICAgICAgICdkb3NzaWVyTWFuYWdlbWVudC5yZWFkb25seScgfCB0cmFuc2xhdGVcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFicz5cbiAgPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzXCI+XG4gICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cbiAgICAgIDxhXG4gICAgICAgIGlkPVwiY2FzZS10YWJcIlxuICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGNsaWNrYWJsZSBhY3RpdmVcIlxuICAgICAgICBkYXRhLXRvZ2dsZT1cInRhYlwiXG4gICAgICAgIChjbGljayk9XCJkaXNwbGF5Qm9keUNvbXBvbmVudChUYWJFbnVtLkNBU0UpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYnMuY2FzZXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxuICAgICAgPGFcbiAgICAgICAgaWQ9XCJzZWFyY2gtdGFiXCJcbiAgICAgICAgY2xhc3M9XCJuYXYtbGluayBjbGlja2FibGVcIlxuICAgICAgICBkYXRhLXRvZ2dsZT1cInRhYlwiXG4gICAgICAgIChjbGljayk9XCJkaXNwbGF5Qm9keUNvbXBvbmVudChUYWJFbnVtLlNFQVJDSClcIlxuICAgICAgPlxuICAgICAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFicy5zZWFyY2hGaWVsZHMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiY2FzZUxpc3RDb2x1bW5cIj5cbiAgICAgIDxhXG4gICAgICAgIGlkPVwibGlzdC10YWJcIlxuICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGNsaWNrYWJsZVwiXG4gICAgICAgIGRhdGEtdG9nZ2xlPVwidGFiXCJcbiAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlCb2R5Q29tcG9uZW50KFRhYkVudW0uTElTVClcIlxuICAgICAgPlxuICAgICAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFicy5saXN0Q29sdW1ucycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0YWJDb250ZW50PlxuICA8ZGl2IGNsYXNzPVwicHQtMyBiZy13aGl0ZSBwb3NpdGlvbi1yZWxhdGl2ZSB0YWItY29udGFpbmVyXCI+XG4gICAgPGRpdiAqbmdJZj1cImN1cnJlbnRUYWIgJiYgY3VycmVudFRhYiA9PT0gVGFiRW51bS5DQVNFXCI+XG4gICAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50VGFiICYmIGN1cnJlbnRUYWIgPT09IFRhYkVudW0uU0VBUkNIXCI+XG4gICAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcz48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImN1cnJlbnRUYWIgJiYgY3VycmVudFRhYiA9PT0gVGFiRW51bS5MSVNUXCI+XG4gICAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtbGlzdC1jb2x1bW5zPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtbGlzdC1jb2x1bW5zPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=