@alauda-fe/crd-form 0.0.2 → 0.0.3

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.
@@ -1,14 +1,14 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { LabelPosition } from '@alauda/ui';
3
3
  import { ObservableInput, } from '@alauda-fe/common';
4
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, ViewChild, } from '@angular/core';
4
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
5
5
  import { NgForm } from '@angular/forms';
6
6
  import { List, Map as $Map, fromJS } from 'immutable';
7
7
  import { flattenDeep, fromPairs, isEmpty, uniq } from 'lodash-es';
8
8
  import { Observable } from 'rxjs';
9
9
  import { RemoteWidgetsService } from '../remote-widgets';
10
10
  import { SpecCapability, } from '../types';
11
- import { CrdFormCustomDescriptionDirective, parseArrayPath, SCHEMA_PATH, createCapabilityField, normalizePath, pathToArray, getCustomDescription, getOperandPath, getPathFromTagPath, getFieldsByPath, fieldShouldReveal, getDefaultValue, } from '../utils';
11
+ import { parseArrayPath, SCHEMA_PATH, createCapabilityField, normalizePath, pathToArray, getOperandPath, getPathFromTagPath, getFieldsByPath, fieldShouldReveal, getDefaultValue, } from '../utils';
12
12
  import { differPathsTag, getAllOtherTagPath, matchValueAgainstOneOf, } from './helper';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "../remote-widgets";
@@ -17,8 +17,7 @@ function CrdFormComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
17
17
  const _r1 = i0.ɵɵgetCurrentView();
18
18
  i0.ɵɵelementContainerStart(0);
19
19
  i0.ɵɵelementStart(1, "acl-operand-field", 4);
20
- i0.ɵɵpipe(2, "pure");
21
- i0.ɵɵpipe(3, "async");
20
+ i0.ɵɵpipe(2, "async");
22
21
  i0.ɵɵlistener("valueChange", function CrdFormComponent_ng_container_2_Template_acl_operand_field_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.fieldValueChange($event)); });
23
22
  i0.ɵɵelementEnd();
24
23
  i0.ɵɵelementContainerEnd();
@@ -26,7 +25,7 @@ function CrdFormComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
26
25
  const field_r3 = ctx.$implicit;
27
26
  const ctx_r1 = i0.ɵɵnextContext();
28
27
  i0.ɵɵadvance();
29
- i0.ɵɵproperty("fields", ctx_r1.fields)("field", field_r3)("formDataState", ctx_r1.formDataState)("readonly", ctx_r1.readonly)("customDescription", i0.ɵɵpipeBind3(2, 6, ctx_r1.customDescriptions, ctx_r1.getCustomDescription, field_r3))("remoteModuleDefinition", i0.ɵɵpipeBind1(3, 10, ctx_r1.remoteModuleDefinition$));
28
+ i0.ɵɵproperty("fields", ctx_r1.fields)("field", field_r3)("formDataState", ctx_r1.formDataState)("readonly", ctx_r1.readonly)("remoteModuleDefinition", i0.ɵɵpipeBind1(2, 5, ctx_r1.remoteModuleDefinition$));
30
29
  } }
31
30
  function CrdFormComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
32
31
  const _r4 = i0.ɵɵgetCurrentView();
@@ -39,7 +38,7 @@ function CrdFormComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
39
38
  const group_r5 = ctx.$implicit;
40
39
  const ctx_r1 = i0.ɵɵnextContext();
41
40
  i0.ɵɵadvance();
42
- i0.ɵɵproperty("fields", ctx_r1.fields)("fieldGroup", group_r5)("formDataState", ctx_r1.formDataState)("formErrors", ctx_r1.formErrors)("readonly", ctx_r1.readonly)("customDescriptions", ctx_r1.customDescriptions);
41
+ i0.ɵɵproperty("fields", ctx_r1.fields)("fieldGroup", group_r5)("formDataState", ctx_r1.formDataState)("formErrors", ctx_r1.formErrors)("readonly", ctx_r1.readonly);
43
42
  } }
44
43
  function CrdFormComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
45
44
  const _r6 = i0.ɵɵgetCurrentView();
@@ -80,7 +79,6 @@ export class CrdFormComponent {
80
79
  // 该 controlMap 以及所有 field 里的 control 实例,都是为了数据追踪与错误同步(control.error -> crdForm error),本身不影响提交,由 crd-form 的 error 去阻塞提交。
81
80
  this.controlMap = new Map();
82
81
  this.remoteModuleDefinition$ = this.rws.remoteModule$;
83
- this.getCustomDescription = getCustomDescription;
84
82
  // 被隐藏起来的表单的路径集合
85
83
  this.dirtyPathsSet = new Set();
86
84
  }
@@ -256,19 +254,14 @@ export class CrdFormComponent {
256
254
  this.form.onSubmit(null);
257
255
  }
258
256
  static { this.ɵfac = function CrdFormComponent_Factory(t) { return new (t || CrdFormComponent)(i0.ɵɵdirectiveInject(i1.RemoteWidgetsService)); }; }
