atr-components 0.2.413 → 0.2.415

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.
@@ -74,7 +74,7 @@ TableFormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
74
74
  useExisting: forwardRef(() => TableFormItemComponent),
75
75
  multi: true
76
76
  }
77
- ], ngImport: i0, template: "<nz-form-item style=\"position: relative\" title=\"{{header.name}}\" nzFlex>\r\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\r\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\r\n <input\r\n nz-input\r\n placeholder=\"{{header.name}}\"\r\n [attr.id]=\"header.key\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n\r\n </nz-input-group>\r\n\r\n <nz-select *ngSwitchCase=\"'select'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n nzServerSearch\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of dictList\" [nzLabel]=\"o.typeName\"\r\n [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select *ngSwitchCase=\"'selectCus'\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of header.dictList\" nzCustomContent [nzLabel]=\"o.label\"\r\n [nzValue]=\"o.value\">\r\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\r\n nzTheme=\"outline\" style=\"margin-right: 1rem;\"\r\n (click)=\"clickIcon(o.value,header,$event)\"></i>\r\n {{o.label}}\r\n </nz-option>\r\n\r\n </nz-select>\r\n <nz-cascader\r\n *ngSwitchCase=\"'cascader'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n style=\"flex: 1\" [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [nzOptions]=\"header.dictList\"\r\n [(ngModel)]=\"value\"\r\n ></nz-cascader>\r\n <nz-tree-select\r\n *ngSwitchCase=\"'treeSelect'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzNodes]=\"header.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMultiple]=\"header.selectUrl.isMultiple\"\r\n [nzMaxTagCount]=\"header.maxTagCount || 3\"\r\n >\r\n </nz-tree-select>\r\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"\r\n ></nz-range-picker>\r\n <nz-range-picker\r\n *ngSwitchCase=\"'dateRange'\"\r\n [nzShowTime]=\"header.nzShowTime ? header.nzShowTime : false\"\r\n (ngModelChange)=\"onChange($event)\"\r\n\r\n [nzFormat]=\"header.nzShowTime && header.nzShowTime.nzFormat ?\r\n ('yyyy-MM-dd '+ header.nzShowTime.nzFormat) : 'yyyy-MM-dd HH:mm:ss'\"\r\n\r\n [nzShowNow]=\"header.nzShowTime && header.nzShowNow \"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"></nz-range-picker>\r\n <ng-container *ngSwitchCase=\"'sdate'\">\r\n <nz-date-picker style=\"width: 100%\" [nzFormat]=\"'yyyy-MM-dd'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"!header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n <nz-date-picker style=\"width: 100%\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"header.dateMode\"\r\n [nzMode]=\"header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n </ng-container>\r\n <nz-month-picker\r\n *ngSwitchCase=\"'smonth'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [nzFormat]=\"'yyyy-MM'\"\r\n [nzPlaceHolder]=\"[header.name]\"\r\n nzAllowClear=\"true\"></nz-month-picker>\r\n <span class=\"label-title\">{{header.name}}</span>\r\n </nz-form-control>\r\n</nz-form-item>\r\n\r\n<ng-template #inputClearTpl>\r\n <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\r\n *ngIf=\"!header.disableClear && value|isNotEmpty\" (click)=\"value = null;onChange()\"></i>\r\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}\n", ":host{width:100%;height:100%;display:flex;flex-direction:column}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{position:absolute;bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .main-table{position:absolute;top:0;left:0;right:0;bottom:0}:host ::ng-deep .main-table .ant-spin-nested-loading{height:100%}:host ::ng-deep .main-table .ant-spin-container{height:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;background:#fff;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:sticky!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], components: [{ type: i1.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { type: i1.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { type: i2.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { type: i3.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { type: i3.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { type: i4.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelRender", "nzLabelProperty", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseEnterDelay", "nzMouseLeaveDelay", "nzStatus", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzSuffixIcon", "nzExpandIcon", "nzOptions"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzSelect", "nzClear"], exportAs: ["nzCascader"] }, { type: i5.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzExpandedKeys", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckBoxChange"], exportAs: ["nzTreeSelect"] }, { type: i6.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i7.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { type: i7.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { type: i2.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { type: i2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { type: i6.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { type: i6.NzMonthPickerComponent, selector: "nz-month-picker", exportAs: ["nzMonthPicker"] }], pipes: { "isNotEmpty": i12.IsNotEmptyPipe } });
77
+ ], ngImport: i0, template: "<nz-form-item style=\"position: relative\" title=\"{{header.name}}\" nzFlex>\r\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\r\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\r\n <input\r\n nz-input\r\n placeholder=\"{{header.name}}\"\r\n [attr.id]=\"header.key\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n\r\n </nz-input-group>\r\n\r\n <nz-select *ngSwitchCase=\"'select'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n nzServerSearch\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of dictList\" [nzLabel]=\"o.typeName\"\r\n [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select *ngSwitchCase=\"'selectCus'\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of header.dictList\" nzCustomContent [nzLabel]=\"o.label\"\r\n [nzValue]=\"o.value\">\r\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\r\n nzTheme=\"outline\" style=\"margin-right: 1rem;\"\r\n (click)=\"clickIcon(o.value,header,$event)\"></i>\r\n {{o.label}}\r\n </nz-option>\r\n\r\n </nz-select>\r\n <nz-cascader\r\n *ngSwitchCase=\"'cascader'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n style=\"flex: 1\" [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [nzOptions]=\"header.dictList\"\r\n [(ngModel)]=\"value\"\r\n ></nz-cascader>\r\n <nz-tree-select\r\n *ngSwitchCase=\"'treeSelect'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzNodes]=\"header.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMultiple]=\"header.selectUrl.isMultiple\"\r\n [nzMaxTagCount]=\"header.maxTagCount || 3\"\r\n nzVirtualHeight=\"330px\"\r\n >\r\n </nz-tree-select>\r\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"\r\n ></nz-range-picker>\r\n <nz-range-picker\r\n *ngSwitchCase=\"'dateRange'\"\r\n [nzShowTime]=\"header.nzShowTime ? header.nzShowTime : false\"\r\n (ngModelChange)=\"onChange($event)\"\r\n\r\n [nzFormat]=\"header.nzShowTime && header.nzShowTime.nzFormat ?\r\n ('yyyy-MM-dd '+ header.nzShowTime.nzFormat) : 'yyyy-MM-dd HH:mm:ss'\"\r\n\r\n [nzShowNow]=\"header.nzShowTime && header.nzShowNow \"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"></nz-range-picker>\r\n <ng-container *ngSwitchCase=\"'sdate'\">\r\n <nz-date-picker style=\"width: 100%\" [nzFormat]=\"'yyyy-MM-dd'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"!header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n <nz-date-picker style=\"width: 100%\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"header.dateMode\"\r\n [nzMode]=\"header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n </ng-container>\r\n <nz-month-picker\r\n *ngSwitchCase=\"'smonth'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [nzFormat]=\"'yyyy-MM'\"\r\n [nzPlaceHolder]=\"[header.name]\"\r\n nzAllowClear=\"true\"></nz-month-picker>\r\n <span class=\"label-title\">{{header.name}}</span>\r\n </nz-form-control>\r\n</nz-form-item>\r\n\r\n<ng-template #inputClearTpl>\r\n <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\r\n *ngIf=\"!header.disableClear && value|isNotEmpty\" (click)=\"value = null;onChange()\"></i>\r\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}\n", ":host{width:100%;height:100%;display:flex;flex-direction:column}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{position:absolute;bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .main-table{position:absolute;top:0;left:0;right:0;bottom:0}:host ::ng-deep .main-table .ant-spin-nested-loading{height:100%}:host ::ng-deep .main-table .ant-spin-container{height:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;background:#fff;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:sticky!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], components: [{ type: i1.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { type: i1.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { type: i2.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { type: i3.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { type: i3.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { type: i4.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelRender", "nzLabelProperty", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseEnterDelay", "nzMouseLeaveDelay", "nzStatus", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzSuffixIcon", "nzExpandIcon", "nzOptions"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzSelect", "nzClear"], exportAs: ["nzCascader"] }, { type: i5.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzExpandedKeys", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckBoxChange"], exportAs: ["nzTreeSelect"] }, { type: i6.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i7.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { type: i7.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { type: i2.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { type: i2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { type: i6.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { type: i6.NzMonthPickerComponent, selector: "nz-month-picker", exportAs: ["nzMonthPicker"] }], pipes: { "isNotEmpty": i12.IsNotEmptyPipe } });
78
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TableFormItemComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'app-table-form-item', providers: [
@@ -83,7 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
83
83
  useExisting: forwardRef(() => TableFormItemComponent),
84
84
  multi: true
85
85
  }
