@eo-sdk/client 11.12.1 → 11.12.2

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.
@@ -24,7 +24,8 @@ export declare class AddResubmissionComponent implements OnInit, AfterViewInit,
24
24
  createResubmissionForm(): void;
25
25
  setFormValues(controls: any, selection: DmsObject): void;
26
26
  patchForm(titleFieldFCN: any, dueFieldFCN: any, inboxCbFCN: any, emailCbFCN?: boolean): void;
27
- get titleValidity(): boolean;
27
+ get titleValidityRequired(): boolean;
28
+ get titleValidityMaxLength(): boolean;
28
29
  get dueFieldValidity(): boolean;
29
30
  private dueDateValidator;
30
31
  get dateValidation(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"add-resubmission.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,MAAM,EAAE,YAAY,EAAa,UAAU,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACpG,OAAO,EAAC,eAAe,EAAC,MAAM,gDAAgD,CAAC;AAE/E,OAAO,EAAC,gBAAgB,EAAc,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;;AAGlF,qBAKa,wBAAyB,YAAW,MAAM,EAAE,aAAa,EAAE,eAAe;IAoBzE,OAAO,CAAC,SAAS;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,EAAE;IArBH,SAAS,EAAE,SAAS,EAAE,CAAC;IACS,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAErE,IAAI,QAAQ,WAEX;IAES,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACtD,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IAEhE,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,gBAAgB,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;gBAEA,SAAS,EAAE,gBAAgB,EACrC,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,kBAAkB;IAGhC,sBAAsB;IAuBtB,aAAa,CAAC,QAAQ,KAAA,EAAE,SAAS,EAAE,SAAS;IAW5C,SAAS,CAAC,aAAa,KAAA,EAAE,WAAW,KAAA,EAAE,UAAU,KAAA,EAAE,UAAU,UAAQ;IAIpE,IAAI,aAAa,YAEhB;IAED,IAAI,gBAAgB,YAEnB;IAED,OAAO,CAAC,gBAAgB;IAUxB,IAAI,cAAc,IAAI,OAAO,CAO5B;IAED,OAAO,CAAC,2BAA2B;IASnC,IAAI,4BAA4B,IAAI,OAAO,CAO1C;IAED,kBAAkB;IA4BlB,kBAAkB;IA0BlB,kBAAkB;IAqBlB,OAAO,CAAC,WAAW;IAInB,MAAM;IAIN,QAAQ,IAAI,IAAI;IAShB,eAAe;yCAzMJ,wBAAwB;2CAAxB,wBAAwB;CA6MpC"}
1
+ {"version":3,"file":"add-resubmission.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,MAAM,EAAE,YAAY,EAAa,UAAU,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACpG,OAAO,EAAC,eAAe,EAAC,MAAM,gDAAgD,CAAC;AAE/E,OAAO,EAAC,gBAAgB,EAAc,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;;AAGlF,qBAKa,wBAAyB,YAAW,MAAM,EAAE,aAAa,EAAE,eAAe;IAoBzE,OAAO,CAAC,SAAS;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,EAAE;IArBH,SAAS,EAAE,SAAS,EAAE,CAAC;IACS,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAErE,IAAI,QAAQ,WAEX;IAES,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACtD,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IAEhE,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,gBAAgB,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;gBAEA,SAAS,EAAE,gBAAgB,EACrC,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,kBAAkB;IAGhC,sBAAsB;IAwBtB,aAAa,CAAC,QAAQ,KAAA,EAAE,SAAS,EAAE,SAAS;IAW5C,SAAS,CAAC,aAAa,KAAA,EAAE,WAAW,KAAA,EAAE,UAAU,KAAA,EAAE,UAAU,UAAQ;IAIpE,IAAI,qBAAqB,YAExB;IAED,IAAI,sBAAsB,YAEzB;IAED,IAAI,gBAAgB,YAEnB;IAED,OAAO,CAAC,gBAAgB;IAUxB,IAAI,cAAc,IAAI,OAAO,CAO5B;IAED,OAAO,CAAC,2BAA2B;IASnC,IAAI,4BAA4B,IAAI,OAAO,CAO1C;IAED,kBAAkB;IA4BlB,kBAAkB;IA0BlB,kBAAkB;IAqBlB,OAAO,CAAC,WAAW;IAInB,MAAM;IAIN,QAAQ,IAAI,IAAI;IAShB,eAAe;yCA9MJ,wBAAwB;2CAAxB,wBAAwB;CAkNpC"}
@@ -22,7 +22,8 @@ export declare class AddSubscriptionComponent implements OnInit, ActionComponent
22
22
  processing: boolean;
23
23
  constructor(translate: TranslateService, dms: DmsService, userService: UserService, fb: UntypedFormBuilder);
24
24
  ngOnInit(): void;
25
- get titleValidity(): boolean;
25
+ get titleValidityMaxLength(): boolean;
26
+ get titleValidityRequired(): boolean;
26
27
  private validator;
27
28
  createSubscription(): void;
28
29
  private createTitle;
@@ -1 +1 @@
1
- {"version":3,"file":"add-subscription.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,MAAM,EAAE,YAAY,EAAE,UAAU,EAAY,MAAM,eAAe,CAAC;AACrF,OAAO,EAAC,eAAe,EAAC,MAAM,gDAAgD,CAAC;AAE/E,OAAO,EAAqB,gBAAgB,EAAc,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAmB,MAAM,cAAc,CAAC;;AAGpG,qBAKa,wBAAyB,YAAW,MAAM,EAAE,eAAe;IAqB1D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,EAAE;IAtBtB,0BAA0B,MAAC;IAElB,SAAS,EAAE,SAAS,EAAE,CAAC;IAEhC,IAAI,QAAQ,WAEX;IAES,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACtD,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACvB,UAAU,EAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAEtE,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,gBAAgB,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;gBAEA,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,kBAAkB;IAG1C,QAAQ;IAkDR,IAAI,aAAa,YAEhB;IAED,OAAO,CAAC,SAAS;IAYjB,kBAAkB;IAwBlB,OAAO,CAAC,WAAW;IAInB,MAAM;yCAzHK,wBAAwB;2CAAxB,wBAAwB;CA6HpC"}
1
+ {"version":3,"file":"add-subscription.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,MAAM,EAAE,YAAY,EAAE,UAAU,EAAY,MAAM,eAAe,CAAC;AACrF,OAAO,EAAC,eAAe,EAAC,MAAM,gDAAgD,CAAC;AAE/E,OAAO,EAAqB,gBAAgB,EAAc,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAmB,MAAM,cAAc,CAAC;;AAGpG,qBAKa,wBAAyB,YAAW,MAAM,EAAE,eAAe;IAqB1D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,EAAE;IAtBtB,0BAA0B,MAAC;IAElB,SAAS,EAAE,SAAS,EAAE,CAAC;IAEhC,IAAI,QAAQ,WAEX;IAES,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACtD,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACvB,UAAU,EAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAEtE,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,gBAAgB,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;gBAEA,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,kBAAkB;IAG1C,QAAQ;IAkDR,IAAI,sBAAsB,YAEzB;IAED,IAAI,qBAAqB,YAExB;IAED,OAAO,CAAC,SAAS;IAYjB,kBAAkB;IAwBlB,OAAO,CAAC,WAAW;IAInB,MAAM;yCA7HK,wBAAwB;2CAAxB,wBAAwB;CAiIpC"}
@@ -20,11 +20,11 @@
20
20
  },
21
21
  {
22
22
  "iso": "ja",
23
- "label": "日本"
23
+ "label": "日本語"
24
24
  },
25
25
  {
26
26
  "iso": "ko",
27
- "label": "한국인"
27
+ "label": "한국어"
28
28
  },
29
29
  {
30
30
  "iso": "th",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  {
34
34
  "iso": "zh",
35
- "label": "中國人"
35
+ "label": "中文"
36
36
  }
37
37
  ],