259
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CrdFormComponent, selectors: [["acl-crd-form"]], contentQueries: function CrdFormComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
260
- i0.ɵɵcontentQuery(dirIndex, CrdFormCustomDescriptionDirective, 4);
261
- } if (rf & 2) {
262
- let _t;
263
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customDescriptions = _t);
264
- } }, viewQuery: function CrdFormComponent_Query(rf, ctx) { if (rf & 1) {
257
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CrdFormComponent, selectors: [["acl-crd-form"]], viewQuery: function CrdFormComponent_Query(rf, ctx) { if (rf & 1) {
265
258
  i0.ɵɵviewQuery(_c0, 7);
266
259
  } if (rf & 2) {
267
260
  let _t;
268
261
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.form = _t.first);
269
- } }, inputs: { openApiSchema: "openApiSchema", descriptors: "descriptors", data: "data", debug: "debug", openApiSchemaPath: "openApiSchemaPath", readonly: "readonly", labelWidth: "labelWidth", labelPosition: "labelPosition", cluster: "cluster", namespace: "namespace", formContext: "formContext", keepEmptyPath: "keepEmptyPath", effectControlDefaultValue: "effectControlDefaultValue", uiContext: "uiContext", widgets: "widgets" }, outputs: { formStateChange: "formStateChange", formSchemaChange: "formSchemaChange" }, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 7, consts: [["form", "ngForm"], ["auiForm", "", 3, "aclScrollToFirstInvalid", "auiFormLabelPosition", "auiFormLabelWidth"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [3, "valueChange", "fields", "field", "formDataState", "readonly", "customDescription", "remoteModuleDefinition"], [3, "valueChange", "fields", "fieldGroup", "formDataState", "formErrors", "readonly", "customDescriptions"], [3, "valueChange", "itemRemove", "arrayFieldGroup", "formDataState", "readonly"], [3, "valueChange", "fields", "fieldList", "formDataState", "readonly"]], template: function CrdFormComponent_Template(rf, ctx) { if (rf & 1) {
262
+ } }, inputs: { openApiSchema: "openApiSchema", descriptors: "descriptors", data: "data", debug: "debug", openApiSchemaPath: "openApiSchemaPath", readonly: "readonly", labelWidth: "labelWidth", labelPosition: "labelPosition", cluster: "cluster", namespace: "namespace", formContext: "formContext", keepEmptyPath: "keepEmptyPath", effectControlDefaultValue: "effectControlDefaultValue", uiContext: "uiContext", widgets: "widgets" }, outputs: { formStateChange: "formStateChange", formSchemaChange: "formSchemaChange" }, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 7, consts: [["form", "ngForm"], ["auiForm", "", 3, "aclScrollToFirstInvalid", "auiFormLabelPosition", "auiFormLabelWidth"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [3, "valueChange", "fields", "field", "formDataState", "readonly", "remoteModuleDefinition"], [3, "valueChange", "fields", "fieldGroup", "formDataState", "formErrors", "readonly"], [3, "valueChange", "itemRemove", "arrayFieldGroup", "formDataState", "readonly"], [3, "valueChange", "fields", "fieldList", "formDataState", "readonly"]], template: function CrdFormComponent_Template(rf, ctx) { if (rf & 1) {
270
263
  i0.ɵɵelementStart(0, "form", 1, 0);
271
- i0.ɵɵtemplate(2, CrdFormComponent_ng_container_2_Template, 4, 12, "ng-container", 2)(3, CrdFormComponent_ng_container_3_Template, 2, 6, "ng-container", 2)(4, CrdFormComponent_ng_container_4_Template, 2, 3, "ng-container", 2)(5, CrdFormComponent_ng_container_5_Template, 2, 4, "ng-container", 3);
264
+ i0.ɵɵtemplate(2, CrdFormComponent_ng_container_2_Template, 3, 7, "ng-container", 2)(3, CrdFormComponent_ng_container_3_Template, 2, 5, "ng-container", 2)(4, CrdFormComponent_ng_container_4_Template, 2, 3, "ng-container", 2)(5, CrdFormComponent_ng_container_5_Template, 2, 4, "ng-container", 3);
272
265
  i0.ɵɵelementEnd();
273
266
  } if (rf & 2) {
274
267
  i0.ɵɵproperty("aclScrollToFirstInvalid", !!ctx.formErrors)("auiFormLabelPosition", ctx.labelPosition)("auiFormLabelWidth", ctx.labelWidth);
@@ -288,7 +281,7 @@ __decorate([
288
281
  ], CrdFormComponent.prototype, "formContext$", void 0);
289
282
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CrdFormComponent, [{
290
283
  type: Component,
291
- args: [{ selector: 'acl-crd-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n auiForm\n [aclScrollToFirstInvalid]=\"!!formErrors\"\n #form=\"ngForm\"\n [auiFormLabelPosition]=\"labelPosition\"\n [auiFormLabelWidth]=\"labelWidth\"\n>\n <!-- normal fields -->\n <ng-container *ngFor=\"let field of normalFields\">\n <acl-operand-field\n [fields]=\"fields\"\n [field]=\"field\"\n [formDataState]=\"formDataState\"\n [readonly]=\"readonly\"\n [customDescription]=\"\n customDescriptions | pure: getCustomDescription:field\n \"\n (valueChange)=\"fieldValueChange($event)\"\n [remoteModuleDefinition]=\"remoteModuleDefinition$ | async\"\n >\n </acl-operand-field>\n </ng-container>\n\n <!-- field groups \u517C\u5BB9\uFF0C\u9700\u8981\u4FDD\u7559-->\n <ng-container *ngFor=\"let group of fieldGroups\">\n <acl-operand-field-group\n [fields]=\"fields\"\n [fieldGroup]=\"group\"\n [formDataState]=\"formDataState\"\n [formErrors]=\"formErrors\"\n [readonly]=\"readonly\"\n (valueChange)=\"fieldValueChange($event)\"\n [customDescriptions]=\"customDescriptions\"\n >\n </acl-operand-field-group>\n </ng-container>\n\n <!-- array field groups \u517C\u5BB9\uFF0C\u9700\u8981\u4FDD\u7559 -->\n <ng-container *ngFor=\"let group of arrayFieldGroups\">\n <acl-operand-array-field-group\n [arrayFieldGroup]=\"group\"\n [formDataState]=\"formDataState\"\n [readonly]=\"readonly\"\n (valueChange)=\"fieldValueChange($event)\"\n (itemRemove)=\"deleteFormData($event)\"\n >\n </acl-operand-array-field-group>\n </ng-container>\n\n <!-- advanced fields -->\n <ng-container *ngIf=\"advancedFields?.length\">\n <acl-operand-advanced-field-group\n [fields]=\"fields\"\n [fieldList]=\"advancedFields\"\n [formDataState]=\"formDataState\"\n [readonly]=\"readonly\"\n (valueChange)=\"fieldValueChange($event)\"\n ></acl-operand-advanced-field-group>\n </ng-container>\n</form>\n", styles: [":host{width:100%}\n"] }]
284
+ args: [{ selector: 'acl-crd-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n auiForm\n [aclScrollToFirstInvalid]=\"!!formErrors\"\n #form=\"ngForm\"\n [auiFormLabelPosition]=\"labelPosition\"\n [auiFormLabelWidth]=\"labelWidth\"\n>\n <!-- normal fields -->\n <ng-container *ngFor=\"let field of normalFields\">\n <acl-operand-field\n [fields]=\"fields\"\n [field]=\"field\"\n [formDataState]=\"formDataState\"\n [readonly]=\"readonly\"\n (valueChange)=\"fieldValueChange($event)\"\n [remoteModuleDefinition]=\"remoteModuleDefinition$ | async\"\n >\n </acl-operand-field>\n </ng-container>\n\n <!-- field groups \u517C\u5BB9\uFF0C\u9700\u8981\u4FDD\u7559-->\n <ng-container *ngFor=\"let group of fieldGroups\">\n <acl-operand-field-group\n [fields]=\"fields\"\n [fieldGroup]=\"group\"\n [formDataState]=\"formDataState\"\n [formErrors]=\"formErrors\"\n [readonly]=\"readonly\"\n (valueChange)=\"fieldValueChange($event)\"\n >\n </acl-operand-field-group>\n </ng-container>\n\n <!-- array field groups \u517C\u5BB9\uFF0C\u9700\u8981\u4FDD\u7559 -->\n <ng-container *ngFor=\"let group of arrayFieldGroups\">\n <acl-operand-array-field-group\n [arrayFieldGroup]=\"group\"\n [formDataState]=\"formDataState\"\n [readonly]=\"readonly\"\n (valueChange)=\"fieldValueChange($event)\"\n (itemRemove)=\"deleteFormData($event)\"\n >\n </acl-operand-array-field-group>\n </ng-container>\n\n <!-- advanced fields -->\n <ng-container *ngIf=\"advancedFields?.length\">\n <acl-operand-advanced-field-group\n [fields]=\"fields\"\n [fieldList]=\"advancedFields\"\n [formDataState]=\"formDataState\"\n [readonly]=\"readonly\"\n (valueChange)=\"fieldValueChange($event)\"\n ></acl-operand-advanced-field-group>\n </ng-container>\n</form>\n", styles: [":host{width:100%}\n"] }]
292
285
  }], () => [{ type: i1.RemoteWidgetsService }], { openApiSchema: [{
293
286
  type: Input
294
287
  }], descriptors: [{
@@ -324,11 +317,8 @@ __decorate([
324
317
  }], form: [{
325
318
  type: ViewChild,
326
319
  args: ['form', { static: true }]
327
- }], customDescriptions: [{
328
- type: ContentChildren,
329
- args: [CrdFormCustomDescriptionDirective]
330
320
  }], widgets: [{
331
321
  type: Input
332
322
  }] }); })();
333
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CrdFormComponent, { className: "CrdFormComponent", filePath: "lib/crd-form/component.ts", lineNumber: 64 }); })();
334
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL2NyZC1mb3JtL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi9jcmQtZm9ybS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBU0wsY0FBYyxHQUNmLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsY0FBYyxFQUNkLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsYUFBYSxFQUNiLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGVBQWUsR0FDaEIsTUFBTSxVQUFVLENBQUM7QUFFbEIs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QXpCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsV0FBVztrQkFBbkIsS0FBSztZQUNhLFlBQVksTUFFdEIsYUFBYTtrQkFBckIsS0FBSztZQUVHLHlCQUF5QjtrQkFBakMsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxlQUFlO2tCQUF4QixNQUFNO1lBRUcsZ0JBQWdCO2tCQUF6QixNQUFNO1lBR1AsSUFBSTtrQkFESCxTQUFTO21CQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFJbkMsa0JBQWtCO2tCQURqQixlQUFlO21CQUFDLGlDQUFpQztZQUlsRCxPQUFPO2tCQUROLEtBQUs7O2tGQWhDSyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBPYnNlcnZhYmxlSW5wdXQsXG4gIE9wZW5BUElWM1NjaGVtYU9iamVjdCxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMaXN0LCBNYXAgYXMgJE1hcCwgZnJvbUpTIH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGZsYXR0ZW5EZWVwLCBmcm9tUGFpcnMsIGlzRW1wdHksIHVuaXEgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSZW1vdGVXaWRnZXRzU2VydmljZSB9IGZyb20gJy4uL3JlbW90ZS13aWRnZXRzJztcbmltcG9ydCB7XG4gIERlc2NyaXB0b3IsXG4gIEZpZWxkVmFsdWVDaGFuZ2VFdmVudCxcbiAgRm9ybURhdGFTdGF0ZSxcbiAgRm9ybUVycm9ycyxcbiAgRm9ybVN0YXRlLFxuICBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwLFxuICBPcGVyYW5kRmllbGQsXG4gIE9wZXJhbmRGaWVsZEdyb3VwLFxuICBTcGVjQ2FwYWJpbGl0eSxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ3JkRm9ybUN1c3RvbURlc2NyaXB0aW9uRGlyZWN0aXZlLFxuICBwYXJzZUFycmF5UGF0aCxcbiAgU0NIRU1BX1BBVEgsXG4gIGNyZWF0ZUNhcGFiaWxpdHlGaWVsZCxcbiAgbm9ybWFsaXplUGF0aCxcbiAgcGF0aFRvQXJyYXksXG4gIGdldEN1c3RvbURlc2NyaXB0aW9uLFxuICBnZXRPcGVyYW5kUGF0aCxcbiAgZ2V0UGF0aEZyb21UYWdQYXRoLFxuICBnZXRGaWVsZHNCeVBhdGgsXG4gIGZpZWxkU2hvdWxkUmV2ZWFsLFxuICBnZXREZWZhdWx0VmFsdWUsXG59IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgZGlmZmVyUGF0aHNUYWcsXG4gIGdldEFsbE90aGVyVGFnUGF0aCxcbiAgbWF0Y2hWYWx1ZUFnYWluc3RPbmVPZixcbn0gZnJvbSAnLi9oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtY3JkLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGVzLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENyZEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBvcGVuQXBpU2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG4gIEBJbnB1dCgpIGRlc2NyaXB0b3JzOiBEZXNjcmlwdG9yW107XG4gIEBJbnB1dCgpIGRhdGE6IHVua25vd247XG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9wZW5BcGlTY2hlbWFQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSA9IFNDSEVNQV9QQVRIO1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBsYWJlbFdpZHRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsUG9zaXRpb246IExhYmVsUG9zaXRpb24gPSBMYWJlbFBvc2l0aW9uLlJpZ2h0O1xuXG4gIEBJbnB1dCgpIGNsdXN0ZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWVzcGFjZT86IHN0cmluZztcblxuICBASW5wdXQoKSBmb3JtQ29udGV4dDogYW55O1xuICBAT2JzZXJ2YWJsZUlucHV0KCkgZm9ybUNvbnRleHQkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgQElucHV0KCkga2VlcEVtcHR5UGF0aDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBlZmZlY3RDb250cm9sRGVmYXVsdFZhbHVlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHVpQ29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgQE91dHB1dCgpIGZvcm1TdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybVN0YXRlPigpO1xuXG4gIEBPdXRwdXQoKSBmb3JtU2NoZW1hQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZm9ybScsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGZvcm06IE5nRm9ybTtcblxuICBAQ29udGVudENoaWxkcmVuKENyZEZvcm1DdXN0b21EZXNjcmlwdGlvbkRpcmVjdGl2ZSlcbiAgY3VzdG9tRGVzY3JpcHRpb25zOiBRdWVyeUxpc3Q8Q3JkRm9ybUN1c3RvbURlc2NyaXB0aW9uRGlyZWN0aXZlPjtcblxuICBASW5wdXQoKVxuICB3aWRnZXRzOiBBcnJheTx7XG4gICAgZGVzY3JpcHRvcjogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+O1xuICB9PjtcblxuICBmb3JtRGF0YVN0YXRlOiBGb3JtRGF0YVN0YXRlO1xuICBmb3JtRXJyb3JzOiBGb3JtRXJyb3JzID0ge307XG5cbiAgZmllbGRzOiBPcGVyYW5kRmllbGRbXTtcbiAgbm9ybWFsRmllbGRzOiBPcGVyYW5kRmllbGRbXTtcbiAgZmllbGRHcm91cHM6IE9wZXJhbmRGaWVsZEdyb3VwW107XG4gIGFycmF5RmllbGRHcm91cHM6IE9wZXJhbmRBcnJheUZpZWxkR3JvdXBbXTtcbiAgYWR2YW5jZWRGaWVsZHM6IE9wZXJhbmRGaWVsZFtdO1xuICBwcml2YXRlIF9sYXN0VXBkYXRlRmllbGQ6IE9wZXJhbmRGaWVsZDtcblxuICAvLyDkuIDkuKrlhajlsYDnmoQgY29udHJvbE1hcO+8jOaWueS+v+aOp+WItiBmaWVsZCDkuLvliqjmoKHpqozjgIJcbiAgLy8g6K+lIGNvbnRyb2xNYXAg5Lul5Y+K5omA5pyJIGZpZWxkIOmHjOeahCBjb250cm9sIOWunuS+i++8jOmDveaYr+S4uuS6huaVsOaNrui/vei4quS4jumUmeivr+WQjOatpe+8iGNvbnRyb2wuZXJyb3IgLT4gY3JkRm9ybSBlcnJvcu+8ie+8jOacrOi6q+S4jeW9seWTjeaPkOS6pO+8jOeUsSBjcmQtZm9ybSDnmoQgZXJyb3Ig5Y676Zi75aGe5o+Q5Lqk44CCXG4gIGNvbnRyb2xNYXAgPSBuZXcgTWFwPHN0cmluZywgQWJzdHJhY3RDb250cm9sPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcndzOiBSZW1vdGVXaWRnZXRzU2VydmljZSkge31cblxuICByZW1vdGVNb2R1bGVEZWZpbml0aW9uJCA9IHRoaXMucndzLnJlbW90ZU1vZHVsZSQ7XG5cbiAgbmdPbkNoYW5nZXMoeyBvcGVuQXBpU2NoZW1hLCBkZXNjcmlwdG9ycywgZGF0YSB9OiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKG9wZW5BcGlTY2hlbWE/LmN1cnJlbnRWYWx1ZSB8fCBkZXNjcmlwdG9ycz8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnNldFVwRm9ybSgpO1xuICAgIH0gZWxzZSBpZiAoZGF0YT8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmZvcm1EYXRhU3RhdGUgPSBmcm9tSlMoZGF0YS5jdXJyZW50VmFsdWUpIGFzIEZvcm1EYXRhU3RhdGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q3VzdG9tRGVzY3JpcHRpb24gPSBnZXRDdXN0b21EZXNjcmlwdGlvbjtcblxuICBwcml2YXRlIHNldFVwRm9ybSgpIHtcbiAgICB0aGlzLmZvcm1EYXRhU3RhdGUgPSBmcm9tSlModGhpcy5kYXRhIHx8IHt9KSBhcyBGb3JtRGF0YVN0YXRlO1xuXG4gICAgY29uc3Qge1xuICAgICAgbm9ybWFsRmllbGRzLFxuICAgICAgZmllbGRHcm91cHMsXG4gICAgICBhcnJheUZpZWxkR3JvdXBzLFxuICAgICAgYWR2YW5jZWRGaWVsZHMsXG4gICAgICBkZXNjcmlwdG9yRmllbGRzLFxuICAgICAgb3BlbkFwaUZpZWxkcyxcbiAgICAgIGJhc2ljRmllbGRzLFxuICAgIH0gPSBjcmVhdGVDYXBhYmlsaXR5RmllbGQoXG4gICAgICB0aGlzLmRlc2NyaXB0b3JzIHx8IFtdLFxuICAgICAgdGhpcy5vcGVuQXBpU2NoZW1hIHx8ICh7fSBhcyBPcGVuQVBJVjNTY2hlbWFPYmplY3QpLFxuICAgICAgdGhpcy5kYXRhLFxuICAgICAgdGhpcy5vcGVuQXBpU2NoZW1hUGF0aCxcbiAgICApO1xuXG4gICAgdGhpcy5maWVsZHMgPSBiYXNpY0ZpZWxkcy5maWx0ZXIoZmllbGRTaG91bGRSZXZlYWwpO1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSAgbm8tY29uc29sZSAqL1xuICAgICAgY29uc29sZS5pbmZvKCdvcGVuQXBpRmllbGRzOicsIG9wZW5BcGlGaWVsZHMpO1xuICAgICAgY29uc29sZS5pbmZvKCdkZXNjcmlwdG9yRmllbGRzOicsIGRlc2NyaXB0b3JGaWVsZHMpO1xuICAgICAgY29uc29sZS5pbmZvKCdiYXNpY0ZpZWxkczonLCBiYXNpY0ZpZWxkcyk7XG5cbiAgICAgIGNvbnNvbGUuaW5mbygnbm9ybWFsRmllbGRzJywgbm9ybWFsRmllbGRzKTtcblxuICAgICAgY29uc29sZS5pbmZvKCdmaWVsZEdyb3VwczonLCBmaWVsZEdyb3Vwcyk7XG4gICAgICBjb25zb2xlLmluZm8oJ2FycmF5RmllbGRHcm91cHM6JywgYXJyYXlGaWVsZEdyb3Vwcyk7XG4gICAgICBjb25zb2xlLmluZm8oJ2FkdmFuY2VkRmllbGRzOicsIGFkdmFuY2VkRmllbGRzKTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tY29uc29sZSAqL1xuICAgIH1cblxuICAgIHRoaXMubm9ybWFsRmllbGRzID0gbm9ybWFsRmllbGRzO1xuICAgIHRoaXMuZmllbGRHcm91cHMgPSBmaWVsZEdyb3VwcztcbiAgICB0aGlzLmFycmF5RmllbGRHcm91cHMgPSBhcnJheUZpZWxkR3JvdXBzO1xuICAgIHRoaXMuYWR2YW5jZWRGaWVsZHMgPSBhZHZhbmNlZEZpZWxkcztcblxuICAgIHRoaXMuZm9ybVNjaGVtYUNoYW5nZS5lbWl0KHtcbiAgICAgIG9wZW5BcGlGaWVsZHMsXG4gICAgICBkZXNjcmlwdG9yRmllbGRzLFxuICAgIH0pO1xuICB9XG5cbiAgLy8g6KKr6ZqQ6JeP6LW35p2l55qE6KGo5Y2V55qE6Lev5b6E6ZuG5ZCIXG4gIGRpcnR5UGF0aHNTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBmaWVsZFZhbHVlQ2hhbmdlKGV2ZW50OiBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQpIHtcbiAgICBsZXQgb25jZURpcnR5UGF0aHNTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIC8vIFRPRE86IOW+hXJldmlld+ehruiupOWQjuenu+mZpOivpeW8gOWFs1xuICAgIGlmICgodGhpcy5mb3JtQ29udGV4dD8uZ2F0ZXMgYXMgc3RyaW5nW10pPy5pbmNsdWRlcygnb25jZURpcnR5UGF0aHNTZXQnKSkge1xuICAgICAgY29uc3Qgb3BlcmFuZFBhdGggPSBnZXRPcGVyYW5kUGF0aChldmVudC5maWVsZCk7XG4gICAgICAvLyDlpoLmnpzooajljZXooqvpmpDol4/kuJTov5nmrKFjaGFuZ2XmmK/lm6DkuLrnm7TmjqXmlLnlj5jkuobljIXlkKvor6Xot6/lvoTnmoTniLbot6/lvoTnmoTlgLzvvIjkvovlpoLnvJbovpF5YW1s77yJXG4gICAgICAvLyDpgqPlsLHpmLvmraLmraTlrZDot6/lvoTlgLznmoRjaGFuZ2XpgLvovpFcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5kaXJ0eVBhdGhzU2V0LmhhcyhvcGVyYW5kUGF0aCkgJiZcbiAgICAgICAgdGhpcy5fbGFzdFVwZGF0ZUZpZWxkPy5wYXRoICYmXG4gICAgICAgIG9wZXJhbmRQYXRoLnN0YXJ0c1dpdGgoYCR7dGhpcy5fbGFzdFVwZGF0ZUZpZWxkLnBhdGh9LmApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvbmNlRGlydHlQYXRoc1NldCA9IHRoaXMuZGlydHlQYXRoc1NldDtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudERhdGEgPSBldmVudC5kYXRhO1xuICAgIGlmIChcbiAgICAgIGV2ZW50LmZpZWxkLmNhcGFiaWxpdGllcy5zb21lKGMgPT4gYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5Lm9uZU9mKSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHsgZGlydHlQYXRocywgdmFsaWRQYXRocyB9ID0gdGhpcy5yZXNvbHZlRXhwaXJlZFBhdGgoXG4gICAgICAgIGV2ZW50LmZpZWxkLFxuICAgICAgICBldmVudERhdGEsXG4gICAgICApO1xuXG4gICAgICBkaXJ0eVBhdGhzLmZvckVhY2gocGF0aCA9PiB7XG4gICAgICAgIHRoaXMuZGlydHlQYXRoc1NldC5hZGQobm9ybWFsaXplUGF0aChwYXRoKSk7XG4gICAgICAgIG9uY2VEaXJ0eVBhdGhzU2V0LmFkZChub3JtYWxpemVQYXRoKHBhdGgpKTtcbiAgICAgIH0pO1xuXG4gICAgICB2YWxpZFBhdGhzLmZvckVhY2gocGF0aCA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsaWRQYXRoVmFsdWUocGF0aCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgYWxsT3RoZXJQYXRocyA9IGdldEFsbE90aGVyVGFnUGF0aChcbiAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgQXJyYXkuZnJvbShvbmNlRGlydHlQYXRoc1NldCksXG4gICAgKTtcbiAgICBjb25zdCByZW1vdmVkUGF0aHMgPSB1bmlxKFxuICAgICAgLy8g5ZCM5LiAIHBhdGgg5Y+v6IO95pyJ5aSa5LiqIHRhZ++8jOWBh+iuvuafkOS4qiB0YWdnZWQgcGF0aCDmnInmlYjvvIzliJnlhbblr7nlupQgcGF0aCDmlbDmja7kuI3lupTor6XliKDpmaRcbiAgICAgIGRpZmZlclBhdGhzVGFnKEFycmF5LmZyb20ob25jZURpcnR5UGF0aHNTZXQpLCBhbGxPdGhlclBhdGhzKS5tYXAocGF0aCA9PlxuICAgICAgICBnZXRQYXRoRnJvbVRhZ1BhdGgocGF0aCksXG4gICAgICApLFxuICAgICkuZmlsdGVyKFxuICAgICAgLy8g5Y+q5riF56m65Y+25a2Q57uT54K577yM5Lul6YCC6YWNIHlhbWwg5oOF5Ya1XG4gICAgICBwYXRoID0+XG4gICAgICAgICF0aGlzLmZpZWxkcy5zb21lKGZpZWxkID0+IHtcbiAgICAgICAgICBjb25zdCBpc1BhcmVudFBhdGggPSBmaWVsZC5wYXRoLnN0YXJ0c1dpdGgoYCR7cGF0aH0uYCk7XG4gICAgICAgICAgaWYgKGlzUGFyZW50UGF0aCkge1xuICAgICAgICAgICAgLy8g6K+lIGZpZWxkIOS6puS4uiBkaXJ0ee+8jOS4jeS7peS4uuS+neaNrlxuICAgICAgICAgICAgcmV0dXJuICFvbmNlRGlydHlQYXRoc1NldC5oYXMoZmllbGQucGF0aCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSksXG4gICAgKTtcbiAgICBpZiAoZXZlbnREYXRhID09IG51bGwgJiYgIXRoaXMua2VlcEVtcHR5UGF0aCkge1xuICAgICAgaWYgKCFvbmNlRGlydHlQYXRoc1NldC5oYXMoZ2V0T3BlcmFuZFBhdGgoZXZlbnQuZmllbGQpKSkge1xuICAgICAgICB0aGlzLmRlbGV0ZUZvcm1EYXRhKGV2ZW50LmZpZWxkLnBhdGgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1EYXRhKGV2ZW50LmZpZWxkLCBldmVudERhdGEpO1xuICAgIH1cblxuICAgIHJlbW92ZWRQYXRocy5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgdGhpcy5kZWxldGVGb3JtRGF0YShwYXRoKTtcbiAgICB9KTtcbiAgICB0aGlzLnJlZnJlc2hWYWxpZGF0aW9uKCk7XG4gICAgdGhpcy5mb3JtU3RhdGVDaGFuZ2UuZW1pdCh7XG4gICAgICBkYXRhOiB0aGlzLmZvcm1EYXRhU3RhdGUudG9KUygpLFxuICAgICAgZXJyb3JzOiB0aGlzLmZvcm1FcnJvcnMsXG4gICAgfSk7XG4gIH1cblxuICBkZWxldGVGb3JtRGF0YShwYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZvcm1EYXRhU3RhdGUgPSB0aGlzLmZvcm1EYXRhU3RhdGUuZGVsZXRlSW4ocGF0aFRvQXJyYXkocGF0aCkpO1xuICAgIHRoaXMuY29udHJvbE1hcC5nZXQocGF0aCk/LnNldFZhbHVlKG51bGwpO1xuXG4gICAgdGhpcy5mb3JtU3RhdGVDaGFuZ2UuZW1pdCh7XG4gICAgICBkYXRhOiB0aGlzLmZvcm1EYXRhU3RhdGUudG9KUygpLFxuICAgICAgZXJyb3JzOiB0aGlzLmZvcm1FcnJvcnMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVZhbGlkUGF0aFZhbHVlKHBhdGg6IHN0cmluZykge1xuICAgIC8vIOWmguaenOacieaViOi3r+W+hOaYr+S4iuS4gOasoeeahOaXoOaViOi3r+W+hO+8jOWImeaEj+WRs+edgOivpei3r+W+hOeahOWAvOWcqOS4iuasoeiiq+mHjee9ruS6hu+8jOaJgOS7peW9k+ivpei3r+W+hOWPiOmcgOimgeaYvuekuue7meeUqOaIt+aXtuW6lOivpeS9v+eUqOm7mOiupOWAvFxuICAgIGNvbnN0IHVzZURlZmF1bHQgPSB0aGlzLmRpcnR5UGF0aHNTZXQuaGFzKG5vcm1hbGl6ZVBhdGgocGF0aCkpO1xuICAgIHRoaXMuZGlydHlQYXRoc1NldC5kZWxldGUobm9ybWFsaXplUGF0aChwYXRoKSk7XG4gICAgLy8g5aaC5p6c5a+55LiA57uE6KGo5Y2V6YO95pyJ5L6d6LWW77yM6YKj6Lev5b6E5Y+v6IO95piv6L+Z57uE6KGo5Y2V55qE54i26Lev5b6E77yM5omA5Lul6ZyA6KaB5oqK5omA5pyJ5a2Q5a2Z6YO95om+5Ye65p2lXG4gICAgY29uc3QgZmllbGRzID0gZ2V0RmllbGRzQnlQYXRoKHBhdGgsIFtcbiAgICAgIC4uLnRoaXMubm9ybWFsRmllbGRzLFxuICAgICAgLi4uZmxhdHRlbkRlZXAodGhpcy5maWVsZEdyb3Vwcy5tYXAoZ3JvdXAgPT4gZ3JvdXAuZmllbGRMaXN0KSksXG4gICAgICAuLi5mbGF0dGVuRGVlcChcbiAgICAgICAgdGhpcy5hcnJheUZpZWxkR3JvdXBzLm1hcChhcnJheUdyb3VwID0+IGFycmF5R3JvdXAuZmllbGRMaXN0cyksXG4gICAgICApLFxuICAgICAgLi4udGhpcy5hZHZhbmNlZEZpZWxkcyxcbiAgICBdKTtcbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAvLyDnkIborrrkuIogb25lb2Yg5Y+q5b2x5ZON6KeG5Zu+77yM5L2G5a6e6ZmF6L+Y5Lya5b2x5ZONIGZvcm1EYXRhU3RhdGXvvIzmiYDku6XpnIDopoHlkIzmraXmm7TmlrAgZm9ybURhdGFTdGF0ZVxuICAgICAgbGV0IHZhbHVlID0gdGhpcy5jb250cm9sTWFwLmdldChnZXRPcGVyYW5kUGF0aChmaWVsZCkpLnZhbHVlO1xuICAgICAgaWYgKCF2YWx1ZSAmJiB1c2VEZWZhdWx0KSB7XG4gICAgICAgIHZhbHVlID0gZ2V0RGVmYXVsdFZhbHVlKGZpZWxkKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlRm9ybURhdGEoZmllbGQsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRm9ybURhdGEoZmllbGQ6IE9wZXJhbmRGaWVsZCwgZGF0YTogdW5rbm93bikge1xuICAgIGlmICghZmllbGQpIHJldHVybjtcbiAgICBjb25zdCB7IG1hdGNoLCBpbmRleCwgcGF0aEJlZm9yZUluZGV4LCBwYXRoQWZ0ZXJJbmRleCB9ID0gcGFyc2VBcnJheVBhdGgoXG4gICAgICBmaWVsZC5wYXRoLFxuICAgICk7XG4gICAgaWYgKG1hdGNoICYmIGluZGV4ID09PSAwKSB7XG4gICAgICB0aGlzLmZvcm1EYXRhU3RhdGUgPSB0aGlzLmluaXRpYWxpemVGb3JtRGF0YUFycmF5UHJvcGVydHkoXG4gICAgICAgIHRoaXMuZm9ybURhdGFTdGF0ZSxcbiAgICAgICAgcGF0aEJlZm9yZUluZGV4LFxuICAgICAgICBwYXRoQWZ0ZXJJbmRleCxcbiAgICAgICAgZGF0YSxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuZm9ybURhdGFTdGF0ZSA9IHRoaXMuZm9ybURhdGFTdGF0ZS5zZXRJbihcbiAgICAgIHBhdGhUb0FycmF5KGZpZWxkLnBhdGgpLFxuICAgICAgZGF0YSxcbiAgICApO1xuICAgIHRoaXMuX2xhc3RVcGRhdGVGaWVsZCA9IGZpZWxkO1xuICB9XG5cbiAgcmVmcmVzaFZhbGlkYXRpb24oKSB7XG4gICAgY29uc3QgZXJyb3JzID0gQXJyYXkuZnJvbSh0aGlzLmNvbnRyb2xNYXApLnJlZHVjZShcbiAgICAgIChhY2MsIFtwYXRoV2l0aFRhZywgY29udHJvbF0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlydHlQYXRoc1NldC5oYXMocGF0aFdpdGhUYWcpKSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXRoID0gZ2V0UGF0aEZyb21UYWdQYXRoKHBhdGhXaXRoVGFnKTtcbiAgICAgICAgYWNjW3BhdGhdID0gaXNFbXB0eShjb250cm9sLmVycm9ycykgPyBudWxsIDogY29udHJvbC5lcnJvcnM7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge30gYXMgRGljdGlvbmFyeTxGb3JtRXJyb3JzPixcbiAgICApO1xuICAgIGNvbnN0IHJlc3VsdCA9IGZyb21QYWlycyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGVycm9ycyA/PyB7fSkuZmlsdGVyKChbX2ssIHZdKSA9PiAhIXYpLFxuICAgICk7XG5cbiAgICB0aGlzLmZvcm1FcnJvcnMgPSBpc0VtcHR5KHJlc3VsdCkgPyBudWxsIDogcmVzdWx0O1xuICB9XG5cbiAgLy8g5b2T5p+Q5LiqIGZpZWxkIOWPkeeUn+aVsOaNruWPmOWMlu+8jOi/lOWbnuWFtuebuOWFsyBvbmVPZiBwYXRoIOaYr+WQpuW6lOivpeenu+mZpFxuICAvLyDku4XlvZPlvZPliY0gZmllbGQg5LitIG9uZU9mIOadoeS7tuS4juW9k+WJjeaVsOaNruS4jeWMuemFje+8jFxuICBwcml2YXRlIHJlc29sdmVFeHBpcmVkUGF0aChmaWVsZDogT3BlcmFuZEZpZWxkLCBjdXJyZW50VmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHsgZGlydHlQYXRocywgdmFsaWRQYXRocyB9ID0gbWF0Y2hWYWx1ZUFnYWluc3RPbmVPZihcbiAgICAgIGZpZWxkLFxuICAgICAgY3VycmVudFZhbHVlLFxuICAgICk7XG4gICAgY29uc3Qgb3RoZXJGaWVsZFN0YXR1cyA9IHRoaXMuZmllbGRzXG4gICAgICAuZmlsdGVyKGkgPT4gZ2V0T3BlcmFuZFBhdGgoaSkgIT09IGdldE9wZXJhbmRQYXRoKGZpZWxkKSlcbiAgICAgIC5tYXAoZmllbGQgPT4gKHtcbiAgICAgICAgcGF0aDogZ2V0T3BlcmFuZFBhdGgoZmllbGQpLFxuICAgICAgICByZXN1bHQ6IG1hdGNoVmFsdWVBZ2FpbnN0T25lT2YoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgdGhpcy5jb250cm9sTWFwLmdldChnZXRPcGVyYW5kUGF0aChmaWVsZCkpPy52YWx1ZSxcbiAgICAgICAgKSxcbiAgICAgIH0pKTtcblxuICAgIGNvbnN0IG5ld0RpcnR5UGF0aHMgPSB2YWxpZFBhdGhzLmZpbHRlcihwYXRoID0+IHtcbiAgICAgIC8vIOW9k+WJjSB2YWxpZCBwYXRoIOWcqOWFtuS7liBmaWVsZCDkuK3kuLogZGlydHnvvIzoi6Xor6UgZmllbGQg5pys6Lqr5Lmf5Li6IGRpcnR5IOWImeW/veeVpeivpeW9seWTje+8jOS7jeeEtuWIpOWumuS4uiB2YWxpZO+8jOWQpuWIme+8iOivpSBmaWVsZCDmnInmlYjvvInorqTlrprkuLogZGlydHlcbiAgICAgIGNvbnN0IGZpZWxkQ2FuZGlkYXRlcyA9IG90aGVyRmllbGRTdGF0dXMuZmlsdGVyKHN0YXR1cyA9PlxuICAgICAgICBzdGF0dXMucmVzdWx0LmRpcnR5UGF0aHMuaW5jbHVkZXMocGF0aCksXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZpZWxkQ2FuZGlkYXRlcy5zb21lKFxuICAgICAgICAoeyBwYXRoIH0pID0+XG4gICAgICAgICAgIW90aGVyRmllbGRTdGF0dXMuc29tZShzdGF0dXMgPT5cbiAgICAgICAgICAgIHN0YXR1cy5yZXN1bHQuZGlydHlQYXRocy5pbmNsdWRlcyhwYXRoKSxcbiAgICAgICAgICApLFxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgZGlydHlQYXRoczogWy4uLmRpcnR5UGF0aHMsIC4uLm5ld0RpcnR5UGF0aHNdLFxuICAgICAgdmFsaWRQYXRoczogdmFsaWRQYXRocy5maWx0ZXIocGF0aCA9PiAhbmV3RGlydHlQYXRocy5pbmNsdWRlcyhwYXRoKSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUZvcm1EYXRhQXJyYXlQcm9wZXJ0eShcbiAgICBzdGF0ZTogRm9ybURhdGFTdGF0ZSxcbiAgICBwYXRoQmVmb3JlSW5kZXg6IHN0cmluZyxcbiAgICBwYXRoQWZ0ZXJJbmRleDogc3RyaW5nLFxuICAgIHZhbHVlOiBhbnksXG4gICkge1xuICAgIGlmIChzdGF0ZS5nZXRJbihbLi4ucGF0aFRvQXJyYXkocGF0aEJlZm9yZUluZGV4KSwgMF0pKSB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGNvbnN0IGl0ZW0gPSAkTWFwKHt9KS5zZXRJbihwYXRoVG9BcnJheShwYXRoQWZ0ZXJJbmRleCksIHZhbHVlKTtcbiAgICBjb25zdCBsaXN0ID0gTGlzdChbaXRlbV0pO1xuICAgIHJldHVybiBzdGF0ZS5zZXRJbihwYXRoVG9BcnJheShwYXRoQmVmb3JlSW5kZXgpLCBsaXN0KTtcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICB0aGlzLnJlZnJlc2hWYWxpZGF0aW9uKCk7XG4gICAgdGhpcy5mb3JtLm9uU3VibWl0KG51bGwpO1xuICB9XG59XG4iLCI8Zm9ybVxuICBhdWlGb3JtXG4gIFthY2xTY3JvbGxUb0ZpcnN0SW52YWxpZF09XCIhIWZvcm1FcnJvcnNcIlxuICAjZm9ybT1cIm5nRm9ybVwiXG4gIFthdWlGb3JtTGFiZWxQb3NpdGlvbl09XCJsYWJlbFBvc2l0aW9uXCJcbiAgW2F1aUZvcm1MYWJlbFdpZHRoXT1cImxhYmVsV2lkdGhcIlxuPlxuICA8IS0tIG5vcm1hbCBmaWVsZHMgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIG5vcm1hbEZpZWxkc1wiPlxuICAgIDxhY2wtb3BlcmFuZC1maWVsZFxuICAgICAgW2ZpZWxkc109XCJmaWVsZHNcIlxuICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgIFtmb3JtRGF0YVN0YXRlXT1cImZvcm1EYXRhU3RhdGVcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtjdXN0b21EZXNjcmlwdGlvbl09XCJcbiAgICAgICAgY3VzdG9tRGVzY3JpcHRpb25zIHwgcHVyZTogZ2V0Q3VzdG9tRGVzY3JpcHRpb246ZmllbGRcbiAgICAgIFwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwiZmllbGRWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtyZW1vdGVNb2R1bGVEZWZpbml0aW9uXT1cInJlbW90ZU1vZHVsZURlZmluaXRpb24kIHwgYXN5bmNcIlxuICAgID5cbiAgICA8L2FjbC1vcGVyYW5kLWZpZWxkPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIGZpZWxkIGdyb3VwcyDlhbzlrrnvvIzpnIDopoHkv53nlZktLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZmllbGRHcm91cHNcIj5cbiAgICA8YWNsLW9wZXJhbmQtZmllbGQtZ3JvdXBcbiAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAgIFtmaWVsZEdyb3VwXT1cImdyb3VwXCJcbiAgICAgIFtmb3JtRGF0YVN0YXRlXT1cImZvcm1EYXRhU3RhdGVcIlxuICAgICAgW2Zvcm1FcnJvcnNdPVwiZm9ybUVycm9yc1wiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImZpZWxkVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbY3VzdG9tRGVzY3JpcHRpb25zXT1cImN1c3RvbURlc2NyaXB0aW9uc1wiXG4gICAgPlxuICAgIDwvYWNsLW9wZXJhbmQtZmllbGQtZ3JvdXA+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gYXJyYXkgZmllbGQgZ3JvdXBzIOWFvOWuue+8jOmcgOimgeS/neeVmSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgYXJyYXlGaWVsZEdyb3Vwc1wiPlxuICAgIDxhY2wtb3BlcmFuZC1hcnJheS1maWVsZC1ncm91cFxuICAgICAgW2FycmF5RmllbGRHcm91cF09XCJncm91cFwiXG4gICAgICBbZm9ybURhdGFTdGF0ZV09XCJmb3JtRGF0YVN0YXRlXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwiZmllbGRWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChpdGVtUmVtb3ZlKT1cImRlbGV0ZUZvcm1EYXRhKCRldmVudClcIlxuICAgID5cbiAgICA8L2FjbC1vcGVyYW5kLWFycmF5LWZpZWxkLWdyb3VwPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIGFkdmFuY2VkIGZpZWxkcyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkdmFuY2VkRmllbGRzPy5sZW5ndGhcIj5cbiAgICA8YWNsLW9wZXJhbmQtYWR2YW5jZWQtZmllbGQtZ3JvdXBcbiAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAgIFtmaWVsZExpc3RdPVwiYWR2YW5jZWRGaWVsZHNcIlxuICAgICAgW2Zvcm1EYXRhU3RhdGVdPVwiZm9ybURhdGFTdGF0ZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImZpZWxkVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvYWNsLW9wZXJhbmQtYWR2YW5jZWQtZmllbGQtZ3JvdXA+XG4gIDwvbmctY29udGFpbmVyPlxuPC9mb3JtPlxuIl19
323
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CrdFormComponent, { className: "CrdFormComponent", filePath: "lib/crd-form/component.ts", lineNumber: 60 }); })();
324
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL2NyZC1mb3JtL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi9jcmQtZm9ybS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQVNMLGNBQWMsR0FDZixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsYUFBYSxFQUNiLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsZUFBZSxHQUNoQixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0wsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixzQkFBc0IsR0FDdkIs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LFdBQVc7a0JBQW5CLEtBQUs7WUFDYSxZQUFZLE1BRXRCLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyx5QkFBeUI7a0JBQWpDLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUksZUFBZTtrQkFBeEIsTUFBTTtZQUVHLGdCQUFnQjtrQkFBekIsTUFBTTtZQUdQLElBQUk7a0JBREgsU0FBUzttQkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBSW5DLE9BQU87a0JBRE4sS0FBSzs7a0ZBN0JLLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIERpY3Rpb25hcnksXG4gIE9ic2VydmFibGVJbnB1dCxcbiAgT3BlbkFQSVYzU2NoZW1hT2JqZWN0LFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGlzdCwgTWFwIGFzICRNYXAsIGZyb21KUyB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgeyBmbGF0dGVuRGVlcCwgZnJvbVBhaXJzLCBpc0VtcHR5LCB1bmlxIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVtb3RlV2lkZ2V0c1NlcnZpY2UgfSBmcm9tICcuLi9yZW1vdGUtd2lkZ2V0cyc7XG5pbXBvcnQge1xuICBEZXNjcmlwdG9yLFxuICBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQsXG4gIEZvcm1EYXRhU3RhdGUsXG4gIEZvcm1FcnJvcnMsXG4gIEZvcm1TdGF0ZSxcbiAgT3BlcmFuZEFycmF5RmllbGRHcm91cCxcbiAgT3BlcmFuZEZpZWxkLFxuICBPcGVyYW5kRmllbGRHcm91cCxcbiAgU3BlY0NhcGFiaWxpdHksXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIHBhcnNlQXJyYXlQYXRoLFxuICBTQ0hFTUFfUEFUSCxcbiAgY3JlYXRlQ2FwYWJpbGl0eUZpZWxkLFxuICBub3JtYWxpemVQYXRoLFxuICBwYXRoVG9BcnJheSxcbiAgZ2V0T3BlcmFuZFBhdGgsXG4gIGdldFBhdGhGcm9tVGFnUGF0aCxcbiAgZ2V0RmllbGRzQnlQYXRoLFxuICBmaWVsZFNob3VsZFJldmVhbCxcbiAgZ2V0RGVmYXVsdFZhbHVlLFxufSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIGRpZmZlclBhdGhzVGFnLFxuICBnZXRBbGxPdGhlclRhZ1BhdGgsXG4gIG1hdGNoVmFsdWVBZ2FpbnN0T25lT2YsXG59IGZyb20gJy4vaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWNyZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlcy5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDcmRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgb3BlbkFwaVNjaGVtYTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0O1xuICBASW5wdXQoKSBkZXNjcmlwdG9yczogRGVzY3JpcHRvcltdO1xuICBASW5wdXQoKSBkYXRhOiB1bmtub3duO1xuICBASW5wdXQoKSBkZWJ1ZyA9IGZhbHNlO1xuICBASW5wdXQoKSBvcGVuQXBpU2NoZW1hUGF0aDogc3RyaW5nIHwgc3RyaW5nW10gPSBTQ0hFTUFfUEFUSDtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWxXaWR0aDogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbFBvc2l0aW9uOiBMYWJlbFBvc2l0aW9uID0gTGFiZWxQb3NpdGlvbi5SaWdodDtcblxuICBASW5wdXQoKSBjbHVzdGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZm9ybUNvbnRleHQ6IGFueTtcbiAgQE9ic2VydmFibGVJbnB1dCgpIGZvcm1Db250ZXh0JDogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIEBJbnB1dCgpIGtlZXBFbXB0eVBhdGg6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZWZmZWN0Q29udHJvbERlZmF1bHRWYWx1ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSB1aUNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIEBPdXRwdXQoKSBmb3JtU3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1TdGF0ZT4oKTtcblxuICBAT3V0cHV0KCkgZm9ybVNjaGVtYUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBmb3JtOiBOZ0Zvcm07XG5cbiAgQElucHV0KClcbiAgd2lkZ2V0czogQXJyYXk8e1xuICAgIGRlc2NyaXB0b3I6IHN0cmluZztcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PjtcbiAgfT47XG5cbiAgZm9ybURhdGFTdGF0ZTogRm9ybURhdGFTdGF0ZTtcbiAgZm9ybUVycm9yczogRm9ybUVycm9ycyA9IHt9O1xuXG4gIGZpZWxkczogT3BlcmFuZEZpZWxkW107XG4gIG5vcm1hbEZpZWxkczogT3BlcmFuZEZpZWxkW107XG4gIGZpZWxkR3JvdXBzOiBPcGVyYW5kRmllbGRHcm91cFtdO1xuICBhcnJheUZpZWxkR3JvdXBzOiBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwW107XG4gIGFkdmFuY2VkRmllbGRzOiBPcGVyYW5kRmllbGRbXTtcbiAgcHJpdmF0ZSBfbGFzdFVwZGF0ZUZpZWxkOiBPcGVyYW5kRmllbGQ7XG5cbiAgLy8g5LiA5Liq5YWo5bGA55qEIGNvbnRyb2xNYXDvvIzmlrnkvr/mjqfliLYgZmllbGQg5Li75Yqo5qCh6aqM44CCXG4gIC8vIOivpSBjb250cm9sTWFwIOS7peWPiuaJgOaciSBmaWVsZCDph4znmoQgY29udHJvbCDlrp7kvovvvIzpg73mmK/kuLrkuobmlbDmja7ov73ouKrkuI7plJnor6/lkIzmraXvvIhjb250cm9sLmVycm9yIC0+IGNyZEZvcm0gZXJyb3LvvInvvIzmnKzouqvkuI3lvbHlk43mj5DkuqTvvIznlLEgY3JkLWZvcm0g55qEIGVycm9yIOWOu+mYu+WhnuaPkOS6pOOAglxuICBjb250cm9sTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFic3RyYWN0Q29udHJvbD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJ3czogUmVtb3RlV2lkZ2V0c1NlcnZpY2UpIHt9XG5cbiAgcmVtb3RlTW9kdWxlRGVmaW5pdGlvbiQgPSB0aGlzLnJ3cy5yZW1vdGVNb2R1bGUkO1xuXG4gIG5nT25DaGFuZ2VzKHsgb3BlbkFwaVNjaGVtYSwgZGVzY3JpcHRvcnMsIGRhdGEgfTogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChvcGVuQXBpU2NoZW1hPy5jdXJyZW50VmFsdWUgfHwgZGVzY3JpcHRvcnM/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5zZXRVcEZvcm0oKTtcbiAgICB9IGVsc2UgaWYgKGRhdGE/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtRGF0YVN0YXRlID0gZnJvbUpTKGRhdGEuY3VycmVudFZhbHVlKSBhcyBGb3JtRGF0YVN0YXRlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXBGb3JtKCkge1xuICAgIHRoaXMuZm9ybURhdGFTdGF0ZSA9IGZyb21KUyh0aGlzLmRhdGEgfHwge30pIGFzIEZvcm1EYXRhU3RhdGU7XG5cbiAgICBjb25zdCB7XG4gICAgICBub3JtYWxGaWVsZHMsXG4gICAgICBmaWVsZEdyb3VwcyxcbiAgICAgIGFycmF5RmllbGRHcm91cHMsXG4gICAgICBhZHZhbmNlZEZpZWxkcyxcbiAgICAgIGRlc2NyaXB0b3JGaWVsZHMsXG4gICAgICBvcGVuQXBpRmllbGRzLFxuICAgICAgYmFzaWNGaWVsZHMsXG4gICAgfSA9IGNyZWF0ZUNhcGFiaWxpdHlGaWVsZChcbiAgICAgIHRoaXMuZGVzY3JpcHRvcnMgfHwgW10sXG4gICAgICB0aGlzLm9wZW5BcGlTY2hlbWEgfHwgKHt9IGFzIE9wZW5BUElWM1NjaGVtYU9iamVjdCksXG4gICAgICB0aGlzLmRhdGEsXG4gICAgICB0aGlzLm9wZW5BcGlTY2hlbWFQYXRoLFxuICAgICk7XG5cbiAgICB0aGlzLmZpZWxkcyA9IGJhc2ljRmllbGRzLmZpbHRlcihmaWVsZFNob3VsZFJldmVhbCk7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlICBuby1jb25zb2xlICovXG4gICAgICBjb25zb2xlLmluZm8oJ29wZW5BcGlGaWVsZHM6Jywgb3BlbkFwaUZpZWxkcyk7XG4gICAgICBjb25zb2xlLmluZm8oJ2Rlc2NyaXB0b3JGaWVsZHM6JywgZGVzY3JpcHRvckZpZWxkcyk7XG4gICAgICBjb25zb2xlLmluZm8oJ2Jhc2ljRmllbGRzOicsIGJhc2ljRmllbGRzKTtcblxuICAgICAgY29uc29sZS5pbmZvKCdub3JtYWxGaWVsZHMnLCBub3JtYWxGaWVsZHMpO1xuXG4gICAgICBjb25zb2xlLmluZm8oJ2ZpZWxkR3JvdXBzOicsIGZpZWxkR3JvdXBzKTtcbiAgICAgIGNvbnNvbGUuaW5mbygnYXJyYXlGaWVsZEdyb3VwczonLCBhcnJheUZpZWxkR3JvdXBzKTtcbiAgICAgIGNvbnNvbGUuaW5mbygnYWR2YW5jZWRGaWVsZHM6JywgYWR2YW5jZWRGaWVsZHMpO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1jb25zb2xlICovXG4gICAgfVxuXG4gICAgdGhpcy5ub3JtYWxGaWVsZHMgPSBub3JtYWxGaWVsZHM7XG4gICAgdGhpcy5maWVsZEdyb3VwcyA9IGZpZWxkR3JvdXBzO1xuICAgIHRoaXMuYXJyYXlGaWVsZEdyb3VwcyA9IGFycmF5RmllbGRHcm91cHM7XG4gICAgdGhpcy5hZHZhbmNlZEZpZWxkcyA9IGFkdmFuY2VkRmllbGRzO1xuXG4gICAgdGhpcy5mb3JtU2NoZW1hQ2hhbmdlLmVtaXQoe1xuICAgICAgb3BlbkFwaUZpZWxkcyxcbiAgICAgIGRlc2NyaXB0b3JGaWVsZHMsXG4gICAgfSk7XG4gIH1cblxuICAvLyDooqvpmpDol4/otbfmnaXnmoTooajljZXnmoTot6/lvoTpm4blkIhcbiAgZGlydHlQYXRoc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZpZWxkVmFsdWVDaGFuZ2UoZXZlbnQ6IEZpZWxkVmFsdWVDaGFuZ2VFdmVudCkge1xuICAgIGxldCBvbmNlRGlydHlQYXRoc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgLy8gVE9ETzog5b6FcmV2aWV356Gu6K6k5ZCO56e76Zmk6K+l5byA5YWzXG4gICAgaWYgKCh0aGlzLmZvcm1Db250ZXh0Py5nYXRlcyBhcyBzdHJpbmdbXSk/LmluY2x1ZGVzKCdvbmNlRGlydHlQYXRoc1NldCcpKSB7XG4gICAgICBjb25zdCBvcGVyYW5kUGF0aCA9IGdldE9wZXJhbmRQYXRoKGV2ZW50LmZpZWxkKTtcbiAgICAgIC8vIOWmguaenOihqOWNleiiq+makOiXj+S4lOi/measoWNoYW5nZeaYr+WboOS4uuebtOaOpeaUueWPmOS6huWMheWQq+ivpei3r+W+hOeahOeItui3r+W+hOeahOWAvO+8iOS+i+Wmgue8lui+kXlhbWzvvIlcbiAgICAgIC8vIOmCo+WwsemYu+atouatpOWtkOi3r+W+hOWAvOeahGNoYW5nZemAu+i+kVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmRpcnR5UGF0aHNTZXQuaGFzKG9wZXJhbmRQYXRoKSAmJlxuICAgICAgICB0aGlzLl9sYXN0VXBkYXRlRmllbGQ/LnBhdGggJiZcbiAgICAgICAgb3BlcmFuZFBhdGguc3RhcnRzV2l0aChgJHt0aGlzLl9sYXN0VXBkYXRlRmllbGQucGF0aH0uYClcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uY2VEaXJ0eVBhdGhzU2V0ID0gdGhpcy5kaXJ0eVBhdGhzU2V0O1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50RGF0YSA9IGV2ZW50LmRhdGE7XG4gICAgaWYgKFxuICAgICAgZXZlbnQuZmllbGQuY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkub25lT2YpKVxuICAgICkge1xuICAgICAgY29uc3QgeyBkaXJ0eVBhdGhzLCB2YWxpZFBhdGhzIH0gPSB0aGlzLnJlc29sdmVFeHBpcmVkUGF0aChcbiAgICAgICAgZXZlbnQuZmllbGQsXG4gICAgICAgIGV2ZW50RGF0YSxcbiAgICAgICk7XG5cbiAgICAgIGRpcnR5UGF0aHMuZm9yRWFjaChwYXRoID0+IHtcbiAgICAgICAgdGhpcy5kaXJ0eVBhdGhzU2V0LmFkZChub3JtYWxpemVQYXRoKHBhdGgpKTtcbiAgICAgICAgb25jZURpcnR5UGF0aHNTZXQuYWRkKG5vcm1hbGl6ZVBhdGgocGF0aCkpO1xuICAgICAgfSk7XG5cbiAgICAgIHZhbGlkUGF0aHMuZm9yRWFjaChwYXRoID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWxpZFBhdGhWYWx1ZShwYXRoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBhbGxPdGhlclBhdGhzID0gZ2V0QWxsT3RoZXJUYWdQYXRoKFxuICAgICAgdGhpcy5maWVsZHMsXG4gICAgICBBcnJheS5mcm9tKG9uY2VEaXJ0eVBhdGhzU2V0KSxcbiAgICApO1xuICAgIGNvbnN0IHJlbW92ZWRQYXRocyA9IHVuaXEoXG4gICAgICAvLyDlkIzkuIAgcGF0aCDlj6/og73mnInlpJrkuKogdGFn77yM5YGH6K6+5p+Q5LiqIHRhZ2dlZCBwYXRoIOacieaViO+8jOWImeWFtuWvueW6lCBwYXRoIOaVsOaNruS4jeW6lOivpeWIoOmZpFxuICAgICAgZGlmZmVyUGF0aHNUYWcoQXJyYXkuZnJvbShvbmNlRGlydHlQYXRoc1NldCksIGFsbE90aGVyUGF0aHMpLm1hcChwYXRoID0+XG4gICAgICAgIGdldFBhdGhGcm9tVGFnUGF0aChwYXRoKSxcbiAgICAgICksXG4gICAgKS5maWx0ZXIoXG4gICAgICAvLyDlj6rmuIXnqbrlj7blrZDnu5PngrnvvIzku6XpgILphY0geWFtbCDmg4XlhrVcbiAgICAgIHBhdGggPT5cbiAgICAgICAgIXRoaXMuZmllbGRzLnNvbWUoZmllbGQgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzUGFyZW50UGF0aCA9IGZpZWxkLnBhdGguc3RhcnRzV2l0aChgJHtwYXRofS5gKTtcbiAgICAgICAgICBpZiAoaXNQYXJlbnRQYXRoKSB7XG4gICAgICAgICAgICAvLyDor6UgZmllbGQg5Lqm5Li6IGRpcnR577yM5LiN5Lul5Li65L6d5o2uXG4gICAgICAgICAgICByZXR1cm4gIW9uY2VEaXJ0eVBhdGhzU2V0LmhhcyhmaWVsZC5wYXRoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KSxcbiAgICApO1xuICAgIGlmIChldmVudERhdGEgPT0gbnVsbCAmJiAhdGhpcy5rZWVwRW1wdHlQYXRoKSB7XG4gICAgICBpZiAoIW9uY2VEaXJ0eVBhdGhzU2V0LmhhcyhnZXRPcGVyYW5kUGF0aChldmVudC5maWVsZCkpKSB7XG4gICAgICAgIHRoaXMuZGVsZXRlRm9ybURhdGEoZXZlbnQuZmllbGQucGF0aCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlRm9ybURhdGEoZXZlbnQuZmllbGQsIGV2ZW50RGF0YSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlZFBhdGhzLmZvckVhY2gocGF0aCA9PiB7XG4gICAgICB0aGlzLmRlbGV0ZUZvcm1EYXRhKHBhdGgpO1xuICAgIH0pO1xuICAgIHRoaXMucmVmcmVzaFZhbGlkYXRpb24oKTtcbiAgICB0aGlzLmZvcm1TdGF0ZUNoYW5nZS5lbWl0KHtcbiAgICAgIGRhdGE6IHRoaXMuZm9ybURhdGFTdGF0ZS50b0pTKCksXG4gICAgICBlcnJvcnM6IHRoaXMuZm9ybUVycm9ycyxcbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZUZvcm1EYXRhKHBhdGg6IHN0cmluZykge1xuICAgIHRoaXMuZm9ybURhdGFTdGF0ZSA9IHRoaXMuZm9ybURhdGFTdGF0ZS5kZWxldGVJbihwYXRoVG9BcnJheShwYXRoKSk7XG4gICAgdGhpcy5jb250cm9sTWFwLmdldChwYXRoKT8uc2V0VmFsdWUobnVsbCk7XG5cbiAgICB0aGlzLmZvcm1TdGF0ZUNoYW5nZS5lbWl0KHtcbiAgICAgIGRhdGE6IHRoaXMuZm9ybURhdGFTdGF0ZS50b0pTKCksXG4gICAgICBlcnJvcnM6IHRoaXMuZm9ybUVycm9ycyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmFsaWRQYXRoVmFsdWUocGF0aDogc3RyaW5nKSB7XG4gICAgLy8g5aaC5p6c5pyJ5pWI6Lev5b6E5piv5LiK5LiA5qyh55qE5peg5pWI6Lev5b6E77yM5YiZ5oSP5ZGz552A6K+l6Lev5b6E55qE5YC85Zyo5LiK5qyh6KKr6YeN572u5LqG77yM5omA5Lul5b2T6K+l6Lev5b6E5Y+I6ZyA6KaB5pi+56S657uZ55So5oi35pe25bqU6K+l5L2/55So6buY6K6k5YC8XG4gICAgY29uc3QgdXNlRGVmYXVsdCA9IHRoaXMuZGlydHlQYXRoc1NldC5oYXMobm9ybWFsaXplUGF0aChwYXRoKSk7XG4gICAgdGhpcy5kaXJ0eVBhdGhzU2V0LmRlbGV0ZShub3JtYWxpemVQYXRoKHBhdGgpKTtcbiAgICAvLyDlpoLmnpzlr7nkuIDnu4TooajljZXpg73mnInkvp3otZbvvIzpgqPot6/lvoTlj6/og73mmK/ov5nnu4TooajljZXnmoTniLbot6/lvoTvvIzmiYDku6XpnIDopoHmiormiYDmnInlrZDlrZnpg73mib7lh7rmnaVcbiAgICBjb25zdCBmaWVsZHMgPSBnZXRGaWVsZHNCeVBhdGgocGF0aCwgW1xuICAgICAgLi4udGhpcy5ub3JtYWxGaWVsZHMsXG4gICAgICAuLi5mbGF0dGVuRGVlcCh0aGlzLmZpZWxkR3JvdXBzLm1hcChncm91cCA9PiBncm91cC5maWVsZExpc3QpKSxcbiAgICAgIC4uLmZsYXR0ZW5EZWVwKFxuICAgICAgICB0aGlzLmFycmF5RmllbGRHcm91cHMubWFwKGFycmF5R3JvdXAgPT4gYXJyYXlHcm91cC5maWVsZExpc3RzKSxcbiAgICAgICksXG4gICAgICAuLi50aGlzLmFkdmFuY2VkRmllbGRzLFxuICAgIF0pO1xuICAgIGZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIC8vIOeQhuiuuuS4iiBvbmVvZiDlj6rlvbHlk43op4blm77vvIzkvYblrp7pmYXov5jkvJrlvbHlk40gZm9ybURhdGFTdGF0Ze+8jOaJgOS7pemcgOimgeWQjOatpeabtOaWsCBmb3JtRGF0YVN0YXRlXG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLmNvbnRyb2xNYXAuZ2V0KGdldE9wZXJhbmRQYXRoKGZpZWxkKSkudmFsdWU7XG4gICAgICBpZiAoIXZhbHVlICYmIHVzZURlZmF1bHQpIHtcbiAgICAgICAgdmFsdWUgPSBnZXREZWZhdWx0VmFsdWUoZmllbGQpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVGb3JtRGF0YShmaWVsZCwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtRGF0YShmaWVsZDogT3BlcmFuZEZpZWxkLCBkYXRhOiB1bmtub3duKSB7XG4gICAgaWYgKCFmaWVsZCkgcmV0dXJuO1xuICAgIGNvbnN0IHsgbWF0Y2gsIGluZGV4LCBwYXRoQmVmb3JlSW5kZXgsIHBhdGhBZnRlckluZGV4IH0gPSBwYXJzZUFycmF5UGF0aChcbiAgICAgIGZpZWxkLnBhdGgsXG4gICAgKTtcbiAgICBpZiAobWF0Y2ggJiYgaW5kZXggPT09IDApIHtcbiAgICAgIHRoaXMuZm9ybURhdGFTdGF0ZSA9IHRoaXMuaW5pdGlhbGl6ZUZvcm1EYXRhQXJyYXlQcm9wZXJ0eShcbiAgICAgICAgdGhpcy5mb3JtRGF0YVN0YXRlLFxuICAgICAgICBwYXRoQmVmb3JlSW5kZXgsXG4gICAgICAgIHBhdGhBZnRlckluZGV4LFxuICAgICAgICBkYXRhLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtRGF0YVN0YXRlID0gdGhpcy5mb3JtRGF0YVN0YXRlLnNldEluKFxuICAgICAgcGF0aFRvQXJyYXkoZmllbGQucGF0aCksXG4gICAgICBkYXRhLFxuICAgICk7XG4gICAgdGhpcy5fbGFzdFVwZGF0ZUZpZWxkID0gZmllbGQ7XG4gIH1cblxuICByZWZyZXNoVmFsaWRhdGlvbigpIHtcbiAgICBjb25zdCBlcnJvcnMgPSBBcnJheS5mcm9tKHRoaXMuY29udHJvbE1hcCkucmVkdWNlKFxuICAgICAgKGFjYywgW3BhdGhXaXRoVGFnLCBjb250cm9sXSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kaXJ0eVBhdGhzU2V0LmhhcyhwYXRoV2l0aFRhZykpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoRnJvbVRhZ1BhdGgocGF0aFdpdGhUYWcpO1xuICAgICAgICBhY2NbcGF0aF0gPSBpc0VtcHR5KGNvbnRyb2wuZXJyb3JzKSA/IG51bGwgOiBjb250cm9sLmVycm9ycztcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fSBhcyBEaWN0aW9uYXJ5PEZvcm1FcnJvcnM+LFxuICAgICk7XG4gICAgY29uc3QgcmVzdWx0ID0gZnJvbVBhaXJzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoZXJyb3JzID8/IHt9KS5maWx0ZXIoKFtfaywgdl0pID0+ICEhdiksXG4gICAgKTtcblxuICAgIHRoaXMuZm9ybUVycm9ycyA9IGlzRW1wdHkocmVzdWx0KSA/IG51bGwgOiByZXN1bHQ7XG4gIH1cblxuICAvLyDlvZPmn5DkuKogZmllbGQg5Y+R55Sf5pWw5o2u5Y+Y5YyW77yM6L+U5Zue5YW255u45YWzIG9uZU9mIHBhdGgg5piv5ZCm5bqU6K+l56e76ZmkXG4gIC8vIOS7heW9k+W9k+WJjSBmaWVsZCDkuK0gb25lT2Yg5p2h5Lu25LiO5b2T5YmN5pWw5o2u5LiN5Yy56YWN77yMXG4gIHByaXZhdGUgcmVzb2x2ZUV4cGlyZWRQYXRoKGZpZWxkOiBPcGVyYW5kRmllbGQsIGN1cnJlbnRWYWx1ZTogYW55KSB7XG4gICAgY29uc3QgeyBkaXJ0eVBhdGhzLCB2YWxpZFBhdGhzIH0gPSBtYXRjaFZhbHVlQWdhaW5zdE9uZU9mKFxuICAgICAgZmllbGQsXG4gICAgICBjdXJyZW50VmFsdWUsXG4gICAgKTtcbiAgICBjb25zdCBvdGhlckZpZWxkU3RhdHVzID0gdGhpcy5maWVsZHNcbiAgICAgIC5maWx0ZXIoaSA9PiBnZXRPcGVyYW5kUGF0aChpKSAhPT0gZ2V0T3BlcmFuZFBhdGgoZmllbGQpKVxuICAgICAgLm1hcChmaWVsZCA9PiAoe1xuICAgICAgICBwYXRoOiBnZXRPcGVyYW5kUGF0aChmaWVsZCksXG4gICAgICAgIHJlc3VsdDogbWF0Y2hWYWx1ZUFnYWluc3RPbmVPZihcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICB0aGlzLmNvbnRyb2xNYXAuZ2V0KGdldE9wZXJhbmRQYXRoKGZpZWxkKSk/LnZhbHVlLFxuICAgICAgICApLFxuICAgICAgfSkpO1xuXG4gICAgY29uc3QgbmV3RGlydHlQYXRocyA9IHZhbGlkUGF0aHMuZmlsdGVyKHBhdGggPT4ge1xuICAgICAgLy8g5b2T5YmNIHZhbGlkIHBhdGgg5Zyo5YW25LuWIGZpZWxkIOS4reS4uiBkaXJ0ee+8jOiLpeivpSBmaWVsZCDmnKzouqvkuZ/kuLogZGlydHkg5YiZ5b+955Wl6K+l5b2x5ZON77yM5LuN54S25Yik5a6a5Li6IHZhbGlk77yM5ZCm5YiZ77yI6K+lIGZpZWxkIOacieaViO+8ieiupOWumuS4uiBkaXJ0eVxuICAgICAgY29uc3QgZmllbGRDYW5kaWRhdGVzID0gb3RoZXJGaWVsZFN0YXR1cy5maWx0ZXIoc3RhdHVzID0+XG4gICAgICAgIHN0YXR1cy5yZXN1bHQuZGlydHlQYXRocy5pbmNsdWRlcyhwYXRoKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmllbGRDYW5kaWRhdGVzLnNvbWUoXG4gICAgICAgICh7IHBhdGggfSkgPT5cbiAgICAgICAgICAhb3RoZXJGaWVsZFN0YXR1cy5zb21lKHN0YXR1cyA9PlxuICAgICAgICAgICAgc3RhdHVzLnJlc3VsdC5kaXJ0eVBhdGhzLmluY2x1ZGVzKHBhdGgpLFxuICAgICAgICAgICksXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBkaXJ0eVBhdGhzOiBbLi4uZGlydHlQYXRocywgLi4ubmV3RGlydHlQYXRoc10sXG4gICAgICB2YWxpZFBhdGhzOiB2YWxpZFBhdGhzLmZpbHRlcihwYXRoID0+ICFuZXdEaXJ0eVBhdGhzLmluY2x1ZGVzKHBhdGgpKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRm9ybURhdGFBcnJheVByb3BlcnR5KFxuICAgIHN0YXRlOiBGb3JtRGF0YVN0YXRlLFxuICAgIHBhdGhCZWZvcmVJbmRleDogc3RyaW5nLFxuICAgIHBhdGhBZnRlckluZGV4OiBzdHJpbmcsXG4gICAgdmFsdWU6IGFueSxcbiAgKSB7XG4gICAgaWYgKHN0YXRlLmdldEluKFsuLi5wYXRoVG9BcnJheShwYXRoQmVmb3JlSW5kZXgpLCAwXSkpIHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY29uc3QgaXRlbSA9ICRNYXAoe30pLnNldEluKHBhdGhUb0FycmF5KHBhdGhBZnRlckluZGV4KSwgdmFsdWUpO1xuICAgIGNvbnN0IGxpc3QgPSBMaXN0KFtpdGVtXSk7XG4gICAgcmV0dXJuIHN0YXRlLnNldEluKHBhdGhUb0FycmF5KHBhdGhCZWZvcmVJbmRleCksIGxpc3QpO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMucmVmcmVzaFZhbGlkYXRpb24oKTtcbiAgICB0aGlzLmZvcm0ub25TdWJtaXQobnVsbCk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIGF1aUZvcm1cbiAgW2FjbFNjcm9sbFRvRmlyc3RJbnZhbGlkXT1cIiEhZm9ybUVycm9yc1wiXG4gICNmb3JtPVwibmdGb3JtXCJcbiAgW2F1aUZvcm1MYWJlbFBvc2l0aW9uXT1cImxhYmVsUG9zaXRpb25cIlxuICBbYXVpRm9ybUxhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXG4+XG4gIDwhLS0gbm9ybWFsIGZpZWxkcyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2Ygbm9ybWFsRmllbGRzXCI+XG4gICAgPGFjbC1vcGVyYW5kLWZpZWxkXG4gICAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgICBbZmllbGRdPVwiZmllbGRcIlxuICAgICAgW2Zvcm1EYXRhU3RhdGVdPVwiZm9ybURhdGFTdGF0ZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImZpZWxkVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbcmVtb3RlTW9kdWxlRGVmaW5pdGlvbl09XCJyZW1vdGVNb2R1bGVEZWZpbml0aW9uJCB8IGFzeW5jXCJcbiAgICA+XG4gICAgPC9hY2wtb3BlcmFuZC1maWVsZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBmaWVsZCBncm91cHMg5YW85a6577yM6ZyA6KaB5L+d55WZLS0+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpZWxkR3JvdXBzXCI+XG4gICAgPGFjbC1vcGVyYW5kLWZpZWxkLWdyb3VwXG4gICAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgICBbZmllbGRHcm91cF09XCJncm91cFwiXG4gICAgICBbZm9ybURhdGFTdGF0ZV09XCJmb3JtRGF0YVN0YXRlXCJcbiAgICAgIFtmb3JtRXJyb3JzXT1cImZvcm1FcnJvcnNcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJmaWVsZFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICA8L2FjbC1vcGVyYW5kLWZpZWxkLWdyb3VwPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIGFycmF5IGZpZWxkIGdyb3VwcyDlhbzlrrnvvIzpnIDopoHkv53nlZkgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGFycmF5RmllbGRHcm91cHNcIj5cbiAgICA8YWNsLW9wZXJhbmQtYXJyYXktZmllbGQtZ3JvdXBcbiAgICAgIFthcnJheUZpZWxkR3JvdXBdPVwiZ3JvdXBcIlxuICAgICAgW2Zvcm1EYXRhU3RhdGVdPVwiZm9ybURhdGFTdGF0ZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImZpZWxkVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoaXRlbVJlbW92ZSk9XCJkZWxldGVGb3JtRGF0YSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hY2wtb3BlcmFuZC1hcnJheS1maWVsZC1ncm91cD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBhZHZhbmNlZCBmaWVsZHMgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZHZhbmNlZEZpZWxkcz8ubGVuZ3RoXCI+XG4gICAgPGFjbC1vcGVyYW5kLWFkdmFuY2VkLWZpZWxkLWdyb3VwXG4gICAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgICBbZmllbGRMaXN0XT1cImFkdmFuY2VkRmllbGRzXCJcbiAgICAgIFtmb3JtRGF0YVN0YXRlXT1cImZvcm1EYXRhU3RhdGVcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJmaWVsZFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID48L2FjbC1vcGVyYW5kLWFkdmFuY2VkLWZpZWxkLWdyb3VwPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cbiJdfQ==
@@ -7,7 +7,6 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
7
  import { CrdFormComponent } from './crd-form/component';
8
8
  import { FieldControlsModule } from './field-controls';
9
9
  import { SpecCapabilityComponent, SpecCapabilityListComponent, } from './spec-descriptors';
10
- import { CrdFormCustomDescriptionDirective } from './utils';
11
10
  import * as i0 from "@angular/core";
12
11
  import * as i1 from "@alauda/ui";
13
12
  import * as i2 from "@angular/forms";
@@ -23,7 +22,6 @@ const COMPONENTS = [
23
22
  SpecCapabilityComponent,
24
23
  SpecCapabilityListComponent,
25
24
  ];
26
- const DIRECTIVES = [CrdFormCustomDescriptionDirective];
27
25
  export class CrdFormModule {
28
26
  static { this.ɵfac = function CrdFormModule_Factory(t) { return new (t || CrdFormModule)(); }; }
29
27
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CrdFormModule }); }
@@ -81,13 +79,13 @@ export class CrdFormModule {
81
79
  TagModule,
82
80
  ...MODULES,
83
81
  ],