86
- ], template: "<nz-form-item style=\"position: relative\" title=\"{{header.name}}\" nzFlex>\r\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\r\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\r\n <input\r\n nz-input\r\n placeholder=\"{{header.name}}\"\r\n [attr.id]=\"header.key\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n\r\n </nz-input-group>\r\n\r\n <nz-select *ngSwitchCase=\"'select'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n nzServerSearch\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of dictList\" [nzLabel]=\"o.typeName\"\r\n [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select *ngSwitchCase=\"'selectCus'\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of header.dictList\" nzCustomContent [nzLabel]=\"o.label\"\r\n [nzValue]=\"o.value\">\r\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\r\n nzTheme=\"outline\" style=\"margin-right: 1rem;\"\r\n (click)=\"clickIcon(o.value,header,$event)\"></i>\r\n {{o.label}}\r\n </nz-option>\r\n\r\n </nz-select>\r\n <nz-cascader\r\n *ngSwitchCase=\"'cascader'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n style=\"flex: 1\" [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [nzOptions]=\"header.dictList\"\r\n [(ngModel)]=\"value\"\r\n ></nz-cascader>\r\n <nz-tree-select\r\n *ngSwitchCase=\"'treeSelect'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzNodes]=\"header.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMultiple]=\"header.selectUrl.isMultiple\"\r\n [nzMaxTagCount]=\"header.maxTagCount || 3\"\r\n >\r\n </nz-tree-select>\r\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"\r\n ></nz-range-picker>\r\n <nz-range-picker\r\n *ngSwitchCase=\"'dateRange'\"\r\n [nzShowTime]=\"header.nzShowTime ? header.nzShowTime : false\"\r\n (ngModelChange)=\"onChange($event)\"\r\n\r\n [nzFormat]=\"header.nzShowTime && header.nzShowTime.nzFormat ?\r\n ('yyyy-MM-dd '+ header.nzShowTime.nzFormat) : 'yyyy-MM-dd HH:mm:ss'\"\r\n\r\n [nzShowNow]=\"header.nzShowTime && header.nzShowNow \"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"></nz-range-picker>\r\n <ng-container *ngSwitchCase=\"'sdate'\">\r\n <nz-date-picker style=\"width: 100%\" [nzFormat]=\"'yyyy-MM-dd'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"!header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n <nz-date-picker style=\"width: 100%\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"header.dateMode\"\r\n [nzMode]=\"header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n </ng-container>\r\n <nz-month-picker\r\n *ngSwitchCase=\"'smonth'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [nzFormat]=\"'yyyy-MM'\"\r\n [nzPlaceHolder]=\"[header.name]\"\r\n nzAllowClear=\"true\"></nz-month-picker>\r\n <span class=\"label-title\">{{header.name}}</span>\r\n </nz-form-control>\r\n</nz-form-item>\r\n\r\n<ng-template #inputClearTpl>\r\n <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\r\n *ngIf=\"!header.disableClear && value|isNotEmpty\" (click)=\"value = null;onChange()\"></i>\r\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}\n", ":host{width:100%;height:100%;display:flex;flex-direction:column}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{position:absolute;bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .main-table{position:absolute;top:0;left:0;right:0;bottom:0}:host ::ng-deep .main-table .ant-spin-nested-loading{height:100%}:host ::ng-deep .main-table .ant-spin-container{height:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;background:#fff;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:sticky!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"] }]
86
+ ], template: "<nz-form-item style=\"position: relative\" title=\"{{header.name}}\" nzFlex>\r\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\r\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\r\n <input\r\n nz-input\r\n placeholder=\"{{header.name}}\"\r\n [attr.id]=\"header.key\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n\r\n </nz-input-group>\r\n\r\n <nz-select *ngSwitchCase=\"'select'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n nzServerSearch\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of dictList\" [nzLabel]=\"o.typeName\"\r\n [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select *ngSwitchCase=\"'selectCus'\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of header.dictList\" nzCustomContent [nzLabel]=\"o.label\"\r\n [nzValue]=\"o.value\">\r\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\r\n nzTheme=\"outline\" style=\"margin-right: 1rem;\"\r\n (click)=\"clickIcon(o.value,header,$event)\"></i>\r\n {{o.label}}\r\n </nz-option>\r\n\r\n </nz-select>\r\n <nz-cascader\r\n *ngSwitchCase=\"'cascader'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n style=\"flex: 1\" [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [nzOptions]=\"header.dictList\"\r\n [(ngModel)]=\"value\"\r\n ></nz-cascader>\r\n <nz-tree-select\r\n *ngSwitchCase=\"'treeSelect'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzNodes]=\"header.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMultiple]=\"header.selectUrl.isMultiple\"\r\n [nzMaxTagCount]=\"header.maxTagCount || 3\"\r\n nzVirtualHeight=\"330px\"\r\n >\r\n </nz-tree-select>\r\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"\r\n ></nz-range-picker>\r\n <nz-range-picker\r\n *ngSwitchCase=\"'dateRange'\"\r\n [nzShowTime]=\"header.nzShowTime ? header.nzShowTime : false\"\r\n (ngModelChange)=\"onChange($event)\"\r\n\r\n [nzFormat]=\"header.nzShowTime && header.nzShowTime.nzFormat ?\r\n ('yyyy-MM-dd '+ header.nzShowTime.nzFormat) : 'yyyy-MM-dd HH:mm:ss'\"\r\n\r\n [nzShowNow]=\"header.nzShowTime && header.nzShowNow \"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"></nz-range-picker>\r\n <ng-container *ngSwitchCase=\"'sdate'\">\r\n <nz-date-picker style=\"width: 100%\" [nzFormat]=\"'yyyy-MM-dd'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"!header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n <nz-date-picker style=\"width: 100%\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"header.dateMode\"\r\n [nzMode]=\"header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n </ng-container>\r\n <nz-month-picker\r\n *ngSwitchCase=\"'smonth'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [nzFormat]=\"'yyyy-MM'\"\r\n [nzPlaceHolder]=\"[header.name]\"\r\n nzAllowClear=\"true\"></nz-month-picker>\r\n <span class=\"label-title\">{{header.name}}</span>\r\n </nz-form-control>\r\n</nz-form-item>\r\n\r\n<ng-template #inputClearTpl>\r\n <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\r\n *ngIf=\"!header.disableClear && value|isNotEmpty\" (click)=\"value = null;onChange()\"></i>\r\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}\n", ":host{width:100%;height:100%;display:flex;flex-direction:column}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{position:absolute;bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .main-table{position:absolute;top:0;left:0;right:0;bottom:0}:host ::ng-deep .main-table .ant-spin-nested-loading{height:100%}:host ::ng-deep .main-table .ant-spin-container{height:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;background:#fff;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:sticky!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"] }]
87
87
  }], ctorParameters: function () { return []; }, propDecorators: { header: [{
88
88
  type: Input
89
89
  }], value: [{
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
93
93
  }], headerAction: [{
94
94
  type: Output
95
95
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdGFibGUvdGFibGUtZm9ybS1pdGVtL3RhYmxlLWZvcm0taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQWMzRCxNQUFNLE9BQU8sc0JBQXNCO0lBVS9CO1FBUFMsYUFBUSxHQUFPLEVBQUUsQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFJM0QsV0FBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUE7SUFHdkIsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQXFCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtJQUVyQyxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQU07UUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUIsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1NBQ3ZEO1FBQ0QsSUFBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxtQkFBbUI7U0FDaEQ7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVMsRUFBRSxJQUFRO1FBQzVCLHFCQUFxQjtRQUNyQixJQUFJLE1BQU0sR0FBZ0I7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRztZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFbEMsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFTLEVBQUUsSUFBb0IsRUFBRSxNQUFVO1FBQ2pELE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QiwwQkFBMEI7UUFDMUIsSUFBSSxNQUFNLEdBQWdCO1lBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLEVBQUU7WUFDMUMsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsS0FBSztTQUNmLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsQyxDQUFDOztvSEFsRVEsc0JBQXNCO3dHQUF0QixzQkFBc0IsNkpBUnBCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDckQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLDBCQ2hCTCx3dUtBcUhBOzRGRG5HYSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0kscUJBQXFCLGFBR3BCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjswRUFHUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gXCJuZy16b3Jyby1hbnRkL21lc3NhZ2VcIjtcclxuaW1wb3J0IHtBdHJRdWVyeUhlYWRlciwgVGFibGVBY3Rpb259IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5pbXBvcnQge1Rvb2xzVXRpbH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvVG9vbHNVdGlsXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWZvcm0taXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZm9ybS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlLWZvcm0taXRlbS5jb21wb25lbnQuc2NzcycsICcuLi90YWJsZS5jb21wb25lbnQubGVzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFibGVGb3JtSXRlbUNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVGb3JtSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgQElucHV0KCkgaGVhZGVyOkF0clF1ZXJ5SGVhZGVyIHxhbnk7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgYW55OyAvLyDnu4Tku7blr7nlupTnmoQg4oCcIG5nTW9kZWwg4oCdXHJcbiAgICBASW5wdXQoKSBkaWN0TGlzdDphbnkgPSBbXTtcclxuICAgIEBPdXRwdXQoKSBoZWFkZXJBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlQWN0aW9uPigpO1xyXG5cclxuICAgIG9uQ2hhbmdlTGlzdGVuZXI6IGFueTsgLy8g5pS55Y+Y5YC85Zue6LCDXHJcbiAgICBvblRvdWNoZWRMaXN0ZW5lcjogYW55OyAvLyDkuqTkupLlm57osINcclxuICBpc051bGwgPSBUb29sc1V0aWwuaXNOdWxsXHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgYW55W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3JlZ2lzdGVyT25DaGFuZ2UnKVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2VMaXN0ZW5lciA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zb2xlLmxvZygncmVnaXN0ZXJPblRvdWNoZWQnKVxyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkTGlzdGVuZXIgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKGU/OmFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdmb3JtIGNoYW5nZScsdGhpcy52YWx1ZSlcclxuICAgICAgICBjb25zb2xlLmxvZygnZm9ybSBjaGFuZ2UgZScsZSlcclxuICAgICAgICBpZih0aGlzLm9uQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUxpc3RlbmVyKGUpOyAvLyDlkYror4lmb3Jt77yM5L2g55qE6KGo5Y2V5YC85pS55Y+Y5oiQ5LqGcGF5bG9hZFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLm9uVG91Y2hlZExpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkTGlzdGVuZXIoKTsgLy8g5ZGK6K+JZm9ybe+8jOS9oOeahOihqOWNleacieS6pOS6kuWPkeeUn1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RDaGFuZ2UodmFsdWU6YW55LCBpdGVtOmFueSkge1xyXG4gICAgICAgIC8vY29uc29sZS5sb2codmFsdWUpO1xyXG4gICAgICAgIGxldCBhY3Rpb246IFRhYmxlQWN0aW9uID0ge1xyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICBjb2RlOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5oZWFkZXJBY3Rpb24uZW1pdChhY3Rpb24pXHJcblxyXG4gICAgfVxyXG4gICAgY2xpY2tJY29uKHZhbHVlOmFueSwgaXRlbTogQXRyUXVlcnlIZWFkZXIsICRldmVudDphbnkpIHtcclxuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyh2YWx1ZSxpdGVtKTtcclxuICAgICAgICBsZXQgYWN0aW9uOiBUYWJsZUFjdGlvbiA9IHtcclxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICBjb2RlOiBpdGVtLmljb24/LmNvZGUgPyBpdGVtLmljb24/LmNvZGU6XCJcIixcclxuICAgICAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5oZWFkZXJBY3Rpb24uZW1pdChhY3Rpb24pXHJcbiAgICB9XHJcbn1cclxuIiwiPG56LWZvcm0taXRlbSBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiIHRpdGxlPVwie3toZWFkZXIubmFtZX19XCIgbnpGbGV4PlxyXG4gIDxuei1mb3JtLWNvbnRyb2wgW256U3Bhbl09XCJoZWFkZXIuY3NwYW4gfHwgMjRcIiBbbmdTd2l0Y2hdPVwiaGVhZGVyLnR5cGVcIj5cclxuICAgIDxuei1pbnB1dC1ncm91cCBbbnpTdWZmaXhdPVwiaW5wdXRDbGVhclRwbFwiICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbnotaW5wdXRcclxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7aGVhZGVyLm5hbWV9fVwiXHJcbiAgICAgICAgW2F0dHIuaWRdPVwiaGVhZGVyLmtleVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcblxyXG4gICAgPC9uei1pbnB1dC1ncm91cD5cclxuXHJcbiAgICA8bnotc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXHJcbiAgICAgICAgICAgICAgIFtuekFsbG93Q2xlYXJdPVwiIWhlYWRlci5kaXNhYmxlQ2xlYXJcIlxyXG4gICAgICAgICAgICAgICBbbnpNYXhUYWdDb3VudF09XCJoZWFkZXIubWF4VGFnQ291bnQgfHwzXCJcclxuICAgICAgICAgICAgICAgbnpQbGFjZUhvbGRlcj1cInt7aGVhZGVyLnBsYWNlaG9sZGVyfHxoZWFkZXIubmFtZX19XCJcclxuICAgICAgICAgICAgICAgbnpBbGxvd0NsZWFyPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgIFtuek1vZGVdPVwiaGVhZGVyLm56TW9kZSB8fCAnZGVmYXVsdCdcIlxyXG4gICAgICAgICAgICAgICBuelNlcnZlclNlYXJjaFxyXG4gICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgIDxuei1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2YgZGljdExpc3RcIiBbbnpMYWJlbF09XCJvLnR5cGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICBbbnpWYWx1ZV09XCJvLmlkXCI+PC9uei1vcHRpb24+XHJcbiAgICA8L256LXNlbGVjdD5cclxuICAgIDxuei1zZWxlY3QgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3RDdXMnXCJcclxuICAgICAgICAgICAgICAgW256TW9kZV09XCJoZWFkZXIubnpNb2RlIHx8ICdkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgICAgIFtuekFsbG93Q2xlYXJdPVwiIWhlYWRlci5kaXNhYmxlQ2xlYXJcIlxyXG4gICAgICAgICAgICAgICBuelBsYWNlSG9sZGVyPVwie3toZWFkZXIucGxhY2Vob2xkZXJ8fGhlYWRlci5uYW1lfX1cIlxyXG4gICAgICAgICAgICAgICBuekFsbG93Q2xlYXI9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgW256U2hvd1NlYXJjaF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgIFtuek1heFRhZ0NvdW50XT1cImhlYWRlci5tYXhUYWdDb3VudCB8fDNcIlxyXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBoZWFkZXIuZGljdExpc3RcIiBuekN1c3RvbUNvbnRlbnQgW256TGFiZWxdPVwiby5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgW256VmFsdWVdPVwiby52YWx1ZVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwic2VsZWN0LWljb25cIiAqbmdJZj1cImhlYWRlci5pY29uPy5pc1Nob3dcIiBuei1pY29uIFtuelR5cGVdPVwiaGVhZGVyLmljb24uaWNvblwiXHJcbiAgICAgICAgICAgbnpUaGVtZT1cIm91dGxpbmVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMXJlbTtcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJjbGlja0ljb24oby52YWx1ZSxoZWFkZXIsJGV2ZW50KVwiPjwvaT5cclxuICAgICAgICB7e28ubGFiZWx9fVxyXG4gICAgICA8L256LW9wdGlvbj5cclxuXHJcbiAgICA8L256LXNlbGVjdD5cclxuICAgIDxuei1jYXNjYWRlclxyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Nhc2NhZGVyJ1wiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBzdHlsZT1cImZsZXg6IDFcIiBbbnpBbGxvd0NsZWFyXT1cIiFoZWFkZXIuZGlzYWJsZUNsZWFyXCJcclxuICAgICAgbnpQbGFjZUhvbGRlcj1cInt7aGVhZGVyLnBsYWNlaG9sZGVyfHxoZWFkZXIubmFtZX19XCJcclxuICAgICAgW256U2hvd1NlYXJjaF09XCJ0cnVlXCJcclxuICAgICAgW256T3B0aW9uc109XCJoZWFkZXIuZGljdExpc3RcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgID48L256LWNhc2NhZGVyPlxyXG4gICAgPG56LXRyZWUtc2VsZWN0XHJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCIndHJlZVNlbGVjdCdcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgW256QWxsb3dDbGVhcl09XCIhaGVhZGVyLmRpc2FibGVDbGVhclwiXHJcbiAgICAgIFtuek5vZGVzXT1cImhlYWRlci50cmVlTGlzdFwiXHJcbiAgICAgIG56U2hvd1NlYXJjaD1cInRydWVcIlxyXG4gICAgICBuekhpZGVVbk1hdGNoZWQ9XCJ0cnVlXCJcclxuICAgICAgbnpQbGFjZUhvbGRlcj1cInt7aGVhZGVyLnBsYWNlaG9sZGVyfHxoZWFkZXIubmFtZX19XCJcclxuICAgICAgW256U2hvd1NlYXJjaF09XCJ0cnVlXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFtuek11bHRpcGxlXT1cImhlYWRlci5zZWxlY3RVcmwuaXNNdWx0aXBsZVwiXHJcbiAgICAgIFtuek1heFRhZ0NvdW50XT1cImhlYWRlci5tYXhUYWdDb3VudCB8fCAzXCJcclxuICAgID5cclxuICAgIDwvbnotdHJlZS1zZWxlY3Q+XHJcbiAgICA8bnotcmFuZ2UtcGlja2VyICAqbmdTd2l0Y2hDYXNlPVwiJ2RheVJhbmdlJ1wiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbnpBbGxvd0NsZWFyPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbnpQbGFjZUhvbGRlcl09XCJbaGVhZGVyLm5hbWUrJ+W8gOWni+aXtumXtCcsJ+e7k+adn+aXtumXtCddXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtuekRlZmF1bHRQaWNrZXJWYWx1ZV09XCJoZWFkZXIuZGVmYXVsdFZhbFwiXHJcbiAgICA+PC9uei1yYW5nZS1waWNrZXI+XHJcbiAgICA8bnotcmFuZ2UtcGlja2VyXHJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZGF0ZVJhbmdlJ1wiXHJcbiAgICAgIFtuelNob3dUaW1lXT1cImhlYWRlci5uelNob3dUaW1lID8gaGVhZGVyLm56U2hvd1RpbWUgOiBmYWxzZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG5cclxuICAgICAgW256Rm9ybWF0XT1cImhlYWRlci5uelNob3dUaW1lICYmIGhlYWRlci5uelNob3dUaW1lLm56Rm9ybWF0ICA/XHJcbiAgICAgICgneXl5eS1NTS1kZCAnKyBoZWFkZXIubnpTaG93VGltZS5uekZvcm1hdCkgOiAneXl5eS1NTS1kZCBISDptbTpzcydcIlxyXG5cclxuICAgICAgW256U2hvd05vd109XCJoZWFkZXIubnpTaG93VGltZSAmJiBoZWFkZXIubnpTaG93Tm93IFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBzdHlsZT1cIndpZHRoOiAxMDAlO1wiXHJcbiAgICAgIG56QWxsb3dDbGVhcj1cInRydWVcIlxyXG4gICAgICBbbnpQbGFjZUhvbGRlcl09XCJbaGVhZGVyLm5hbWUrJ+W8gOWni+aXtumXtCcsJ+e7k+adn+aXtumXtCddXCJcclxuICAgICAgW256RGVmYXVsdFBpY2tlclZhbHVlXT1cImhlYWRlci5kZWZhdWx0VmFsXCI+PC9uei1yYW5nZS1waWNrZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2RhdGUnXCI+XHJcbiAgICAgIDxuei1kYXRlLXBpY2tlciBzdHlsZT1cIndpZHRoOiAxMDAlXCIgW256Rm9ybWF0XT1cIid5eXl5LU1NLWRkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaGVhZGVyLmRhdGVNb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIG56QWxsb3dDbGVhcj1cInRydWVcIj48L256LWRhdGUtcGlja2VyPlxyXG4gICAgICA8bnotZGF0ZS1waWNrZXIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWFkZXIuZGF0ZU1vZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW256TW9kZV09XCJoZWFkZXIuZGF0ZU1vZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbnpBbGxvd0NsZWFyPVwidHJ1ZVwiPjwvbnotZGF0ZS1waWNrZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuei1tb250aC1waWNrZXJcclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzbW9udGgnXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbbnpGb3JtYXRdPVwiJ3l5eXktTU0nXCJcclxuICAgICAgW256UGxhY2VIb2xkZXJdPVwiW2hlYWRlci5uYW1lXVwiXHJcbiAgICAgIG56QWxsb3dDbGVhcj1cInRydWVcIj48L256LW1vbnRoLXBpY2tlcj5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtdGl0bGVcIj57e2hlYWRlci5uYW1lfX08L3NwYW4+XHJcbiAgPC9uei1mb3JtLWNvbnRyb2w+XHJcbjwvbnotZm9ybS1pdGVtPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpbnB1dENsZWFyVHBsPlxyXG4gIDxpIG56LWljb24gY2xhc3M9XCJhbnQtaW5wdXQtY2xlYXItaWNvblwiIG56VGhlbWU9XCJmaWxsXCIgbnpUeXBlPVwiY2xvc2UtY2lyY2xlXCJcclxuICAgICAqbmdJZj1cIiFoZWFkZXIuZGlzYWJsZUNsZWFyICYmIHZhbHVlfGlzTm90RW1wdHlcIiAoY2xpY2spPVwidmFsdWUgPSBudWxsO29uQ2hhbmdlKClcIj48L2k+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdGFibGUvdGFibGUtZm9ybS1pdGVtL3RhYmxlLWZvcm0taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQWMzRCxNQUFNLE9BQU8sc0JBQXNCO0lBVS9CO1FBUFMsYUFBUSxHQUFPLEVBQUUsQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFJM0QsV0FBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUE7SUFHdkIsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQXFCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtJQUVyQyxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQU07UUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUIsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1NBQ3ZEO1FBQ0QsSUFBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxtQkFBbUI7U0FDaEQ7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVMsRUFBRSxJQUFRO1FBQzVCLHFCQUFxQjtRQUNyQixJQUFJLE1BQU0sR0FBZ0I7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRztZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFbEMsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFTLEVBQUUsSUFBb0IsRUFBRSxNQUFVO1FBQ2pELE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QiwwQkFBMEI7UUFDMUIsSUFBSSxNQUFNLEdBQWdCO1lBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLEVBQUU7WUFDMUMsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsS0FBSztTQUNmLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsQyxDQUFDOztvSEFsRVEsc0JBQXNCO3dHQUF0QixzQkFBc0IsNkpBUnBCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDckQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLDBCQ2hCTCwyd0tBc0hBOzRGRHBHYSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0kscUJBQXFCLGFBR3BCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjswRUFHUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gXCJuZy16b3Jyby1hbnRkL21lc3NhZ2VcIjtcclxuaW1wb3J0IHtBdHJRdWVyeUhlYWRlciwgVGFibGVBY3Rpb259IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5pbXBvcnQge1Rvb2xzVXRpbH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvVG9vbHNVdGlsXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWZvcm0taXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZm9ybS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlLWZvcm0taXRlbS5jb21wb25lbnQuc2NzcycsICcuLi90YWJsZS5jb21wb25lbnQubGVzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFibGVGb3JtSXRlbUNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVGb3JtSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgQElucHV0KCkgaGVhZGVyOkF0clF1ZXJ5SGVhZGVyIHxhbnk7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgYW55OyAvLyDnu4Tku7blr7nlupTnmoQg4oCcIG5nTW9kZWwg4oCdXHJcbiAgICBASW5wdXQoKSBkaWN0TGlzdDphbnkgPSBbXTtcclxuICAgIEBPdXRwdXQoKSBoZWFkZXJBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlQWN0aW9uPigpO1xyXG5cclxuICAgIG9uQ2hhbmdlTGlzdGVuZXI6IGFueTsgLy8g5pS55Y+Y5YC85Zue6LCDXHJcbiAgICBvblRvdWNoZWRMaXN0ZW5lcjogYW55OyAvLyDkuqTkupLlm57osINcclxuICBpc051bGwgPSBUb29sc1V0aWwuaXNOdWxsXHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgYW55W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3JlZ2lzdGVyT25DaGFuZ2UnKVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2VMaXN0ZW5lciA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zb2xlLmxvZygncmVnaXN0ZXJPblRvdWNoZWQnKVxyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkTGlzdGVuZXIgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKGU/OmFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdmb3JtIGNoYW5nZScsdGhpcy52YWx1ZSlcclxuICAgICAgICBjb25zb2xlLmxvZygnZm9ybSBjaGFuZ2UgZScsZSlcclxuICAgICAgICBpZih0aGlzLm9uQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUxpc3RlbmVyKGUpOyAvLyDlkYror4lmb3Jt77yM5L2g55qE6KGo5Y2V5YC85pS55Y+Y5oiQ5LqGcGF5bG9hZFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLm9uVG91Y2hlZExpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkTGlzdGVuZXIoKTsgLy8g5ZGK6K+JZm9ybe+8jOS9oOeahOihqOWNleacieS6pOS6kuWPkeeUn1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RDaGFuZ2UodmFsdWU6YW55LCBpdGVtOmFueSkge1xyXG4gICAgICAgIC8vY29uc29sZS5sb2codmFsdWUpO1xyXG4gICAgICAgIGxldCBhY3Rpb246IFRhYmxlQWN0aW9uID0ge1xyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICBjb2RlOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5oZWFkZXJBY3Rpb24uZW1pdChhY3Rpb24pXHJcblxyXG4gICAgfVxyXG4gICAgY2xpY2tJY29uKHZhbHVlOmFueSwgaXRlbTogQXRyUXVlcnlIZWFkZXIsICRldmVudDphbnkpIHtcclxuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyh2YWx1ZSxpdGVtKTtcclxuICAgICAgICBsZXQgYWN0aW9uOiBUYWJsZUFjdGlvbiA9IHtcclxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICBjb2RlOiBpdGVtLmljb24/LmNvZGUgPyBpdGVtLmljb24/LmNvZGU6XCJcIixcclxuICAgICAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5oZWFkZXJBY3Rpb24uZW1pdChhY3Rpb24pXHJcbiAgICB9XHJcbn1cclxuIiwiPG56LWZvcm0taXRlbSBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiIHRpdGxlPVwie3toZWFkZXIubmFtZX19XCIgbnpGbGV4PlxyXG4gIDxuei1mb3JtLWNvbnRyb2wgW256U3Bhbl09XCJoZWFkZXIuY3NwYW4gfHwgMjRcIiBbbmdTd2l0Y2hdPVwiaGVhZGVyLnR5cGVcIj5cclxuICAgIDxuei1pbnB1dC1ncm91cCBbbnpTdWZmaXhdPVwiaW5wdXRDbGVhclRwbFwiICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbnotaW5wdXRcclxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7aGVhZGVyLm5hbWV9fVwiXHJcbiAgICAgICAgW2F0dHIuaWRdPVwiaGVhZGVyLmtleVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcblxyXG4gICAgPC9uei1pbnB1dC1ncm91cD5cclxuXHJcbiAgICA8bnotc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXHJcbiAgICAgICAgICAgICAgIFtuekFsbG93Q2xlYXJdPVwiIWhlYWRlci5kaXNhYmxlQ2xlYXJcIlxyXG4gICAgICAgICAgICAgICBbbnpNYXhUYWdDb3VudF09XCJoZWFkZXIubWF4VGFnQ291bnQgfHwzXCJcclxuICAgICAgICAgICAgICAgbnpQbGFjZUhvbGRlcj1cInt7aGVhZGVyLnBsYWNlaG9sZGVyfHxoZWFkZXIubmFtZX19XCJcclxuICAgICAgICAgICAgICAgbnpBbGxvd0NsZWFyPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgIFtuek1vZGVdPVwiaGVhZGVyLm56TW9kZSB8fCAnZGVmYXVsdCdcIlxyXG4gICAgICAgICAgICAgICBuelNlcnZlclNlYXJjaFxyXG4gICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgIDxuei1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2YgZGljdExpc3RcIiBbbnpMYWJlbF09XCJvLnR5cGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICBbbnpWYWx1ZV09XCJvLmlkXCI+PC9uei1vcHRpb24+XHJcbiAgICA8L256LXNlbGVjdD5cclxuICAgIDxuei1zZWxlY3QgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3RDdXMnXCJcclxuICAgICAgICAgICAgICAgW256TW9kZV09XCJoZWFkZXIubnpNb2RlIHx8ICdkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgICAgIFtuekFsbG93Q2xlYXJdPVwiIWhlYWRlci5kaXNhYmxlQ2xlYXJcIlxyXG4gICAgICAgICAgICAgICBuelBsYWNlSG9sZGVyPVwie3toZWFkZXIucGxhY2Vob2xkZXJ8fGhlYWRlci5uYW1lfX1cIlxyXG4gICAgICAgICAgICAgICBuekFsbG93Q2xlYXI9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgW256U2hvd1NlYXJjaF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgIFtuek1heFRhZ0NvdW50XT1cImhlYWRlci5tYXhUYWdDb3VudCB8fDNcIlxyXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBoZWFkZXIuZGljdExpc3RcIiBuekN1c3RvbUNvbnRlbnQgW256TGFiZWxdPVwiby5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgW256VmFsdWVdPVwiby52YWx1ZVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwic2VsZWN0LWljb25cIiAqbmdJZj1cImhlYWRlci5pY29uPy5pc1Nob3dcIiBuei1pY29uIFtuelR5cGVdPVwiaGVhZGVyLmljb24uaWNvblwiXHJcbiAgICAgICAgICAgbnpUaGVtZT1cIm91dGxpbmVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMXJlbTtcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJjbGlja0ljb24oby52YWx1ZSxoZWFkZXIsJGV2ZW50KVwiPjwvaT5cclxuICAgICAgICB7e28ubGFiZWx9fVxyXG4gICAgICA8L256LW9wdGlvbj5cclxuXHJcbiAgICA8L256LXNlbGVjdD5cclxuICAgIDxuei1jYXNjYWRlclxyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Nhc2NhZGVyJ1wiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBzdHlsZT1cImZsZXg6IDFcIiBbbnpBbGxvd0NsZWFyXT1cIiFoZWFkZXIuZGlzYWJsZUNsZWFyXCJcclxuICAgICAgbnpQbGFjZUhvbGRlcj1cInt7aGVhZGVyLnBsYWNlaG9sZGVyfHxoZWFkZXIubmFtZX19XCJcclxuICAgICAgW256U2hvd1NlYXJjaF09XCJ0cnVlXCJcclxuICAgICAgW256T3B0aW9uc109XCJoZWFkZXIuZGljdExpc3RcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgID48L256LWNhc2NhZGVyPlxyXG4gICAgPG56LXRyZWUtc2VsZWN0XHJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCIndHJlZVNlbGVjdCdcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgW256QWxsb3dDbGVhcl09XCIhaGVhZGVyLmRpc2FibGVDbGVhclwiXHJcbiAgICAgIFtuek5vZGVzXT1cImhlYWRlci50cmVlTGlzdFwiXHJcbiAgICAgIG56U2hvd1NlYXJjaD1cInRydWVcIlxyXG4gICAgICBuekhpZGVVbk1hdGNoZWQ9XCJ0cnVlXCJcclxuICAgICAgbnpQbGFjZUhvbGRlcj1cInt7aGVhZGVyLnBsYWNlaG9sZGVyfHxoZWFkZXIubmFtZX19XCJcclxuICAgICAgW256U2hvd1NlYXJjaF09XCJ0cnVlXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFtuek11bHRpcGxlXT1cImhlYWRlci5zZWxlY3RVcmwuaXNNdWx0aXBsZVwiXHJcbiAgICAgIFtuek1heFRhZ0NvdW50XT1cImhlYWRlci5tYXhUYWdDb3VudCB8fCAzXCJcclxuICAgICAgbnpWaXJ0dWFsSGVpZ2h0PVwiMzMwcHhcIlxyXG4gICAgPlxyXG4gICAgPC9uei10cmVlLXNlbGVjdD5cclxuICAgIDxuei1yYW5nZS1waWNrZXIgICpuZ1N3aXRjaENhc2U9XCInZGF5UmFuZ2UnXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBuekFsbG93Q2xlYXI9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtuelBsYWNlSG9sZGVyXT1cIltoZWFkZXIubmFtZSsn5byA5aeL5pe26Ze0Jywn57uT5p2f5pe26Ze0J11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW256RGVmYXVsdFBpY2tlclZhbHVlXT1cImhlYWRlci5kZWZhdWx0VmFsXCJcclxuICAgID48L256LXJhbmdlLXBpY2tlcj5cclxuICAgIDxuei1yYW5nZS1waWNrZXJcclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkYXRlUmFuZ2UnXCJcclxuICAgICAgW256U2hvd1RpbWVdPVwiaGVhZGVyLm56U2hvd1RpbWUgPyBoZWFkZXIubnpTaG93VGltZSA6IGZhbHNlXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcblxyXG4gICAgICBbbnpGb3JtYXRdPVwiaGVhZGVyLm56U2hvd1RpbWUgJiYgaGVhZGVyLm56U2hvd1RpbWUubnpGb3JtYXQgID9cclxuICAgICAgKCd5eXl5LU1NLWRkICcrIGhlYWRlci5uelNob3dUaW1lLm56Rm9ybWF0KSA6ICd5eXl5LU1NLWRkIEhIOm1tOnNzJ1wiXHJcblxyXG4gICAgICBbbnpTaG93Tm93XT1cImhlYWRlci5uelNob3dUaW1lICYmIGhlYWRlci5uelNob3dOb3cgXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7XCJcclxuICAgICAgbnpBbGxvd0NsZWFyPVwidHJ1ZVwiXHJcbiAgICAgIFtuelBsYWNlSG9sZGVyXT1cIltoZWFkZXIubmFtZSsn5byA5aeL5pe26Ze0Jywn57uT5p2f5pe26Ze0J11cIlxyXG4gICAgICBbbnpEZWZhdWx0UGlja2VyVmFsdWVdPVwiaGVhZGVyLmRlZmF1bHRWYWxcIj48L256LXJhbmdlLXBpY2tlcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZGF0ZSdcIj5cclxuICAgICAgPG56LWRhdGUtcGlja2VyIHN0eWxlPVwid2lkdGg6IDEwMCVcIiBbbnpGb3JtYXRdPVwiJ3l5eXktTU0tZGQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFoZWFkZXIuZGF0ZU1vZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbnpBbGxvd0NsZWFyPVwidHJ1ZVwiPjwvbnotZGF0ZS1waWNrZXI+XHJcbiAgICAgIDxuei1kYXRlLXBpY2tlciBzdHlsZT1cIndpZHRoOiAxMDAlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhlYWRlci5kYXRlTW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbnpNb2RlXT1cImhlYWRlci5kYXRlTW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBuekFsbG93Q2xlYXI9XCJ0cnVlXCI+PC9uei1kYXRlLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG56LW1vbnRoLXBpY2tlclxyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3Ntb250aCdcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFtuekZvcm1hdF09XCIneXl5eS1NTSdcIlxyXG4gICAgICBbbnpQbGFjZUhvbGRlcl09XCJbaGVhZGVyLm5hbWVdXCJcclxuICAgICAgbnpBbGxvd0NsZWFyPVwidHJ1ZVwiPjwvbnotbW9udGgtcGlja2VyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbC10aXRsZVwiPnt7aGVhZGVyLm5hbWV9fTwvc3Bhbj5cclxuICA8L256LWZvcm0tY29udHJvbD5cclxuPC9uei1mb3JtLWl0ZW0+XHJcblxyXG48bmctdGVtcGxhdGUgI2lucHV0Q2xlYXJUcGw+XHJcbiAgPGkgbnotaWNvbiBjbGFzcz1cImFudC1pbnB1dC1jbGVhci1pY29uXCIgbnpUaGVtZT1cImZpbGxcIiBuelR5cGU9XCJjbG9zZS1jaXJjbGVcIlxyXG4gICAgICpuZ0lmPVwiIWhlYWRlci5kaXNhYmxlQ2xlYXIgJiYgdmFsdWV8aXNOb3RFbXB0eVwiIChjbGljayk9XCJ2YWx1ZSA9IG51bGw7b25DaGFuZ2UoKVwiPjwvaT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,24 +1,19 @@
1
1
  import { Component, Input, Inject, LOCALE_ID } from '@angular/core';
2
2
  import { ToolsUtil } from "../../../core/utils/ToolsUtil";
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "../share.service";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "../../../core/services/dict/dict.service";
7
- import * as i4 from "../../../core/services/http.service";
8
- import * as i5 from "ng-zorro-antd/descriptions";
9
- import * as i6 from "ng-zorro-antd/tree-select";
10
- import * as i7 from "ng-zorro-antd/select";
11
- import * as i8 from "../video/video.component";
12
- import * as i9 from "ng-zorro-antd/rate";
13
- import * as i10 from "../quill-editor/quill-editor.component";
14
- import * as i11 from "@angular/common";
15
- import * as i12 from "ng-zorro-antd/image";
16
- import * as i13 from "../../../core/pipe/image-pipe.pipe";
4
+ import * as i1 from "../../../core/services/http.service";
5
+ import * as i2 from "ng-zorro-antd/descriptions";
6
+ import * as i3 from "ng-zorro-antd/tree-select";
7
+ import * as i4 from "ng-zorro-antd/select";
8
+ import * as i5 from "../video/video.component";
9
+ import * as i6 from "ng-zorro-antd/rate";
10
+ import * as i7 from "../quill-editor/quill-editor.component";
11
+ import * as i8 from "@angular/common";
12
+ import * as i9 from "@angular/forms";
13
+ import * as i10 from "ng-zorro-antd/image";
14
+ import * as i11 from "../../../core/pipe/image-pipe.pipe";
17
15
  export class ViewFormComponent {
18
- constructor(shareService, fb, dictService, injector, locale, httpService) {
19
- this.shareService = shareService;
20
- this.fb = fb;
21
- this.dictService = dictService;
16
+ constructor(injector, locale, httpService) {
22
17
  this.injector = injector;
23
18
  this.locale = locale;
24
19
  this.httpService = httpService;
@@ -166,15 +161,15 @@ export class ViewFormComponent {
166
161
  return imgs.split(',');
167
162
  }
168
163
  }
169
- ViewFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewFormComponent, deps: [{ token: i1.ShareService }, { token: i2.FormBuilder }, { token: i3.DictService }, { token: i0.Injector }, { token: LOCALE_ID }, { token: i4.HttpService }], target: i0.ɵɵFactoryTarget.Component });
170
- ViewFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ViewFormComponent, selector: "atr-view-form", inputs: { formOpts: "formOpts", atrForm: "atrForm", dicts: "dicts", items: "items" }, ngImport: i0, template: "<nz-descriptions [nzColumn]=\"column\" nzBordered [nzColon]=\"true\" [nzColumn]=\"24\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <ng-container *ngIf=\"!item.isHidden\">\r\n <nz-descriptions-item [nzTitle]=\"item.label\" [ngSwitch]=\"item.type\"\r\n *ngIf=\"isShow(item.isHidden,item.operator)\"\r\n [nzSpan]=\"item.span || 6\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container *ngFor=\"let o of item.dictList\">\r\n <label *ngIf=\"o.value == atrForm.value[item.key]\">{{o.label}}</label>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n [nzDisabled]=\"true\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n {{getSelectLabel(atrForm.value[item.key],dicts[item.dictCode])}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectCus'\">\r\n {{getSelectLabel(atrForm.value[item.key],item.dictList)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectc'\">\r\n {{getSelectCLabel(atrForm.value[item.key],item.dictList,'value','label')}}\r\n<!-- <nz-select-->\r\n<!-- [nzDisabled]=\"true\"-->\r\n<!-- [(ngModel)]=\"atrForm.value[item.key]\"-->\r\n<!-- >-->\r\n<!-- <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\"-->\r\n<!-- [nzValue]=\"o.value\"></nz-option>-->\r\n<!-- </nz-select>-->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'sceneUser'\">\r\n <nz-select\r\n [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.title\"\r\n [nzValue]=\"o.key\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{atrForm.value[item.key]}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd 00:00:00')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascader'\">\r\n {{getCascaderLabel(atrForm.value[item.key],item)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'tags'\">\r\n {{getTagLabel(atrForm.value[item.key], 'name')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <ng-container *ngFor=\"let img of getImgs(atrForm.value[item.key])\">\r\n <div>\r\n <img *ngIf=\"!img.endsWith('.mp4')\" nz-image style=\"max-width: 200px;max-height: 200px\" [nzSrc]=\"img | ossImg\">\r\n <app-video *ngIf=\"img.endsWith('.mp4')\" style=\"max-width: 200px;max-height: 200px\" [url]=\"img | ossImg\"></app-video>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <nz-rate [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"></nz-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'editor'\">\r\n <div>\r\n <app-quill-editor [(ngModel)]=\"atrForm.value[item.key]\" style=\"width: 60%\" [readOnly]=\"true\"\r\n [styles]=\"{height:item.height > 0 ? item.height + 'px' : '250px'}\"></app-quill-editor>\r\n\r\n </div>\r\n </ng-container>\r\n\r\n </nz-descriptions-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</nz-descriptions>\r\n", styles: [":host img{max-width:200px;max-height:200px}\n"], components: [{ type: i5.NzDescriptionsComponent, selector: "nz-descriptions", inputs: ["nzBordered", "nzLayout", "nzColumn", "nzSize", "nzTitle", "nzExtra", "nzColon"], exportAs: ["nzDescriptions"] }, { type: i5.NzDescriptionsItemComponent, selector: "nz-descriptions-item", inputs: ["nzSpan", "nzTitle"], exportAs: ["nzDescriptionsItem"] }, { type: i6.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzExpandedKeys", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckBoxChange"], exportAs: ["nzTreeSelect"] }, { type: i7.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { type: i7.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { type: i8.VideoComponent, selector: "app-video", inputs: ["url"] }, { type: i9.NzRateComponent, selector: "nz-rate", inputs: ["nzAllowClear", "nzAllowHalf", "nzDisabled", "nzAutoFocus", "nzCharacter", "nzCount", "nzTooltips"], outputs: ["nzOnBlur", "nzOnFocus", "nzOnHoverChange", "nzOnKeyDown"], exportAs: ["nzRate"] }, { type: i10.QuillEditorComponent, selector: "app-quill-editor", inputs: ["placeholder", "styles", "value", "readOnly", "needImgSeq"] }], directives: [{ type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i11.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i12.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder"], exportAs: ["nzImage"] }], pipes: { "date": i11.DatePipe, "ossImg": i13.OssImgPipe } });
164
+ ViewFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewFormComponent, deps: [{ token: i0.Injector }, { token: LOCALE_ID }, { token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Component });
165
+ ViewFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ViewFormComponent, selector: "atr-view-form", inputs: { formOpts: "formOpts", atrForm: "atrForm", dicts: "dicts", items: "items" }, ngImport: i0, template: "<nz-descriptions [nzColumn]=\"column\" nzBordered [nzColon]=\"true\" [nzColumn]=\"24\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <ng-container *ngIf=\"!item.isHidden\">\r\n <nz-descriptions-item [nzTitle]=\"item.label\" [ngSwitch]=\"item.type\"\r\n *ngIf=\"isShow(item.isHidden,item.operator)\"\r\n [nzSpan]=\"item.span || 6\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container *ngFor=\"let o of item.dictList\">\r\n <label *ngIf=\"o.value == atrForm.value[item.key]\">{{o.label}}</label>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n [nzDisabled]=\"true\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n {{getSelectLabel(atrForm.value[item.key],dicts[item.dictCode])}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectCus'\">\r\n {{getSelectLabel(atrForm.value[item.key],item.dictList)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectc'\">\r\n {{getSelectCLabel(atrForm.value[item.key],item.dictList,'value','label')}}\r\n<!-- <nz-select-->\r\n<!-- [nzDisabled]=\"true\"-->\r\n<!-- [(ngModel)]=\"atrForm.value[item.key]\"-->\r\n<!-- >-->\r\n<!-- <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\"-->\r\n<!-- [nzValue]=\"o.value\"></nz-option>-->\r\n<!-- </nz-select>-->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'sceneUser'\">\r\n <nz-select\r\n [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.title\"\r\n [nzValue]=\"o.key\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{atrForm.value[item.key]}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd 00:00:00')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascader'\">\r\n {{getCascaderLabel(atrForm.value[item.key],item)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'tags'\">\r\n {{getTagLabel(atrForm.value[item.key], 'name')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <ng-container *ngFor=\"let img of getImgs(atrForm.value[item.key])\">\r\n <div>\r\n <img *ngIf=\"!img.endsWith('.mp4')\" nz-image style=\"max-width: 200px;max-height: 200px\" [nzSrc]=\"img | ossImg\">\r\n <app-video *ngIf=\"img.endsWith('.mp4')\" style=\"max-width: 200px;max-height: 200px\" [url]=\"img | ossImg\"></app-video>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <nz-rate [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"></nz-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'editor'\">\r\n <div>\r\n <app-quill-editor [(ngModel)]=\"atrForm.value[item.key]\" style=\"width: 60%\" [readOnly]=\"true\"\r\n [styles]=\"{height:item.height > 0 ? item.height + 'px' : '250px'}\"></app-quill-editor>\r\n\r\n </div>\r\n </ng-container>\r\n\r\n </nz-descriptions-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</nz-descriptions>\r\n", styles: [":host img{max-width:200px;max-height:200px}\n"], components: [{ type: i2.NzDescriptionsComponent, selector: "nz-descriptions", inputs: ["nzBordered", "nzLayout", "nzColumn", "nzSize", "nzTitle", "nzExtra", "nzColon"], exportAs: ["nzDescriptions"] }, { type: i2.NzDescriptionsItemComponent, selector: "nz-descriptions-item", inputs: ["nzSpan", "nzTitle"], exportAs: ["nzDescriptionsItem"] }, { type: i3.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzExpandedKeys", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckBoxChange"], exportAs: ["nzTreeSelect"] }, { type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { type: i5.VideoComponent, selector: "app-video", inputs: ["url"] }, { type: i6.NzRateComponent, selector: "nz-rate", inputs: ["nzAllowClear", "nzAllowHalf", "nzDisabled", "nzAutoFocus", "nzCharacter", "nzCount", "nzTooltips"], outputs: ["nzOnBlur", "nzOnFocus", "nzOnHoverChange", "nzOnKeyDown"], exportAs: ["nzRate"] }, { type: i7.QuillEditorComponent, selector: "app-quill-editor", inputs: ["placeholder", "styles", "value", "readOnly", "needImgSeq"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i10.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder"], exportAs: ["nzImage"] }], pipes: { "date": i8.DatePipe, "ossImg": i11.OssImgPipe } });
171
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewFormComponent, decorators: [{
172
167
  type: Component,
173
168
  args: [{ selector: 'atr-view-form', template: "<nz-descriptions [nzColumn]=\"column\" nzBordered [nzColon]=\"true\" [nzColumn]=\"24\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <ng-container *ngIf=\"!item.isHidden\">\r\n <nz-descriptions-item [nzTitle]=\"item.label\" [ngSwitch]=\"item.type\"\r\n *ngIf=\"isShow(item.isHidden,item.operator)\"\r\n [nzSpan]=\"item.span || 6\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container *ngFor=\"let o of item.dictList\">\r\n <label *ngIf=\"o.value == atrForm.value[item.key]\">{{o.label}}</label>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n [nzDisabled]=\"true\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n {{getSelectLabel(atrForm.value[item.key],dicts[item.dictCode])}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectCus'\">\r\n {{getSelectLabel(atrForm.value[item.key],item.dictList)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectc'\">\r\n {{getSelectCLabel(atrForm.value[item.key],item.dictList,'value','label')}}\r\n<!-- <nz-select-->\r\n<!-- [nzDisabled]=\"true\"-->\r\n<!-- [(ngModel)]=\"atrForm.value[item.key]\"-->\r\n<!-- >-->\r\n<!-- <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\"-->\r\n<!-- [nzValue]=\"o.value\"></nz-option>-->\r\n<!-- </nz-select>-->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'sceneUser'\">\r\n <nz-select\r\n [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.title\"\r\n [nzValue]=\"o.key\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{atrForm.value[item.key]}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd 00:00:00')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascader'\">\r\n {{getCascaderLabel(atrForm.value[item.key],item)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'tags'\">\r\n {{getTagLabel(atrForm.value[item.key], 'name')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <ng-container *ngFor=\"let img of getImgs(atrForm.value[item.key])\">\r\n <div>\r\n <img *ngIf=\"!img.endsWith('.mp4')\" nz-image style=\"max-width: 200px;max-height: 200px\" [nzSrc]=\"img | ossImg\">\r\n <app-video *ngIf=\"img.endsWith('.mp4')\" style=\"max-width: 200px;max-height: 200px\" [url]=\"img | ossImg\"></app-video>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <nz-rate [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"></nz-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'editor'\">\r\n <div>\r\n <app-quill-editor [(ngModel)]=\"atrForm.value[item.key]\" style=\"width: 60%\" [readOnly]=\"true\"\r\n [styles]=\"{height:item.height > 0 ? item.height + 'px' : '250px'}\"></app-quill-editor>\r\n\r\n </div>\r\n </ng-container>\r\n\r\n </nz-descriptions-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</nz-descriptions>\r\n", styles: [":host img{max-width:200px;max-height:200px}\n"] }]
174
- }], ctorParameters: function () { return [{ type: i1.ShareService }, { type: i2.FormBuilder }, { type: i3.DictService }, { type: i0.Injector }, { type: undefined, decorators: [{
169
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: undefined, decorators: [{
175
170
  type: Inject,
176
171
  args: [LOCALE_ID]
177
- }] }, { type: i4.HttpService }]; }, propDecorators: { formOpts: [{
172
+ }] }, { type: i1.HttpService }]; }, propDecorators: { formOpts: [{
178
173
  type: Input
179
174
  }], atrForm: [{
180
175
  type: Input
@@ -183,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
183
178
  }], items: [{
184
179
  type: Input
185
180
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdmlldy1mb3JtL3ZpZXctZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3ZpZXctZm9ybS92aWV3LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQVksTUFBTSxFQUFFLFNBQVMsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFRMUcsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPeEQsTUFBTSxPQUFPLGlCQUFpQjtJQWM1QixZQUNVLFlBQTBCLEVBQzFCLEVBQWUsRUFBVSxXQUF3QixFQUFVLFFBQWtCLEVBQTZCLE1BQWMsRUFBVSxXQUF3QjtRQUQxSixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQTZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWIzSixVQUFLLEdBQVEsRUFBRSxDQUFDO1FBU3pCLFdBQU0sR0FBUSxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFDLENBQUE7SUFLckMsQ0FBQztJQVpELElBQWEsS0FBSyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO0lBQ0osQ0FBQztJQVNELFFBQVE7UUFD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aEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSW5qZWN0b3IsIEluamVjdCwgTE9DQUxFX0lELCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7dGVscGhvbmVWYWxpZGF0b3J9IGZyb20gJy4uL3ZhbGlkYXRvcnMvYXRyLXZhbGlkdG9ycyc7XHJcbmltcG9ydCB7Zm9ybWF0RGF0ZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtTaGFyZVNlcnZpY2V9IGZyb20gJy4uL3NoYXJlLnNlcnZpY2UnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXMsIEF0ckZvcm1EZXRhaWwsIEF0ckZvcm1PcHQsIGZvcm1CdXR0b259IGZyb20gXCIuLi8uLi8uLi9jb3JlL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5pbXBvcnQge0RpY3RTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9kaWN0L2RpY3Quc2VydmljZVwiO1xyXG5pbXBvcnQge0h0dHBTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUb29sc1V0aWx9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3V0aWxzL1Rvb2xzVXRpbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdHItdmlldy1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92aWV3LWZvcm0uY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGZvcm1PcHRzOiBBdHJGb3JtT3B0IHwgYW55O1xyXG4gIEBJbnB1dCgpIGF0ckZvcm06IEZvcm1Hcm91cCB8IGFueTtcclxuICBASW5wdXQoKSBkaWN0czogYW55ID0ge307XHJcblxyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1PcHRzID0ge1xyXG4gICAgICB0eXBlOiAndmlldycsXHJcbiAgICAgIGl0ZW1zOiBpdGVtc1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbHVtbjogYW55ID0ge3hzOiA4LCBzbTogMTYsIG1kOiAyNH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNoYXJlU2VydmljZTogU2hhcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgZGljdFNlcnZpY2U6IERpY3RTZXJ2aWNlLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcsIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIlRFU1QgUklHSFRcIilcclxuICAgICAgY29uc29sZS5sb2coJ2F0ckZvcm0udmFsdWUnLCB0aGlzLmF0ckZvcm0udmFsdWUpXHJcbiAgICAgIGNvbnNvbGUubG9nKCdhdHJGb3JtLnZhbHVlIGZvcm1PcHRzJywgdGhpcy5mb3JtT3B0cylcclxuICAgIH0sIDExNTApXHJcbiAgfVxyXG5cclxuICBpc1Nob3coaXNIaWRkZW46IGFueSwgb3BlcmF0b3I6IGFueSkge1xyXG4gICAgaWYgKGlzSGlkZGVuKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGxldCBpc1Nob3cgPSBmYWxzZTtcclxuICAgIGlmICghb3BlcmF0b3IgfHwgb3BlcmF0b3IgPT0gbnVsbCB8fCBvcGVyYXRvciA9PSBcIlwiKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChvcGVyYXRvci5pbmRleE9mKCcmJicpID4gMCkge1xyXG4gICAgICAvLyBhfGVxfGIgJiZjfGVxfGRcclxuICAgICAgY29uc3Qgb3BzID0gb3BlcmF0b3Iuc3BsaXQoJyYmJyk7XHJcbiAgICAgIGlmIChvcHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItZm9yLW9mXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlzU2hvdyA9IHRydWVcclxuICAgICAgICAgIGlmICghdGhpcy5jaGVja0lzU2hvd0Jhc2Uob3BzW2ldLnNwbGl0KCd8JykpKSB7XHJcbiAgICAgICAgICAgIGlzU2hvdyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAob3BlcmF0b3IuaW5kZXhPZignfHwnKSA+IDApIHtcclxuICAgICAgLy8gYXxlcXxifHxjfGVxfGRcclxuICAgICAgY29uc3Qgb3BzID0gb3BlcmF0b3Iuc3BsaXQoJyYmJyk7XHJcbiAgICAgIGlmIChvcHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3BzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmNoZWNrSXNTaG93QmFzZShvcHNbaV0uc3BsaXQoJ3wnKSkpIHtcclxuICAgICAgICAgICAgaXNTaG93ID0gdHJ1ZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3AgPSBvcGVyYXRvci5zcGxpdChcInxcIik7XHJcbiAgICAgIGlzU2hvdyA9IHRoaXMuY2hlY2tJc1Nob3dCYXNlKG9wKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpc1Nob3c7XHJcbiAgfVxyXG5cclxuICBjaGVja0lzU2hvd0Jhc2Uob3A6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzU2hvdyA9IGZhbHNlO1xyXG4gICAgaWYgKG9wLmxlbmd0aCA+IDEpIHtcclxuICAgICAgbGV0IHZhbHVlID0gdGhpcy5hdHJGb3JtLmdldChvcFswXSkudmFsdWU7XHJcbiAgICAgIGlzU2hvdyA9IHRoaXMuY29tcGFyZSh2YWx1ZSwgb3BbMV0sIG9wWzJdKVxyXG4gICAgfSBlbHNlXHJcbiAgICAgIGlzU2hvdyA9IGZhbHNlO1xyXG5cclxuICAgIHJldHVybiBpc1Nob3c7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlKHZhbHVlOiBhbnksIG9wZXJhdG9yOiBhbnksIHRhcmdldDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNSaWdodCA9IGZhbHNlO1xyXG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xyXG4gICAgICBjYXNlICdlcScgOlxyXG4gICAgICAgIGlmICh2YWx1ZSA9PSB0YXJnZXQpIHtcclxuICAgICAgICAgIGlzUmlnaHQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZ2gnIDpcclxuICAgICAgICBpZiAodmFsdWUgPj0gdGFyZ2V0KSB7XHJcbiAgICAgICAgICBpc1JpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ25vdEVtcHR5JzpcclxuICAgICAgICBpc1JpZ2h0ID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpc1JpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2VtcHR5JzpcclxuICAgICAgICBpc1JpZ2h0ID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgaXNSaWdodCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0IDpcclxuICAgICAgICBpc1JpZ2h0ID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNSaWdodDtcclxuICB9XHJcblxyXG4gIGdldENhc2NhZGVyTGFiZWwodmFsdWU6IGFueSwgaXRlbTogYW55KSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5nZXRDYXNjYWRlckRlZnVsdFYoaXRlbS5kaWN0TGlzdCwgdmFsdWUsIDAsIFtdKTtcclxuICAgIGlmIChpdGVtLmRpY3RMaXN0WzBdLnVzZXJPYmplY3Q/LnNob3dOYW1lKSB7XHJcbiAgICAgIHJldHVybiByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIHx8IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB2YWx1ZVxyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0Q0xhYmVsKHZhbHVlOiBhbnksIGFycjogYW55LCBrZXkgPSAna2V5JywgdmFsdWVLZXkgPSAndmFsdWUnKSB7XHJcbiAgICBpZiAoVG9vbHNVdGlsLmlzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiAnJ1xyXG4gICAgfVxyXG4gICAgbGV0IHJlc3VsdCA9IGFyci5maWx0ZXIoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBpZiAoVG9vbHNVdGlsLmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLnNvbWUoKHY6IGFueSkgPT4gaXRlbVtrZXldID09IHYpXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHZhbHVlID09IGl0ZW1ba2V5XVxyXG4gICAgfSlcclxuICAgIHJldHVybiByZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCA+IDAgPyByZXN1bHQubWFwKCh2OiBhbnkpID0+IHZbdmFsdWVLZXldKS5qb2luKFwiLFwiKSA6IHJlc3VsdFt2YWx1ZUtleV07XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RMYWJlbCh2YWx1ZTogYW55LCBhcnI6IGFueSkge1xyXG4gICAgLy8gY29uc29sZS5sb2codmFsdWUsIGFycilcclxuICAgIGxldCByZXN1bHQgPSBhcnIuZmlsdGVyKChpdGVtOiBhbnkpID0+IHZhbHVlID09IGl0ZW0ua2V5IHx8IHZhbHVlID09IGl0ZW0uaWQpXHJcbiAgICByZXR1cm4gcmVzdWx0ICYmIHJlc3VsdC5sZW5ndGggPiAwID8gKHJlc3VsdFswXS50aXRsZSB8fCByZXN1bHRbMF0udHlwZU5hbWUpIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRUYWdMYWJlbCh2YWx1ZTogYW55LCBrZXkgPSAnbGFiZWwnKSB7XHJcbiAgICByZXR1cm4gdmFsdWUgPyB2YWx1ZS5tYXAoKHY6IGFueSkgPT4gdltrZXldKS5qb2luKCkgOiAnJ1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2FzY2FkZXJEZWZ1bHRWKGRpY3RMaXN0OiBhbnksIHZhbHVlOiBhbnksIGluZGV4OiBhbnksIHJlc3VsdDogYW55KSB7XHJcbiAgICBkaWN0TGlzdC5mb3JFYWNoKCh2OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHZhbHVlW2luZGV4XSA9PSB2LnZhbHVlKSB7XHJcbiAgICAgICAgcmVzdWx0LnB1c2godi52YWx1ZSlcclxuICAgICAgICBpZiAodi5jaGlsZHJlbikge1xyXG4gICAgICAgICAgdGhpcy5nZXRDYXNjYWRlckRlZnVsdFYodi5jaGlsZHJlbiwgdmFsdWUsIGluZGV4ICsgMSwgcmVzdWx0KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGdldEltZ3MoaW1nczogYW55KSB7XHJcbiAgICBpZiAoIWltZ3MpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGltZ3Muc3BsaXQoJywnKVxyXG4gIH1cclxufVxyXG4iLCI8bnotZGVzY3JpcHRpb25zICBbbnpDb2x1bW5dPVwiY29sdW1uXCIgbnpCb3JkZXJlZCBbbnpDb2xvbl09XCJ0cnVlXCIgW256Q29sdW1uXT1cIjI0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm1PcHRzLml0ZW1zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmlzSGlkZGVuXCI+XHJcbiAgICAgICAgICAgIDxuei1kZXNjcmlwdGlvbnMtaXRlbSBbbnpUaXRsZV09XCJpdGVtLmxhYmVsXCIgW25nU3dpdGNoXT1cIml0ZW0udHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2hvdyhpdGVtLmlzSGlkZGVuLGl0ZW0ub3BlcmF0b3IpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuelNwYW5dPVwiaXRlbS5zcGFuIHx8IDZcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyYWRpbydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvIG9mIGl0ZW0uZGljdExpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsICAqbmdJZj1cIm8udmFsdWUgPT0gYXRyRm9ybS52YWx1ZVtpdGVtLmtleV1cIj57e28ubGFiZWx9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0cmVlU2VsZWN0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuei10cmVlLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW256Tm9kZXNdPVwiaXRlbS50cmVlTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuelNob3dTZWFyY2g9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG56SGlkZVVuTWF0Y2hlZD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhdHJGb3JtLnZhbHVlW2l0ZW0ua2V5XVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbnpEaXNhYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uei10cmVlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3QnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tnZXRTZWxlY3RMYWJlbChhdHJGb3JtLnZhbHVlW2l0ZW0ua2V5XSxkaWN0c1tpdGVtLmRpY3RDb2RlXSl9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0Q3VzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7Z2V0U2VsZWN0TGFiZWwoYXRyRm9ybS52YWx1ZVtpdGVtLmtleV0saXRlbS5kaWN0TGlzdCl9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0YydcIj5cclxuICAgICAgICAgICAgICAgICAge3tnZXRTZWxlY3RDTGFiZWwoYXRyRm9ybS52YWx1ZVtpdGVtLmtleV0saXRlbS5kaWN0TGlzdCwndmFsdWUnLCdsYWJlbCcpfX1cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgPG56LXNlbGVjdC0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuekRpc2FibGVkXT1cInRydWVcIi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYXRyRm9ybS52YWx1ZVtpdGVtLmtleV1cIi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICA+LS0+XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICA8bnotb3B0aW9uICpuZ0Zvcj1cImxldCBvIG9mIGl0ZW0uZGljdExpc3RcIiBbbnpMYWJlbF09XCJvLmxhYmVsXCItLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW256VmFsdWVdPVwiby52YWx1ZVwiPjwvbnotb3B0aW9uPi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICA8L256LXNlbGVjdD4tLT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NjZW5lVXNlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bnotc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbnpEaXNhYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYXRyRm9ybS52YWx1ZVtpdGVtLmtleV1cIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBpdGVtLmRpY3RMaXN0XCIgW256TGFiZWxdPVwiby50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW256VmFsdWVdPVwiby5rZXlcIj48L256LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L256LXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICAgICAgICB7e2F0ckZvcm0udmFsdWVbaXRlbS5rZXldfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3thdHJGb3JtLnZhbHVlW2l0ZW0ua2V5XSB8IGRhdGU6KGl0ZW0uZGF0ZUZvcm1hdCB8fCAneXl5eS1NTS1kZCcpfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGVUaW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7YXRyRm9ybS52YWx1ZVtpdGVtLmtleV0gfCBkYXRlOihpdGVtLmRhdGVGb3JtYXQgfHwgJ3l5eXktTU0tZGQgMDA6MDA6MDAnKX19XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjYXNjYWRlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2dldENhc2NhZGVyTGFiZWwoYXRyRm9ybS52YWx1ZVtpdGVtLmtleV0saXRlbSl9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGFncydcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2dldFRhZ0xhYmVsKGF0ckZvcm0udmFsdWVbaXRlbS5rZXldLCAnbmFtZScpfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZyBvZiBnZXRJbWdzKGF0ckZvcm0udmFsdWVbaXRlbS5rZXldKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAgKm5nSWY9XCIhaW1nLmVuZHNXaXRoKCcubXA0JylcIiBuei1pbWFnZSAgc3R5bGU9XCJtYXgtd2lkdGg6IDIwMHB4O21heC1oZWlnaHQ6IDIwMHB4XCIgW256U3JjXT1cImltZyB8IG9zc0ltZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC12aWRlbyAqbmdJZj1cImltZy5lbmRzV2l0aCgnLm1wNCcpXCIgc3R5bGU9XCJtYXgtd2lkdGg6IDIwMHB4O21heC1oZWlnaHQ6IDIwMHB4XCIgIFt1cmxdPVwiaW1nIHwgb3NzSW1nXCI+PC9hcHAtdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bnotcmF0ZSBbbnpEaXNhYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImF0ckZvcm0udmFsdWVbaXRlbS5rZXldXCI+PC9uei1yYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZWRpdG9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcXVpbGwtZWRpdG9yIFsobmdNb2RlbCldPVwiYXRyRm9ybS52YWx1ZVtpdGVtLmtleV1cIiBzdHlsZT1cIndpZHRoOiA2MCVcIiBbcmVhZE9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZXNdPVwie2hlaWdodDppdGVtLmhlaWdodCA+IDAgPyBpdGVtLmhlaWdodCArICdweCcgOiAnMjUwcHgnfVwiPjwvYXBwLXF1aWxsLWVkaXRvcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDwvbnotZGVzY3JpcHRpb25zLWl0ZW0+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG48L256LWRlc2NyaXB0aW9ucz5cclxuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdmlldy1mb3JtL3ZpZXctZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3ZpZXctZm9ybS92aWV3LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQVksTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUlwRixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPeEQsTUFBTSxPQUFPLGlCQUFpQjtJQWM1QixZQUFzQixRQUFrQixFQUE2QixNQUFjLEVBQVUsV0FBd0I7UUFBL0YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUE2QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFYNUcsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQVN6QixXQUFNLEdBQVEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBQyxDQUFBO0lBR3JDLENBQUM7SUFWRCxJQUFhLEtBQUssQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztJQUNKLENBQUM7SUFPRCxRQUFRO1FBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8s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bkluaXQsIElucHV0LCBJbmplY3RvciwgSW5qZWN0LCBMT0NBTEVfSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtBdHJGb3JtT3B0fSBmcm9tIFwiLi4vLi4vLi4vY29yZS9iYXNlL2F0ci1jb21tb25cIjtcclxuaW1wb3J0IHtIdHRwU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VG9vbHNVdGlsfSBmcm9tIFwiLi4vLi4vLi4vY29yZS91dGlscy9Ub29sc1V0aWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXRyLXZpZXctZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdmlldy1mb3JtLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZXdGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBmb3JtT3B0czogQXRyRm9ybU9wdCB8IGFueTtcclxuICBASW5wdXQoKSBhdHJGb3JtOiBGb3JtR3JvdXAgfCBhbnk7XHJcbiAgQElucHV0KCkgZGljdHM6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IGFueSkge1xyXG4gICAgdGhpcy5mb3JtT3B0cyA9IHtcclxuICAgICAgdHlwZTogJ3ZpZXcnLFxyXG4gICAgICBpdGVtczogaXRlbXNcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb2x1bW46IGFueSA9IHt4czogOCwgc206IDE2LCBtZDogMjR9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nLCBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coXCJURVNUIFJJR0hUXCIpXHJcbiAgICAgIGNvbnNvbGUubG9nKCdhdHJGb3JtLnZhbHVlJywgdGhpcy5hdHJGb3JtLnZhbHVlKVxyXG4gICAgICBjb25zb2xlLmxvZygnYXRyRm9ybS52YWx1ZSBmb3JtT3B0cycsIHRoaXMuZm9ybU9wdHMpXHJcbiAgICB9LCAxMTUwKVxyXG4gIH1cclxuXHJcbiAgaXNTaG93KGlzSGlkZGVuOiBhbnksIG9wZXJhdG9yOiBhbnkpIHtcclxuICAgIGlmIChpc0hpZGRlbikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBsZXQgaXNTaG93ID0gZmFsc2U7XHJcbiAgICBpZiAoIW9wZXJhdG9yIHx8IG9wZXJhdG9yID09IG51bGwgfHwgb3BlcmF0b3IgPT0gXCJcIikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAob3BlcmF0b3IuaW5kZXhPZignJiYnKSA+IDApIHtcclxuICAgICAgLy8gYXxlcXxiICYmY3xlcXxkXHJcbiAgICAgIGNvbnN0IG9wcyA9IG9wZXJhdG9yLnNwbGl0KCcmJicpO1xyXG4gICAgICBpZiAob3BzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3BzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpc1Nob3cgPSB0cnVlXHJcbiAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tJc1Nob3dCYXNlKG9wc1tpXS5zcGxpdCgnfCcpKSkge1xyXG4gICAgICAgICAgICBpc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG9wZXJhdG9yLmluZGV4T2YoJ3x8JykgPiAwKSB7XHJcbiAgICAgIC8vIGF8ZXF8Ynx8Y3xlcXxkXHJcbiAgICAgIGNvbnN0IG9wcyA9IG9wZXJhdG9yLnNwbGl0KCcmJicpO1xyXG4gICAgICBpZiAob3BzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaXNTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICBpZiAodGhpcy5jaGVja0lzU2hvd0Jhc2Uob3BzW2ldLnNwbGl0KCd8JykpKSB7XHJcbiAgICAgICAgICAgIGlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9wID0gb3BlcmF0b3Iuc3BsaXQoXCJ8XCIpO1xyXG4gICAgICBpc1Nob3cgPSB0aGlzLmNoZWNrSXNTaG93QmFzZShvcCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNTaG93O1xyXG4gIH1cclxuXHJcbiAgY2hlY2tJc1Nob3dCYXNlKG9wOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCBpc1Nob3cgPSBmYWxzZTtcclxuICAgIGlmIChvcC5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGxldCB2YWx1ZSA9IHRoaXMuYXRyRm9ybS5nZXQob3BbMF0pLnZhbHVlO1xyXG4gICAgICBpc1Nob3cgPSB0aGlzLmNvbXBhcmUodmFsdWUsIG9wWzFdLCBvcFsyXSlcclxuICAgIH0gZWxzZVxyXG4gICAgICBpc1Nob3cgPSBmYWxzZTtcclxuXHJcbiAgICByZXR1cm4gaXNTaG93O1xyXG4gIH1cclxuXHJcbiAgY29tcGFyZSh2YWx1ZTogYW55LCBvcGVyYXRvcjogYW55LCB0YXJnZXQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzUmlnaHQgPSBmYWxzZTtcclxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcclxuICAgICAgY2FzZSAnZXEnIDpcclxuICAgICAgICBpZiAodmFsdWUgPT0gdGFyZ2V0KSB7XHJcbiAgICAgICAgICBpc1JpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2doJyA6XHJcbiAgICAgICAgaWYgKHZhbHVlID49IHRhcmdldCkge1xyXG4gICAgICAgICAgaXNSaWdodCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdub3RFbXB0eSc6XHJcbiAgICAgICAgaXNSaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgaXNSaWdodCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdlbXB0eSc6XHJcbiAgICAgICAgaXNSaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgIGlzUmlnaHQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdCA6XHJcbiAgICAgICAgaXNSaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzUmlnaHQ7XHJcbiAgfVxyXG5cclxuICBnZXRDYXNjYWRlckxhYmVsKHZhbHVlOiBhbnksIGl0ZW06IGFueSkge1xyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMuZ2V0Q2FzY2FkZXJEZWZ1bHRWKGl0ZW0uZGljdExpc3QsIHZhbHVlLCAwLCBbXSk7XHJcbiAgICBpZiAoaXRlbS5kaWN0TGlzdFswXS51c2VyT2JqZWN0Py5zaG93TmFtZSkge1xyXG4gICAgICByZXR1cm4gcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSB8fCB2YWx1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQgfHwgdmFsdWVcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdENMYWJlbCh2YWx1ZTogYW55LCBhcnI6IGFueSwga2V5ID0gJ2tleScsIHZhbHVlS2V5ID0gJ3ZhbHVlJykge1xyXG4gICAgaWYgKFRvb2xzVXRpbC5pc0VtcHR5KHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gJydcclxuICAgIH1cclxuICAgIGxldCByZXN1bHQgPSBhcnIuZmlsdGVyKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgaWYgKFRvb2xzVXRpbC5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5zb21lKCh2OiBhbnkpID0+IGl0ZW1ba2V5XSA9PSB2KVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB2YWx1ZSA9PSBpdGVtW2tleV1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gcmVzdWx0ICYmIHJlc3VsdC5sZW5ndGggPiAwID8gcmVzdWx0Lm1hcCgodjogYW55KSA9PiB2W3ZhbHVlS2V5XSkuam9pbihcIixcIikgOiByZXN1bHRbdmFsdWVLZXldO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0TGFiZWwodmFsdWU6IGFueSwgYXJyOiBhbnkpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKHZhbHVlLCBhcnIpXHJcbiAgICBsZXQgcmVzdWx0ID0gYXJyLmZpbHRlcigoaXRlbTogYW55KSA9PiB2YWx1ZSA9PSBpdGVtLmtleSB8fCB2YWx1ZSA9PSBpdGVtLmlkKVxyXG4gICAgcmV0dXJuIHJlc3VsdCAmJiByZXN1bHQubGVuZ3RoID4gMCA/IChyZXN1bHRbMF0udGl0bGUgfHwgcmVzdWx0WzBdLnR5cGVOYW1lKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFnTGFiZWwodmFsdWU6IGFueSwga2V5ID0gJ2xhYmVsJykge1xyXG4gICAgcmV0dXJuIHZhbHVlID8gdmFsdWUubWFwKCh2OiBhbnkpID0+IHZba2V5XSkuam9pbigpIDogJydcclxuICB9XHJcblxyXG4gIGdldENhc2NhZGVyRGVmdWx0VihkaWN0TGlzdDogYW55LCB2YWx1ZTogYW55LCBpbmRleDogYW55LCByZXN1bHQ6IGFueSkge1xyXG4gICAgZGljdExpc3QuZm9yRWFjaCgodjogYW55KSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZVtpbmRleF0gPT0gdi52YWx1ZSkge1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKHYudmFsdWUpXHJcbiAgICAgICAgaWYgKHYuY2hpbGRyZW4pIHtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2FzY2FkZXJEZWZ1bHRWKHYuY2hpbGRyZW4sIHZhbHVlLCBpbmRleCArIDEsIHJlc3VsdClcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSlcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBnZXRJbWdzKGltZ3M6IGFueSkge1xyXG4gICAgaWYgKCFpbWdzKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiBpbWdzLnNwbGl0KCcsJylcclxuICB9XHJcbn1cclxuIiwiPG56LWRlc2NyaXB0aW9ucyAgW256Q29sdW1uXT1cImNvbHVtblwiIG56Qm9yZGVyZWQgW256Q29sb25dPVwidHJ1ZVwiIFtuekNvbHVtbl09XCIyNFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmb3JtT3B0cy5pdGVtc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5pc0hpZGRlblwiPlxyXG4gICAgICAgICAgICA8bnotZGVzY3JpcHRpb25zLWl0ZW0gW256VGl0bGVdPVwiaXRlbS5sYWJlbFwiIFtuZ1N3aXRjaF09XCJpdGVtLnR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3coaXRlbS5pc0hpZGRlbixpdGVtLm9wZXJhdG9yKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbnpTcGFuXT1cIml0ZW0uc3BhbiB8fCA2XCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbyBvZiBpdGVtLmRpY3RMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCAgKm5nSWY9XCJvLnZhbHVlID09IGF0ckZvcm0udmFsdWVbaXRlbS5rZXldXCI+e3tvLmxhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndHJlZVNlbGVjdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bnotdHJlZS1zZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuek5vZGVzXT1cIml0ZW0udHJlZUxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnpTaG93U2VhcmNoPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuekhpZGVVbk1hdGNoZWQ9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYXRyRm9ybS52YWx1ZVtpdGVtLmtleV1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW256RGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbnotdHJlZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7Z2V0U2VsZWN0TGFiZWwoYXRyRm9ybS52YWx1ZVtpdGVtLmtleV0sZGljdHNbaXRlbS5kaWN0Q29kZV0pfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdEN1cydcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2dldFNlbGVjdExhYmVsKGF0ckZvcm0udmFsdWVbaXRlbS5rZXldLGl0ZW0uZGljdExpc3QpfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdGMnXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7Z2V0U2VsZWN0Q0xhYmVsKGF0ckZvcm0udmFsdWVbaXRlbS5rZXldLGl0ZW0uZGljdExpc3QsJ3ZhbHVlJywnbGFiZWwnKX19XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgIDxuei1zZWxlY3QtLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbnpEaXNhYmxlZF09XCJ0cnVlXCItLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImF0ckZvcm0udmFsdWVbaXRlbS5rZXldXCItLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgPi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBpdGVtLmRpY3RMaXN0XCIgW256TGFiZWxdPVwiby5sYWJlbFwiLS0+XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuelZhbHVlXT1cIm8udmFsdWVcIj48L256LW9wdGlvbj4tLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgPC9uei1zZWxlY3Q+LS0+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzY2VuZVVzZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG56LXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW256RGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImF0ckZvcm0udmFsdWVbaXRlbS5rZXldXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuei1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2YgaXRlbS5kaWN0TGlzdFwiIFtuekxhYmVsXT1cIm8udGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuelZhbHVlXT1cIm8ua2V5XCI+PC9uei1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uei1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICAgICAge3thdHJGb3JtLnZhbHVlW2l0ZW0ua2V5XX19XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7YXRyRm9ybS52YWx1ZVtpdGVtLmtleV0gfCBkYXRlOihpdGVtLmRhdGVGb3JtYXQgfHwgJ3l5eXktTU0tZGQnKX19XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlVGltZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2F0ckZvcm0udmFsdWVbaXRlbS5rZXldIHwgZGF0ZTooaXRlbS5kYXRlRm9ybWF0IHx8ICd5eXl5LU1NLWRkIDAwOjAwOjAwJyl9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2FzY2FkZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tnZXRDYXNjYWRlckxhYmVsKGF0ckZvcm0udmFsdWVbaXRlbS5rZXldLGl0ZW0pfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RhZ3MnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tnZXRUYWdMYWJlbChhdHJGb3JtLnZhbHVlW2l0ZW0ua2V5XSwgJ25hbWUnKX19XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWcgb2YgZ2V0SW1ncyhhdHJGb3JtLnZhbHVlW2l0ZW0ua2V5XSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgICpuZ0lmPVwiIWltZy5lbmRzV2l0aCgnLm1wNCcpXCIgbnotaW1hZ2UgIHN0eWxlPVwibWF4LXdpZHRoOiAyMDBweDttYXgtaGVpZ2h0OiAyMDBweFwiIFtuelNyY109XCJpbWcgfCBvc3NJbWdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdmlkZW8gKm5nSWY9XCJpbWcuZW5kc1dpdGgoJy5tcDQnKVwiIHN0eWxlPVwibWF4LXdpZHRoOiAyMDBweDttYXgtaGVpZ2h0OiAyMDBweFwiICBbdXJsXT1cImltZyB8IG9zc0ltZ1wiPjwvYXBwLXZpZGVvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG56LXJhdGUgW256RGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhdHJGb3JtLnZhbHVlW2l0ZW0ua2V5XVwiPjwvbnotcmF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2VkaXRvcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXF1aWxsLWVkaXRvciBbKG5nTW9kZWwpXT1cImF0ckZvcm0udmFsdWVbaXRlbS5rZXldXCIgc3R5bGU9XCJ3aWR0aDogNjAlXCIgW3JlYWRPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVzXT1cIntoZWlnaHQ6aXRlbS5oZWlnaHQgPiAwID8gaXRlbS5oZWlnaHQgKyAncHgnIDogJzI1MHB4J31cIj48L2FwcC1xdWlsbC1lZGl0b3I+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8L256LWRlc2NyaXB0aW9ucy1pdGVtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuPC9uei1kZXNjcmlwdGlvbnM+XHJcbiJdfQ==