38
38
  "preview": {
@@ -8,10 +8,10 @@ export class AboutStateComponent {
8
8
  this.backend = backend;
9
9
  this.userService = userService;
10
10
  this.config = config;
11
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/common", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/core", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/forms", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/router", "version": "18.1.0", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.12.0", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "18.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "18.1.9", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "18.0.0", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "karma-coverage-istanbul-reporter", "version": "3.0.3", "license": "MIT" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "19.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.3", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.7", "license": "MIT" }];
11
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/common", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/core", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/forms", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/router", "version": "18.1.0", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.12.1", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "18.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "18.1.9", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "18.0.0", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "karma-coverage-istanbul-reporter", "version": "3.0.3", "license": "MIT" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "19.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.3", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.7", "license": "MIT" }];
12
12
  this.ctrl = {
13
13
  componentName: 'yuuvis® RAD client',
14
- componentVersion: '11.12.1',
14
+ componentVersion: '11.12.2',
15
15
  productName: '',
16
16
  productVersion: ''
17
17
  };
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
78
78
  type: Component,
79
79
  args: [{ selector: 'eo-about-state', template: "<div class=\"eo-about-state\">\n\n <div class=\"about\">\n <div class=\"header\" [style.background-image]=\"backgroundImage\">\n <img [src]=\"headerLogo\"/>\n </div>\n\n <div class=\"body\">\n <div class=\"claim\" translate>eo.help.about.claim</div>\n\n <div class=\"wrap\">\n <table>\n <tbody>\n <tr>\n <th translate>eo.help.about.component.label</th>\n <td>{{ctrl.componentName}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.component.version.label</th>\n <td>{{ctrl.componentVersion}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.label</th>\n <td>{{ ctrl.productName }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.version.label</th>\n <td>{{ ctrl.productVersion }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.producer.label</th>\n <td translate>eo.help.about.producer.text</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n\n <h2 translate>eo.help.license.title</h2>\n <p translate>eo.help.license.intro</p>\n <div class=\"showLic\" (click)=\"licenseShow = !licenseShow\">\n <span class=\"toggle\"><span translate>eo.help.license.title</span><span class=\"toggle-indicator\">{{licenseShow ? '-' : '+'}}</span></span></div>\n <div class=\"licenses\" *ngIf=\"licenseShow\">\n <div class=\"lib\" *ngFor=\"let lib of __libraries__; trackBy: trackByFn\">\n <div class=\"name\">{{lib.name}}</div>\n <div class=\"lic\" *ngIf=\"licenses[lib.license]\">\n <a href=\"{{licenses[lib.license].url}}\" target=\"_blank\" *ngIf=\"licenses[lib.license].url\">{{licenses[lib.license].label}}</a>\n <span *ngIf=\"!licenses[lib.license].url\">{{licenses[lib.license].label}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [":host{--about-header-height: 300px;position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center;overflow-y:auto}.eo-about-state{box-sizing:border-box;width:800px;display:flex;flex-flow:column}@media screen and (max-width: 832px){.eo-about-state{margin:0;min-width:inherit;width:100%}}.eo-about-state .about{box-shadow:0 2px 5px #0003;background:var(--panel-background);margin:var(--app-pane-padding)}.eo-about-state .about .header{position:relative;height:var(--about-header-height);background-size:cover}.eo-about-state .about .header:after{content:\"\";position:absolute;inset:0;background-color:rgba(var(--color-accent-rgb),.8)}.eo-about-state .about .header img{right:8%;bottom:18%;position:absolute;z-index:20;width:40%}.eo-about-state .about .body{padding:var(--app-pane-padding)}.eo-about-state .about .body .claim{padding:var(--app-pane-padding) 0}.eo-about-state .about .body h2{margin:1.5em 0 0;color:var(--text-color-caption);font-weight:var(--font-weight-light);font-size:var(--font-title)}.eo-about-state .about .body .wrap{display:flex;flex-flow:row wrap}.eo-about-state .about .body ul.links{color:var(--color-accent);list-style-type:none}.eo-about-state .about .body ul.links li{padding:2px 0}.eo-about-state .about .body ul.links a{text-decoration:none;color:var(--color-accent)}.eo-about-state .about .body ul.links a:hover{text-decoration:underline}.eo-about-state .about .body table{margin:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 4) 0;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px}.eo-about-state .about .body table th{display:flex;flex-flow:column;align-items:flex-start;justify-content:center;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body table th,.eo-about-state .about .body table td{padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2)}.eo-about-state .about .body .showLic span.toggle{color:var(--color-accent);display:inline-block;padding:0 4px 2px;border-radius:4px;border:1px solid var(--color-accent);cursor:pointer}.eo-about-state .about .body .showLic .toggle-indicator{padding:0 4px}.eo-about-state .about .body .licenses{padding-top:var(--app-pane-padding)}.eo-about-state .about .body .licenses .lib{display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding) / 4);border-top:1px solid var(--list-item-border-color)}.eo-about-state .about .body .licenses .lib .name{flex:1 1 auto}.eo-about-state .about .body .licenses .lib .lic{flex:0 0 auto;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body .licenses .lib .lic a{text-decoration:none;border-radius:2px;border:1px solid var(--color-accent);color:var(--color-accent);display:inline-block;padding:2px 4px;background-color:rgba(var(--color-black-rgb),.06);line-height:1em}\n"] }]
80
80
  }], ctorParameters: () => [{ type: i1.BackendService }, { type: i1.UserService }, { type: i1.Config }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywyQkFBMkIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyx3QkFBd0IsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG9CQUFvQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHFCQUFxQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsY0FBYyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLG1CQUFtQixFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0NBQWtDLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUc3Z0UsU0FBSSxHQUFHO1lBQ0wsYUFBYSxFQUFFLG9CQUFvQjtZQUNuQyxnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0E1RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsc0RDUmhDLG8rREF1REE7OzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIzMS4zLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIzMS4zLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMzEuMy4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9zdHlsZXNcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjE2LjNcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwiQGVvLXNkay9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4xMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5nbmVhdC91bnRpbC1kZXN0cm95XCIsXCJ2ZXJzaW9uXCI6XCIxMC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmd4LXB3YS9sb2NhbC1zdG9yYWdlXCIsXCJ2ZXJzaW9uXCI6XCIxOC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxNS4wLjBcIixcImxpY2Vuc2VcIjpcIlNFRSBMSUNFTlNFIElOIExJQ0VOU0VcIn0se1wibmFtZVwiOlwiQHl1dXZpcy9jb21wb25lbnRzXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjlcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxOC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjYuMTJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJmaWxlLXNhdmVyXCIsXCJ2ZXJzaW9uXCI6XCIyLjAuNVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZvbnQtYXdlc29tZVwiLFwidmVyc2lvblwiOlwiNC43LjBcIixcImxpY2Vuc2VcIjpcIihPRkwtMS4xIEFORCBNSVQpXCJ9LHtcIm5hbWVcIjpcImthcm1hLWNvdmVyYWdlLWlzdGFuYnVsLXJlcG9ydGVyXCIsXCJ2ZXJzaW9uXCI6XCIzLjAuM1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImxvZGFzaC1lc1wiLFwidmVyc2lvblwiOlwiNC4xNy4yMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm1vbWVudFwiLFwidmVyc2lvblwiOlwiMi4zMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibmd4LXRvYXN0clwiLFwidmVyc2lvblwiOlwiMTkuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicnhqc1wiLFwidmVyc2lvblwiOlwiNy44LjFcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwidHNsaWJcIixcInZlcnNpb25cIjpcIjIuNi4zXCIsXCJsaWNlbnNlXCI6XCIwQlNEXCJ9LHtcIm5hbWVcIjpcInpvbmUuanNcIixcInZlcnNpb25cIjpcIjAuMTQuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9XTtcbiAgdXNlckxhbmc6IHN0cmluZztcblxuICBjdHJsID0ge1xuICAgIGNvbXBvbmVudE5hbWU6ICd5dXV2aXPCriBSQUQgY2xpZW50JyxcbiAgICBjb21wb25lbnRWZXJzaW9uOiAnMTEuMTIuMScsXG4gICAgcHJvZHVjdE5hbWU6ICcnLFxuICAgIHByb2R1Y3RWZXJzaW9uOiAnJ1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSwgcHJpdmF0ZSBjb25maWc6IENvbmZpZykge1xuICAgIHRoaXMuZ2V0VXNlckxhbmcoKTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt0aGlzLmNvbmZpZy5nZXREYXNoYm9hcmRCYWNrZ3JvdW5kSW1hZ2UoKX0pYDtcbiAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmhlYWRlckxvZ28nKTtcbiAgICBpZiAoIXRoaXMuaGVhZGVyTG9nbykge1xuICAgICAgdGhpcy5oZWFkZXJMb2dvID0gdGhpcy5jb25maWcuZ2V0UmF3KCdhcHBMb2dvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9zeXN0ZW0vaW5mbycpLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgIHRoaXMuY3RybC5wcm9kdWN0TmFtZSA9IGluZm8ucHJvZHVjdC5uYW1lO1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3RWZXJzaW9uID0gaW5mby5wcm9kdWN0LnByb2R1Y3R2ZXJzaW9uO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VXNlckxhbmcoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy51c2VyTGFuZyA9IGRhdGEudXNlclNldHRpbmdzLmNsaWVudGxvY2FsZSk7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWFib3V0LXN0YXRlXCI+XG5cbiAgPGRpdiBjbGFzcz1cImFib3V0XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiPlxuICAgICAgPGltZyBbc3JjXT1cImhlYWRlckxvZ29cIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsYWltXCIgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY2xhaW08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBcIj5cbiAgICAgICAgPHRhYmxlPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY29tcG9uZW50LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50TmFtZX19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQudmVyc2lvbi5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3tjdHJsLmNvbXBvbmVudFZlcnNpb259fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3sgY3RybC5wcm9kdWN0TmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3RWZXJzaW9uIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjZXIudGV4dDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG5cblxuICAgICAgPGgyIHRyYW5zbGF0ZT5lby5oZWxwLmxpY2Vuc2UudGl0bGU8L2gyPlxuICAgICAgPHAgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS5pbnRybzwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaG93TGljXCIgKGNsaWNrKT1cImxpY2Vuc2VTaG93ID0gIWxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlXCI+PHNwYW4gdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvc3Bhbj48c3BhbiBjbGFzcz1cInRvZ2dsZS1pbmRpY2F0b3JcIj57e2xpY2Vuc2VTaG93ID8gJy0nIDogJysnfX08L3NwYW4+PC9zcGFuPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpY2Vuc2VzXCIgKm5nSWY9XCJsaWNlbnNlU2hvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGliXCIgKm5nRm9yPVwibGV0IGxpYiBvZiBfX2xpYnJhcmllc19fOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7bGliLm5hbWV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaWNcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXVwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cInt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgKm5nSWY9XCJsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvYT5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywyQkFBMkIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyx3QkFBd0IsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG9CQUFvQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHFCQUFxQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsY0FBYyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLG1CQUFtQixFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0NBQWtDLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUc3Z0UsU0FBSSxHQUFHO1lBQ0wsYUFBYSxFQUFFLG9CQUFvQjtZQUNuQyxnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0E1RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsc0RDUmhDLG8rREF1REE7OzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIzMS4zLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIzMS4zLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMzEuMy4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9zdHlsZXNcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjE2LjNcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwiQGVvLXNkay9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4xMi4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5nbmVhdC91bnRpbC1kZXN0cm95XCIsXCJ2ZXJzaW9uXCI6XCIxMC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmd4LXB3YS9sb2NhbC1zdG9yYWdlXCIsXCJ2ZXJzaW9uXCI6XCIxOC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxNS4wLjBcIixcImxpY2Vuc2VcIjpcIlNFRSBMSUNFTlNFIElOIExJQ0VOU0VcIn0se1wibmFtZVwiOlwiQHl1dXZpcy9jb21wb25lbnRzXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjlcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxOC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjYuMTJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJmaWxlLXNhdmVyXCIsXCJ2ZXJzaW9uXCI6XCIyLjAuNVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZvbnQtYXdlc29tZVwiLFwidmVyc2lvblwiOlwiNC43LjBcIixcImxpY2Vuc2VcIjpcIihPRkwtMS4xIEFORCBNSVQpXCJ9LHtcIm5hbWVcIjpcImthcm1hLWNvdmVyYWdlLWlzdGFuYnVsLXJlcG9ydGVyXCIsXCJ2ZXJzaW9uXCI6XCIzLjAuM1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImxvZGFzaC1lc1wiLFwidmVyc2lvblwiOlwiNC4xNy4yMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm1vbWVudFwiLFwidmVyc2lvblwiOlwiMi4zMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibmd4LXRvYXN0clwiLFwidmVyc2lvblwiOlwiMTkuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicnhqc1wiLFwidmVyc2lvblwiOlwiNy44LjFcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwidHNsaWJcIixcInZlcnNpb25cIjpcIjIuNi4zXCIsXCJsaWNlbnNlXCI6XCIwQlNEXCJ9LHtcIm5hbWVcIjpcInpvbmUuanNcIixcInZlcnNpb25cIjpcIjAuMTQuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9XTtcbiAgdXNlckxhbmc6IHN0cmluZztcblxuICBjdHJsID0ge1xuICAgIGNvbXBvbmVudE5hbWU6ICd5dXV2aXPCriBSQUQgY2xpZW50JyxcbiAgICBjb21wb25lbnRWZXJzaW9uOiAnMTEuMTIuMicsXG4gICAgcHJvZHVjdE5hbWU6ICcnLFxuICAgIHByb2R1Y3RWZXJzaW9uOiAnJ1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSwgcHJpdmF0ZSBjb25maWc6IENvbmZpZykge1xuICAgIHRoaXMuZ2V0VXNlckxhbmcoKTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt0aGlzLmNvbmZpZy5nZXREYXNoYm9hcmRCYWNrZ3JvdW5kSW1hZ2UoKX0pYDtcbiAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmhlYWRlckxvZ28nKTtcbiAgICBpZiAoIXRoaXMuaGVhZGVyTG9nbykge1xuICAgICAgdGhpcy5oZWFkZXJMb2dvID0gdGhpcy5jb25maWcuZ2V0UmF3KCdhcHBMb2dvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9zeXN0ZW0vaW5mbycpLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgIHRoaXMuY3RybC5wcm9kdWN0TmFtZSA9IGluZm8ucHJvZHVjdC5uYW1lO1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3RWZXJzaW9uID0gaW5mby5wcm9kdWN0LnByb2R1Y3R2ZXJzaW9uO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VXNlckxhbmcoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy51c2VyTGFuZyA9IGRhdGEudXNlclNldHRpbmdzLmNsaWVudGxvY2FsZSk7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWFib3V0LXN0YXRlXCI+XG5cbiAgPGRpdiBjbGFzcz1cImFib3V0XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiPlxuICAgICAgPGltZyBbc3JjXT1cImhlYWRlckxvZ29cIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsYWltXCIgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY2xhaW08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBcIj5cbiAgICAgICAgPHRhYmxlPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY29tcG9uZW50LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50TmFtZX19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQudmVyc2lvbi5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3tjdHJsLmNvbXBvbmVudFZlcnNpb259fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3sgY3RybC5wcm9kdWN0TmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3RWZXJzaW9uIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjZXIudGV4dDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG5cblxuICAgICAgPGgyIHRyYW5zbGF0ZT5lby5oZWxwLmxpY2Vuc2UudGl0bGU8L2gyPlxuICAgICAgPHAgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS5pbnRybzwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaG93TGljXCIgKGNsaWNrKT1cImxpY2Vuc2VTaG93ID0gIWxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlXCI+PHNwYW4gdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvc3Bhbj48c3BhbiBjbGFzcz1cInRvZ2dsZS1pbmRpY2F0b3JcIj57e2xpY2Vuc2VTaG93ID8gJy0nIDogJysnfX08L3NwYW4+PC9zcGFuPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpY2Vuc2VzXCIgKm5nSWY9XCJsaWNlbnNlU2hvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGliXCIgKm5nRm9yPVwibGV0IGxpYiBvZiBfX2xpYnJhcmllc19fOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7bGliLm5hbWV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaWNcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXVwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cInt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgKm5nSWY9XCJsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvYT5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
@@ -42,6 +42,7 @@ export class AddResubmissionComponent {
42
42
  });
43
43
  if (this.selection.length === 1) {
44
44
  this.addResubmissionForm.controls['titleFieldFCN'].setValidators(Validators.required);
45
+ this.addResubmissionForm.controls['titleFieldFCN'].setValidators(Validators.maxLength(250));
45
46
  this.addResubmissionForm.controls['dueFieldFCN'].setValidators(Validators.required);
46
47
  }
47
48
  this.setFormValues(this.addResubmissionForm.controls, this.selection[0]);
@@ -60,7 +61,10 @@ export class AddResubmissionComponent {
60
61
  patchForm(titleFieldFCN, dueFieldFCN, inboxCbFCN, emailCbFCN = false) {
61
62
  this.addResubmissionForm.setValue({ titleFieldFCN, dueFieldFCN, inboxCbFCN, emailCbFCN });
62
63
  }
63
- get titleValidity() {
64
+ get titleValidityRequired() {
65
+ return !this.addResubmissionForm.get('titleFieldFCN').value;
66
+ }
67
+ get titleValidityMaxLength() {
64
68
  return this.addResubmissionForm.get('titleFieldFCN').invalid;
65
69
  }
66
70
  get dueFieldValidity() {
@@ -183,11 +187,11 @@ export class AddResubmissionComponent {
183
187
  this.titleField.nativeElement.getElementsByTagName('input')[0].select();
184
188
  }
185
189
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AddResubmissionComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i1.UserService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: AddResubmissionComponent, selector: "eo-add-resubmission", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-resubmission\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addResubmissionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"dueFieldLabel\" [required]=\"true\">\n <eo-date [withTime]=\"true\" [onlyFutureDates]=\"false\" formControlName=\"dueFieldFCN\"></eo-date>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"dueFieldValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\"\n *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [tristate]=\"false\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"notificationMethodValidation\" translate>eo.resubmission.error.msg</div>\n <div class=\"err-msg\" *ngIf=\"dateValidation\" translate>eo.resubmission.error.msg.date</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"secondary\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"removeResubmission()\"\n translate>eo.resubmission.delete</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\"\n *ngIf=\"selection[0].resubmissions.length\" (click)=\"updateResubmission()\" translate>eo.resubmission.apply</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\"\n *ngIf=\"!selection[0].resubmissions.length\" (click)=\"createResubmission()\" translate>eo.resubmission.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-resubmission{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-resubmission h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-resubmission .form-buttons{padding:5px 0;text-align:right}.eo-resubmission .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-resubmission .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-resubmission .process-indicator{display:flex;justify-content:flex-end}.eo-resubmission .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-resubmission .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.TrapFocusDirective, selector: "[eoTrapFocus]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.DateComponent, selector: "eo-date", inputs: ["withTime", "readonly", "onlyFutureDates"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }] }); }
190
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: AddResubmissionComponent, selector: "eo-add-resubmission", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-resubmission\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addResubmissionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"dueFieldLabel\" [required]=\"true\">\n <eo-date [withTime]=\"true\" [onlyFutureDates]=\"false\" formControlName=\"dueFieldFCN\"></eo-date>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"dueFieldValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"\n [invalid]=\"titleValidityRequired || titleValidityMaxLength\" *ngIf=\"selection.length === 1\">\n <eo-string [maxlength]=\"250\" formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidityRequired\">\n <div translate>eo.form.property.required</div>\n </div>\n <div class=\"err-msg\" *ngIf=\"titleValidityMaxLength\">\n <div [translateParams]=\"{maxlength: 250}\" translate>eo.form.property.maxlength</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [tristate]=\"false\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"notificationMethodValidation\" translate>eo.resubmission.error.msg</div>\n <div class=\"err-msg\" *ngIf=\"dateValidation\" translate>eo.resubmission.error.msg.date</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"secondary\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"removeResubmission()\"\n translate>eo.resubmission.delete</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n *ngIf=\"selection[0].resubmissions.length\" (click)=\"updateResubmission()\" translate>eo.resubmission.apply</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n *ngIf=\"!selection[0].resubmissions.length\" (click)=\"createResubmission()\" translate>eo.resubmission.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-resubmission{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-resubmission h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-resubmission .form-buttons{padding:5px 0;text-align:right}.eo-resubmission .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-resubmission .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-resubmission .process-indicator{display:flex;justify-content:flex-end}.eo-resubmission .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-resubmission .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.TrapFocusDirective, selector: "[eoTrapFocus]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.DateComponent, selector: "eo-date", inputs: ["withTime", "readonly", "onlyFutureDates"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }] }); }
187
191
  }