84
- exports: [...COMPONENTS, ...DIRECTIVES, ...MODULES],
85
- declarations: [...COMPONENTS, ...DIRECTIVES],
82
+ exports: [...COMPONENTS, ...MODULES],
83
+ declarations: [...COMPONENTS],
86
84
  }]
87
85
  }], null, null); })();
88
86
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CrdFormModule, { declarations: [CrdFormComponent,
89
87
  SpecCapabilityComponent,
90
- SpecCapabilityListComponent, CrdFormCustomDescriptionDirective], imports: [
88
+ SpecCapabilityListComponent], imports: [
91
89
  // aui modules
92
90
  TooltipModule,
93
91
  ButtonModule,
@@ -112,6 +110,6 @@ export class CrdFormModule {
112
110
  WidgetModule,
113
111
  TagModule, FieldControlsModule], exports: [CrdFormComponent,
114
112
  SpecCapabilityComponent,
115
- SpecCapabilityListComponent, CrdFormCustomDescriptionDirective, FieldControlsModule] }); })();
116
- i0.ɵɵsetComponentScope(CrdFormComponent, [i1.FormDirective, i2.ɵNgNoValidate, i2.NgControlStatusGroup, i2.NgForm, i3.NgForOf, i3.NgIf, i4.ScrollToFirstInvalidDirective, i5.OperandAdvancedFieldGroupComponent, i6.OperandArrayFieldGroupComponent, i7.OperandFieldGroupComponent, i8.OperandFieldComponent], [i3.AsyncPipe, i4.PurePipe]);
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL2NyZC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixZQUFZLEdBQ2IsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QiwyQkFBMkIsR0FDNUIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7Ozs7Ozs7QUFFNUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBRXRDLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsMkJBQTJCO0NBQzVCLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFnQ3ZELE1BQU0sT0FBTyxhQUFhOzhFQUFiLGFBQWE7bUVBQWIsYUFBYTs7WUE1QnRCLGNBQWM7WUFDZCxhQUFhO1lBQ2IsWUFBWTtZQUNaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLFVBQVU7WUFDVixVQUFVO1lBQ1YsV0FBVztZQUNYLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLFlBQVk7WUFDWixTQUFTLEVBQ04sT0FBTyxFQW5DRyxtQkFBbUI7O2lGQXdDdkIsYUFBYTtjQTlCekIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsY0FBYztvQkFDZCxVQUFVO29CQUNWLFVBQVU7b0JBQ1YsV0FBVztvQkFDWCxXQUFXO29CQUNYLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixZQUFZO29CQUNaLFNBQVM7b0JBQ1QsR0FBRyxPQUFPO2lCQUNYO2dCQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO2dCQUNuRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFVBQVUsQ0FBQzthQUM3Qzs7d0ZBQ1ksYUFBYSxtQkFyQ3hCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIsMkJBQTJCLEVBR1QsaUNBQWlDO1FBSWpELGNBQWM7UUFDZCxhQUFhO1FBQ2IsWUFBWTtRQUNaLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFVBQVU7UUFDVixVQUFVO1FBQ1YsV0FBVztRQUNYLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLFVBQVU7UUFDVixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLFlBQVk7UUFDWixTQUFTLEVBbENJLG1CQUFtQixhQUdsQyxnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLDJCQUEyQixFQUdULGlDQUFpQyxFQVJwQyxtQkFBbUI7dUJBR2xDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JNb2R1bGUgfSBmcm9tICdAYWxhdWRhL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgQ2hlY2tib3hNb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBGb3JtTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgUmFkaW9Nb2R1bGUsXG4gIFNlbGVjdE1vZHVsZSxcbiAgU3dpdGNoTW9kdWxlLFxuICBUYWdNb2R1bGUsXG4gIFRvb2x0aXBNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQXJyYXlGb3JtVGFibGVNb2R1bGUsXG4gIEVycm9yc01hcHBlck1vZHVsZSxcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBDb3JlTW9kdWxlLFxuICBWYWxpZGF0b3JzTW9kdWxlLFxuICBXaWRnZXRNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENyZEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NyZC1mb3JtL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xzTW9kdWxlIH0gZnJvbSAnLi9maWVsZC1jb250cm9scyc7XG5pbXBvcnQge1xuICBTcGVjQ2FwYWJpbGl0eUNvbXBvbmVudCxcbiAgU3BlY0NhcGFiaWxpdHlMaXN0Q29tcG9uZW50LFxufSBmcm9tICcuL3NwZWMtZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHsgQ3JkRm9ybUN1c3RvbURlc2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IE1PRFVMRVMgPSBbRmllbGRDb250cm9sc01vZHVsZV07XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIENyZEZvcm1Db21wb25lbnQsXG4gIFNwZWNDYXBhYmlsaXR5Q29tcG9uZW50LFxuICBTcGVjQ2FwYWJpbGl0eUxpc3RDb21wb25lbnQsXG5dO1xuXG5jb25zdCBESVJFQ1RJVkVTID0gW0NyZEZvcm1DdXN0b21EZXNjcmlwdGlvbkRpcmVjdGl2ZV07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICAvLyBhdWkgbW9kdWxlc1xuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlLFxuICAgIENvZGVFZGl0b3JNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFJhZGlvTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBTd2l0Y2hNb2R1bGUsXG4gICAgQ29kZUVkaXRvck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBcnJheUZvcm1UYWJsZU1vZHVsZSxcbiAgICBFcnJvcnNNYXBwZXJNb2R1bGUsXG4gICAgQ29yZU1vZHVsZSxcbiAgICBWYWxpZGF0b3JzTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBXaWRnZXRNb2R1bGUsXG4gICAgVGFnTW9kdWxlLFxuICAgIC4uLk1PRFVMRVMsXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTLCAuLi5ESVJFQ1RJVkVTLCAuLi5NT0RVTEVTXSxcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UUywgLi4uRElSRUNUSVZFU10sXG59KVxuZXhwb3J0IGNsYXNzIENyZEZvcm1Nb2R1bGUge31cbiJdfQ==
113
+ SpecCapabilityListComponent, FieldControlsModule] }); })();
114
+ i0.ɵɵsetComponentScope(CrdFormComponent, [i1.FormDirective, i2.ɵNgNoValidate, i2.NgControlStatusGroup, i2.NgForm, i3.NgForOf, i3.NgIf, i4.ScrollToFirstInvalidDirective, i5.OperandAdvancedFieldGroupComponent, i6.OperandArrayFieldGroupComponent, i7.OperandFieldGroupComponent, i8.OperandFieldComponent], [i3.AsyncPipe]);
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL2NyZC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixZQUFZLEdBQ2IsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QiwyQkFBMkIsR0FDNUIsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7OztBQUU1QixNQUFNLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFdEMsTUFBTSxVQUFVLEdBQUc7SUFDakIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QiwyQkFBMkI7Q0FDNUIsQ0FBQztBQWdDRixNQUFNLE9BQU8sYUFBYTs4RUFBYixhQUFhO21FQUFiLGFBQWE7O1lBNUJ0QixjQUFjO1lBQ2QsYUFBYTtZQUNiLFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxVQUFVO1lBQ1YsVUFBVTtZQUNWLFdBQVc7WUFDWCxXQUFXO1lBQ1gsWUFBWTtZQUNaLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixZQUFZO1lBQ1osU0FBUyxFQUNOLE9BQU8sRUFqQ0csbUJBQW1COztpRkFzQ3ZCLGFBQWE7Y0E5QnpCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsY0FBYztvQkFDZCxhQUFhO29CQUNiLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2QsVUFBVTtvQkFDVixVQUFVO29CQUNWLFdBQVc7b0JBQ1gsV0FBVztvQkFDWCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIsVUFBVTtvQkFDVixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixTQUFTO29CQUNULEdBQUcsT0FBTztpQkFDWDtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztnQkFDcEMsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDOUI7O3dGQUNZLGFBQWEsbUJBbkN4QixnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUt6QixjQUFjO1FBQ2QsYUFBYTtRQUNiLFlBQVk7UUFDWixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxVQUFVO1FBQ1YsVUFBVTtRQUNWLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixVQUFVO1FBQ1YsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixZQUFZO1FBQ1osU0FBUyxFQWhDSSxtQkFBbUIsYUFHbEMsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2QiwyQkFBMkIsRUFMWixtQkFBbUI7dUJBR2xDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JNb2R1bGUgfSBmcm9tICdAYWxhdWRhL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgQ2hlY2tib3hNb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBGb3JtTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgUmFkaW9Nb2R1bGUsXG4gIFNlbGVjdE1vZHVsZSxcbiAgU3dpdGNoTW9kdWxlLFxuICBUYWdNb2R1bGUsXG4gIFRvb2x0aXBNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQXJyYXlGb3JtVGFibGVNb2R1bGUsXG4gIEVycm9yc01hcHBlck1vZHVsZSxcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBDb3JlTW9kdWxlLFxuICBWYWxpZGF0b3JzTW9kdWxlLFxuICBXaWRnZXRNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENyZEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NyZC1mb3JtL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xzTW9kdWxlIH0gZnJvbSAnLi9maWVsZC1jb250cm9scyc7XG5pbXBvcnQge1xuICBTcGVjQ2FwYWJpbGl0eUNvbXBvbmVudCxcbiAgU3BlY0NhcGFiaWxpdHlMaXN0Q29tcG9uZW50LFxufSBmcm9tICcuL3NwZWMtZGVzY3JpcHRvcnMnO1xuXG5jb25zdCBNT0RVTEVTID0gW0ZpZWxkQ29udHJvbHNNb2R1bGVdO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1xuICBDcmRGb3JtQ29tcG9uZW50LFxuICBTcGVjQ2FwYWJpbGl0eUNvbXBvbmVudCxcbiAgU3BlY0NhcGFiaWxpdHlMaXN0Q29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC8vIGF1aSBtb2R1bGVzXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgQ29kZUVkaXRvck1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgUmFkaW9Nb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIFN3aXRjaE1vZHVsZSxcbiAgICBDb2RlRWRpdG9yTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFycmF5Rm9ybVRhYmxlTW9kdWxlLFxuICAgIEVycm9yc01hcHBlck1vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICAgIFZhbGlkYXRvcnNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFdpZGdldE1vZHVsZSxcbiAgICBUYWdNb2R1bGUsXG4gICAgLi4uTU9EVUxFUyxcbiAgXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFMsIC4uLk1PRFVMRVNdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3JkRm9ybU1vZHVsZSB7fVxuIl19
@@ -6,9 +6,8 @@ import * as i2 from "@angular/common";
6
6
  import * as i3 from "@alauda/ui";
