@hitsoft/kadooglu-keops 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/enums/route-names.d.ts +2 -1
- package/esm2020/config/enums/route-names.mjs +1 -1
- package/esm2020/config/providers/route.provider.mjs +10 -1
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +12 -10
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-results.component.mjs +3 -3
- package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +86 -31
- package/esm2020/lib/features/cost-calculation/engine/currency.utils.mjs +10 -10
- package/esm2020/lib/features/cost-calculation/engine/formulas.mjs +10 -10
- package/esm2020/lib/features/cost-calculation/engine/item-resolver.mjs +16 -16
- package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +8 -8
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.mjs +3 -7
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.mjs +4 -14
- package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +5 -6
- package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +7 -10
- package/esm2020/lib/features/item-classifications/components/item-classifications.component.mjs +199 -0
- package/esm2020/lib/features/item-classifications/hit-item-classifications-routing.module.mjs +29 -0
- package/esm2020/lib/features/item-classifications/hit-item-classifications.module.mjs +60 -0
- package/esm2020/lib/features/price-parameters/components/price-parameter-form-items.component.mjs +6 -6
- package/esm2020/lib/features/price-parameters/components/price-parameter-form-price-lists.component.mjs +6 -6
- package/esm2020/lib/features/price-parameters/components/price-parameter-form.component.mjs +114 -46
- package/esm2020/lib/features/price-parameters/components/price-parameter-price-update-preview-modal.component.mjs +26 -0
- package/esm2020/lib/features/price-parameters/components/price-parameters.component.mjs +24 -17
- package/esm2020/lib/features/price-parameters/hit-price-parameters.module.mjs +5 -2
- package/esm2020/lib/features/price-parameters/price-parameter-cost-match.service.mjs +3 -3
- package/esm2020/lib/features/price-parameters/price-parameter-form-data.service.mjs +1 -2
- package/esm2020/lib/features/price-parameters/price-parameter-lookups.service.mjs +5 -10
- package/esm2020/lib/features/price-parameters/price-parameter-price-update.service.mjs +119 -0
- package/esm2020/lib/features/settings/components/cost-settings.component.mjs +8 -4
- package/esm2020/lib/kadooglu-keops-routing.module.mjs +3 -1
- package/esm2020/lib/shared/amount-currency-input/amount-currency-input.component.mjs +5 -3
- package/esm2020/lib/shared/cost-item-classification.utils.mjs +5 -2
- package/esm2020/lib/utils/business-region.utils.mjs +12 -0
- package/esm2020/lib/utils/currency.utils.mjs +3 -1
- package/esm2020/proxy/business-region.enum.mjs +9 -0
- package/esm2020/proxy/controllers/index.mjs +2 -1
- package/esm2020/proxy/controllers/item-classification.service.mjs +42 -0
- package/esm2020/proxy/controllers/item.service.mjs +7 -3
- package/esm2020/proxy/controllers/price-list.service.mjs +5 -5
- package/esm2020/proxy/controllers/price-parameter.service.mjs +6 -1
- package/esm2020/proxy/cost-parameter-categories/dtos/models.mjs +1 -1
- package/esm2020/proxy/cost-parameters/dtos/models.mjs +1 -1
- package/esm2020/proxy/item-classifications/dtos/index.mjs +2 -0
- package/esm2020/proxy/item-classifications/dtos/models.mjs +2 -0
- package/esm2020/proxy/price-parameters/dtos/models.mjs +1 -1
- package/esm2020/proxy/public-api.mjs +3 -2
- package/esm2020/proxy/settings/models.mjs +1 -1
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs +9 -0
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -1
- package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs +63 -14
- package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
- package/fesm2015/hitsoft-kadooglu-keops.mjs +795 -287
- package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -1
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs +9 -0
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -1
- package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs +63 -14
- package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
- package/fesm2020/hitsoft-kadooglu-keops.mjs +776 -272
- package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -1
- package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +9 -7
- package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +16 -8
- package/lib/features/cost-calculation/engine/currency.utils.d.ts +2 -2
- package/lib/features/cost-calculation/engine/formulas.d.ts +2 -2
- package/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.d.ts +0 -1
- package/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.d.ts +1 -5
- package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +2 -2
- package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +1 -2
- package/lib/features/item-classifications/components/item-classifications.component.d.ts +66 -0
- package/lib/features/item-classifications/hit-item-classifications-routing.module.d.ts +7 -0
- package/lib/features/item-classifications/hit-item-classifications.module.d.ts +17 -0
- package/lib/features/price-parameters/components/price-parameter-form-items.component.d.ts +3 -3
- package/lib/features/price-parameters/components/price-parameter-form-price-lists.component.d.ts +3 -3
- package/lib/features/price-parameters/components/price-parameter-form.component.d.ts +16 -9
- package/lib/features/price-parameters/components/price-parameter-price-update-preview-modal.component.d.ts +11 -0
- package/lib/features/price-parameters/components/price-parameters.component.d.ts +5 -2
- package/lib/features/price-parameters/hit-price-parameters.module.d.ts +12 -11
- package/lib/features/price-parameters/price-parameter-cost-match.service.d.ts +2 -2
- package/lib/features/price-parameters/price-parameter-form-data.service.d.ts +0 -1
- package/lib/features/price-parameters/price-parameter-lookups.service.d.ts +0 -1
- package/lib/features/price-parameters/price-parameter-price-update.service.d.ts +30 -0
- package/lib/shared/amount-currency-input/amount-currency-input.component.d.ts +2 -2
- package/lib/shared/cost-item-classification.utils.d.ts +5 -1
- package/lib/utils/business-region.utils.d.ts +7 -0
- package/lib/utils/currency.utils.d.ts +1 -0
- package/package.json +1 -1
- package/proxy/business-region.enum.d.ts +6 -0
- package/proxy/controllers/index.d.ts +1 -0
- package/proxy/controllers/item-classification.service.d.ts +17 -0
- package/proxy/controllers/item.service.d.ts +3 -1
- package/proxy/controllers/price-list.service.d.ts +3 -2
- package/proxy/controllers/price-parameter.service.d.ts +2 -1
- package/proxy/cost-parameter-categories/dtos/models.d.ts +0 -4
- package/proxy/cost-parameters/dtos/models.d.ts +4 -3
- package/proxy/item-classifications/dtos/index.d.ts +1 -0
- package/proxy/item-classifications/dtos/models.d.ts +34 -0
- package/proxy/price-parameters/dtos/models.d.ts +38 -12
- package/proxy/public-api.d.ts +2 -1
- package/proxy/settings/models.d.ts +1 -0
- package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +0 -6
- package/esm2020/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +0 -8
- package/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.d.ts +0 -2
- package/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +0 -5
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import { Confirmation } from '@abp/ng.theme.shared';
|
|
3
|
-
import { parentCodeLabels } from '../cost-parameter-category-l10n-helper';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "@hitsoft/kadooglu-keops/proxy";
|
|
6
5
|
import * as i2 from "@abp/ng.theme.shared";
|
|
@@ -25,9 +24,6 @@ export class CostParameterCategoriesComponent {
|
|
|
25
24
|
ngOnInit() {
|
|
26
25
|
this.loadList();
|
|
27
26
|
}
|
|
28
|
-
getParentCodeLabel(value) {
|
|
29
|
-
return parentCodeLabels[value] ?? '';
|
|
30
|
-
}
|
|
31
27
|
loadList() {
|
|
32
28
|
this.service.getList().subscribe(data => {
|
|
33
29
|
this.items = data;
|
|
@@ -65,9 +61,9 @@ export class CostParameterCategoriesComponent {
|
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
63
|
CostParameterCategoriesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoriesComponent, deps: [{ token: i1.CostParameterCategoryService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
CostParameterCategoriesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterCategoriesComponent, selector: "lib-cost-parameter-categories", ngImport: i0, template: "<abp-page [title]=\"'Keops::CostParameterCategories:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParameterCategoriesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameterCategories:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParameterCategoriesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"parentCode\"\n cellTemplate=\"parentCodeTpl\"\n alignment=\"left\"\n caption=\"{{ 'Keops::CostParameterCategories:ParentCode' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'parentCodeTpl'\">\n {{ getParentCodeLabel(row.data.parentCode) | abpLocalization }}\n </div>\n </dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-cost-parameter-category-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-cost-parameter-category-form>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i5.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i5.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "directive", type: i6.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i6.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i6.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i6.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i9.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i10.CostParameterCategoryFormComponent, selector: "lib-cost-parameter-category-form", inputs: ["visible", "mode", "current"], outputs: ["visibleChange", "saved"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
64
|
+
CostParameterCategoriesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterCategoriesComponent, selector: "lib-cost-parameter-categories", ngImport: i0, template: "<abp-page [title]=\"'Keops::CostParameterCategories:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParameterCategoriesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameterCategories:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParameterCategoriesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\"\n ></dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-cost-parameter-category-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-cost-parameter-category-form>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i5.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i5.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "directive", type: i6.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i6.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i6.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i6.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i9.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i10.CostParameterCategoryFormComponent, selector: "lib-cost-parameter-category-form", inputs: ["visible", "mode", "current"], outputs: ["visibleChange", "saved"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
69
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoriesComponent, decorators: [{
|
|
70
66
|
type: Component,
|
|
71
|
-
args: [{ selector: 'lib-cost-parameter-categories', template: "<abp-page [title]=\"'Keops::CostParameterCategories:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParameterCategoriesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameterCategories:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParameterCategoriesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\"\n ></dxi-column>\n
|
|
67
|
+
args: [{ selector: 'lib-cost-parameter-categories', template: "<abp-page [title]=\"'Keops::CostParameterCategories:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParameterCategoriesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameterCategories:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParameterCategoriesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\"\n ></dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-cost-parameter-category-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-cost-parameter-category-form>\n" }]
|
|
72
68
|
}], ctorParameters: function () { return [{ type: i1.CostParameterCategoryService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLHNCQUFzQixDQUFDO0FBS3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFNMUUsTUFBTSxPQUFPLGdDQUFnQztJQU8zQyxZQUNtQixPQUFxQyxFQUNyQyxPQUF1QixFQUN2QixZQUFpQztRQUZqQyxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUNyQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFUcEQsVUFBSyxHQUErQixFQUFFLENBQUM7UUFFdkMsYUFBUSxHQUFvQyxJQUFJLENBQUM7UUFDakQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFzQixRQUFRLENBQUM7SUFNcEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFzQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBNkI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQTZCO1FBQ2xDLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLG1CQUFtQixDQUFDO2FBQzVELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdkMsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO3dCQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzZIQTNEVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyxxRUNaN0MsMm5JQStHQTsyRkRuR2EsZ0NBQWdDO2tCQUo1QyxTQUFTOytCQUNFLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgQ29zdFBhcmFtZXRlckNhdGVnb3J5U2VydmljZSxcclxuICBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8sXHJcbn0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgeyBwYXJlbnRDb2RlTGFiZWxzIH0gZnJvbSAnLi4vY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktbDEwbi1oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29zdFBhcmFtZXRlckNhdGVnb3JpZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGl0ZW1zOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG9bXSA9IFtdO1xyXG5cclxuICBzZWxlY3RlZDogQ29zdFBhcmFtZXRlckNhdGVnb3J5RHRvIHwgbnVsbCA9IG51bGw7XHJcbiAgZm9ybVZpc2libGUgPSBmYWxzZTtcclxuICBmb3JtTW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IENvc3RQYXJhbWV0ZXJDYXRlZ29yeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldFBhcmVudENvZGVMYWJlbCh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBwYXJlbnRDb2RlTGFiZWxzW3ZhbHVlIGFzIGtleW9mIHR5cGVvZiBwYXJlbnRDb2RlTGFiZWxzXSA/PyAnJztcclxuICB9XHJcblxyXG4gIGxvYWRMaXN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldExpc3QoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBkYXRhO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuQ3JlYXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XHJcbiAgICB0aGlzLmZvcm1Nb2RlID0gJ2NyZWF0ZSc7XHJcbiAgICB0aGlzLmZvcm1WaXNpYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9wZW5FZGl0KHJvdzogQ29zdFBhcmFtZXRlckNhdGVnb3J5RHRvKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gcm93O1xyXG4gICAgdGhpcy5mb3JtTW9kZSA9ICdlZGl0JztcclxuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25TYXZlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybVZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlTYXZlZCcpO1xyXG4gICAgdGhpcy5sb2FkTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKHJvdzogQ29zdFBhcmFtZXRlckNhdGVnb3J5RHRvKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAud2FybignQWJwVWk6Okl0ZW1XaWxsQmVEZWxldGVkTWVzc2FnZScsICdBYnBVaTo6QXJlWW91U3VyZScpXHJcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUocm93LmNvZGUhKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkTGlzdCgpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOlRpdGxlJyB8IGFicExvY2FsaXphdGlvblwiPlxuICA8YWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXIgY2xhc3M9XCJjb2xcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgbXgtMFwiIGlkPVwiQ29zdFBhcmFtZXRlckNhdGVnb3JpZXNUb29sYmFyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcHgtMSBwdC0wIHB0LW1kLTIgcGUtMFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKmFicFBlcm1pc3Npb249XCInS2VvcHNDb3N0LkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzLkNyZWF0ZSdcIlxuICAgICAgICAgIGlkPVwiY3JlYXRlXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5DcmVhdGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgbWUtMVwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj57eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOk5ldycgfCBhYnBMb2NhbGl6YXRpb24gfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XG5cbiAgPGRpdiBpZD1cIkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzV3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XG4gICAgICAgIDxkeC1kYXRhLWdyaWRcbiAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcbiAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxuICAgICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcbiAgICAgICAgICBbcm93QWx0ZXJuYXRpb25FbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1zXCJcbiAgICAgICAgICBrZXlFeHByPVwiY29kZVwiXG4gICAgICAgICAgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cbiAgICAgICAgICA8ZHhvLWhlYWRlci1maWx0ZXIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XG4gICAgICAgICAgPGR4by1zZWFyY2gtcGFuZWxcbiAgICAgICAgICAgIFt3aWR0aF09XCIyMDBcIlxuICAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpTZWFyY2gnIHwgYWJwTG9jYWxpemF0aW9uXCJcbiAgICAgICAgICA+PC9keG8tc2VhcmNoLXBhbmVsPlxuICAgICAgICAgIDxkeG8tcGFnZXJcbiAgICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxuICAgICAgICAgICAgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzEwLCAyMCwgNTBdXCJcbiAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvZHhvLXBhZ2VyPlxuICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cbiAgICAgICAgICA8ZHhpLWNvbHVtblxuICAgICAgICAgICAgW2ZpeGVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd0hlYWRlckZpbHRlcmluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICBbYWxsb3dSZW9yZGVyaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd0hpZGluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICBbYWxsb3dHcm91cGluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICBbYWxsb3dTb3J0aW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cIm9wdFRwbFwiXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXG4gICAgICAgICAgICB3aWR0aD1cIjEyMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCByb3cgb2YgJ29wdFRwbCdcIj5cbiAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgbmdiRHJvcGRvd25Ub2dnbGU+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZyBtZS0xXCI+PC9pPlxuICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0Nvc3QuQ29zdFBhcmFtZXRlckNhdGVnb3JpZXMuVXBkYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkVkaXQocm93LmRhdGEpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzQ29zdC5Db3N0UGFyYW1ldGVyQ2F0ZWdvcmllcy5EZWxldGUnXCJcbiAgICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmUocm93LmRhdGEpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpEZWxldGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XG4gICAgICAgICAgPGR4aS1jb2x1bW5cbiAgICAgICAgICAgIGRhdGFGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgPGR4aS1jb2x1bW5cbiAgICAgICAgICAgIGRhdGFGaWVsZD1cInBhcmVudENvZGVcIlxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwicGFyZW50Q29kZVRwbFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJsZWZ0XCJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOlBhcmVudENvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAncGFyZW50Q29kZVRwbCdcIj5cbiAgICAgICAgICAgICAge3sgZ2V0UGFyZW50Q29kZUxhYmVsKHJvdy5kYXRhLnBhcmVudENvZGUpIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XG4gICAgICAgIDwvZHgtZGF0YS1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hYnAtcGFnZT5cblxuPGxpYi1jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtXG4gICpuZ0lmPVwiZm9ybVZpc2libGVcIlxuICBbKHZpc2libGUpXT1cImZvcm1WaXNpYmxlXCJcbiAgW21vZGVdPVwiZm9ybU1vZGVcIlxuICBbY3VycmVudF09XCJzZWxlY3RlZFwiXG4gIChzYXZlZCk9XCJvblNhdmVkKClcIlxuPjwvbGliLWNvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm0+XG4iXX0=
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7QUFVekYsTUFBTSxPQUFPLGdDQUFnQztJQU8zQyxZQUNtQixPQUFxQyxFQUNyQyxPQUF1QixFQUN2QixZQUFpQztRQUZqQyxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUNyQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFUcEQsVUFBSyxHQUErQixFQUFFLENBQUM7UUFFdkMsYUFBUSxHQUFvQyxJQUFJLENBQUM7UUFDakQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFzQixRQUFRLENBQUM7SUFNcEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUE2QjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBNkI7UUFDbEMsSUFBSSxDQUFDLFlBQVk7YUFDZCxJQUFJLENBQUMsaUNBQWlDLEVBQUUsbUJBQW1CLENBQUM7YUFDNUQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUN2QyxJQUFJLEVBQUUsR0FBRyxFQUFFO3dCQUNULElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7d0JBQ25ELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEIsQ0FBQztpQkFDRixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7NkhBdkRVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLHFFQ1g3Qyw4c0hBcUdBOzJGRDFGYSxnQ0FBZ0M7a0JBSjVDLFNBQVM7K0JBQ0UsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uLCBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlTZXJ2aWNlLFxyXG4gIENvc3RQYXJhbWV0ZXJDYXRlZ29yeUR0byxcclxufSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXRlbXM6IENvc3RQYXJhbWV0ZXJDYXRlZ29yeUR0b1tdID0gW107XHJcblxyXG4gIHNlbGVjdGVkOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8gfCBudWxsID0gbnVsbDtcclxuICBmb3JtVmlzaWJsZSA9IGZhbHNlO1xyXG4gIGZvcm1Nb2RlOiAnY3JlYXRlJyB8ICdlZGl0JyA9ICdjcmVhdGUnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogQ29zdFBhcmFtZXRlckNhdGVnb3J5U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlcjogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZExpc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0TGlzdCgpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5pdGVtcyA9IGRhdGE7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5DcmVhdGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gbnVsbDtcclxuICAgIHRoaXMuZm9ybU1vZGUgPSAnY3JlYXRlJztcclxuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb3BlbkVkaXQocm93OiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSByb3c7XHJcbiAgICB0aGlzLmZvcm1Nb2RlID0gJ2VkaXQnO1xyXG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvblNhdmVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XHJcbiAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcygnQWJwVWk6OlN1Y2Nlc3NmdWxseVNhdmVkJyk7XHJcbiAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUocm93OiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8pOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uXHJcbiAgICAgIC53YXJuKCdBYnBVaTo6SXRlbVdpbGxCZURlbGV0ZWRNZXNzYWdlJywgJ0FicFVpOjpBcmVZb3VTdXJlJylcclxuICAgICAgLnN1YnNjcmliZShzdGF0dXMgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkge1xyXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShyb3cuY29kZSEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcygnQWJwVWk6OlN1Y2Nlc3NmdWxseURlbGV0ZWQnKTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLXBhZ2UgW3RpdGxlXT1cIidLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWVuZCBteC0wXCIgaWQ9XCJDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllc1Rvb2xiYXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBweC0xIHB0LTAgcHQtbWQtMiBwZS0wXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0Nvc3QuQ29zdFBhcmFtZXRlckNhdGVnb3JpZXMuQ3JlYXRlJ1wiXG4gICAgICAgICAgaWQ9XCJjcmVhdGVcIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkNyZWF0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cyBtZS0xXCI+PC9pPlxuICAgICAgICAgIDxzcGFuPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6TmV3JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cblxuICA8ZGl2IGlkPVwiQ29zdFBhcmFtZXRlckNhdGVnb3JpZXNXcmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgPGR4LWRhdGEtZ3JpZFxuICAgICAgICAgIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiXG4gICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxuICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiaXRlbXNcIlxuICAgICAgICAgIGtleUV4cHI9XCJjb2RlXCJcbiAgICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxuICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cbiAgICAgICAgICA8ZHhvLXNlYXJjaC1wYW5lbFxuICAgICAgICAgICAgW3dpZHRoXT1cIjIwMFwiXG4gICAgICAgICAgICBbdmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQWJwVWk6OlNlYXJjaCcgfCBhYnBMb2NhbGl6YXRpb25cIlxuICAgICAgICAgID48L2R4by1zZWFyY2gtcGFuZWw+XG4gICAgICAgICAgPGR4by1wYWdlclxuICAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJbMTAsIDIwLCA1MF1cIlxuICAgICAgICAgICAgW3Nob3dQYWdlU2l6ZVNlbGVjdG9yXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICA+PC9keG8tcGFnZXI+XG4gICAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cIjEwXCI+PC9keG8tcGFnaW5nPlxuICAgICAgICAgIDxkeGktY29sdW1uXG4gICAgICAgICAgICBbZml4ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd1Jlb3JkZXJpbmddPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2FsbG93SGlkaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd0dyb3VwaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd1NvcnRpbmddPVwiZmFsc2VcIlxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwib3B0VHBsXCJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTIwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnb3B0VHBsJ1wiPlxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiBuZ2JEcm9wZG93blRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29nIG1lLTFcIj48L2k+XG4gICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzQ29zdC5Db3N0UGFyYW1ldGVyQ2F0ZWdvcmllcy5VcGRhdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRWRpdChyb3cuZGF0YSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKmFicFBlcm1pc3Npb249XCInS2VvcHNDb3N0LkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzLkRlbGV0ZSdcIlxuICAgICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZShyb3cuZGF0YSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkRlbGV0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cbiAgICAgICAgICA8ZHhpLWNvbHVtblxuICAgICAgICAgICAgZGF0YUZpZWxkPVwibmFtZVwiXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXG4gICAgICAgICAgPjwvZHhpLWNvbHVtbj5cbiAgICAgICAgPC9keC1kYXRhLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2FicC1wYWdlPlxuXG48bGliLWNvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm1cbiAgKm5nSWY9XCJmb3JtVmlzaWJsZVwiXG4gIFsodmlzaWJsZSldPVwiZm9ybVZpc2libGVcIlxuICBbbW9kZV09XCJmb3JtTW9kZVwiXG4gIFtjdXJyZW50XT1cInNlbGVjdGVkXCJcbiAgKHNhdmVkKT1cIm9uU2F2ZWQoKVwiXG4+PC9saWItY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktZm9ybT5cbiJdfQ==
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
|
-
import { costParameterCategoryParentCodeOptions, } from '@hitsoft/kadooglu-keops/proxy';
|
|
4
|
-
import { parentCodeLabels } from '../cost-parameter-category-l10n-helper';
|
|
5
3
|
import * as i0 from "@angular/core";
|
|
6
4
|
import * as i1 from "@angular/forms";
|
|
7
5
|
import * as i2 from "@hitsoft/kadooglu-keops/proxy";
|
|
@@ -17,10 +15,6 @@ export class CostParameterCategoryFormComponent {
|
|
|
17
15
|
this.current = null;
|
|
18
16
|
this.visibleChange = new EventEmitter();
|
|
19
17
|
this.saved = new EventEmitter();
|
|
20
|
-
this.parentCodeOptions = costParameterCategoryParentCodeOptions.map(option => ({
|
|
21
|
-
value: option.value,
|
|
22
|
-
label: parentCodeLabels[option.value] ?? option.key,
|
|
23
|
-
}));
|
|
24
18
|
}
|
|
25
19
|
ngOnInit() {
|
|
26
20
|
this.buildForm();
|
|
@@ -33,7 +27,6 @@ export class CostParameterCategoryFormComponent {
|
|
|
33
27
|
buildForm() {
|
|
34
28
|
this.form = this.fb.group({
|
|
35
29
|
name: ['', Validators.required],
|
|
36
|
-
parentCode: [null, Validators.required],
|
|
37
30
|
});
|
|
38
31
|
this.resetForm();
|
|
39
32
|
}
|
|
@@ -43,11 +36,10 @@ export class CostParameterCategoryFormComponent {
|
|
|
43
36
|
if (this.mode === 'edit' && this.current) {
|
|
44
37
|
this.form.patchValue({
|
|
45
38
|
name: this.current.name ?? '',
|
|
46
|
-
parentCode: this.current.parentCode ?? null,
|
|
47
39
|
});
|
|
48
40
|
}
|
|
49
41
|
else {
|
|
50
|
-
this.form.reset({ name: ''
|
|
42
|
+
this.form.reset({ name: '' });
|
|
51
43
|
}
|
|
52
44
|
}
|
|
53
45
|
close() {
|
|
@@ -60,7 +52,6 @@ export class CostParameterCategoryFormComponent {
|
|
|
60
52
|
this.service
|
|
61
53
|
.create({
|
|
62
54
|
name: this.form.get('name')?.value,
|
|
63
|
-
parentCode: this.form.get('parentCode')?.value,
|
|
64
55
|
})
|
|
65
56
|
.subscribe({ next: () => this.saved.emit() });
|
|
66
57
|
}
|
|
@@ -68,17 +59,16 @@ export class CostParameterCategoryFormComponent {
|
|
|
68
59
|
this.service
|
|
69
60
|
.update(this.current.code, {
|
|
70
61
|
name: this.form.get('name')?.value,
|
|
71
|
-
parentCode: this.form.get('parentCode')?.value,
|
|
72
62
|
})
|
|
73
63
|
.subscribe({ next: () => this.saved.emit() });
|
|
74
64
|
}
|
|
75
65
|
}
|
|
76
66
|
}
|
|
77
67
|
CostParameterCategoryFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoryFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CostParameterCategoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
CostParameterCategoryFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterCategoryFormComponent, selector: "lib-cost-parameter-category-form", inputs: { visible: "visible", mode: "mode", current: "current" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostParameterCategories:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostParameterCategories:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costParameterCategoryForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n
|
|
68
|
+
CostParameterCategoryFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterCategoryFormComponent, selector: "lib-cost-parameter-category-form", inputs: { visible: "visible", mode: "mode", current: "current" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostParameterCategories:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostParameterCategories:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costParameterCategoryForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"close()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"form.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
|
|
79
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoryFormComponent, decorators: [{
|
|
80
70
|
type: Component,
|
|
81
|
-
args: [{ selector: 'lib-cost-parameter-category-form', template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostParameterCategories:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostParameterCategories:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costParameterCategoryForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n
|
|
71
|
+
args: [{ selector: 'lib-cost-parameter-category-form', template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostParameterCategories:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostParameterCategories:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costParameterCategoryForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"close()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"form.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
82
72
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CostParameterCategoryService }]; }, propDecorators: { visible: [{
|
|
83
73
|
type: Input
|
|
84
74
|
}], mode: [{
|
|
@@ -90,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
90
80
|
}], saved: [{
|
|
91
81
|
type: Output
|
|
92
82
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFJTCxzQ0FBc0MsR0FDdkMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7OztBQU0xRSxNQUFNLE9BQU8sa0NBQWtDO0lBZTdDLFlBQ21CLEVBQWUsRUFDZixPQUFxQztRQURyQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFoQi9DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsU0FBSSxHQUFzQixRQUFRLENBQUM7UUFDbkMsWUFBTyxHQUFvQyxJQUFJLENBQUM7UUFFL0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSWxDLHNCQUFpQixHQUFHLHNDQUFzQyxDQUFD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QUNFLGtDQUFrQzs2SUFJbkMsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlTZXJ2aWNlLFxyXG4gIENvc3RQYXJhbWV0ZXJDYXRlZ29yeUR0byxcclxuICBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlQYXJlbnRDb2RlLFxyXG4gIGNvc3RQYXJhbWV0ZXJDYXRlZ29yeVBhcmVudENvZGVPcHRpb25zLFxyXG59IGZyb20gJ0BoaXRzb2Z0L2thZG9vZ2x1LWtlb3BzL3Byb3h5JztcclxuaW1wb3J0IHsgcGFyZW50Q29kZUxhYmVscyB9IGZyb20gJy4uL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWwxMG4taGVscGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvc3RQYXJhbWV0ZXJDYXRlZ29yeUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1vZGU6ICdjcmVhdGUnIHwgJ2VkaXQnID0gJ2NyZWF0ZSc7XHJcbiAgQElucHV0KCkgY3VycmVudDogQ29zdFBhcmFtZXRlckNhdGVnb3J5RHRvIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuXHJcbiAgcmVhZG9ubHkgcGFyZW50Q29kZU9wdGlvbnMgPSBjb3N0UGFyYW1ldGVyQ2F0ZWdvcnlQYXJlbnRDb2RlT3B0aW9ucy5tYXAob3B0aW9uID0+ICh7XHJcbiAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxyXG4gICAgbGFiZWw6IHBhcmVudENvZGVMYWJlbHNbb3B0aW9uLnZhbHVlIGFzIENvc3RQYXJhbWV0ZXJDYXRlZ29yeVBhcmVudENvZGVdID8/IG9wdGlvbi5rZXksXHJcbiAgfSkpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3Zpc2libGUnXT8uY3VycmVudFZhbHVlICYmIHRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgbmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgcGFyZW50Q29kZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlc2V0Rm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEZvcm0oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdlZGl0JyAmJiB0aGlzLmN1cnJlbnQpIHtcclxuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIG5hbWU6IHRoaXMuY3VycmVudC5uYW1lID8/ICcnLFxyXG4gICAgICAgIHBhcmVudENvZGU6IHRoaXMuY3VycmVudC5wYXJlbnRDb2RlID8/IG51bGwsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtLnJlc2V0KHsgbmFtZTogJycsIHBhcmVudENvZGU6IG51bGwgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnY3JlYXRlJykge1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuY3JlYXRlKHtcclxuICAgICAgICAgIG5hbWU6IHRoaXMuZm9ybS5nZXQoJ25hbWUnKT8udmFsdWUsXHJcbiAgICAgICAgICBwYXJlbnRDb2RlOiB0aGlzLmZvcm0uZ2V0KCdwYXJlbnRDb2RlJyk/LnZhbHVlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN1YnNjcmliZSh7IG5leHQ6ICgpID0+IHRoaXMuc2F2ZWQuZW1pdCgpIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLnVwZGF0ZSh0aGlzLmN1cnJlbnQhLmNvZGUhLCB7XHJcbiAgICAgICAgICBuYW1lOiB0aGlzLmZvcm0uZ2V0KCduYW1lJyk/LnZhbHVlLFxyXG4gICAgICAgICAgcGFyZW50Q29kZTogdGhpcy5mb3JtLmdldCgncGFyZW50Q29kZScpPy52YWx1ZSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoeyBuZXh0OiAoKSA9PiB0aGlzLnNhdmVkLmVtaXQoKSB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFicC1tb2RhbCBbKHZpc2libGUpXT1cInZpc2libGVcIiAoZGlzYXBwZWFyKT1cImNsb3NlKClcIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJtb2RlID09PSAnY3JlYXRlJ1wiPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6Q3JlYXRlVGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm1vZGUgPT09ICdlZGl0J1wiPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6RWRpdFRpdGxlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgaWQ9XCJjb3N0UGFyYW1ldGVyQ2F0ZWdvcnlGb3JtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpQYXJlbnRDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXJlbnRDb2RlXCI+XHJcbiAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBoaWRkZW4+e3sgJ0tlb3BzOjpTZWxlY3RBbk9wdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwYXJlbnRDb2RlT3B0aW9uc1wiIFtuZ1ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxyXG4gICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcclxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBT3BFLE1BQU0sT0FBTyxrQ0FBa0M7SUFVN0MsWUFDbUIsRUFBZSxFQUNmLE9BQXFDO1FBRHJDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQVgvQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBQ25DLFlBQU8sR0FBb0MsSUFBSSxDQUFDO1FBRS9DLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQU94QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNoQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDOUIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE9BQU87aUJBQ1QsTUFBTSxDQUFDO2dCQUNOLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLO2FBQ25DLENBQUM7aUJBQ0QsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTztpQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFLLEVBQUU7Z0JBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLO2FBQ25DLENBQUM7aUJBQ0QsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQzs7K0hBaEVVLGtDQUFrQzttSEFBbEMsa0NBQWtDLDROQ2hCL0Msb3VDQWtDQTsyRkRsQmEsa0NBQWtDO2tCQUo5QyxTQUFTOytCQUNFLGtDQUFrQzs2SUFJbkMsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29zdFBhcmFtZXRlckNhdGVnb3J5U2VydmljZSwgQ29zdFBhcmFtZXRlckNhdGVnb3J5RHRvIH0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29zdFBhcmFtZXRlckNhdGVnb3J5Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcclxuICBASW5wdXQoKSBjdXJyZW50OiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3Zpc2libGUnXT8uY3VycmVudFZhbHVlICYmIHRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgbmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNldEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0pIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZWRpdCcgJiYgdGhpcy5jdXJyZW50KSB7XHJcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICBuYW1lOiB0aGlzLmN1cnJlbnQubmFtZSA/PyAnJyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm0ucmVzZXQoeyBuYW1lOiAnJyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdjcmVhdGUnKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5jcmVhdGUoe1xyXG4gICAgICAgICAgbmFtZTogdGhpcy5mb3JtLmdldCgnbmFtZScpPy52YWx1ZSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoeyBuZXh0OiAoKSA9PiB0aGlzLnNhdmVkLmVtaXQoKSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC51cGRhdGUodGhpcy5jdXJyZW50IS5jb2RlISwge1xyXG4gICAgICAgICAgbmFtZTogdGhpcy5mb3JtLmdldCgnbmFtZScpPy52YWx1ZSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoeyBuZXh0OiAoKSA9PiB0aGlzLnNhdmVkLmVtaXQoKSB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFicC1tb2RhbCBbKHZpc2libGUpXT1cInZpc2libGVcIiAoZGlzYXBwZWFyKT1cImNsb3NlKClcIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJtb2RlID09PSAnY3JlYXRlJ1wiPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6Q3JlYXRlVGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm1vZGUgPT09ICdlZGl0J1wiPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6RWRpdFRpdGxlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgaWQ9XCJjb3N0UGFyYW1ldGVyQ2F0ZWdvcnlGb3JtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcclxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG4iXX0=
|
|
@@ -5,6 +5,7 @@ import { CostItemCalculationType, CostParameterStatus, } from '@hitsoft/kadooglu
|
|
|
5
5
|
import { statusLabels } from '../cost-parameter-l10n-helper';
|
|
6
6
|
import { calculationTypeLabels } from '../../cost-items/cost-item-l10n-helper';
|
|
7
7
|
import { CURRENCY_OPTIONS } from '../../../utils/currency.utils';
|
|
8
|
+
import { BUSINESS_REGION_OPTIONS } from '../../../utils/business-region.utils';
|
|
8
9
|
import { isRateCostItem, isCustomCostItem } from '../../../shared/cost-item-classification.utils';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "@angular/forms";
|
|
@@ -29,13 +30,13 @@ export class CostParameterFormComponent {
|
|
|
29
30
|
this.mode = 'create';
|
|
30
31
|
this.current = null;
|
|
31
32
|
this.productGroupOptions = [];
|
|
32
|
-
this.regionOptions = [];
|
|
33
33
|
this.visibleChange = new EventEmitter();
|
|
34
34
|
this.saved = new EventEmitter();
|
|
35
35
|
this.saving = false;
|
|
36
36
|
this.costItems = [];
|
|
37
37
|
this.statusOptions = statusOptions;
|
|
38
38
|
this.currencyOptions = CURRENCY_OPTIONS;
|
|
39
|
+
this.regionOptions = BUSINESS_REGION_OPTIONS;
|
|
39
40
|
this.customLabel = calculationTypeLabels[CostItemCalculationType.Custom];
|
|
40
41
|
this.isRate = isRateCostItem;
|
|
41
42
|
this.isCustom = isCustomCostItem;
|
|
@@ -91,10 +92,10 @@ export class CostParameterFormComponent {
|
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
CostParameterFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CostParameterService }, { token: i2.CostItemService }, { token: i3.CostItemRowsBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
-
CostParameterFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterFormComponent, selector: "lib-cost-parameter-form", inputs: { visible: "visible", mode: "mode", current: "current", productGroupOptions: "productGroupOptions"
|
|
95
|
+
CostParameterFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterFormComponent, selector: "lib-cost-parameter-form", inputs: { visible: "visible", mode: "mode", current: "current", productGroupOptions: "productGroupOptions" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, ngImport: i0, template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'xl' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:Info' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div class=\"mb-3\">\r\n <label for=\"region\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Region' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"region\" class=\"form-select\" formControlName=\"region\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let region of regionOptions\" [ngValue]=\"region.value\">\r\n {{ region.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"productGroup\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:ProductGroup' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"productGroup\" class=\"form-select\" formControlName=\"productGroup\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let productGroup of productGroupOptions\" [ngValue]=\"productGroup.code\">\r\n {{ productGroup.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"status\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Status' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"status\" class=\"form-select\" formControlName=\"status\">\r\n <option *ngFor=\"let opt of statusOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"description\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Description' | abpLocalization }}\r\n </label>\r\n <textarea\r\n id=\"description\"\r\n class=\"form-control\"\r\n formControlName=\"description\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:ItemValues' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <table class=\"table table-sm align-middle\">\r\n <colgroup>\r\n <col style=\"width: 50%\" />\r\n <col style=\"width: 30%\" />\r\n <col style=\"width: 20%\" />\r\n </colgroup>\r\n <tbody formArrayName=\"items\">\r\n <tr *ngFor=\"let costItem of costItems; let i = index\" [formGroupName]=\"i\">\r\n <td>\r\n {{ costItem.name }}\r\n <span class=\"badge bg-info ms-1\" *ngIf=\"isCustom(costItem)\">\r\n {{ customLabel | abpLocalization }}\r\n </span>\r\n </td>\r\n <td>\r\n <input\r\n *ngIf=\"isCustom(costItem); else valueInput\"\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n disabled\r\n [placeholder]=\"'Keops::CostParameters:AutoCalculated' | abpLocalization\"\r\n />\r\n <ng-template #valueInput>\r\n <div class=\"input-group input-group-sm\">\r\n <input type=\"number\" class=\"form-control\" formControlName=\"value\" />\r\n <span class=\"input-group-text px-3\" *ngIf=\"isRate(costItem)\">%</span>\r\n </div>\r\n </ng-template>\r\n </td>\r\n <td>\r\n <select\r\n *ngIf=\"!isRate(costItem) && !isCustom(costItem)\"\r\n class=\"form-select form-select-sm\"\r\n formControlName=\"currency\"\r\n >\r\n <option *ngFor=\"let currency of currencyOptions\" [ngValue]=\"currency.value\">\r\n {{ currency.label }}\r\n </option>\r\n </select>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i5.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i6.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i6.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i6.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i7.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i7.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i7.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i7.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "component", type: i7.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
|
|
95
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterFormComponent, decorators: [{
|
|
96
97
|
type: Component,
|
|
97
|
-
args: [{ selector: 'lib-cost-parameter-form', template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'xl' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:Info' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div class=\"mb-3\">\r\n <label for=\"region\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Region' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"region\" class=\"form-select\" formControlName=\"region\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let region of regionOptions\" [ngValue]=\"region.
|
|
98
|
+
args: [{ selector: 'lib-cost-parameter-form', template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'xl' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:Info' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div class=\"mb-3\">\r\n <label for=\"region\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Region' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"region\" class=\"form-select\" formControlName=\"region\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let region of regionOptions\" [ngValue]=\"region.value\">\r\n {{ region.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"productGroup\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:ProductGroup' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"productGroup\" class=\"form-select\" formControlName=\"productGroup\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let productGroup of productGroupOptions\" [ngValue]=\"productGroup.code\">\r\n {{ productGroup.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"status\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Status' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"status\" class=\"form-select\" formControlName=\"status\">\r\n <option *ngFor=\"let opt of statusOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"description\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Description' | abpLocalization }}\r\n </label>\r\n <textarea\r\n id=\"description\"\r\n class=\"form-control\"\r\n formControlName=\"description\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:ItemValues' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <table class=\"table table-sm align-middle\">\r\n <colgroup>\r\n <col style=\"width: 50%\" />\r\n <col style=\"width: 30%\" />\r\n <col style=\"width: 20%\" />\r\n </colgroup>\r\n <tbody formArrayName=\"items\">\r\n <tr *ngFor=\"let costItem of costItems; let i = index\" [formGroupName]=\"i\">\r\n <td>\r\n {{ costItem.name }}\r\n <span class=\"badge bg-info ms-1\" *ngIf=\"isCustom(costItem)\">\r\n {{ customLabel | abpLocalization }}\r\n </span>\r\n </td>\r\n <td>\r\n <input\r\n *ngIf=\"isCustom(costItem); else valueInput\"\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n disabled\r\n [placeholder]=\"'Keops::CostParameters:AutoCalculated' | abpLocalization\"\r\n />\r\n <ng-template #valueInput>\r\n <div class=\"input-group input-group-sm\">\r\n <input type=\"number\" class=\"form-control\" formControlName=\"value\" />\r\n <span class=\"input-group-text px-3\" *ngIf=\"isRate(costItem)\">%</span>\r\n </div>\r\n </ng-template>\r\n </td>\r\n <td>\r\n <select\r\n *ngIf=\"!isRate(costItem) && !isCustom(costItem)\"\r\n class=\"form-select form-select-sm\"\r\n formControlName=\"currency\"\r\n >\r\n <option *ngFor=\"let currency of currencyOptions\" [ngValue]=\"currency.value\">\r\n {{ currency.label }}\r\n </option>\r\n </select>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
98
99
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CostParameterService }, { type: i2.CostItemService }, { type: i3.CostItemRowsBuilder }]; }, propDecorators: { visible: [{
|
|
99
100
|
type: Input
|
|
100
101
|
}], mode: [{
|
|
@@ -103,11 +104,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
103
104
|
type: Input
|
|
104
105
|
}], productGroupOptions: [{
|
|
105
106
|
type: Input
|
|
106
|
-
}], regionOptions: [{
|
|
107
|
-
type: Input
|
|
108
107
|
}], visibleChange: [{
|
|
109
108
|
type: Output
|
|
110
109
|
}], saved: [{
|
|
111
110
|
type: Output
|
|
112
111
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVycy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LXBhcmFtZXRlcnMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUlMLHVCQUF1QixFQUV2QixtQkFBbUIsR0FFcEIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7Ozs7QUFHbEcsTUFBTSxhQUFhLEdBQUc7SUFDcEIsbUJBQW1CLENBQUMsVUFBVTtJQUM5QixtQkFBbUIsQ0FBQyxNQUFNO0lBQzFCLG1CQUFtQixDQUFDLE9BQU87Q0FDNUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxD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QUssQ0FBQyxDQUFDO1FBQy9FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUhBdkZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDBRQzVCdkMsa3ZMQXlJQTsyRkQ3R2EsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHlCQUF5QjtxTUFJMUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQ29zdEl0ZW1TZXJ2aWNlLFxyXG4gIENvc3RQYXJhbWV0ZXJTZXJ2aWNlLFxyXG4gIENvc3RJdGVtRHRvLFxyXG4gIENvc3RJdGVtQ2FsY3VsYXRpb25UeXBlLFxyXG4gIENvc3RQYXJhbWV0ZXJEdG8sXHJcbiAgQ29zdFBhcmFtZXRlclN0YXR1cyxcclxuICBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8sXHJcbn0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgeyBzdGF0dXNMYWJlbHMgfSBmcm9tICcuLi9jb3N0LXBhcmFtZXRlci1sMTBuLWhlbHBlcic7XHJcbmltcG9ydCB7IGNhbGN1bGF0aW9uVHlwZUxhYmVscyB9IGZyb20gJy4uLy4uL2Nvc3QtaXRlbXMvY29zdC1pdGVtLWwxMG4taGVscGVyJztcclxuaW1wb3J0IHsgQ1VSUkVOQ1lfT1BUSU9OUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2N1cnJlbmN5LnV0aWxzJztcclxuaW1wb3J0IHsgaXNSYXRlQ29zdEl0ZW0sIGlzQ3VzdG9tQ29zdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29zdC1pdGVtLWNsYXNzaWZpY2F0aW9uLnV0aWxzJztcclxuaW1wb3J0IHsgQ29zdEl0ZW1Sb3dzQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3N0LWl0ZW0tcm93cy5idWlsZGVyJztcclxuXHJcbmNvbnN0IHN0YXR1c09wdGlvbnMgPSBbXHJcbiAgQ29zdFBhcmFtZXRlclN0YXR1cy5JblByb2dyZXNzLFxyXG4gIENvc3RQYXJhbWV0ZXJTdGF0dXMuQWN0aXZlLFxyXG4gIENvc3RQYXJhbWV0ZXJTdGF0dXMuUGFzc2l2ZSxcclxuXS5tYXAodmFsdWUgPT4gKHsgdmFsdWUsIGxhYmVsOiBzdGF0dXNMYWJlbHNbdmFsdWVdIH0pKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNvc3QtcGFyYW1ldGVyLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3N0LXBhcmFtZXRlci1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvc3RQYXJhbWV0ZXJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcclxuICBASW5wdXQoKSBjdXJyZW50OiBDb3N0UGFyYW1ldGVyRHRvIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgcHJvZHVjdEdyb3VwT3B0aW9uczogQ29zdFBhcmFtZXRlckNhdGVnb3J5RHRvW10gPSBbXTtcclxuICBASW5wdXQoKSByZWdpb25PcHRpb25zOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG9bXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgc2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGZvcm0hOiBGb3JtR3JvdXA7XHJcbiAgc2F2aW5nID0gZmFsc2U7XHJcbiAgY29zdEl0ZW1zOiBDb3N0SXRlbUR0b1tdID0gW107XHJcblxyXG4gIHJlYWRvbmx5IHN0YXR1c09wdGlvbnMgPSBzdGF0dXNPcHRpb25zO1xyXG4gIHJlYWRvbmx5IGN1cnJlbmN5T3B0aW9ucyA9IENVUlJFTkNZX09QVElPTlM7XHJcbiAgcmVhZG9ubHkgY3VzdG9tTGFiZWwgPSBjYWxjdWxhdGlvblR5cGVMYWJlbHNbQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUuQ3VzdG9tXTtcclxuICByZWFkb25seSBpc1JhdGUgPSBpc1JhdGVDb3N0SXRlbTtcclxuICByZWFkb25seSBpc0N1c3RvbSA9IGlzQ3VzdG9tQ29zdEl0ZW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IENvc3RQYXJhbWV0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3N0SXRlbVNlcnZpY2U6IENvc3RJdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm93c0J1aWxkZXI6IENvc3RJdGVtUm93c0J1aWxkZXIsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICByZWdpb246IFt0aGlzLmN1cnJlbnQ/LnJlZ2lvbiA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBwcm9kdWN0R3JvdXA6IFt0aGlzLmN1cnJlbnQ/LnByb2R1Y3RHcm91cCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBzdGF0dXM6IFt0aGlzLmN1cnJlbnQ/LnN0YXR1cyA/PyBDb3N0UGFyYW1ldGVyU3RhdHVzLkluUHJvZ3Jlc3MsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBbdGhpcy5jdXJyZW50Py5kZXNjcmlwdGlvbiA/PyAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDUxMildXSxcclxuICAgICAgaXRlbXM6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkQ29zdEl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXRlbXNBcnJheSgpOiBGb3JtQXJyYXkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2l0ZW1zJykgYXMgRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY3JlYXRlJ1xyXG4gICAgICA/ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6Q3JlYXRlVGl0bGUnXHJcbiAgICAgIDogJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpFZGl0VGl0bGUnO1xyXG4gIH1cclxuXHJcbiAgb25WaXNpYmxlQ2hhbmdlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IHtcclxuICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICBpdGVtczogdGhpcy5yb3dzQnVpbGRlci50b0lucHV0KHRoaXMuaXRlbXNBcnJheSksXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QkID1cclxuICAgICAgdGhpcy5tb2RlID09PSAnY3JlYXRlJ1xyXG4gICAgICAgID8gdGhpcy5zZXJ2aWNlLmNyZWF0ZShpbnB1dClcclxuICAgICAgICA6IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5jdXJyZW50IS5jb2RlISwgaW5wdXQpO1xyXG5cclxuICAgIHJlcXVlc3QkLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuc2F2aW5nID0gZmFsc2UpKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCgpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ29zdEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3N0SXRlbVNlcnZpY2UuZ2V0TGlzdCgpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5jb3N0SXRlbXMgPSBbLi4uZGF0YV0uc29ydCgoYSwgYikgPT4gKGEuZGlzcGxheU9yZGVyID8/IDApIC0gKGIuZGlzcGxheU9yZGVyID8/IDApKTtcclxuXHJcbiAgICAgIHRoaXMucm93c0J1aWxkZXIuYnVpbGQodGhpcy5pdGVtc0FycmF5LCB0aGlzLmNvc3RJdGVtcywgdGhpcy5jdXJyZW50Py5pdGVtcyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1tb2RhbFxyXG4gIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcbiAgKHZpc2libGVDaGFuZ2UpPVwib25WaXNpYmxlQ2hhbmdlKCRldmVudClcIlxyXG4gIFtidXN5XT1cInNhdmluZ1wiXHJcbiAgW29wdGlvbnNdPVwieyBzaXplOiAneGwnIH1cIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgdGl0bGUgfCBhYnBMb2NhbGl6YXRpb24gfX08L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgPHVsIG5nYk5hdiAjbmF2PVwibmdiTmF2XCIgY2xhc3M9XCJuYXYtdGFic1wiPlxyXG4gICAgICAgIDxsaSBuZ2JOYXZJdGVtPlxyXG4gICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOkluZm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lvblwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpSZWdpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJyZWdpb25cIiBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZm9ybUNvbnRyb2xOYW1lPVwicmVnaW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBoaWRkZW4+e3sgJ0tlb3BzOjpTZWxlY3RBbk9wdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHJlZ2lvbiBvZiByZWdpb25PcHRpb25zXCIgW25nVmFsdWVdPVwicmVnaW9uLmNvZGVcIj5cclxuICAgICAgICAgICAgICAgICAge3sgcmVnaW9uLm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInByb2R1Y3RHcm91cFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpQcm9kdWN0R3JvdXAnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJwcm9kdWN0R3JvdXBcIiBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZm9ybUNvbnRyb2xOYW1lPVwicHJvZHVjdEdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBoaWRkZW4+e3sgJ0tlb3BzOjpTZWxlY3RBbk9wdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHByb2R1Y3RHcm91cCBvZiBwcm9kdWN0R3JvdXBPcHRpb25zXCIgW25nVmFsdWVdPVwicHJvZHVjdEdyb3VwLmNvZGVcIj5cclxuICAgICAgICAgICAgICAgICAge3sgcHJvZHVjdEdyb3VwLm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXR1c1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpTdGF0dXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJzdGF0dXNcIiBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHQgb2Ygc3RhdHVzT3B0aW9uc1wiIFtuZ1ZhbHVlXT1cIm9wdC52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBvcHQubGFiZWwgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOkRlc2NyaXB0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICBpZD1cImRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIHJvd3M9XCIzXCJcclxuICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgIDxsaSBuZ2JOYXZJdGVtPlxyXG4gICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOkl0ZW1WYWx1ZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXNtIGFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICAgIDxjb2xncm91cD5cclxuICAgICAgICAgICAgICAgIDxjb2wgc3R5bGU9XCJ3aWR0aDogNTAlXCIgLz5cclxuICAgICAgICAgICAgICAgIDxjb2wgc3R5bGU9XCJ3aWR0aDogMzAlXCIgLz5cclxuICAgICAgICAgICAgICAgIDxjb2wgc3R5bGU9XCJ3aWR0aDogMjAlXCIgLz5cclxuICAgICAgICAgICAgICA8L2NvbGdyb3VwPlxyXG4gICAgICAgICAgICAgIDx0Ym9keSBmb3JtQXJyYXlOYW1lPVwiaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgY29zdEl0ZW0gb2YgY29zdEl0ZW1zOyBsZXQgaSA9IGluZGV4XCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgY29zdEl0ZW0ubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctaW5mbyBtcy0xXCIgKm5nSWY9XCJpc0N1c3RvbShjb3N0SXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGN1c3RvbUxhYmVsIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzQ3VzdG9tKGNvc3RJdGVtKTsgZWxzZSB2YWx1ZUlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidLZW9wczo6Q29zdFBhcmFtZXRlcnM6QXV0b0NhbGN1bGF0ZWQnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWVJbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHQgcHgtM1wiICpuZ0lmPVwiaXNSYXRlKGNvc3RJdGVtKVwiPiU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNSYXRlKGNvc3RJdGVtKSAmJiAhaXNDdXN0b20oY29zdEl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGN1cnJlbmN5IG9mIGN1cnJlbmN5T3B0aW9uc1wiIFtuZ1ZhbHVlXT1cImN1cnJlbmN5LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGN1cnJlbmN5LmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuXHJcbiAgICAgIDxkaXYgW25nYk5hdk91dGxldF09XCJuYXZcIj48L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gYWJwQ2xvc2UgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIj5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uXHJcbiAgICAgIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCJcclxuICAgICAgYnV0dG9uQ2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxyXG4gICAgICBbbG9hZGluZ109XCJzYXZpbmdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybT8uaW52YWxpZFwiXHJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVycy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LXBhcmFtZXRlcnMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUlMLHVCQUF1QixFQUV2QixtQkFBbUIsR0FFcEIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7Ozs7QUFHbEcsTUFBTSxhQUFhLEdBQUc7SUFDcEIsbUJBQW1CLENBQUMsVUFBVTtJQUM5QixtQkFBbUIsQ0FBQyxNQUFNO0lBQzFCLG1CQUFtQixDQUFDLE9BQU87Q0FDNUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFNeEQsTUFBTSxPQUFPLDBCQUEwQjtJQW9CckMsWUFDbUIsRUFBZSxFQUNmLE9BQTZCLEVBQzdCLGVBQWdDLEVBQ2hDLFdBQWdDO1FBSGhDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBdkIxQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBQ25DLFlBQU8sR0FBNEIsSUFBSSxDQUFDO1FBQ3hDLHdCQUFtQixHQUErQixFQUFFLENBQUM7UUFFcEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixjQUFTLEdBQWtCLEVBQUUsQ0FBQztRQUVyQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixvQkFBZSxHQUFHLGdCQUFnQixDQUFDO1FBQ25DLGtCQUFhLEdBQUcsdUJBQXVCLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxXQUFNLEdBQUcsY0FBYyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztJQU9sQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdELFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RSxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkYsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUMzQixDQUFDLENBQUMsbUNBQW1DO1lBQ3JDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ2pELENBQUM7UUFFRixNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdEQsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0QsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV6RixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQXZGVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwwT0M3QnZDLHN3TEF5SUE7MkZENUdhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx5QkFBeUI7cU1BSTFCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBDb3N0SXRlbVNlcnZpY2UsXHJcbiAgQ29zdFBhcmFtZXRlclNlcnZpY2UsXHJcbiAgQ29zdEl0ZW1EdG8sXHJcbiAgQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUsXHJcbiAgQ29zdFBhcmFtZXRlckR0byxcclxuICBDb3N0UGFyYW1ldGVyU3RhdHVzLFxyXG4gIENvc3RQYXJhbWV0ZXJDYXRlZ29yeUR0byxcclxufSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcbmltcG9ydCB7IHN0YXR1c0xhYmVscyB9IGZyb20gJy4uL2Nvc3QtcGFyYW1ldGVyLWwxMG4taGVscGVyJztcclxuaW1wb3J0IHsgY2FsY3VsYXRpb25UeXBlTGFiZWxzIH0gZnJvbSAnLi4vLi4vY29zdC1pdGVtcy9jb3N0LWl0ZW0tbDEwbi1oZWxwZXInO1xyXG5pbXBvcnQgeyBDVVJSRU5DWV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY3VycmVuY3kudXRpbHMnO1xyXG5pbXBvcnQgeyBCVVNJTkVTU19SRUdJT05fT1BUSU9OUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2J1c2luZXNzLXJlZ2lvbi51dGlscyc7XHJcbmltcG9ydCB7IGlzUmF0ZUNvc3RJdGVtLCBpc0N1c3RvbUNvc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Nvc3QtaXRlbS1jbGFzc2lmaWNhdGlvbi51dGlscyc7XHJcbmltcG9ydCB7IENvc3RJdGVtUm93c0J1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29zdC1pdGVtLXJvd3MuYnVpbGRlcic7XHJcblxyXG5jb25zdCBzdGF0dXNPcHRpb25zID0gW1xyXG4gIENvc3RQYXJhbWV0ZXJTdGF0dXMuSW5Qcm9ncmVzcyxcclxuICBDb3N0UGFyYW1ldGVyU3RhdHVzLkFjdGl2ZSxcclxuICBDb3N0UGFyYW1ldGVyU3RhdHVzLlBhc3NpdmUsXHJcbl0ubWFwKHZhbHVlID0+ICh7IHZhbHVlLCBsYWJlbDogc3RhdHVzTGFiZWxzW3ZhbHVlXSB9KSk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb3N0LXBhcmFtZXRlci1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29zdC1wYXJhbWV0ZXItZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3N0UGFyYW1ldGVyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1vZGU6ICdjcmVhdGUnIHwgJ2VkaXQnID0gJ2NyZWF0ZSc7XHJcbiAgQElucHV0KCkgY3VycmVudDogQ29zdFBhcmFtZXRlckR0byB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHByb2R1Y3RHcm91cE9wdGlvbnM6IENvc3RQYXJhbWV0ZXJDYXRlZ29yeUR0b1tdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuICBzYXZpbmcgPSBmYWxzZTtcclxuICBjb3N0SXRlbXM6IENvc3RJdGVtRHRvW10gPSBbXTtcclxuXHJcbiAgcmVhZG9ubHkgc3RhdHVzT3B0aW9ucyA9IHN0YXR1c09wdGlvbnM7XHJcbiAgcmVhZG9ubHkgY3VycmVuY3lPcHRpb25zID0gQ1VSUkVOQ1lfT1BUSU9OUztcclxuICByZWFkb25seSByZWdpb25PcHRpb25zID0gQlVTSU5FU1NfUkVHSU9OX09QVElPTlM7XHJcbiAgcmVhZG9ubHkgY3VzdG9tTGFiZWwgPSBjYWxjdWxhdGlvblR5cGVMYWJlbHNbQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUuQ3VzdG9tXTtcclxuICByZWFkb25seSBpc1JhdGUgPSBpc1JhdGVDb3N0SXRlbTtcclxuICByZWFkb25seSBpc0N1c3RvbSA9IGlzQ3VzdG9tQ29zdEl0ZW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IENvc3RQYXJhbWV0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3N0SXRlbVNlcnZpY2U6IENvc3RJdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm93c0J1aWxkZXI6IENvc3RJdGVtUm93c0J1aWxkZXIsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICByZWdpb246IFt0aGlzLmN1cnJlbnQ/LnJlZ2lvbiA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBwcm9kdWN0R3JvdXA6IFt0aGlzLmN1cnJlbnQ/LnByb2R1Y3RHcm91cCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBzdGF0dXM6IFt0aGlzLmN1cnJlbnQ/LnN0YXR1cyA/PyBDb3N0UGFyYW1ldGVyU3RhdHVzLkluUHJvZ3Jlc3MsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBbdGhpcy5jdXJyZW50Py5kZXNjcmlwdGlvbiA/PyAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDUxMildXSxcclxuICAgICAgaXRlbXM6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkQ29zdEl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXRlbXNBcnJheSgpOiBGb3JtQXJyYXkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2l0ZW1zJykgYXMgRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY3JlYXRlJ1xyXG4gICAgICA/ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6Q3JlYXRlVGl0bGUnXHJcbiAgICAgIDogJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpFZGl0VGl0bGUnO1xyXG4gIH1cclxuXHJcbiAgb25WaXNpYmxlQ2hhbmdlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IHtcclxuICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICBpdGVtczogdGhpcy5yb3dzQnVpbGRlci50b0lucHV0KHRoaXMuaXRlbXNBcnJheSksXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QkID1cclxuICAgICAgdGhpcy5tb2RlID09PSAnY3JlYXRlJ1xyXG4gICAgICAgID8gdGhpcy5zZXJ2aWNlLmNyZWF0ZShpbnB1dClcclxuICAgICAgICA6IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5jdXJyZW50IS5jb2RlISwgaW5wdXQpO1xyXG5cclxuICAgIHJlcXVlc3QkLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuc2F2aW5nID0gZmFsc2UpKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCgpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ29zdEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3N0SXRlbVNlcnZpY2UuZ2V0TGlzdCgpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5jb3N0SXRlbXMgPSBbLi4uZGF0YV0uc29ydCgoYSwgYikgPT4gKGEuZGlzcGxheU9yZGVyID8/IDApIC0gKGIuZGlzcGxheU9yZGVyID8/IDApKTtcclxuXHJcbiAgICAgIHRoaXMucm93c0J1aWxkZXIuYnVpbGQodGhpcy5pdGVtc0FycmF5LCB0aGlzLmNvc3RJdGVtcywgdGhpcy5jdXJyZW50Py5pdGVtcyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1tb2RhbFxyXG4gIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcbiAgKHZpc2libGVDaGFuZ2UpPVwib25WaXNpYmxlQ2hhbmdlKCRldmVudClcIlxyXG4gIFtidXN5XT1cInNhdmluZ1wiXHJcbiAgW29wdGlvbnNdPVwieyBzaXplOiAneGwnIH1cIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgdGl0bGUgfCBhYnBMb2NhbGl6YXRpb24gfX08L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgPHVsIG5nYk5hdiAjbmF2PVwibmdiTmF2XCIgY2xhc3M9XCJuYXYtdGFic1wiPlxyXG4gICAgICAgIDxsaSBuZ2JOYXZJdGVtPlxyXG4gICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOkluZm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lvblwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpSZWdpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJyZWdpb25cIiBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZm9ybUNvbnRyb2xOYW1lPVwicmVnaW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBoaWRkZW4+e3sgJ0tlb3BzOjpTZWxlY3RBbk9wdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHJlZ2lvbiBvZiByZWdpb25PcHRpb25zXCIgW25nVmFsdWVdPVwicmVnaW9uLnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHJlZ2lvbi5sYWJlbCB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicHJvZHVjdEdyb3VwXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOlByb2R1Y3RHcm91cCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cInByb2R1Y3RHcm91cFwiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWN0R3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIGRpc2FibGVkIGhpZGRlbj57eyAnS2VvcHM6OlNlbGVjdEFuT3B0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvZHVjdEdyb3VwIG9mIHByb2R1Y3RHcm91cE9wdGlvbnNcIiBbbmdWYWx1ZV09XCJwcm9kdWN0R3JvdXAuY29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBwcm9kdWN0R3JvdXAubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhdHVzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOlN0YXR1cycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cInN0YXR1c1wiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdCBvZiBzdGF0dXNPcHRpb25zXCIgW25nVmFsdWVdPVwib3B0LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6RGVzY3JpcHRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgICAgIGlkPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgPGxpIG5nYk5hdkl0ZW0+XHJcbiAgICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6SXRlbVZhbHVlcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2E+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc20gYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxyXG4gICAgICAgICAgICAgICAgPGNvbCBzdHlsZT1cIndpZHRoOiA1MCVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGNvbCBzdHlsZT1cIndpZHRoOiAzMCVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGNvbCBzdHlsZT1cIndpZHRoOiAyMCVcIiAvPlxyXG4gICAgICAgICAgICAgIDwvY29sZ3JvdXA+XHJcbiAgICAgICAgICAgICAgPHRib2R5IGZvcm1BcnJheU5hbWU9XCJpdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBjb3N0SXRlbSBvZiBjb3N0SXRlbXM7IGxldCBpID0gaW5kZXhcIiBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICB7eyBjb3N0SXRlbS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1pbmZvIG1zLTFcIiAqbmdJZj1cImlzQ3VzdG9tKGNvc3RJdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgY3VzdG9tTGFiZWwgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNDdXN0b20oY29zdEl0ZW0pOyBlbHNlIHZhbHVlSW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpBdXRvQ2FsY3VsYXRlZCcgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN2YWx1ZUlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCBweC0zXCIgKm5nSWY9XCJpc1JhdGUoY29zdEl0ZW0pXCI+JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc1JhdGUoY29zdEl0ZW0pICYmICFpc0N1c3RvbShjb3N0SXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY3VycmVuY3kgb2YgY3VycmVuY3lPcHRpb25zXCIgW25nVmFsdWVdPVwiY3VycmVuY3kudmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgY3VycmVuY3kubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG5cclxuICAgICAgPGRpdiBbbmdiTmF2T3V0bGV0XT1cIm5hdlwiPjwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiBhYnBDbG9zZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGFicC1idXR0b25cclxuICAgICAgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIlxyXG4gICAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgIFtsb2FkaW5nXT1cInNhdmluZ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtPy5pbnZhbGlkXCJcclxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYWJwLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuIl19
|