188
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AddResubmissionComponent, decorators: [{
189
193
  type: Component,
190
- args: [{ selector: 'eo-add-resubmission', template: "<div class=\"eo-resubmission\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addResubmissionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"dueFieldLabel\" [required]=\"true\">\n <eo-date [withTime]=\"true\" [onlyFutureDates]=\"false\" formControlName=\"dueFieldFCN\"></eo-date>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"dueFieldValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\"\n *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [tristate]=\"false\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"notificationMethodValidation\" translate>eo.resubmission.error.msg</div>\n <div class=\"err-msg\" *ngIf=\"dateValidation\" translate>eo.resubmission.error.msg.date</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"secondary\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"removeResubmission()\"\n translate>eo.resubmission.delete</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\"\n *ngIf=\"selection[0].resubmissions.length\" (click)=\"updateResubmission()\" translate>eo.resubmission.apply</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\"\n *ngIf=\"!selection[0].resubmissions.length\" (click)=\"createResubmission()\" translate>eo.resubmission.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-resubmission{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-resubmission h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-resubmission .form-buttons{padding:5px 0;text-align:right}.eo-resubmission .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-resubmission .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-resubmission .process-indicator{display:flex;justify-content:flex-end}.eo-resubmission .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-resubmission .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"] }]
194
+ args: [{ selector: 'eo-add-resubmission', template: "<div class=\"eo-resubmission\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addResubmissionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"dueFieldLabel\" [required]=\"true\">\n <eo-date [withTime]=\"true\" [onlyFutureDates]=\"false\" formControlName=\"dueFieldFCN\"></eo-date>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"dueFieldValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"\n [invalid]=\"titleValidityRequired || titleValidityMaxLength\" *ngIf=\"selection.length === 1\">\n <eo-string [maxlength]=\"250\" formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidityRequired\">\n <div translate>eo.form.property.required</div>\n </div>\n <div class=\"err-msg\" *ngIf=\"titleValidityMaxLength\">\n <div [translateParams]=\"{maxlength: 250}\" translate>eo.form.property.maxlength</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [tristate]=\"false\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"notificationMethodValidation\" translate>eo.resubmission.error.msg</div>\n <div class=\"err-msg\" *ngIf=\"dateValidation\" translate>eo.resubmission.error.msg.date</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"secondary\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"removeResubmission()\"\n translate>eo.resubmission.delete</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n *ngIf=\"selection[0].resubmissions.length\" (click)=\"updateResubmission()\" translate>eo.resubmission.apply</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n *ngIf=\"!selection[0].resubmissions.length\" (click)=\"createResubmission()\" translate>eo.resubmission.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-resubmission{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-resubmission h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-resubmission .form-buttons{padding:5px 0;text-align:right}.eo-resubmission .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-resubmission .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-resubmission .process-indicator{display:flex;justify-content:flex-end}.eo-resubmission .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-resubmission .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"] }]
191
195
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i1.UserService }, { type: i2.UntypedFormBuilder }], propDecorators: { selection: [{
192
196
  type: Input
193
197
  }], titleField: [{
@@ -198,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
198
202
  }], canceled: [{
199
203
  type: Output
200
204
  }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlc3VibWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQW1CLFVBQVUsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sd0JBQXdCO0lBS25DLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ25HLENBQUM7SUFhRCxZQUFvQixTQUEyQixFQUNyQyxHQUFlLEVBQ2YsV0FBd0IsRUFDeEIsRUFBc0I7UUFIWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxRQUFHLEdBQUgs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QUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFFLENBQUM7OEdBM01VLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGdSQ2JyQywyM0VBNENBOzsyRkQvQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjt5S0FNdEIsU0FBUztzQkFBakIsS0FBSztnQkFDbUMsVUFBVTtzQkFBbEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQU03QixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge0lucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUJ1aWxkZXJ9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgRG1zT2JqZWN0LCBVc2VyU2VydmljZSwgRG1zU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hZGQtcmVzdWJtaXNzaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogRG1zT2JqZWN0W107XG4gIEBWaWV3Q2hpbGQoJ3RpdGxlRmllbGQnLCB7c3RhdGljOiB0cnVlfSkgdGl0bGVGaWVsZDogRWxlbWVudFJlZjxhbnk+O1xuXG4gIGdldCBoYXNFbWFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLmVtYWlsICYmIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbC5sZW5ndGg7XG4gIH1cblxuICBAT3V0cHV0KCkgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBoZWFkZXI6IHN0cmluZztcbiAgYWRkUmVzdWJtaXNzaW9uRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZHVlRmllbGRMYWJlbDogc3RyaW5nO1xuICB0aXRsZUZpZWxkTGFiZWw6IHN0cmluZztcbiAgaW5ib3hDYkxhYmVsOiBzdHJpbmc7XG4gIGVtYWlsQ2JMYWJlbDogc3RyaW5nO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG1zOiBEbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgY3JlYXRlUmVzdWJtaXNzaW9uRm9ybSgpIHtcbiAgICBjb25zdCBkID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBuZXcgRGF0ZShkLnNldERhdGUoZC5nZXREYXRlKCkgKyAxNCkpO1xuICAgIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGl0bGVGaWVsZEZDTjogW3RoaXMuY3JlYXRlVGl0bGUodGhpcy5zZWxlY3Rpb25bMF0pXSxcbiAgICAgIGR1ZUZpZWxkRkNOOiBbZGVmYXVsdFZhbHVlXSxcbiAgICAgIGluYm94Q2JGQ046IFt0cnVlXSxcbiAgICAgIGVtYWlsQ2JGQ046IFtmYWxzZV0sXG4gICAgfSwge1xuICAgICAgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRvcignaW5ib3hDYkZDTicsICdlbWFpbENiRkNOJyksXG4gICAgICAgIHRoaXMuZHVlRGF0ZVZhbGlkYXRvcignZHVlRmllbGRGQ04nKVxuICAgICAgXSlcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGlvbi5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5jb250cm9sc1sndGl0bGVGaWVsZEZDTiddLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uY29udHJvbHNbJ2R1ZUZpZWxkRkNOJ10uc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZvcm1WYWx1ZXModGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtLmNvbnRyb2xzLCB0aGlzLnNlbGVjdGlvblswXSk7XG4gIH1cblxuICBzZXRGb3JtVmFsdWVzKGNvbnRyb2xzLCBzZWxlY3Rpb246IERtc09iamVjdCkge1xuICAgIGlmIChzZWxlY3Rpb24ucmVzdWJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIC8vIGlmIHJlc3VibWlzc2lvbnMgYXJyYXkgaXNuJ3QgZW1wdHksIGl0J3MgYW4gdXBkYXRlXG4gICAgICBjb25zdCB7aW5mbywgZHVlLCBvbmx5ZW1haWwsIGVtYWlsfSA9IHNlbGVjdGlvbi5yZXN1Ym1pc3Npb25zWzBdO1xuICAgICAgdGhpcy5oZWFkZXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaW5saW5lbWVudS5lZGl0cmVzdWJtaXNzaW9uJyk7XG4gICAgICB0aGlzLnBhdGNoRm9ybShpbmZvLCBuZXcgRGF0ZShgJHtkdWV9YCksICFvbmx5ZW1haWwsIGVtYWlsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oZWFkZXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaW5saW5lbWVudS5hZGRyZXN1Ym1pc3Npb24nKTtcbiAgICB9XG4gIH1cblxuICBwYXRjaEZvcm0odGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ04gPSBmYWxzZSkge1xuICAgIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5zZXRWYWx1ZSh7dGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ059KTtcbiAgfVxuXG4gIGdldCB0aXRsZVZhbGlkaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uZ2V0KCd0aXRsZUZpZWxkRkNOJykuaW52YWxpZDtcbiAgfVxuXG4gIGdldCBkdWVGaWVsZFZhbGlkaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uZ2V0KCdkdWVGaWVsZEZDTicpLmludmFsaWQ7XG4gIH1cblxuICBwcml2YXRlIGR1ZURhdGVWYWxpZGF0b3IoZHVlRGF0ZSkge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgcmV0dXJuIChncm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4ge1xuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW2R1ZURhdGVdLmludmFsaWQgfHwgZ3JvdXAuY29udHJvbHNbZHVlRGF0ZV0udmFsdWUgPT09IG51bGwgfHwgZ3JvdXAuY29udHJvbHNbZHVlRGF0ZV0udmFsdWUgPiBub3cpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4geydkdWVEYXRlJzogdHJ1ZX1cbiAgICB9XG4gIH1cblxuICBnZXQgZGF0ZVZhbGlkYXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qge2Vycm9ycywgY29udHJvbHN9ID0gdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtO1xuICAgIGxldCBkYXRlVmFsaWRhdGlvbkVycm9yID0gZmFsc2U7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgZGF0ZVZhbGlkYXRpb25FcnJvciA9IChjb250cm9scy5kdWVGaWVsZEZDTi50b3VjaGVkIHx8IGNvbnRyb2xzLmR1ZUZpZWxkRkNOLmRpcnR5KSAmJiBlcnJvcnMuZHVlRGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGVWYWxpZGF0aW9uRXJyb3I7XG4gIH1cblxuICBwcml2YXRlIG5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRvcihpbmJveENiRkNOLCBlbWFpbENiRkNOKSB7XG4gICAgcmV0dXJuIChncm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4ge1xuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW2luYm94Q2JGQ05dLnZhbHVlIHx8IGdyb3VwLmNvbnRyb2xzW2VtYWlsQ2JGQ05dLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsnbm90aWZpY2F0aW9uTWV0aG9kJzogdHJ1ZX1cbiAgICB9XG4gIH1cblxuICBnZXQgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCB7ZXJyb3JzfSA9IHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybTtcbiAgICBsZXQgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbkVycm9yID0gZmFsc2U7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbkVycm9yID0gZXJyb3JzLm5vdGlmaWNhdGlvbk1ldGhvZDtcbiAgICB9XG4gICAgcmV0dXJuIG5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRpb25FcnJvcjtcbiAgfVxuXG4gIGNyZWF0ZVJlc3VibWlzc2lvbigpIHtcbiAgICBjb25zdCB7dGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ046IHNlbmRFbWFpbH0gPSB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0udmFsdWU7XG4gICAgY29uc3Qgb25seUVtYWlsID0gdGhpcy5oYXNFbWFpbCA/IHNlbmRFbWFpbCAmJiAhaW5ib3hDYkZDTiA6IGZhbHNlO1xuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBjcmVhdGVUYXNrcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSA/IHRpdGxlRmllbGRGQ04gOiB0aGlzLmNyZWF0ZVRpdGxlKGl0ZW0pO1xuICAgICAgY3JlYXRlVGFza3MucHVzaCh0aGlzLmRtcy5jcmVhdGVSZXN1Ym1pc3Npb24oaXRlbSwgdGl0bGUsIGR1ZUZpZWxkRkNOLCB1bmRlZmluZWQsIHNlbmRFbWFpbCwgb25seUVtYWlsKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBldmVuIGluIGNhc2Ugb2lmIGFuIGVycm9yIHJldHVybiBzb21ldGhpbmcgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHdob2xlIGZvcmtKb2luIHdpbGwgZmFpbFxuICAgICAgICAgIC8vIHRvZG86IG1heWJlIGFkZCBzb21lIGVycm9yIG5vdGlmaWNhdGlvbiB0aGF0IHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgICAgICAgY2F0Y2hFcnJvcihlID0+IG9mKG51bGwpXG4gICAgICAgICAgKVxuICAgICAgICApKTtcbiAgICB9KTtcbiAgICBpZiAoY3JlYXRlVGFza3MubGVuZ3RoKSB7XG4gICAgICBmb3JrSm9pbihjcmVhdGVUYXNrcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICAgICAgfVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlc3VibWlzc2lvbigpIHtcbiAgICBjb25zdCB7dGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ046IHNlbmRFbWFpbH0gPSB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0udmFsdWU7XG4gICAgY29uc3Qgb25seUVtYWlsID0gdGhpcy5oYXNFbWFpbCA/IHNlbmRFbWFpbCAmJiAhaW5ib3hDYkZDTiA6IGZhbHNlO1xuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICBjb25zdCB1cGRhdGVUYXNrcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSA/IHRpdGxlRmllbGRGQ04gOiB0aGlzLmNyZWF0ZVRpdGxlKGl0ZW0pO1xuICAgICAgdXBkYXRlVGFza3MucHVzaCh0aGlzLmRtcy51cGRhdGVSZXN1Ym1pc3Npb24oaXRlbSwgdGl0bGUsIGR1ZUZpZWxkRkNOLCB1bmRlZmluZWQsIHNlbmRFbWFpbCwgb25seUVtYWlsKS5waXBlKFxuICAgICAgICAvLyBldmVuIGluIGNhc2Ugb2lmIGFuIGVycm9yIHJldHVybiBzb21ldGhpbmcgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHdob2xlIGZvcmtKb2luIHdpbGwgZmFpbFxuICAgICAgICAvLyB0b2RvOiBtYXliZSBhZGQgc29tZSBlcnJvciBub3RpZmljYXRpb24gdGhhdCBzb21ldGhpbmcgd2VudCB3cm9uZ1xuICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpXG4gICAgICApKTtcbiAgICB9KTtcbiAgICBpZiAodXBkYXRlVGFza3MubGVuZ3RoKSB7XG4gICAgICBmb3JrSm9pbih1cGRhdGVUYXNrcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICAgICAgfVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVJlc3VibWlzc2lvbigpIHtcbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHJlbW92ZVRhc2tzID0gW107XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIHJlbW92ZVRhc2tzLnB1c2godGhpcy5kbXMucmVtb3ZlUmVzdWJtaXNzaW9uc0J5SWQoaXRlbS5pZCwgaXRlbSlcbiAgICAgICAgLy8gZXZlbiBpbiBjYXNlIG9pZiBhbiBlcnJvciByZXR1cm4gc29tZXRoaW5nIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSB3aG9sZSBmb3JrSm9pbiB3aWxsIGZhaWxcbiAgICAgICAgLy8gdG9kbzogbWF5YmUgYWRkIHNvbWUgZXJyb3Igbm90aWZpY2F0aW9uIHRoYXQgc29tZXRoaW5nIHdlbnQgd3JvbmdcbiAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKG51bGwpKSkpO1xuICAgIH0pO1xuICAgIGlmIChyZW1vdmVUYXNrcy5sZW5ndGgpIHtcbiAgICAgIGZvcmtKb2luKHJlbW92ZVRhc2tzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUaXRsZShpdGVtOiBEbXNPYmplY3QpIHtcbiAgICByZXR1cm4gaXRlbS5pc0NvbnRleHRGb2xkZXIgJiYgaXRlbS5jb250ZXh0Rm9sZGVyID8gYCR7aXRlbS5jb250ZXh0Rm9sZGVyLnRpdGxlfSA+ICR7aXRlbS50aXRsZX1gIDogaXRlbS50aXRsZTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZHVlRmllbGRMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5kdWUnKTtcbiAgICB0aGlzLnRpdGxlRmllbGRMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5pbmZvJyk7XG4gICAgdGhpcy5pbmJveENiTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZXN1Ym1pc3Npb24uZmllbGQubm90aWZpY2F0aW9uLmluYm94Jyk7XG4gICAgdGhpcy5lbWFpbENiTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZXN1Ym1pc3Npb24uZmllbGQubm90aWZpY2F0aW9uLmVtYWlsJyk7XG5cbiAgICB0aGlzLmNyZWF0ZVJlc3VibWlzc2lvbkZvcm0oKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnRpdGxlRmllbGQubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKVswXS5zZWxlY3QoKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tcmVzdWJtaXNzaW9uXCIgZW9UcmFwRm9jdXM+XG4gIDxoMj57e2hlYWRlcn19PC9oMj5cbiAgPGZvcm0gI3RpdGxlRmllbGQgW2Zvcm1Hcm91cF09XCJhZGRSZXN1Ym1pc3Npb25Gb3JtXCI+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJkdWVGaWVsZExhYmVsXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgIDxlby1kYXRlIFt3aXRoVGltZV09XCJ0cnVlXCIgW29ubHlGdXR1cmVEYXRlc109XCJmYWxzZVwiIGZvcm1Db250cm9sTmFtZT1cImR1ZUZpZWxkRkNOXCI+PC9lby1kYXRlPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiICpuZ0lmPVwiZHVlRmllbGRWYWxpZGl0eVwiPlxuICAgICAgPGRpdiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5yZXF1aXJlZDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIiBbbGFiZWxdPVwidGl0bGVGaWVsZExhYmVsXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbaW52YWxpZF09XCJ0aXRsZVZhbGlkaXR5XCJcbiAgICAgICpuZ0lmPVwic2VsZWN0aW9uLmxlbmd0aCA9PT0gMVwiPlxuICAgICAgPGVvLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZUZpZWxkRkNOXCI+PC9lby1zdHJpbmc+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJ0aXRsZVZhbGlkaXR5XCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJpbmJveENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJpbmJveENiRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJlbWFpbENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbENiRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cIiFoYXNFbWFpbFwiPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG5cbiAgPCEtLSBlcnJvci92YWxpZGF0aW9uIG1lc3NhZ2VzIC0tPlxuICA8ZGl2IGNsYXNzPVwiZXJyb3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cIm5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRpb25cIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmVycm9yLm1zZzwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJkYXRlVmFsaWRhdGlvblwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uZXJyb3IubXNnLmRhdGU8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uc1wiICpuZ0lmPVwiIXByb2Nlc3Npbmc7IGVsc2UgaW5kaWNhdG9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJzZWNvbmRhcnlcIiAqbmdJZj1cInNlbGVjdGlvblswXS5yZXN1Ym1pc3Npb25zLmxlbmd0aFwiIChjbGljayk9XCJyZW1vdmVSZXN1Ym1pc3Npb24oKVwiXG4gICAgICB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmRlbGV0ZTwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImFkZFJlc3VibWlzc2lvbkZvcm0uZXJyb3JzIHx8IHRpdGxlVmFsaWRpdHlcIlxuICAgICAgKm5nSWY9XCJzZWxlY3Rpb25bMF0ucmVzdWJtaXNzaW9ucy5sZW5ndGhcIiAoY2xpY2spPVwidXBkYXRlUmVzdWJtaXNzaW9uKClcIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmFwcGx5PC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiYWRkUmVzdWJtaXNzaW9uRm9ybS5lcnJvcnMgfHwgdGl0bGVWYWxpZGl0eVwiXG4gICAgICAqbmdJZj1cIiFzZWxlY3Rpb25bMF0ucmVzdWJtaXNzaW9ucy5sZW5ndGhcIiAoY2xpY2spPVwiY3JlYXRlUmVzdWJtaXNzaW9uKClcIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmFkZDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI2luZGljYXRvcj5cbiAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1pbmRpY2F0b3JcIj48ZW8taWNvbiBbaWNvblNyY109XCInaWNfa2l0dC1sb2FkZXIuc3ZnJ1wiPjwvZW8taWNvbj48L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlc3VibWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQW1CLFVBQVUsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sd0JBQXdCO0lBS25DLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ25HLENBQUM7SUFhRCxZQUFvQixTQUEyQixFQUNyQyxHQUFlLEVBQ2YsV0FBd0IsRUFDeEIsRUFBc0I7UUFIWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxRQUFHLEdBQUgs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SSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUV2RixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFFLENBQUM7OEdBaE5VLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGdSQ2JyQyxrckZBK0NBOzsyRkRsQ2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjt5S0FNdEIsU0FBUztzQkFBakIsS0FBSztnQkFDbUMsVUFBVTtzQkFBbEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQU03QixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge0lucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUJ1aWxkZXJ9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgRG1zT2JqZWN0LCBVc2VyU2VydmljZSwgRG1zU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hZGQtcmVzdWJtaXNzaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogRG1zT2JqZWN0W107XG4gIEBWaWV3Q2hpbGQoJ3RpdGxlRmllbGQnLCB7c3RhdGljOiB0cnVlfSkgdGl0bGVGaWVsZDogRWxlbWVudFJlZjxhbnk+O1xuXG4gIGdldCBoYXNFbWFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLmVtYWlsICYmIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbC5sZW5ndGg7XG4gIH1cblxuICBAT3V0cHV0KCkgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBoZWFkZXI6IHN0cmluZztcbiAgYWRkUmVzdWJtaXNzaW9uRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZHVlRmllbGRMYWJlbDogc3RyaW5nO1xuICB0aXRsZUZpZWxkTGFiZWw6IHN0cmluZztcbiAgaW5ib3hDYkxhYmVsOiBzdHJpbmc7XG4gIGVtYWlsQ2JMYWJlbDogc3RyaW5nO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG1zOiBEbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgY3JlYXRlUmVzdWJtaXNzaW9uRm9ybSgpIHtcbiAgICBjb25zdCBkID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBuZXcgRGF0ZShkLnNldERhdGUoZC5nZXREYXRlKCkgKyAxNCkpO1xuICAgIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGl0bGVGaWVsZEZDTjogW3RoaXMuY3JlYXRlVGl0bGUodGhpcy5zZWxlY3Rpb25bMF0pXSxcbiAgICAgIGR1ZUZpZWxkRkNOOiBbZGVmYXVsdFZhbHVlXSxcbiAgICAgIGluYm94Q2JGQ046IFt0cnVlXSxcbiAgICAgIGVtYWlsQ2JGQ046IFtmYWxzZV0sXG4gICAgfSwge1xuICAgICAgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRvcignaW5ib3hDYkZDTicsICdlbWFpbENiRkNOJyksXG4gICAgICAgIHRoaXMuZHVlRGF0ZVZhbGlkYXRvcignZHVlRmllbGRGQ04nKVxuICAgICAgXSlcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGlvbi5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5jb250cm9sc1sndGl0bGVGaWVsZEZDTiddLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uY29udHJvbHNbJ3RpdGxlRmllbGRGQ04nXS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1MCkpO1xuICAgICAgdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtLmNvbnRyb2xzWydkdWVGaWVsZEZDTiddLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRGb3JtVmFsdWVzKHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5jb250cm9scywgdGhpcy5zZWxlY3Rpb25bMF0pO1xuICB9XG5cbiAgc2V0Rm9ybVZhbHVlcyhjb250cm9scywgc2VsZWN0aW9uOiBEbXNPYmplY3QpIHtcbiAgICBpZiAoc2VsZWN0aW9uLnJlc3VibWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAvLyBpZiByZXN1Ym1pc3Npb25zIGFycmF5IGlzbid0IGVtcHR5LCBpdCdzIGFuIHVwZGF0ZVxuICAgICAgY29uc3Qge2luZm8sIGR1ZSwgb25seWVtYWlsLCBlbWFpbH0gPSBzZWxlY3Rpb24ucmVzdWJtaXNzaW9uc1swXTtcbiAgICAgIHRoaXMuaGVhZGVyID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LmlubGluZW1lbnUuZWRpdHJlc3VibWlzc2lvbicpO1xuICAgICAgdGhpcy5wYXRjaEZvcm0oaW5mbywgbmV3IERhdGUoYCR7ZHVlfWApLCAhb25seWVtYWlsLCBlbWFpbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGVhZGVyID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LmlubGluZW1lbnUuYWRkcmVzdWJtaXNzaW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcGF0Y2hGb3JtKHRpdGxlRmllbGRGQ04sIGR1ZUZpZWxkRkNOLCBpbmJveENiRkNOLCBlbWFpbENiRkNOID0gZmFsc2UpIHtcbiAgICB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uc2V0VmFsdWUoe3RpdGxlRmllbGRGQ04sIGR1ZUZpZWxkRkNOLCBpbmJveENiRkNOLCBlbWFpbENiRkNOfSk7XG4gIH1cblxuICBnZXQgdGl0bGVWYWxpZGl0eVJlcXVpcmVkKCkge1xuICAgIHJldHVybiAhdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtLmdldCgndGl0bGVGaWVsZEZDTicpLnZhbHVlO1xuICB9XG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHlNYXhMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS5pbnZhbGlkO1xuICB9XG5cbiAgZ2V0IGR1ZUZpZWxkVmFsaWRpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5nZXQoJ2R1ZUZpZWxkRkNOJykuaW52YWxpZDtcbiAgfVxuXG4gIHByaXZhdGUgZHVlRGF0ZVZhbGlkYXRvcihkdWVEYXRlKSB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICByZXR1cm4gKGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB7XG4gICAgICBpZiAoZ3JvdXAuY29udHJvbHNbZHVlRGF0ZV0uaW52YWxpZCB8fCBncm91cC5jb250cm9sc1tkdWVEYXRlXS52YWx1ZSA9PT0gbnVsbCB8fCBncm91cC5jb250cm9sc1tkdWVEYXRlXS52YWx1ZSA+IG5vdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7J2R1ZURhdGUnOiB0cnVlfVxuICAgIH1cbiAgfVxuXG4gIGdldCBkYXRlVmFsaWRhdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCB7ZXJyb3JzLCBjb250cm9sc30gPSB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm07XG4gICAgbGV0IGRhdGVWYWxpZGF0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICBkYXRlVmFsaWRhdGlvbkVycm9yID0gKGNvbnRyb2xzLmR1ZUZpZWxkRkNOLnRvdWNoZWQgfHwgY29udHJvbHMuZHVlRmllbGRGQ04uZGlydHkpICYmIGVycm9ycy5kdWVEYXRlO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZVZhbGlkYXRpb25FcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdG9yKGluYm94Q2JGQ04sIGVtYWlsQ2JGQ04pIHtcbiAgICByZXR1cm4gKGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB7XG4gICAgICBpZiAoZ3JvdXAuY29udHJvbHNbaW5ib3hDYkZDTl0udmFsdWUgfHwgZ3JvdXAuY29udHJvbHNbZW1haWxDYkZDTl0udmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4geydub3RpZmljYXRpb25NZXRob2QnOiB0cnVlfVxuICAgIH1cbiAgfVxuXG4gIGdldCBub3RpZmljYXRpb25NZXRob2RWYWxpZGF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHtlcnJvcnN9ID0gdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtO1xuICAgIGxldCBub3RpZmljYXRpb25NZXRob2RWYWxpZGF0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICBub3RpZmljYXRpb25NZXRob2RWYWxpZGF0aW9uRXJyb3IgPSBlcnJvcnMubm90aWZpY2F0aW9uTWV0aG9kO1xuICAgIH1cbiAgICByZXR1cm4gbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbkVycm9yO1xuICB9XG5cbiAgY3JlYXRlUmVzdWJtaXNzaW9uKCkge1xuICAgIGNvbnN0IHt0aXRsZUZpZWxkRkNOLCBkdWVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTjogc2VuZEVtYWlsfSA9IHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS52YWx1ZTtcbiAgICBjb25zdCBvbmx5RW1haWwgPSB0aGlzLmhhc0VtYWlsID8gc2VuZEVtYWlsICYmICFpbmJveENiRkNOIDogZmFsc2U7XG5cbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGNyZWF0ZVRhc2tzID0gW107XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSAxID8gdGl0bGVGaWVsZEZDTiA6IHRoaXMuY3JlYXRlVGl0bGUoaXRlbSk7XG4gICAgICBjcmVhdGVUYXNrcy5wdXNoKHRoaXMuZG1zLmNyZWF0ZVJlc3VibWlzc2lvbihpdGVtLCB0aXRsZSwgZHVlRmllbGRGQ04sIHVuZGVmaW5lZCwgc2VuZEVtYWlsLCBvbmx5RW1haWwpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIGV2ZW4gaW4gY2FzZSBvaWYgYW4gZXJyb3IgcmV0dXJuIHNvbWV0aGluZyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgd2hvbGUgZm9ya0pvaW4gd2lsbCBmYWlsXG4gICAgICAgICAgLy8gdG9kbzogbWF5YmUgYWRkIHNvbWUgZXJyb3Igbm90aWZpY2F0aW9uIHRoYXQgc29tZXRoaW5nIHdlbnQgd3JvbmdcbiAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbClcbiAgICAgICAgICApXG4gICAgICAgICkpO1xuICAgIH0pO1xuICAgIGlmIChjcmVhdGVUYXNrcy5sZW5ndGgpIHtcbiAgICAgIGZvcmtKb2luKGNyZWF0ZVRhc2tzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUmVzdWJtaXNzaW9uKCkge1xuICAgIGNvbnN0IHt0aXRsZUZpZWxkRkNOLCBkdWVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTjogc2VuZEVtYWlsfSA9IHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS52YWx1ZTtcbiAgICBjb25zdCBvbmx5RW1haWwgPSB0aGlzLmhhc0VtYWlsID8gc2VuZEVtYWlsICYmICFpbmJveENiRkNOIDogZmFsc2U7XG5cbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHVwZGF0ZVRhc2tzID0gW107XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSAxID8gdGl0bGVGaWVsZEZDTiA6IHRoaXMuY3JlYXRlVGl0bGUoaXRlbSk7XG4gICAgICB1cGRhdGVUYXNrcy5wdXNoKHRoaXMuZG1zLnVwZGF0ZVJlc3VibWlzc2lvbihpdGVtLCB0aXRsZSwgZHVlRmllbGRGQ04sIHVuZGVmaW5lZCwgc2VuZEVtYWlsLCBvbmx5RW1haWwpLnBpcGUoXG4gICAgICAgIC8vIGV2ZW4gaW4gY2FzZSBvaWYgYW4gZXJyb3IgcmV0dXJuIHNvbWV0aGluZyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgd2hvbGUgZm9ya0pvaW4gd2lsbCBmYWlsXG4gICAgICAgIC8vIHRvZG86IG1heWJlIGFkZCBzb21lIGVycm9yIG5vdGlmaWNhdGlvbiB0aGF0IHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSlcbiAgICAgICkpO1xuICAgIH0pO1xuICAgIGlmICh1cGRhdGVUYXNrcy5sZW5ndGgpIHtcbiAgICAgIGZvcmtKb2luKHVwZGF0ZVRhc2tzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlUmVzdWJtaXNzaW9uKCkge1xuICAgIHRoaXMucHJvY2Vzc2luZyA9IHRydWU7XG4gICAgY29uc3QgcmVtb3ZlVGFza3MgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgcmVtb3ZlVGFza3MucHVzaCh0aGlzLmRtcy5yZW1vdmVSZXN1Ym1pc3Npb25zQnlJZChpdGVtLmlkLCBpdGVtKVxuICAgICAgICAvLyBldmVuIGluIGNhc2Ugb2lmIGFuIGVycm9yIHJldHVybiBzb21ldGhpbmcgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHdob2xlIGZvcmtKb2luIHdpbGwgZmFpbFxuICAgICAgICAvLyB0b2RvOiBtYXliZSBhZGQgc29tZSBlcnJvciBub3RpZmljYXRpb24gdGhhdCBzb21ldGhpbmcgd2VudCB3cm9uZ1xuICAgICAgICAucGlwZShjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpKSk7XG4gICAgfSk7XG4gICAgaWYgKHJlbW92ZVRhc2tzLmxlbmd0aCkge1xuICAgICAgZm9ya0pvaW4ocmVtb3ZlVGFza3MpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRpdGxlKGl0ZW06IERtc09iamVjdCkge1xuICAgIHJldHVybiBpdGVtLmlzQ29udGV4dEZvbGRlciAmJiBpdGVtLmNvbnRleHRGb2xkZXIgPyBgJHtpdGVtLmNvbnRleHRGb2xkZXIudGl0bGV9ID4gJHtpdGVtLnRpdGxlfWAgOiBpdGVtLnRpdGxlO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsZWQuZW1pdCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kdWVGaWVsZExhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVzdWJtaXNzaW9uLmZpZWxkLmR1ZScpO1xuICAgIHRoaXMudGl0bGVGaWVsZExhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVzdWJtaXNzaW9uLmZpZWxkLmluZm8nKTtcbiAgICB0aGlzLmluYm94Q2JMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5ub3RpZmljYXRpb24uaW5ib3gnKTtcbiAgICB0aGlzLmVtYWlsQ2JMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5ub3RpZmljYXRpb24uZW1haWwnKTtcblxuICAgIHRoaXMuY3JlYXRlUmVzdWJtaXNzaW9uRm9ybSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudGl0bGVGaWVsZC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdLnNlbGVjdCgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1yZXN1Ym1pc3Npb25cIiBlb1RyYXBGb2N1cz5cbiAgPGgyPnt7aGVhZGVyfX08L2gyPlxuICA8Zm9ybSAjdGl0bGVGaWVsZCBbZm9ybUdyb3VwXT1cImFkZFJlc3VibWlzc2lvbkZvcm1cIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImR1ZUZpZWxkTGFiZWxcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWRhdGUgW3dpdGhUaW1lXT1cInRydWVcIiBbb25seUZ1dHVyZURhdGVzXT1cImZhbHNlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZHVlRmllbGRGQ05cIj48L2VvLWRhdGU+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJkdWVGaWVsZFZhbGlkaXR5XCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJ0aXRsZUZpZWxkTGFiZWxcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgW2ludmFsaWRdPVwidGl0bGVWYWxpZGl0eVJlcXVpcmVkIHx8IHRpdGxlVmFsaWRpdHlNYXhMZW5ndGhcIiAqbmdJZj1cInNlbGVjdGlvbi5sZW5ndGggPT09IDFcIj5cbiAgICAgIDxlby1zdHJpbmcgW21heGxlbmd0aF09XCIyNTBcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZUZpZWxkRkNOXCI+PC9lby1zdHJpbmc+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJ0aXRsZVZhbGlkaXR5UmVxdWlyZWRcIj5cbiAgICAgIDxkaXYgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWQ8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiICpuZ0lmPVwidGl0bGVWYWxpZGl0eU1heExlbmd0aFwiPlxuICAgICAgPGRpdiBbdHJhbnNsYXRlUGFyYW1zXT1cInttYXhsZW5ndGg6IDI1MH1cIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5tYXhsZW5ndGg8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImluYm94Q2JMYWJlbFwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImluYm94Q2JGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImVtYWlsQ2JMYWJlbFwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImVtYWlsQ2JGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIiBbcmVhZG9ubHldPVwiIWhhc0VtYWlsXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvZm9ybT5cblxuICA8IS0tIGVycm9yL3ZhbGlkYXRpb24gbWVzc2FnZXMgLS0+XG4gIDxkaXYgY2xhc3M9XCJlcnJvcnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiICpuZ0lmPVwibm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvblwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uZXJyb3IubXNnPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cImRhdGVWYWxpZGF0aW9uXCIgdHJhbnNsYXRlPmVvLnJlc3VibWlzc2lvbi5lcnJvci5tc2cuZGF0ZTwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1idXR0b25zXCIgKm5nSWY9XCIhcHJvY2Vzc2luZzsgZWxzZSBpbmRpY2F0b3JcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgdHJhbnNsYXRlPmVvLmN0YS5idXR0b24uY2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiICpuZ0lmPVwic2VsZWN0aW9uWzBdLnJlc3VibWlzc2lvbnMubGVuZ3RoXCIgKGNsaWNrKT1cInJlbW92ZVJlc3VibWlzc2lvbigpXCJcbiAgICAgIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uZGVsZXRlPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiYWRkUmVzdWJtaXNzaW9uRm9ybS5lcnJvcnMgfHwgdGl0bGVWYWxpZGl0eVJlcXVpcmVkIHx8IHRpdGxlVmFsaWRpdHlNYXhMZW5ndGhcIlxuICAgICAgKm5nSWY9XCJzZWxlY3Rpb25bMF0ucmVzdWJtaXNzaW9ucy5sZW5ndGhcIiAoY2xpY2spPVwidXBkYXRlUmVzdWJtaXNzaW9uKClcIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmFwcGx5PC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiYWRkUmVzdWJtaXNzaW9uRm9ybS5lcnJvcnMgfHwgdGl0bGVWYWxpZGl0eVJlcXVpcmVkIHx8IHRpdGxlVmFsaWRpdHlNYXhMZW5ndGhcIlxuICAgICAgKm5nSWY9XCIhc2VsZWN0aW9uWzBdLnJlc3VibWlzc2lvbnMubGVuZ3RoXCIgKGNsaWNrKT1cImNyZWF0ZVJlc3VibWlzc2lvbigpXCIgdHJhbnNsYXRlPmVvLnJlc3VibWlzc2lvbi5hZGQ8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlICNpbmRpY2F0b3I+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3MtaW5kaWNhdG9yXCI+PGVvLWljb24gW2ljb25TcmNdPVwiJ2ljX2tpdHQtbG9hZGVyLnN2ZydcIj48L2VvLWljb24+PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -43,6 +43,7 @@ export class AddSubscriptionComponent {
43
43
  if (this.selection.length === 1) {
44
44
  const titleFieldControl = this.addSubscriptionForm.controls['titleFieldFCN'];
45
45
  titleFieldControl.setValidators(Validators.required);
46
+ titleFieldControl.setValidators(Validators.maxLength(250));
46
47
  titleFieldControl.setValue(this.createTitle(this.selection[0]));
47
48
  }
48
49
  if (includesFolders && includesDocuments) {
@@ -73,9 +74,12 @@ export class AddSubscriptionComponent {
73
74
  this.titleField.nativeElement.getElementsByTagName('input')[0].select();
74
75
  });
75
76
  }
76
- get titleValidity() {
77
+ get titleValidityMaxLength() {
77
78
  return this.addSubscriptionForm.get('titleFieldFCN').invalid;
78
79
  }
80
+ get titleValidityRequired() {
81
+ return !this.addSubscriptionForm.get('titleFieldFCN').value;
82
+ }
79
83
  validator(control) {
80
84
  if (control.value.inboxCbFCN || control.value.emailCbFCN) {
81
85
  return null;
@@ -116,11 +120,11 @@ export class AddSubscriptionComponent {
116
120
  this.canceled.emit();
117
121
  }
118
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AddSubscriptionComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i1.UserService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: AddSubscriptionComponent, selector: "eo-add-subscription", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\" [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\" [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\"translate>eo.cta.button.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidity\" (click)=\"createSubscription()\"translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.TrapFocusDirective, selector: "[eoTrapFocus]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: AddSubscriptionComponent, selector: "eo-add-subscription", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"\n [invalid]=\"titleValidityRequired || titleValidityMaxLength\" *ngIf=\"selection.length === 1\">\n <eo-string [maxlength]=\"250\" formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidityRequired\">\n <div translate>eo.form.property.required</div>\n </div>\n <div class=\"err-msg\" *ngIf=\"titleValidityMaxLength\">\n <div [translateParams]=\"{maxlength: 250}\" translate>eo.form.property.maxlength</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\"\n [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\"\n [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg\n </div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n (click)=\"createSubscription()\" translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.TrapFocusDirective, selector: "[eoTrapFocus]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
120
124
  }
121
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AddSubscriptionComponent, decorators: [{
122
126
  type: Component,
123
- args: [{ selector: 'eo-add-subscription', template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\" [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\" [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\"translate>eo.cta.button.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidity\" (click)=\"createSubscription()\"translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"] }]
127
+ args: [{ selector: 'eo-add-subscription', template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"\n [invalid]=\"titleValidityRequired || titleValidityMaxLength\" *ngIf=\"selection.length === 1\">\n <eo-string [maxlength]=\"250\" formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidityRequired\">\n <div translate>eo.form.property.required</div>\n </div>\n <div class=\"err-msg\" *ngIf=\"titleValidityMaxLength\">\n <div [translateParams]=\"{maxlength: 250}\" translate>eo.form.property.maxlength</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\"\n [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\"\n [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg\n </div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n (click)=\"createSubscription()\" translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"] }]
124
128
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i1.UserService }, { type: i2.UntypedFormBuilder }], propDecorators: { selection: [{
125
129
  type: Input
126
130
  }], finished: [{
@@ -131,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
131
135
  type: ViewChild,
132
136
  args: ['titleField', { static: true }]
133
137
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQWMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBdUMsVUFBVSxFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBdUQsZ0JBQWdCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNuRyxDQUFDO0lBYUQsWUFBb0IsU0FBMkIsRUFDM0IsR0FBZSxFQUNmLFdBQXdCLEVBQ3hCLEVBQXNC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QyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QixRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUNBLENBQUE7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsSUFBSTtRQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDakgsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBM0hVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGdSQ2JyQyxpMkRBbUNBOzsyRkR0QmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjt5S0FRdEIsU0FBUztzQkFBakIsS0FBSztnQkFNSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ2tDLFVBQVU7c0JBQWxELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Zm9ya0pvaW4sIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2FjdGlvbi1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7SW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgVW50eXBlZEZvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2UsIERtc1NlcnZpY2UsIFVzZXJTZXJ2aWNlLCBEbXNPYmplY3QsIFN1YnNjcmlwdGlvbk1vZGV9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge2NhdGNoRXJyb3J9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWRkLXN1YnNjcmlwdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFkZFN1YnNjcmlwdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWN0aW9uQ29tcG9uZW50IHtcblxuICBzdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbTtcblxuICBASW5wdXQoKSBzZWxlY3Rpb246IERtc09iamVjdFtdO1xuXG4gIGdldCBoYXNFbWFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLmVtYWlsICYmIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbC5sZW5ndGg7XG4gIH1cblxuICBAT3V0cHV0KCkgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQFZpZXdDaGlsZCgndGl0bGVGaWVsZCcsIHtzdGF0aWM6IHRydWV9KSB0aXRsZUZpZWxkIDogRWxlbWVudFJlZjxhbnk+O1xuXG4gIGhlYWRlcjogc3RyaW5nO1xuICBhZGRTdWJzY3JpcHRpb25Gb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICB0aXRsZUZpZWxkTGFiZWw6IHN0cmluZztcbiAgaW5ib3hDYkxhYmVsOiBzdHJpbmc7XG4gIGVtYWlsQ2JMYWJlbDogc3RyaW5nO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGRtczogRG1zU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5oZWFkZXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaW5saW5lbWVudS5hZGRzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLnRpdGxlRmllbGRMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5pbmZvJyk7XG4gICAgdGhpcy5pbmJveENiTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubm90aWZpY2F0aW9uLmluYm94Jyk7XG4gICAgdGhpcy5lbWFpbENiTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubm90aWZpY2F0aW9uLmVtYWlsJyk7XG5cbiAgICBjb25zdCBpbmNsdWRlc0ZvbGRlcnMgPSB0aGlzLnNlbGVjdGlvbi5maW5kKGl0ZW0gPT4gaXRlbS5pc0ZvbGRlcik7XG4gICAgY29uc3QgaW5jbHVkZXNEb2N1bWVudHMgPSB0aGlzLnNlbGVjdGlvbi5maW5kKGl0ZW0gPT4gIWl0ZW0uaXNGb2xkZXIpO1xuXG4gICAgdGhpcy5hZGRTdWJzY3JpcHRpb25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB0aXRsZUZpZWxkRkNOOiBbJyddLFxuICAgICAgaW5ib3hDYkZDTjogW3RydWVdLFxuICAgICAgZW1haWxDYkZDTjogW2ZhbHNlXSxcbiAgICAgIG1vZGVGaWVsZEZDTjogW2luY2x1ZGVzRm9sZGVycyA/IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUQgOiBTdWJzY3JpcHRpb25Nb2RlLkRNU19PQkpFQ1RfQ0hBTkdFRF1cbiAgICB9LCB7dmFsaWRhdG9yOiB0aGlzLnZhbGlkYXRvcn0pO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgdGl0bGVGaWVsZENvbnRyb2wgPSB0aGlzLmFkZFN1YnNjcmlwdGlvbkZvcm0uY29udHJvbHNbJ3RpdGxlRmllbGRGQ04nXTtcbiAgICAgIHRpdGxlRmllbGRDb250cm9sLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB0aXRsZUZpZWxkQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNyZWF0ZVRpdGxlKHRoaXMuc2VsZWN0aW9uWzBdKSk7XG4gICAgfVxuXG4gICAgaWYgKGluY2x1ZGVzRm9sZGVycyAmJiBpbmNsdWRlc0RvY3VtZW50cykge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbSA9IHtcbiAgICAgICAgZW50cmllczogW1xuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUR9LFxuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuRE1TX09CSkVDVF9DSEFOR0VEfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpbmNsdWRlc0ZvbGRlcnMgJiYgIWluY2x1ZGVzRG9jdW1lbnRzKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbk1vZGVDb2Rlc3lzdGVtID0ge1xuICAgICAgICBlbnRyaWVzOiBbXG4gICAgICAgICAge2lkOiAwLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMubWV0YS5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTW9kZUNvZGVzeXN0ZW0gPSB7XG4gICAgICAgIGVudHJpZXM6IFtcbiAgICAgICAgICB7aWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMubWV0YS5sYWJlbCcpLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMubWV0YS5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEfSxcbiAgICAgICAgICB7aWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuY29udGVudC5sYWJlbCcpLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuY29udGVudC5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfRE9DVU1FTlRfQ09OVEVOVF9DSEFOR0VEfSxcbiAgICAgICAgICB7aWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuYm90aC5sYWJlbCcpLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuYm90aC5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLkRNU19PQkpFQ1RfQ0hBTkdFRH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudGl0bGVGaWVsZC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdLnNlbGVjdCgpO1xuICAgIH0sKTtcbiAgfVxuXG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS5pbnZhbGlkO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUuaW5ib3hDYkZDTiB8fCBjb250cm9sLnZhbHVlLmVtYWlsQ2JGQ04pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRTdWJzY3JpcHRpb25Gb3JtOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlU3Vic2NyaXB0aW9uKCkge1xuICAgIGNvbnN0IHt0aXRsZUZpZWxkRkNOLCBpbmJveENiRkNOLCBlbWFpbENiRkNOOiBzZW5kRW1haWwsIG1vZGVGaWVsZEZDTn0gPSB0aGlzLmFkZFN1YnNjcmlwdGlvbkZvcm0udmFsdWU7XG4gICAgY29uc3Qgb25seUVtYWlsID0gdGhpcy5oYXNFbWFpbCA/IHNlbmRFbWFpbCAmJiAhaW5ib3hDYkZDTiA6IGZhbHNlO1xuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBjcmVhdGVUYXNrcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSA/IHRpdGxlRmllbGRGQ04gOiB0aGlzLmNyZWF0ZVRpdGxlKGl0ZW0pO1xuICAgICAgY3JlYXRlVGFza3MucHVzaCh0aGlzLmRtcy5jcmVhdGVTdWJzY3JpcHRpb24oaXRlbSwgdGl0bGUsIHVuZGVmaW5lZCwgc2VuZEVtYWlsLCBvbmx5RW1haWwsIG1vZGVGaWVsZEZDTilcbiAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKG51bGwpKSkpO1xuICAgIH0pO1xuXG4gICAgaWYgKGNyZWF0ZVRhc2tzLmxlbmd0aCkge1xuICAgICAgZm9ya0pvaW4oY3JlYXRlVGFza3MpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRpdGxlKGl0ZW0pIHtcbiAgICByZXR1cm4gaXRlbS5pc0NvbnRleHRGb2xkZXIgJiYgaXRlbS5jb250ZXh0Rm9sZGVyID8gaXRlbS5jb250ZXh0Rm9sZGVyLnRpdGxlICsgJyA+ICcgKyBpdGVtLnRpdGxlIDogaXRlbS50aXRsZTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgfVxuXG59IiwiPGRpdiBjbGFzcz1cImVvLXN1YnNjcmlwdGlvblwiIGVvVHJhcEZvY3VzPlxuICA8aDI+e3toZWFkZXJ9fTwvaDI+XG4gIDxmb3JtICN0aXRsZUZpZWxkIFtmb3JtR3JvdXBdPVwiYWRkU3Vic2NyaXB0aW9uRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIiBbbGFiZWxdPVwidGl0bGVGaWVsZExhYmVsXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbaW52YWxpZF09XCJ0aXRsZVZhbGlkaXR5XCIgKm5nSWY9XCJzZWxlY3Rpb24ubGVuZ3RoID09PSAxXCI+XG4gICAgICA8ZW8tc3RyaW5nIGZvcm1Db250cm9sTmFtZT1cInRpdGxlRmllbGRGQ05cIj48L2VvLXN0cmluZz5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cInRpdGxlVmFsaWRpdHlcIj5cbiAgICAgIDxkaXYgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWQ8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImluYm94Q2JMYWJlbFwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImluYm94Q2JGQ05cIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImVtYWlsQ2JMYWJlbFwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImVtYWlsQ2JGQ05cIiBbcmVhZG9ubHldPVwiIWhhc0VtYWlsXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgKm5nSWY9XCIhc2VsZWN0aW9uWzBdLmlzRm9sZGVyXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCInZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUubGFiZWwnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tY29kZXN5c3RlbSBmb3JtQ29udHJvbE5hbWU9XCJtb2RlRmllbGRGQ05cIiBbY29kZXN5c3RlbV09XCJzdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbVwiIFtwaWNrZXJUaXRsZV09XCInZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUubGFiZWwnIHwgdHJhbnNsYXRlXCI+PC9lby1jb2Rlc3lzdGVtPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9mb3JtPlxuXG4gIDwhLS0gZXJyb3IvdmFsaWRhdGlvbiBtZXNzYWdlcyAtLT5cbiAgPGRpdiBjbGFzcz1cImVycm9yc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJhZGRTdWJzY3JpcHRpb25Gb3JtLmVycm9ycz8uYWRkU3Vic2NyaXB0aW9uRm9ybVwiIHRyYW5zbGF0ZT5lby5zdWJzY3JpcHRpb24uZXJyb3IubXNnPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbnNcIiAqbmdJZj1cIiFwcm9jZXNzaW5nOyBlbHNlIGluZGljYXRvclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcInRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImFkZFN1YnNjcmlwdGlvbkZvcm0uZXJyb3JzIHx8IHRpdGxlVmFsaWRpdHlcIiAoY2xpY2spPVwiY3JlYXRlU3Vic2NyaXB0aW9uKClcInRyYW5zbGF0ZT5lby5zdWJzY3JpcHRpb24uYWRkPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW5kaWNhdG9yPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWluZGljYXRvclwiPjxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2tpdHQtbG9hZGVyLnN2ZydcIj48L2VvLWljb24+PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQWMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBdUMsVUFBVSxFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBdUQsZ0JBQWdCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNuRyxDQUFDO0lBYUQsWUFBb0IsU0FBMkIsRUFDM0IsR0FBZSxFQUNmLFdBQXdCLEVBQ3hCLEVBQXNC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QkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNrQyxVQUFVO3NCQUFsRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge0lucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtQnVpbGRlcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlLCBEbXNTZXJ2aWNlLCBVc2VyU2VydmljZSwgRG1zT2JqZWN0LCBTdWJzY3JpcHRpb25Nb2RlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtjYXRjaEVycm9yfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWFkZC1zdWJzY3JpcHRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZGRTdWJzY3JpcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFjdGlvbkNvbXBvbmVudCB7XG5cbiAgc3Vic2NyaXB0aW9uTW9kZUNvZGVzeXN0ZW07XG5cbiAgQElucHV0KCkgc2VsZWN0aW9uOiBEbXNPYmplY3RbXTtcblxuICBnZXQgaGFzRW1haWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbCAmJiB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkuZW1haWwubGVuZ3RoO1xuICB9XG5cbiAgQE91dHB1dCgpIGZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoJ3RpdGxlRmllbGQnLCB7c3RhdGljOiB0cnVlfSkgdGl0bGVGaWVsZCA6IEVsZW1lbnRSZWY8YW55PjtcblxuICBoZWFkZXI6IHN0cmluZztcbiAgYWRkU3Vic2NyaXB0aW9uRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgdGl0bGVGaWVsZExhYmVsOiBzdHJpbmc7XG4gIGluYm94Q2JMYWJlbDogc3RyaW5nO1xuICBlbWFpbENiTGFiZWw6IHN0cmluZztcbiAgcHJvY2Vzc2luZzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkbXM6IERtc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaGVhZGVyID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LmlubGluZW1lbnUuYWRkc3Vic2NyaXB0aW9uJyk7XG4gICAgdGhpcy50aXRsZUZpZWxkTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQuaW5mbycpO1xuICAgIHRoaXMuaW5ib3hDYkxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm5vdGlmaWNhdGlvbi5pbmJveCcpO1xuICAgIHRoaXMuZW1haWxDYkxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm5vdGlmaWNhdGlvbi5lbWFpbCcpO1xuXG4gICAgY29uc3QgaW5jbHVkZXNGb2xkZXJzID0gdGhpcy5zZWxlY3Rpb24uZmluZChpdGVtID0+IGl0ZW0uaXNGb2xkZXIpO1xuICAgIGNvbnN0IGluY2x1ZGVzRG9jdW1lbnRzID0gdGhpcy5zZWxlY3Rpb24uZmluZChpdGVtID0+ICFpdGVtLmlzRm9sZGVyKTtcblxuICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGl0bGVGaWVsZEZDTjogWycnXSxcbiAgICAgIGluYm94Q2JGQ046IFt0cnVlXSxcbiAgICAgIGVtYWlsQ2JGQ046IFtmYWxzZV0sXG4gICAgICBtb2RlRmllbGRGQ046IFtpbmNsdWRlc0ZvbGRlcnMgPyBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEIDogU3Vic2NyaXB0aW9uTW9kZS5ETVNfT0JKRUNUX0NIQU5HRURdXG4gICAgfSwge3ZhbGlkYXRvcjogdGhpcy52YWxpZGF0b3J9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGlvbi5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IHRpdGxlRmllbGRDb250cm9sID0gdGhpcy5hZGRTdWJzY3JpcHRpb25Gb3JtLmNvbnRyb2xzWyd0aXRsZUZpZWxkRkNOJ107XG4gICAgICB0aXRsZUZpZWxkQ29udHJvbC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgdGl0bGVGaWVsZENvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1heExlbmd0aCgyNTApKTtcbiAgICAgIHRpdGxlRmllbGRDb250cm9sLnNldFZhbHVlKHRoaXMuY3JlYXRlVGl0bGUodGhpcy5zZWxlY3Rpb25bMF0pKTtcbiAgICB9XG5cbiAgICBpZiAoaW5jbHVkZXNGb2xkZXJzICYmIGluY2x1ZGVzRG9jdW1lbnRzKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbk1vZGVDb2Rlc3lzdGVtID0ge1xuICAgICAgICBlbnRyaWVzOiBbXG4gICAgICAgICAge2lkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLm1ldGEubGFiZWwnKSwgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLm1ldGEubGFiZWwnKSwgZGF0YTogU3Vic2NyaXB0aW9uTW9kZS5PTkxZX0lOREVYX0RBVEFfQ0hBTkdFRH0sXG4gICAgICAgICAge2lkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLmJvdGgubGFiZWwnKSwgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLmJvdGgubGFiZWwnKSwgZGF0YTogU3Vic2NyaXB0aW9uTW9kZS5ETVNfT0JKRUNUX0NIQU5HRUR9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGluY2x1ZGVzRm9sZGVycyAmJiAhaW5jbHVkZXNEb2N1bWVudHMpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTW9kZUNvZGVzeXN0ZW0gPSB7XG4gICAgICAgIGVudHJpZXM6IFtcbiAgICAgICAgICB7aWQ6IDAsIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUR9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbSA9IHtcbiAgICAgICAgZW50cmllczogW1xuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUR9LFxuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5jb250ZW50LmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5jb250ZW50LmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9ET0NVTUVOVF9DT05URU5UX0NIQU5HRUR9LFxuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuRE1TX09CSkVDVF9DSEFOR0VEfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50aXRsZUZpZWxkLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF0uc2VsZWN0KCk7XG4gICAgfSwpO1xuICB9XG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHlNYXhMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS5pbnZhbGlkO1xuICB9XG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHlSZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIGlmIChjb250cm9sLnZhbHVlLmluYm94Q2JGQ04gfHwgY29udHJvbC52YWx1ZS5lbWFpbENiRkNOKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRkU3Vic2NyaXB0aW9uRm9ybToge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZVN1YnNjcmlwdGlvbigpIHtcbiAgICBjb25zdCB7dGl0bGVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTjogc2VuZEVtYWlsLCBtb2RlRmllbGRGQ059ID0gdGhpcy5hZGRTdWJzY3JpcHRpb25Gb3JtLnZhbHVlO1xuICAgIGNvbnN0IG9ubHlFbWFpbCA9IHRoaXMuaGFzRW1haWwgPyBzZW5kRW1haWwgJiYgIWluYm94Q2JGQ04gOiBmYWxzZTtcblxuICAgIHRoaXMucHJvY2Vzc2luZyA9IHRydWU7XG4gICAgY29uc3QgY3JlYXRlVGFza3MgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnNlbGVjdGlvbi5sZW5ndGggPT09IDEgPyB0aXRsZUZpZWxkRkNOIDogdGhpcy5jcmVhdGVUaXRsZShpdGVtKTtcbiAgICAgIGNyZWF0ZVRhc2tzLnB1c2godGhpcy5kbXMuY3JlYXRlU3Vic2NyaXB0aW9uKGl0ZW0sIHRpdGxlLCB1bmRlZmluZWQsIHNlbmRFbWFpbCwgb25seUVtYWlsLCBtb2RlRmllbGRGQ04pXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSkpKTtcbiAgICB9KTtcblxuICAgIGlmIChjcmVhdGVUYXNrcy5sZW5ndGgpIHtcbiAgICAgIGZvcmtKb2luKGNyZWF0ZVRhc2tzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUaXRsZShpdGVtKSB7XG4gICAgcmV0dXJuIGl0ZW0uaXNDb250ZXh0Rm9sZGVyICYmIGl0ZW0uY29udGV4dEZvbGRlciA/IGl0ZW0uY29udGV4dEZvbGRlci50aXRsZSArICcgPiAnICsgaXRlbS50aXRsZSA6IGl0ZW0udGl0bGU7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5jYW5jZWxlZC5lbWl0KCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImVvLXN1YnNjcmlwdGlvblwiIGVvVHJhcEZvY3VzPlxuICA8aDI+e3toZWFkZXJ9fTwvaDI+XG4gIDxmb3JtICN0aXRsZUZpZWxkIFtmb3JtR3JvdXBdPVwiYWRkU3Vic2NyaXB0aW9uRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIiBbbGFiZWxdPVwidGl0bGVGaWVsZExhYmVsXCIgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtpbnZhbGlkXT1cInRpdGxlVmFsaWRpdHlSZXF1aXJlZCB8fCB0aXRsZVZhbGlkaXR5TWF4TGVuZ3RoXCIgKm5nSWY9XCJzZWxlY3Rpb24ubGVuZ3RoID09PSAxXCI+XG4gICAgICA8ZW8tc3RyaW5nIFttYXhsZW5ndGhdPVwiMjUwXCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVGaWVsZEZDTlwiPjwvZW8tc3RyaW5nPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiICpuZ0lmPVwidGl0bGVWYWxpZGl0eVJlcXVpcmVkXCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cInRpdGxlVmFsaWRpdHlNYXhMZW5ndGhcIj5cbiAgICAgIDxkaXYgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWF4bGVuZ3RoOiAyNTB9XCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkubWF4bGVuZ3RoPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJpbmJveENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJpbmJveENiRkNOXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJlbWFpbENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbENiRkNOXCIgW3JlYWRvbmx5XT1cIiFoYXNFbWFpbFwiPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxlby1mb3JtLWlucHV0ICpuZ0lmPVwiIXNlbGVjdGlvblswXS5pc0ZvbGRlclwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgW2xhYmVsXT1cIidlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5sYWJlbCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxlby1jb2Rlc3lzdGVtIGZvcm1Db250cm9sTmFtZT1cIm1vZGVGaWVsZEZDTlwiIFtjb2Rlc3lzdGVtXT1cInN1YnNjcmlwdGlvbk1vZGVDb2Rlc3lzdGVtXCJcbiAgICAgICAgW3BpY2tlclRpdGxlXT1cIidlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5sYWJlbCcgfCB0cmFuc2xhdGVcIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG5cbiAgPCEtLSBlcnJvci92YWxpZGF0aW9uIG1lc3NhZ2VzIC0tPlxuICA8ZGl2IGNsYXNzPVwiZXJyb3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cImFkZFN1YnNjcmlwdGlvbkZvcm0uZXJyb3JzPy5hZGRTdWJzY3JpcHRpb25Gb3JtXCIgdHJhbnNsYXRlPmVvLnN1YnNjcmlwdGlvbi5lcnJvci5tc2dcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uc1wiICpuZ0lmPVwiIXByb2Nlc3Npbmc7IGVsc2UgaW5kaWNhdG9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImFkZFN1YnNjcmlwdGlvbkZvcm0uZXJyb3JzIHx8IHRpdGxlVmFsaWRpdHlSZXF1aXJlZCB8fCB0aXRsZVZhbGlkaXR5TWF4TGVuZ3RoXCJcbiAgICAgIChjbGljayk9XCJjcmVhdGVTdWJzY3JpcHRpb24oKVwiIHRyYW5zbGF0ZT5lby5zdWJzY3JpcHRpb24uYWRkPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW5kaWNhdG9yPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWluZGljYXRvclwiPjxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2tpdHQtbG9hZGVyLnN2ZydcIj48L2VvLWljb24+PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==