7
7
  import * as i4 from "@alauda-fe/common";
8
8
  const _c0 = ["*"];
9
- const _c1 = a0 => ({ $implicit: a0 });
10
9
  function FormItemComponent_label_1_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵelementStart(0, "label", 7);
10
+ i0.ɵɵelementStart(0, "label", 6);
12
11
  i0.ɵɵtext(1);
13
12
  i0.ɵɵpipe(2, "translate");
14
13
  i0.ɵɵelementEnd();
@@ -18,68 +17,50 @@ function FormItemComponent_label_1_Template(rf, ctx) { if (rf & 1) {
18
17
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, label_r1));
19
18
  } }
20
19
  function FormItemComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
21
- i0.ɵɵelementContainer(0, 8);
20
+ i0.ɵɵelementContainer(0, 7);
22
21
  } if (rf & 2) {
23
22
  const ctx_r1 = i0.ɵɵnextContext();
24
23
  i0.ɵɵproperty("required", ctx_r1.fieldComponent.isRequired);
25
24
  } }
26
25
  function FormItemComponent_div_5_acl_errors_mapper_1_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelement(0, "acl-errors-mapper", 12);
26
+ i0.ɵɵelement(0, "acl-errors-mapper", 10);
28
27
  } if (rf & 2) {
29
28
  const ctx_r1 = i0.ɵɵnextContext(2);
30
29
  i0.ɵɵproperty("errors", ctx_r1.fieldComponent.control.errors);
31
30
  } }
32
- function FormItemComponent_div_5_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelementContainer(0);
34
- } }
35
- function FormItemComponent_div_5_ng_container_2_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵelementContainerStart(0);
37
- i0.ɵɵtemplate(1, FormItemComponent_div_5_ng_container_2_ng_container_1_Template, 1, 0, "ng-container", 13);
38
- i0.ɵɵelementContainerEnd();
39
- } if (rf & 2) {
40
- const ctx_r1 = i0.ɵɵnextContext(2);
41
- i0.ɵɵadvance();
42
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.fieldComponent.customDescription.templateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c1, ctx_r1.fieldComponent.field));
43
- } }
44
- function FormItemComponent_div_5_ng_template_3_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵtext(0);
46
- i0.ɵɵpipe(1, "pure");
47
- i0.ɵɵpipe(2, "translate");
48
- } if (rf & 2) {
49
- const ctx_r1 = i0.ɵɵnextContext(2);
50
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 4, i0.ɵɵpipeBind2(1, 1, ctx_r1.fieldComponent.field, ctx_r1.fieldComponent.getFieldDescription)), " ");
51
- } }
52
31
  function FormItemComponent_div_5_Template(rf, ctx) { if (rf & 1) {
53
- i0.ɵɵelementStart(0, "div", 9);
54
- i0.ɵɵtemplate(1, FormItemComponent_div_5_acl_errors_mapper_1_Template, 1, 1, "acl-errors-mapper", 10)(2, FormItemComponent_div_5_ng_container_2_Template, 2, 4, "ng-container", 11)(3, FormItemComponent_div_5_ng_template_3_Template, 3, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
32
+ i0.ɵɵelementStart(0, "div", 8);
33
+ i0.ɵɵtemplate(1, FormItemComponent_div_5_acl_errors_mapper_1_Template, 1, 1, "acl-errors-mapper", 9);
34
+ i0.ɵɵtext(2);
35
+ i0.ɵɵpipe(3, "pure");
36
+ i0.ɵɵpipe(4, "translate");
55
37
  i0.ɵɵelementEnd();
56
38
  } if (rf & 2) {
57
- const defaultDescription_r3 = i0.ɵɵreference(4);
58
39
  const ctx_r1 = i0.ɵɵnextContext();
59
40
  i0.ɵɵadvance();
60
41
  i0.ɵɵproperty("ngIf", (ctx_r1.fieldComponent.crdForm.form.submitted || ctx_r1.fieldComponent.control.dirty) && ctx_r1.fieldComponent.control.invalid && !ctx_r1.fieldComponent.isCustomErrorsMapper);
61
42
  i0.ɵɵadvance();
62
- i0.ɵɵproperty("ngIf", ctx_r1.fieldComponent.customDescription)("ngIfElse", defaultDescription_r3);
43
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 5, i0.ɵɵpipeBind2(3, 2, ctx_r1.fieldComponent.field, ctx_r1.fieldComponent.getFieldDescription)), " ");
63
44
  } }
64
45
  function FormItemComponent_div_6_ng_template_2_Template(rf, ctx) { if (rf & 1) {
65
- i0.ɵɵelementStart(0, "span", 16);
46
+ i0.ɵɵelementStart(0, "span", 13);
66
47
  i0.ɵɵtext(1);
67
48
  i0.ɵɵpipe(2, "translate");
68
49
  i0.ɵɵelementEnd();
69
50
  } if (rf & 2) {
70
- const tooltip_r4 = i0.ɵɵnextContext().ngIf;
51
+ const tooltip_r3 = i0.ɵɵnextContext().ngIf;
71
52
  i0.ɵɵadvance();
72
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, tooltip_r4), "");
53
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, tooltip_r3), "");
73
54
  } }
74
55
  function FormItemComponent_div_6_Template(rf, ctx) { if (rf & 1) {
75
- i0.ɵɵelementStart(0, "div", 14);
76
- i0.ɵɵelement(1, "aui-icon", 15);
77
- i0.ɵɵtemplate(2, FormItemComponent_div_6_ng_template_2_Template, 3, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
56
+ i0.ɵɵelementStart(0, "div", 11);
57
+ i0.ɵɵelement(1, "aui-icon", 12);
58
+ i0.ɵɵtemplate(2, FormItemComponent_div_6_ng_template_2_Template, 3, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
78
59
  i0.ɵɵelementEnd();
79
60
  } if (rf & 2) {
80
- const tooltipTmp_r5 = i0.ɵɵreference(3);
61
+ const tooltipTmp_r4 = i0.ɵɵreference(3);
81
62
  i0.ɵɵadvance();
82
- i0.ɵɵproperty("auiTooltip", tooltipTmp_r5);
63
+ i0.ɵɵproperty("auiTooltip", tooltipTmp_r4);
83
64
  } }
84
65
  export class FormItemComponent {
85
66
  constructor(fieldComponent, cdr) {
@@ -89,14 +70,14 @@ export class FormItemComponent {
89
70
  this.fieldComponent.crdForm.form.ngSubmit.subscribe(() => this.cdr.markForCheck());
90
71
  }
91
72
  static { this.ɵfac = function FormItemComponent_Factory(t) { return new (t || FormItemComponent)(i0.ɵɵdirectiveInject(i1.OperandFieldComponent), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
92
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormItemComponent, selectors: [["acl-crd-form-item"]], inputs: { plain: "plain" }, ngContentSelectors: _c0, decls: 8, vars: 13, consts: [["defaultDescription", ""], ["tooltipTmp", ""], ["width", "large", 3, "emptyAddon", "plain"], ["auiFormItemLabel", "", 4, "ngIf"], ["auiFormItemControl", "", 3, "required", 4, "ngIf"], ["auiFormItemHint", "", 4, "ngIf"], ["auiFormItemAddon", "", 4, "ngIf"], ["auiFormItemLabel", ""], ["auiFormItemControl", "", 3, "required"], ["auiFormItemHint", ""], [3, "errors", 4, "ngIf"], [4, "ngIf", "ngIfElse"], [3, "errors"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["auiFormItemAddon", ""], ["icon", "question_circle", 3, "auiTooltip"], [2, "white-space", "pre-line"]], template: function FormItemComponent_Template(rf, ctx) { if (rf & 1) {
73
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormItemComponent, selectors: [["acl-crd-form-item"]], inputs: { plain: "plain" }, ngContentSelectors: _c0, decls: 8, vars: 13, consts: [["tooltipTmp", ""], ["width", "large", 3, "emptyAddon", "plain"], ["auiFormItemLabel", "", 4, "ngIf"], ["auiFormItemControl", "", 3, "required", 4, "ngIf"], ["auiFormItemHint", "", 4, "ngIf"], ["auiFormItemAddon", "", 4, "ngIf"], ["auiFormItemLabel", ""], ["auiFormItemControl", "", 3, "required"], ["auiFormItemHint", ""], [3, "errors", 4, "ngIf"], [3, "errors"], ["auiFormItemAddon", ""], ["icon", "question_circle", 3, "auiTooltip"], [2, "white-space", "pre-line"]], template: function FormItemComponent_Template(rf, ctx) { if (rf & 1) {
93
74
  i0.ɵɵprojectionDef();
94
- i0.ɵɵelementStart(0, "aui-form-item", 2);
95
- i0.ɵɵtemplate(1, FormItemComponent_label_1_Template, 3, 3, "label", 3);
75
+ i0.ɵɵelementStart(0, "aui-form-item", 1);
76
+ i0.ɵɵtemplate(1, FormItemComponent_label_1_Template, 3, 3, "label", 2);
96
77
  i0.ɵɵpipe(2, "pure");
97
- i0.ɵɵtemplate(3, FormItemComponent_ng_container_3_Template, 1, 1, "ng-container", 4);
78
+ i0.ɵɵtemplate(3, FormItemComponent_ng_container_3_Template, 1, 1, "ng-container", 3);
98
79
  i0.ɵɵprojection(4);
99
- i0.ɵɵtemplate(5, FormItemComponent_div_5_Template, 5, 3, "div", 5)(6, FormItemComponent_div_6_Template, 4, 1, "div", 6);
80
+ i0.ɵɵtemplate(5, FormItemComponent_div_5_Template, 5, 7, "div", 4)(6, FormItemComponent_div_6_Template, 4, 1, "div", 5);
100
81
  i0.ɵɵpipe(7, "pure");
101
82
  i0.ɵɵelementEnd();
102
83
  } if (rf & 2) {
@@ -109,13 +90,13 @@ export class FormItemComponent {
109
90
  i0.ɵɵproperty("ngIf", !ctx.fieldComponent.isDisabled);
110
91
  i0.ɵɵadvance();
111
92
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(7, 9, ctx.fieldComponent.field.capabilities, ctx.fieldComponent.getDisplayByCapability, ctx.fieldComponent.SpecCapability.tooltip));
112
- } }, dependencies: [i2.NgIf, i2.NgTemplateOutlet, i3.FormItemComponent, i3.FormItemAddonDirective, i3.FormItemHintDirective, i3.FormItemLabelDirective, i3.FormItemControlDirective, i3.IconComponent, i3.TooltipDirective, i4.ErrorsMapperComponent, i4.E2eAttributeBindingDirective, i4.TranslatePipe, i4.PurePipe], styles: ["[_nghost-%COMP%] label{word-break:break-word}aui-form-item[_ngcontent-%COMP%] .aui-form-item__content--large aui-switch.aui-form-item__control{flex:unset}"] }); }
93
+ } }, dependencies: [i2.NgIf, i3.FormItemComponent, i3.FormItemAddonDirective, i3.FormItemHintDirective, i3.FormItemLabelDirective, i3.FormItemControlDirective, i3.IconComponent, i3.TooltipDirective, i4.ErrorsMapperComponent, i4.E2eAttributeBindingDirective, i4.TranslatePipe, i4.PurePipe], styles: ["[_nghost-%COMP%] label{word-break:break-word}aui-form-item[_ngcontent-%COMP%] .aui-form-item__content--large aui-switch.aui-form-item__control{flex:unset}"] }); }
113
94
  }
114
95
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormItemComponent, [{
115
96
  type: Component,
116
- args: [{ selector: 'acl-crd-form-item', changeDetection: ChangeDetectionStrategy.Default, template: "<aui-form-item\n [emptyAddon]=\"false\"\n [plain]=\"plain\"\n width=\"large\"\n>\n <label\n *ngIf=\"\n fieldComponent.field | pure: fieldComponent.getFieldDisplayName as label\n \"\n auiFormItemLabel\n >{{ label | translate }}</label\n >\n\n <!-- for a required mark in aui-form-item label -->\n <ng-container\n *ngIf=\"!fieldComponent.isDisabled\"\n auiFormItemControl\n [required]=\"fieldComponent.isRequired\"\n ></ng-container>\n\n <ng-content></ng-content>\n\n <div\n *ngIf=\"!fieldComponent.isDisabled\"\n auiFormItemHint\n >\n <acl-errors-mapper\n *ngIf=\"\n (fieldComponent.crdForm.form.submitted ||\n fieldComponent.control.dirty) &&\n fieldComponent.control.invalid &&\n !fieldComponent.isCustomErrorsMapper\n \"\n [errors]=\"fieldComponent.control.errors\"\n >\n </acl-errors-mapper>\n\n <ng-container\n *ngIf=\"fieldComponent.customDescription; else defaultDescription\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n fieldComponent.customDescription.templateRef;\n context: { $implicit: fieldComponent.field }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultDescription>\n {{\n fieldComponent.field\n | pure: fieldComponent.getFieldDescription\n | translate\n }}\n </ng-template>\n </div>\n <div\n auiFormItemAddon\n *ngIf=\"\n fieldComponent.field.capabilities\n | pure\n : fieldComponent.getDisplayByCapability\n : fieldComponent.SpecCapability.tooltip as tooltip\n \"\n >\n <aui-icon\n icon=\"question_circle\"\n [auiTooltip]=\"tooltipTmp\"\n ></aui-icon>\n <ng-template #tooltipTmp>\n <span style=\"white-space: pre-line\"> {{ tooltip | translate }}</span>\n </ng-template>\n </div>\n</aui-form-item>\n", styles: [":host::ng-deep label{word-break:break-word}aui-form-item ::ng-deep .aui-form-item__content--large aui-switch.aui-form-item__control{flex:unset}\n"] }]
97
+ args: [{ selector: 'acl-crd-form-item', changeDetection: ChangeDetectionStrategy.Default, template: "<aui-form-item\n [emptyAddon]=\"false\"\n [plain]=\"plain\"\n width=\"large\"\n>\n <label\n *ngIf=\"\n fieldComponent.field | pure: fieldComponent.getFieldDisplayName as label\n \"\n auiFormItemLabel\n >{{ label | translate }}</label\n >\n\n <!-- for a required mark in aui-form-item label -->\n <ng-container\n *ngIf=\"!fieldComponent.isDisabled\"\n auiFormItemControl\n [required]=\"fieldComponent.isRequired\"\n ></ng-container>\n\n <ng-content></ng-content>\n\n <div\n *ngIf=\"!fieldComponent.isDisabled\"\n auiFormItemHint\n >\n <acl-errors-mapper\n *ngIf=\"\n (fieldComponent.crdForm.form.submitted ||\n fieldComponent.control.dirty) &&\n fieldComponent.control.invalid &&\n !fieldComponent.isCustomErrorsMapper\n \"\n [errors]=\"fieldComponent.control.errors\"\n >\n </acl-errors-mapper>\n\n {{\n fieldComponent.field\n | pure: fieldComponent.getFieldDescription\n | translate\n }}\n </div>\n <div\n auiFormItemAddon\n *ngIf=\"\n fieldComponent.field.capabilities\n | pure\n : fieldComponent.getDisplayByCapability\n : fieldComponent.SpecCapability.tooltip as tooltip\n \"\n >\n <aui-icon\n icon=\"question_circle\"\n [auiTooltip]=\"tooltipTmp\"\n ></aui-icon>\n <ng-template #tooltipTmp>\n <span style=\"white-space: pre-line\"> {{ tooltip | translate }}</span>\n </ng-template>\n </div>\n</aui-form-item>\n", styles: [":host::ng-deep label{word-break:break-word}aui-form-item ::ng-deep .aui-form-item__content--large aui-switch.aui-form-item__control{flex:unset}\n"] }]
117
98
  }], () => [{ type: i1.OperandFieldComponent }, { type: i0.ChangeDetectorRef }], { plain: [{
118
99
  type: Input
119
100
  }] }); })();
120
101
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormItemComponent, { className: "FormItemComponent", filePath: "lib/field-controls/form-item.component.ts", lineNumber: 17 }); })();
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi9maWVsZC1jb250cm9scy9mb3JtLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL2ZpZWxkLWNvbnRyb2xzL2Zvcm0taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7SUNGaEUsZ0NBS0c7SUFBQSxZQUF1Qjs7SUFBQSxpQkFDekI7OztJQURFLGNBQXVCO0lBQXZCLG9EQUF1Qjs7O0lBSTFCLDJCQUlnQjs7O0lBRGQsMkRBQXNDOzs7SUFTdEMsd0NBU29COzs7SUFGbEIsNkRBQXdDOzs7SUFPeEMsd0JBS2dCOzs7SUFSbEIsNkJBRUM7SUFDQywwR0FLQzs7OztJQUpFLGNBRVk7SUFBQSxBQUZaLHNGQUVZLG9GQUVyQjs7O0lBR00sWUFLRjs7Ozs7SUFMRSxtSkFLRjs7O0lBL0JGLDhCQUdDO0lBc0JDLEFBVkEsQUFYQSxxR0FRQyw4RUFLQSw0R0FRZ0M7SUFPbkMsaUJBQU07Ozs7SUEzQkQsY0FNUDtJQU5PLG9NQU1QO0lBS08sY0FBd0M7SUFBQSxBQUF4Qyw4REFBd0MsbUNBQXVCOzs7SUErQmhFLGdDQUFvQztJQUFDLFlBQXlCOztJQUFBLGlCQUFPOzs7SUFBaEMsY0FBeUI7SUFBekIsZ0VBQXlCOzs7SUFkbEUsK0JBUUM7SUFDQywrQkFHWTtJQUNaLHlIQUF5QjtJQUczQixpQkFBTTs7O0lBTEYsY0FBeUI7SUFBekIsMENBQXlCOztBRGxEL0IsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNrQixjQUFxQyxFQUNwQyxHQUFzQjtRQUR2QixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFFdkMsNkZBQTZGO1FBQzdGLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUN4QixDQUFDO0lBQ0osQ0FBQztrRkFaVSxpQkFBaUI7b0VBQWpCLGlCQUFpQjs7WUNoQjlCLHdDQUlDO1lBQ0Msc0VBS0c7O1lBSUgsb0ZBSUM7WUFFRCxrQkFBeUI7WUFtQ3pCLEFBakNBLGtFQUdDLHFEQXNDQTs7WUFTSCxpQkFBZ0I7O1lBdEVkLEFBREEsa0NBQW9CLG9CQUNMO1lBSVosY0FDd0U7WUFEeEUsNkdBQ3dFO1lBUXhFLGVBQWdDO1lBQWhDLHFEQUFnQztZQVFoQyxlQUFnQztZQUFoQyxxREFBZ0M7WUFrQ2hDLGNBSW9EO1lBSnBELHdLQUlvRDs7O2lGRDdDNUMsaUJBQWlCO2NBUDdCLFNBQVM7MkJBQ0UsbUJBQW1CLG1CQUlaLHVCQUF1QixDQUFDLE9BQU87c0ZBSWhELEtBQUs7a0JBREosS0FBSzs7a0ZBREssaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3BlcmFuZEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9vcGVyYW5kLWZpZWxkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1jcmQtZm9ybS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICdmb3JtLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZm9ybS1pdGVtLnN0eWxlcy5zY3NzJ10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb24gLS0gZm9ybSBzdGF0dXMgY2hhbmdlXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBwbGFpbjogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZmllbGRDb21wb25lbnQ6IE9wZXJhbmRGaWVsZENvbXBvbmVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIC8vIEZJWE1FOiDpg6jliIbpobXpnaLpnIDopoHosIPnlKggbWFya0ZvckNoZWNrIOaJjeihjO+8jCDpnIDopoHnoa7orqTkuLrllaXkvb/nlKjkuoYgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCDmlbDmja7lj5jmm7TkuYvlkI7op4blm77kvp3ml6fkuI3lkIzmraXmm7TmlrBcbiAgICB0aGlzLmZpZWxkQ29tcG9uZW50LmNyZEZvcm0uZm9ybS5uZ1N1Ym1pdC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpLFxuICAgICk7XG4gIH1cbn1cbiIsIjxhdWktZm9ybS1pdGVtXG4gIFtlbXB0eUFkZG9uXT1cImZhbHNlXCJcbiAgW3BsYWluXT1cInBsYWluXCJcbiAgd2lkdGg9XCJsYXJnZVwiXG4+XG4gIDxsYWJlbFxuICAgICpuZ0lmPVwiXG4gICAgICBmaWVsZENvbXBvbmVudC5maWVsZCB8IHB1cmU6IGZpZWxkQ29tcG9uZW50LmdldEZpZWxkRGlzcGxheU5hbWUgYXMgbGFiZWxcbiAgICBcIlxuICAgIGF1aUZvcm1JdGVtTGFiZWxcbiAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L2xhYmVsXG4gID5cblxuICA8IS0tIGZvciBhIHJlcXVpcmVkIG1hcmsgaW4gYXVpLWZvcm0taXRlbSBsYWJlbCAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiIWZpZWxkQ29tcG9uZW50LmlzRGlzYWJsZWRcIlxuICAgIGF1aUZvcm1JdGVtQ29udHJvbFxuICAgIFtyZXF1aXJlZF09XCJmaWVsZENvbXBvbmVudC5pc1JlcXVpcmVkXCJcbiAgPjwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIhZmllbGRDb21wb25lbnQuaXNEaXNhYmxlZFwiXG4gICAgYXVpRm9ybUl0ZW1IaW50XG4gID5cbiAgICA8YWNsLWVycm9ycy1tYXBwZXJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIChmaWVsZENvbXBvbmVudC5jcmRGb3JtLmZvcm0uc3VibWl0dGVkIHx8XG4gICAgICAgICAgZmllbGRDb21wb25lbnQuY29udHJvbC5kaXJ0eSkgJiZcbiAgICAgICAgZmllbGRDb21wb25lbnQuY29udHJvbC5pbnZhbGlkICYmXG4gICAgICAgICFmaWVsZENvbXBvbmVudC5pc0N1c3RvbUVycm9yc01hcHBlclxuICAgICAgXCJcbiAgICAgIFtlcnJvcnNdPVwiZmllbGRDb21wb25lbnQuY29udHJvbC5lcnJvcnNcIlxuICAgID5cbiAgICA8L2FjbC1lcnJvcnMtbWFwcGVyPlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJmaWVsZENvbXBvbmVudC5jdXN0b21EZXNjcmlwdGlvbjsgZWxzZSBkZWZhdWx0RGVzY3JpcHRpb25cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBmaWVsZENvbXBvbmVudC5jdXN0b21EZXNjcmlwdGlvbi50ZW1wbGF0ZVJlZjtcbiAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmllbGRDb21wb25lbnQuZmllbGQgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERlc2NyaXB0aW9uPlxuICAgICAge3tcbiAgICAgICAgZmllbGRDb21wb25lbnQuZmllbGRcbiAgICAgICAgICB8IHB1cmU6IGZpZWxkQ29tcG9uZW50LmdldEZpZWxkRGVzY3JpcHRpb25cbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGF1aUZvcm1JdGVtQWRkb25cbiAgICAqbmdJZj1cIlxuICAgICAgZmllbGRDb21wb25lbnQuZmllbGQuY2FwYWJpbGl0aWVzXG4gICAgICAgIHwgcHVyZVxuICAgICAgICAgIDogZmllbGRDb21wb25lbnQuZ2V0RGlzcGxheUJ5Q2FwYWJpbGl0eVxuICAgICAgICAgIDogZmllbGRDb21wb25lbnQuU3BlY0NhcGFiaWxpdHkudG9vbHRpcCBhcyB0b29sdGlwXG4gICAgXCJcbiAgPlxuICAgIDxhdWktaWNvblxuICAgICAgaWNvbj1cInF1ZXN0aW9uX2NpcmNsZVwiXG4gICAgICBbYXVpVG9vbHRpcF09XCJ0b29sdGlwVG1wXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBUbXA+XG4gICAgICA8c3BhbiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtbGluZVwiPiB7eyB0b29sdGlwIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9hdWktZm9ybS1pdGVtPlxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi9maWVsZC1jb250cm9scy9mb3JtLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL2ZpZWxkLWNvbnRyb2xzL2Zvcm0taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztJQ0ZoRSxnQ0FLRztJQUFBLFlBQXVCOztJQUFBLGlCQUN6Qjs7O0lBREUsY0FBdUI7SUFBdkIsb0RBQXVCOzs7SUFJMUIsMkJBSWdCOzs7SUFEZCwyREFBc0M7OztJQVN0Qyx3Q0FTb0I7OztJQUZsQiw2REFBd0M7OztJQVg1Qyw4QkFHQztJQUNDLG9HQVFDO0lBR0QsWUFLRjs7O0lBQUEsaUJBQU07OztJQWZELGNBTVA7SUFOTyxvTUFNUDtJQUlJLGNBS0Y7SUFMRSxtSkFLRjs7O0lBZUksZ0NBQW9DO0lBQUMsWUFBeUI7O0lBQUEsaUJBQU87OztJQUFoQyxjQUF5QjtJQUF6QixnRUFBeUI7OztJQWRsRSwrQkFRQztJQUNDLCtCQUdZO0lBQ1oseUhBQXlCO0lBRzNCLGlCQUFNOzs7SUFMRixjQUF5QjtJQUF6QiwwQ0FBeUI7O0FEdEMvQixNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQ2tCLGNBQXFDLEVBQ3BDLEdBQXNCO1FBRHZCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNwQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUV2Qyw2RkFBNkY7UUFDN0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQ3hCLENBQUM7SUFDSixDQUFDO2tGQVpVLGlCQUFpQjtvRUFBakIsaUJBQWlCOztZQ2hCOUIsd0NBSUM7WUFDQyxzRUFLRzs7WUFJSCxvRkFJQztZQUVELGtCQUF5QjtZQXVCekIsQUFyQkEsa0VBR0MscURBMEJBOztZQVNILGlCQUFnQjs7WUExRGQsQUFEQSxrQ0FBb0Isb0JBQ0w7WUFJWixjQUN3RTtZQUR4RSw2R0FDd0U7WUFReEUsZUFBZ0M7WUFBaEMscURBQWdDO1lBUWhDLGVBQWdDO1lBQWhDLHFEQUFnQztZQXNCaEMsY0FJb0Q7WUFKcEQsd0tBSW9EOzs7aUZEakM1QyxpQkFBaUI7Y0FQN0IsU0FBUzsyQkFDRSxtQkFBbUIsbUJBSVosdUJBQXVCLENBQUMsT0FBTztzRkFJaEQsS0FBSztrQkFESixLQUFLOztrRkFESyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPcGVyYW5kRmllbGRDb21wb25lbnQgfSBmcm9tICcuL29wZXJhbmQtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWNyZC1mb3JtLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJ2Zvcm0taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydmb3JtLWl0ZW0uc3R5bGVzLnNjc3MnXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvbiAtLSBmb3JtIHN0YXR1cyBjaGFuZ2VcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHBsYWluOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBmaWVsZENvbXBvbmVudDogT3BlcmFuZEZpZWxkQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgLy8gRklYTUU6IOmDqOWIhumhtemdoumcgOimgeiwg+eUqCBtYXJrRm9yQ2hlY2sg5omN6KGM77yMIOmcgOimgeehruiupOS4uuWVpeS9v+eUqOS6hiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0IOaVsOaNruWPmOabtOS5i+WQjuinhuWbvuS+neaXp+S4jeWQjOatpeabtOaWsFxuICAgIHRoaXMuZmllbGRDb21wb25lbnQuY3JkRm9ybS5mb3JtLm5nU3VibWl0LnN1YnNjcmliZSgoKSA9PlxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCksXG4gICAgKTtcbiAgfVxufVxuIiwiPGF1aS1mb3JtLWl0ZW1cbiAgW2VtcHR5QWRkb25dPVwiZmFsc2VcIlxuICBbcGxhaW5dPVwicGxhaW5cIlxuICB3aWR0aD1cImxhcmdlXCJcbj5cbiAgPGxhYmVsXG4gICAgKm5nSWY9XCJcbiAgICAgIGZpZWxkQ29tcG9uZW50LmZpZWxkIHwgcHVyZTogZmllbGRDb21wb25lbnQuZ2V0RmllbGREaXNwbGF5TmFtZSBhcyBsYWJlbFxuICAgIFwiXG4gICAgYXVpRm9ybUl0ZW1MYWJlbFxuICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbGFiZWxcbiAgPlxuXG4gIDwhLS0gZm9yIGEgcmVxdWlyZWQgbWFyayBpbiBhdWktZm9ybS1pdGVtIGxhYmVsIC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCIhZmllbGRDb21wb25lbnQuaXNEaXNhYmxlZFwiXG4gICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkQ29tcG9uZW50LmlzUmVxdWlyZWRcIlxuICA+PC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFmaWVsZENvbXBvbmVudC5pc0Rpc2FibGVkXCJcbiAgICBhdWlGb3JtSXRlbUhpbnRcbiAgPlxuICAgIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgKGZpZWxkQ29tcG9uZW50LmNyZEZvcm0uZm9ybS5zdWJtaXR0ZWQgfHxcbiAgICAgICAgICBmaWVsZENvbXBvbmVudC5jb250cm9sLmRpcnR5KSAmJlxuICAgICAgICBmaWVsZENvbXBvbmVudC5jb250cm9sLmludmFsaWQgJiZcbiAgICAgICAgIWZpZWxkQ29tcG9uZW50LmlzQ3VzdG9tRXJyb3JzTWFwcGVyXG4gICAgICBcIlxuICAgICAgW2Vycm9yc109XCJmaWVsZENvbXBvbmVudC5jb250cm9sLmVycm9yc1wiXG4gICAgPlxuICAgIDwvYWNsLWVycm9ycy1tYXBwZXI+XG5cbiAgICB7e1xuICAgICAgZmllbGRDb21wb25lbnQuZmllbGRcbiAgICAgICAgfCBwdXJlOiBmaWVsZENvbXBvbmVudC5nZXRGaWVsZERlc2NyaXB0aW9uXG4gICAgICAgIHwgdHJhbnNsYXRlXG4gICAgfX1cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBhdWlGb3JtSXRlbUFkZG9uXG4gICAgKm5nSWY9XCJcbiAgICAgIGZpZWxkQ29tcG9uZW50LmZpZWxkLmNhcGFiaWxpdGllc1xuICAgICAgICB8IHB1cmVcbiAgICAgICAgICA6IGZpZWxkQ29tcG9uZW50LmdldERpc3BsYXlCeUNhcGFiaWxpdHlcbiAgICAgICAgICA6IGZpZWxkQ29tcG9uZW50LlNwZWNDYXBhYmlsaXR5LnRvb2x0aXAgYXMgdG9vbHRpcFxuICAgIFwiXG4gID5cbiAgICA8YXVpLWljb25cbiAgICAgIGljb249XCJxdWVzdGlvbl9jaXJjbGVcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwidG9vbHRpcFRtcFwiXG4gICAgPjwvYXVpLWljb24+XG4gICAgPG5nLXRlbXBsYXRlICN0b29sdGlwVG1wPlxuICAgICAgPHNwYW4gc3R5bGU9XCJ3aGl0ZS1zcGFjZTogcHJlLWxpbmVcIj4ge3sgdG9vbHRpcCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvYXVpLWZvcm0taXRlbT5cbiJdfQ==