@hitsoft/e-donusum 1.0.52 → 1.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/config/providers/producer-receipt-line-route.provider.d.ts +9 -0
  2. package/config/providers/producer-receipt-note-route.provider.d.ts +9 -0
  3. package/config/providers/producer-receipt-route.provider.d.ts +9 -0
  4. package/esm2020/config/e-donusum-config.module.mjs +8 -2
  5. package/esm2020/config/providers/producer-receipt-line-route.provider.mjs +19 -0
  6. package/esm2020/config/providers/producer-receipt-note-route.provider.mjs +19 -0
  7. package/esm2020/config/providers/producer-receipt-route.provider.mjs +19 -0
  8. package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.mjs +6 -3
  9. package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.component.mjs +3 -3
  10. package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.component.mjs +3 -3
  11. package/esm2020/lib/e-donusum-routing.module.mjs +7 -1
  12. package/esm2020/lib/hit-proxy/hit-inbound-invoices/models.mjs +1 -1
  13. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/components/producer-receipt-line.component.mjs +127 -0
  14. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line-routing.module.mjs +26 -0
  15. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line.module.mjs +52 -0
  16. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/components/producer-receipt-note.component.mjs +98 -0
  17. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note-routing.module.mjs +26 -0
  18. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note.module.mjs +52 -0
  19. package/esm2020/lib/producer-receipts/producer-receipt/components/producer-receipt.component.mjs +229 -0
  20. package/esm2020/lib/producer-receipts/producer-receipt/producer-receipt-routing.module.mjs +26 -0
  21. package/esm2020/lib/producer-receipts/producer-receipt/producer-receipt.module.mjs +52 -0
  22. package/esm2020/lib/proxy/producer-receipt-lines/models.mjs +2 -0
  23. package/esm2020/lib/proxy/producer-receipt-lines/producer-receipt-line.service.mjs +50 -0
  24. package/esm2020/lib/proxy/producer-receipt-notes/models.mjs +2 -0
  25. package/esm2020/lib/proxy/producer-receipt-notes/producer-receipt-note.service.mjs +50 -0
  26. package/esm2020/lib/proxy/producer-receipts/models.mjs +2 -0
  27. package/esm2020/lib/proxy/producer-receipts/producer-receipt.service.mjs +41 -0
  28. package/fesm2015/hitsoft-e-donusum-config.mjs +156 -102
  29. package/fesm2015/hitsoft-e-donusum-config.mjs.map +1 -1
  30. package/fesm2015/hitsoft-e-donusum.mjs +824 -117
  31. package/fesm2015/hitsoft-e-donusum.mjs.map +1 -1
  32. package/fesm2020/hitsoft-e-donusum-config.mjs +156 -102
  33. package/fesm2020/hitsoft-e-donusum-config.mjs.map +1 -1
  34. package/fesm2020/hitsoft-e-donusum.mjs +843 -117
  35. package/fesm2020/hitsoft-e-donusum.mjs.map +1 -1
  36. package/lib/hit-proxy/hit-inbound-invoices/models.d.ts +3 -0
  37. package/lib/producer-receipt-lines/producer-receipt-line/components/producer-receipt-line.component.d.ts +33 -0
  38. package/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line-routing.module.d.ts +7 -0
  39. package/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line.module.d.ts +15 -0
  40. package/lib/producer-receipt-notes/producer-receipt-note/components/producer-receipt-note.component.d.ts +33 -0
  41. package/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note-routing.module.d.ts +7 -0
  42. package/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note.module.d.ts +15 -0
  43. package/lib/producer-receipts/producer-receipt/components/producer-receipt.component.d.ts +33 -0
  44. package/lib/producer-receipts/producer-receipt/producer-receipt-routing.module.d.ts +7 -0
  45. package/lib/producer-receipts/producer-receipt/producer-receipt.module.d.ts +15 -0
  46. package/lib/proxy/producer-receipt-lines/models.d.ts +97 -0
  47. package/lib/proxy/producer-receipt-lines/producer-receipt-line.service.d.ts +19 -0
  48. package/lib/proxy/producer-receipt-notes/models.d.ts +25 -0
  49. package/lib/proxy/producer-receipt-notes/producer-receipt-note.service.d.ts +19 -0
  50. package/lib/proxy/producer-receipts/models.d.ts +264 -0
  51. package/lib/proxy/producer-receipts/producer-receipt.service.d.ts +16 -0
  52. package/package.json +1 -1
@@ -109,13 +109,13 @@ export class HitParamsInvoiceComponent {
109
109
  }
110
110
  }
111
111
  HitParamsInvoiceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitParamsInvoiceComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.ParamseInvoiceService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }, { token: i5.HitParamsInvoicesService }, { token: i3.ToasterService }, { token: i6.HitScenarioTypesService }, { token: i7.HitDocumentTypesService }], target: i0.ɵɵFactoryTarget.Component });
112
- HitParamsInvoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitParamsInvoiceComponent, selector: "hit-params-invoice", inputs: { IsSubmitButtonHidden: "IsSubmitButtonHidden" }, outputs: { valid: "valid" }, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-def-inv-type\" formControlName=\"useDefInvType\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefInvType.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-inv-type\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-inv-type\" formControlName=\"defaultInvType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-despatch-reference-field\" class=\"form-label\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-despatch-reference-field\" formControlName=\"despatchReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"despatchReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-order-reference-fields\" formControlName=\"orderReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\" class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"params-invoice\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i10.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
112
+ HitParamsInvoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitParamsInvoiceComponent, selector: "hit-params-invoice", inputs: { IsSubmitButtonHidden: "IsSubmitButtonHidden" }, outputs: { valid: "valid" }, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-def-inv-type\" formControlName=\"useDefInvType\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefInvType.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-inv-type\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-inv-type\" formControlName=\"defaultInvType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-despatch-reference-field\" class=\"form-label\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-despatch-reference-field\" formControlName=\"despatchReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"despatchReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-order-reference-fields\" formControlName=\"orderReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\" class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"params-invoice\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i10.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitParamsInvoiceComponent, decorators: [{
114
114
  type: Component,
115
- args: [{ selector: 'hit-params-invoice', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-def-inv-type\" formControlName=\"useDefInvType\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefInvType.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-inv-type\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-inv-type\" formControlName=\"defaultInvType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-despatch-reference-field\" class=\"form-label\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-despatch-reference-field\" formControlName=\"despatchReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"despatchReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-order-reference-fields\" formControlName=\"orderReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\" class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"params-invoice\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
115
+ args: [{ selector: 'hit-params-invoice', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-def-inv-type\" formControlName=\"useDefInvType\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefInvType.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-inv-type\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-inv-type\" formControlName=\"defaultInvType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-despatch-reference-field\" class=\"form-label\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-despatch-reference-field\" formControlName=\"despatchReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"despatchReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-order-reference-fields\" formControlName=\"orderReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\" class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"params-invoice\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
116
116
  }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.ParamseInvoiceService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }, { type: i5.HitParamsInvoicesService }, { type: i3.ToasterService }, { type: i6.HitScenarioTypesService }, { type: i7.HitDocumentTypesService }]; }, propDecorators: { IsSubmitButtonHidden: [{
117
117
  type: Input
118
118
  }], valid: [{
119
119
  type: Output
120
120
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUU5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQVlyQyxNQUFNLE9BQU8seUJBQXlCO0lBaUJwQyxZQUNrQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUE4QixFQUN0QyxZQUFpQyxFQUNqQyxFQUFlLEVBQ04sd0JBQWtELEVBQ2xELGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCx1QkFBZ0Q7UUFSakQsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMs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YyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQzsrV0FpQm5FLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGRvd25sb2FkQmxvYiwgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlQWRhcHRlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXBhcmFtcy1pbnZvaWNlcy9oaXQtcGFyYW1zLWludm9pY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1zY2VuYXJpby10eXBlcy9oaXQtc2NlbmFyaW8tdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWRvY3VtZW50LXR5cGVzL2hpdC1kb2N1bWVudC10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbXNlSW52b2ljZUR0bywgUGFyYW1zZUludm9pY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJveHkvcGFyYW1zZS1pbnZvaWNlcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGl0LXBhcmFtcy1pbnZvaWNlJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UGFyYW1zSW52b2ljZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybVBhcmFtc0ludm9pY2U6IEZvcm1Hcm91cDtcclxuXHJcbiAgcGFyYW1zSW52b2ljZUR0bz86IFBhcmFtc2VJbnZvaWNlRHRvO1xyXG5cclxuICBzdWJtaXRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBzY2VuYXJpb1R5cGVEYXRhU291cmNlOiBhbnk7XHJcbiAgZG9jdW1lbnRUeXBlRGF0YVNvdXJjZTogYW55O1xyXG4gIGl0ZW1UcmVlT3B0aW9uczogYW55O1xyXG4gIGRlc3BhdGNoUmVmZXJlbmNlRmllbGRzOiBhbnk7XHJcbiAgb3JkZXJSZWZlcmVuY2VGaWVsZHM6IGFueTtcclxuXHJcbiAgQElucHV0KCkgSXNTdWJtaXRCdXR0b25IaWRkZW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogUGFyYW1zZUludm9pY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0UGFyYW1zSW52b2ljZXNTZXJ2aWNlOiBIaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0U2NlbmFyaW9UeXBlc1NlcnZpY2U6IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBoaXREb2N1bWVudFR5cGVzU2VydmljZTogSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuXHJcbiAgICB0aGlzLmhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLmdldFNjZW5hcmlvVHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2NlbmFyaW9UeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdERvY3VtZW50VHlwZXNTZXJ2aWNlLmdldERvY3VtZW50VHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRUeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdFBhcmFtc0ludm9pY2VzU2VydmljZS5nZXRJdGVtVHJlZU9wdGlvbnMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbVRyZWVPcHRpb25zPWRhdGE7XHJcbiAgICB9KVxyXG5cclxuICAgICB0aGlzLmhpdFBhcmFtc0ludm9pY2VzU2VydmljZS5nZXREZXNwYXRjaFJlZmVyZW5jZUZpZWxkcygpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkcz1kYXRhO1xyXG4gICAgfSlcclxuXHJcbiAgICAgdGhpcy5oaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UuZ2V0T3JkZXJSZWZlcmVuY2VGaWVsZHMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJSZWZlcmVuY2VGaWVsZHM9ZGF0YTtcclxuICAgIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNJbnZvaWNlKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkZWZhdWx0U2NlbmFyaW8sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsLFxyXG4gICAgICBpc1NoaXBwaW5nQWRkcmVzcyxcclxuICAgICAgdXNlRGVmU2NlbmFyaW8sXHJcbiAgICAgIHVzZURlZkludlR5cGUsXHJcbiAgICAgIGl0ZW1UcmVlT3B0aW9uLFxyXG4gICAgICBkZXNwYXRjaFJlZmVyZW5jZUZpZWxkLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkXHJcbiAgICB9ID0gdGhpcy5wYXJhbXNJbnZvaWNlRHRvIHx8IHt9O1xyXG5cclxuICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgZGVmYXVsdFNjZW5hcmlvOiBbZGVmYXVsdFNjZW5hcmlvID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlOiBbZGVmYXVsdEludlR5cGUgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgZGVmYXVsdEludlNlcmlhbDogW2RlZmF1bHRJbnZTZXJpYWwgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXV0sXHJcbiAgICAgIGlzU2hpcHBpbmdBZGRyZXNzOiBbaXNTaGlwcGluZ0FkZHJlc3MgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgdXNlRGVmU2NlbmFyaW86IFt1c2VEZWZTY2VuYXJpbyA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZJbnZUeXBlOiBbdXNlRGVmSW52VHlwZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBpdGVtVHJlZU9wdGlvbjogW2l0ZW1UcmVlT3B0aW9uID8/IDAsIFtdXSxcclxuICAgICAgZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZDogW2Rlc3BhdGNoUmVmZXJlbmNlRmllbGQgPz8gMCwgW11dLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkOiBbb3JkZXJSZWZlcmVuY2VGaWVsZCA/PyAwLCBbXV1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLmRlZmF1bHRJbnZTZXJpYWwudmFsdWUubGVuZ3RoID4gMykge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6RW50ZXJNYXgzQ2hhcmFjdGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuaW52YWxpZCkge1xyXG4gICAgICB3aW5kb3cuc2Nyb2xsKHtcclxuICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgbGVmdDogMCxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnZhbGlkLmVtaXQoZmFsc2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJtaXRCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcblxyXG4gICAgLy8gdGhpcy50b2FzdGVyU2VydmljZS5pbmZvKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25TdGFydGVkJyk7XHJcbiAgICBcclxuICAgIGlmICghdGhpcy5mb3JtUGFyYW1zSW52b2ljZS5jb250cm9scy5kZWZhdWx0U2NlbmFyaW8udmFsdWUpXHJcbiAgICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdFNjZW5hcmlvLnNldFZhbHVlKDApO1xyXG4gICAgXHJcbiAgICBpZiAoIXRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdEludlR5cGUudmFsdWUpXHJcbiAgICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdEludlR5cGUuc2V0VmFsdWUoMCk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGFyYW1zSW52b2ljZUR0b1xyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5wYXJhbXNJbnZvaWNlRHRvLmlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm1QYXJhbXNJbnZvaWNlLnZhbHVlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5zZXJ2aWNlLmNyZWF0ZSh0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLnZhbHVlKTtcclxuXHJcbiAgICByZXF1ZXN0XHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3VibWl0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAoKCkgPT4ge30pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAvLyB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ2VEb251c3VtOjpUcmFuc2FjdGlvblN1Y2Nlc3NmdWwnKTtcclxuXHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmdldFBhcmFtc0ludm9pY2UoKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnZhbGlkLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcignZURvbnVzdW06OlRyYW5zYWN0aW9uVW5zdWNjZXNzZnVsJyk7XHJcblxyXG4gICAgICAgICAgdGhpcy52YWxpZC5lbWl0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFBhcmFtc0ludm9pY2UoYnVpbGRGb3JtOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaGl0UGFyYW1zSW52b2ljZXNTZXJ2aWNlLmdldFBhcmFtc0ludm9pY2UoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMucGFyYW1zSW52b2ljZUR0byA9IGRhdGE7XHJcblxyXG4gICAgICBpZiAoYnVpbGRGb3JtKSB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtUGFyYW1zSW52b2ljZVwiIGlkPVwicGFyYW1zLWludm9pY2VcIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0SW52U2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LWludi1zZXJpYWxcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52U2VyaWFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiOFwiIGF1dG9mb2N1cyAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtcy1pbnZvaWNlLXVzZS1kZWZhdWx0LXNjZW5hcmlvXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmYXVsdC1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMudXNlRGVmU2NlbmFyaW8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LXNjZW5hcmlvXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiIGZvcm1Db250cm9sTmFtZT1cImRlZmF1bHRTY2VuYXJpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJzY2VuYXJpb1R5cGVEYXRhU291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmLWludi10eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmSW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLXVzZS1kZWYtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmSW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMudXNlRGVmSW52VHlwZS52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdEludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkb2N1bWVudFR5cGVEYXRhU291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlc3BhdGNoLXJlZmVyZW5jZS1maWVsZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNwYXRjaFJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXMtaW52b2ljZS1kZXNwYXRjaC1yZWZlcmVuY2UtZmllbGRcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNwYXRjaFJlZmVyZW5jZUZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRlc3BhdGNoUmVmZXJlbmNlRmllbGRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pdGVtLXRyZWVzLW9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbVRyZWVzT3B0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zZS1pbnZvaWNlLWl0ZW0tdHJlZXMtb3B0aW9uc1wiIGZvcm1Db250cm9sTmFtZT1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1UcmVlT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGFyYW1zZS1pbnZvaWNlLW9yZGVyLXJlZmVyZW5jZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXNlLWludm9pY2Utb3JkZXItcmVmZXJlbmNlLWZpZWxkc1wiIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCIgdmFsdWVFeHByPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwib3JkZXJSZWZlcmVuY2VGaWVsZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNTaGlwcGluZ0FkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaGlwcGluZ0FkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiB0ZXh0LWxnLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBidXR0b25UeXBlPVwic3VibWl0XCIgZm9ybU5hbWU9XCJwYXJhbXMtaW52b2ljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdEJ1dHRvbkRpc2FibGVkXCIgW2hpZGRlbl09XCJJc1N1Ym1pdEJ1dHRvbkhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUU5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQVlyQyxNQUFNLE9BQU8seUJBQXlCO0lBaUJwQyxZQUNrQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUE4QixFQUN0QyxZQUFpQyxFQUNqQyxFQUFlLEVBQ04sd0JBQWtELEVBQ2xELGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCx1QkFBZ0Q7UUFSakQsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMs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YyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQzsrV0FpQm5FLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGRvd25sb2FkQmxvYiwgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlQWRhcHRlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXBhcmFtcy1pbnZvaWNlcy9oaXQtcGFyYW1zLWludm9pY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1zY2VuYXJpby10eXBlcy9oaXQtc2NlbmFyaW8tdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWRvY3VtZW50LXR5cGVzL2hpdC1kb2N1bWVudC10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbXNlSW52b2ljZUR0bywgUGFyYW1zZUludm9pY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJveHkvcGFyYW1zZS1pbnZvaWNlcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGl0LXBhcmFtcy1pbnZvaWNlJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UGFyYW1zSW52b2ljZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybVBhcmFtc0ludm9pY2U6IEZvcm1Hcm91cDtcclxuXHJcbiAgcGFyYW1zSW52b2ljZUR0bz86IFBhcmFtc2VJbnZvaWNlRHRvO1xyXG5cclxuICBzdWJtaXRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBzY2VuYXJpb1R5cGVEYXRhU291cmNlOiBhbnk7XHJcbiAgZG9jdW1lbnRUeXBlRGF0YVNvdXJjZTogYW55O1xyXG4gIGl0ZW1UcmVlT3B0aW9uczogYW55O1xyXG4gIGRlc3BhdGNoUmVmZXJlbmNlRmllbGRzOiBhbnk7XHJcbiAgb3JkZXJSZWZlcmVuY2VGaWVsZHM6IGFueTtcclxuXHJcbiAgQElucHV0KCkgSXNTdWJtaXRCdXR0b25IaWRkZW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogUGFyYW1zZUludm9pY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0UGFyYW1zSW52b2ljZXNTZXJ2aWNlOiBIaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0U2NlbmFyaW9UeXBlc1NlcnZpY2U6IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBoaXREb2N1bWVudFR5cGVzU2VydmljZTogSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuXHJcbiAgICB0aGlzLmhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLmdldFNjZW5hcmlvVHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2NlbmFyaW9UeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdERvY3VtZW50VHlwZXNTZXJ2aWNlLmdldERvY3VtZW50VHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRUeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdFBhcmFtc0ludm9pY2VzU2VydmljZS5nZXRJdGVtVHJlZU9wdGlvbnMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbVRyZWVPcHRpb25zPWRhdGE7XHJcbiAgICB9KVxyXG5cclxuICAgICB0aGlzLmhpdFBhcmFtc0ludm9pY2VzU2VydmljZS5nZXREZXNwYXRjaFJlZmVyZW5jZUZpZWxkcygpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkcz1kYXRhO1xyXG4gICAgfSlcclxuXHJcbiAgICAgdGhpcy5oaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UuZ2V0T3JkZXJSZWZlcmVuY2VGaWVsZHMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJSZWZlcmVuY2VGaWVsZHM9ZGF0YTtcclxuICAgIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNJbnZvaWNlKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkZWZhdWx0U2NlbmFyaW8sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsLFxyXG4gICAgICBpc1NoaXBwaW5nQWRkcmVzcyxcclxuICAgICAgdXNlRGVmU2NlbmFyaW8sXHJcbiAgICAgIHVzZURlZkludlR5cGUsXHJcbiAgICAgIGl0ZW1UcmVlT3B0aW9uLFxyXG4gICAgICBkZXNwYXRjaFJlZmVyZW5jZUZpZWxkLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkXHJcbiAgICB9ID0gdGhpcy5wYXJhbXNJbnZvaWNlRHRvIHx8IHt9O1xyXG5cclxuICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgZGVmYXVsdFNjZW5hcmlvOiBbZGVmYXVsdFNjZW5hcmlvID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlOiBbZGVmYXVsdEludlR5cGUgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgZGVmYXVsdEludlNlcmlhbDogW2RlZmF1bHRJbnZTZXJpYWwgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXV0sXHJcbiAgICAgIGlzU2hpcHBpbmdBZGRyZXNzOiBbaXNTaGlwcGluZ0FkZHJlc3MgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgdXNlRGVmU2NlbmFyaW86IFt1c2VEZWZTY2VuYXJpbyA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZJbnZUeXBlOiBbdXNlRGVmSW52VHlwZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBpdGVtVHJlZU9wdGlvbjogW2l0ZW1UcmVlT3B0aW9uID8/IDAsIFtdXSxcclxuICAgICAgZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZDogW2Rlc3BhdGNoUmVmZXJlbmNlRmllbGQgPz8gMCwgW11dLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkOiBbb3JkZXJSZWZlcmVuY2VGaWVsZCA/PyAwLCBbXV1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLmRlZmF1bHRJbnZTZXJpYWwudmFsdWUubGVuZ3RoID4gMykge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6RW50ZXJNYXgzQ2hhcmFjdGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuaW52YWxpZCkge1xyXG4gICAgICB3aW5kb3cuc2Nyb2xsKHtcclxuICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgbGVmdDogMCxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnZhbGlkLmVtaXQoZmFsc2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJtaXRCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcblxyXG4gICAgLy8gdGhpcy50b2FzdGVyU2VydmljZS5pbmZvKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25TdGFydGVkJyk7XHJcbiAgICBcclxuICAgIGlmICghdGhpcy5mb3JtUGFyYW1zSW52b2ljZS5jb250cm9scy5kZWZhdWx0U2NlbmFyaW8udmFsdWUpXHJcbiAgICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdFNjZW5hcmlvLnNldFZhbHVlKDApO1xyXG4gICAgXHJcbiAgICBpZiAoIXRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdEludlR5cGUudmFsdWUpXHJcbiAgICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdEludlR5cGUuc2V0VmFsdWUoMCk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGFyYW1zSW52b2ljZUR0b1xyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5wYXJhbXNJbnZvaWNlRHRvLmlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm1QYXJhbXNJbnZvaWNlLnZhbHVlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5zZXJ2aWNlLmNyZWF0ZSh0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLnZhbHVlKTtcclxuXHJcbiAgICByZXF1ZXN0XHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3VibWl0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAoKCkgPT4ge30pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAvLyB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ2VEb251c3VtOjpUcmFuc2FjdGlvblN1Y2Nlc3NmdWwnKTtcclxuXHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmdldFBhcmFtc0ludm9pY2UoKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnZhbGlkLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcignZURvbnVzdW06OlRyYW5zYWN0aW9uVW5zdWNjZXNzZnVsJyk7XHJcblxyXG4gICAgICAgICAgdGhpcy52YWxpZC5lbWl0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFBhcmFtc0ludm9pY2UoYnVpbGRGb3JtOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaGl0UGFyYW1zSW52b2ljZXNTZXJ2aWNlLmdldFBhcmFtc0ludm9pY2UoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMucGFyYW1zSW52b2ljZUR0byA9IGRhdGE7XHJcblxyXG4gICAgICBpZiAoYnVpbGRGb3JtKSB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtUGFyYW1zSW52b2ljZVwiIGlkPVwicGFyYW1zLWludm9pY2VcIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0SW52U2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LWludi1zZXJpYWxcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52U2VyaWFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiOFwiIGF1dG9mb2N1cyAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtcy1pbnZvaWNlLXVzZS1kZWZhdWx0LXNjZW5hcmlvXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmYXVsdC1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMudXNlRGVmU2NlbmFyaW8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LXNjZW5hcmlvXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiIGZvcm1Db250cm9sTmFtZT1cImRlZmF1bHRTY2VuYXJpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJzY2VuYXJpb1R5cGVEYXRhU291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmLWludi10eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmSW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLXVzZS1kZWYtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmSW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMudXNlRGVmSW52VHlwZS52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdEludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkb2N1bWVudFR5cGVEYXRhU291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlc3BhdGNoLXJlZmVyZW5jZS1maWVsZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNwYXRjaFJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXMtaW52b2ljZS1kZXNwYXRjaC1yZWZlcmVuY2UtZmllbGRcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNwYXRjaFJlZmVyZW5jZUZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRlc3BhdGNoUmVmZXJlbmNlRmllbGRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pdGVtLXRyZWVzLW9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbVRyZWVzT3B0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zZS1pbnZvaWNlLWl0ZW0tdHJlZXMtb3B0aW9uc1wiIGZvcm1Db250cm9sTmFtZT1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1UcmVlT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGFyYW1zZS1pbnZvaWNlLW9yZGVyLXJlZmVyZW5jZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXNlLWludm9pY2Utb3JkZXItcmVmZXJlbmNlLWZpZWxkc1wiIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCIgdmFsdWVFeHByPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwib3JkZXJSZWZlcmVuY2VGaWVsZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9ZmFsc2U+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNTaGlwcGluZ0FkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaGlwcGluZ0FkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiB0ZXh0LWxnLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBidXR0b25UeXBlPVwic3VibWl0XCIgZm9ybU5hbWU9XCJwYXJhbXMtaW52b2ljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdEJ1dHRvbkRpc2FibGVkXCIgW2hpZGRlbl09XCJJc1N1Ym1pdEJ1dHRvbkhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -117,13 +117,13 @@ export class HitParamsDispatchComponent {
117
117
  }
118
118
  }
119
119
  HitParamsDispatchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitParamsDispatchComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.ParamseDispatchService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }, { token: i5.HitParamsDispatchesService }, { token: i3.ToasterService }, { token: i6.HitScenarioTypesService }, { token: i7.HitDocumentTypesService }, { token: i8.HitInventoryTransferAddressesService }], target: i0.ɵɵFactoryTarget.Component });
120
- HitParamsDispatchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitParamsDispatchComponent, selector: "hit-params-dispatch", inputs: { IsSubmitButtonHidden: "IsSubmitButtonHidden" }, outputs: { valid: "valid" }, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsDispatch\" id=\"paramse-dispatch\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-default-dis-serial\">\r\n {{ 'eDonusum::DefaultDisSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"paramse-dispatch-default-dis-serial\" formControlName=\"defaultDisSerial\"\r\n class=\"form-control\" maxlength=\"8\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-8\">\r\n <div class=\"row mt-3\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-scenario\"\r\n formControlName=\"useDefScenario\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-dis-type\"\r\n formControlName=\"useDefDisType\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefDisType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-price\" formControlName=\"noPrice\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-price\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoPrice' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-remain-order\"\r\n formControlName=\"noRemainOrder\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-remain-order\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoRemainOrder' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-receiver-channel\"\r\n formControlName=\"receiverChannel\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-receiver-channel\" class=\"form-check-label\">\r\n {{ 'eDonusum::ReceiverChannel' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-sou-who-adr\"\r\n formControlName=\"useSouWhoAdr\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-sou-who-adr\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseSouWhoAdr' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-cus-stock-code\"\r\n formControlName=\"useCusStockCode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-cus-stock-code\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseCusStockCode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-barcode\"\r\n formControlName=\"useBarcode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-barcode\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseBarcode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefScenario.value\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefDisType.value\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-dispatch-default-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-dispatch-default-dis-type\" formControlName=\"defaultDisType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-inventory-tr-address\">\r\n {{ 'eDonusum::InventoryTrAddress' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-inventory-tr-address\"\r\n formControlName=\"inventoryTrAddress\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"inventoryTransferAddressDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-order-reference-fields\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-order-reference-fields\"\r\n formControlName=\"orderReferenceField\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-dispatch\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "directive", type: i10.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i10.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i11.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
120
+ HitParamsDispatchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitParamsDispatchComponent, selector: "hit-params-dispatch", inputs: { IsSubmitButtonHidden: "IsSubmitButtonHidden" }, outputs: { valid: "valid" }, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsDispatch\" id=\"paramse-dispatch\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-default-dis-serial\">\r\n {{ 'eDonusum::DefaultDisSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"paramse-dispatch-default-dis-serial\" formControlName=\"defaultDisSerial\"\r\n class=\"form-control\" maxlength=\"8\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"row mt-3\">\r\n <div class=\"col-md\">\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-scenario\"\r\n formControlName=\"useDefScenario\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-dis-type\"\r\n formControlName=\"useDefDisType\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefDisType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-price\" formControlName=\"noPrice\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-price\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoPrice' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-remain-order\"\r\n formControlName=\"noRemainOrder\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-remain-order\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoRemainOrder' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"col-sm-6\" *ngIf=false>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-receiver-channel\"\r\n formControlName=\"receiverChannel\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-receiver-channel\" class=\"form-check-label\">\r\n {{ 'eDonusum::ReceiverChannel' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-sou-who-adr\"\r\n formControlName=\"useSouWhoAdr\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-sou-who-adr\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseSouWhoAdr' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-cus-stock-code\"\r\n formControlName=\"useCusStockCode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-cus-stock-code\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseCusStockCode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-barcode\"\r\n formControlName=\"useBarcode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-barcode\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseBarcode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"col-md\">\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefScenario.value\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefDisType.value\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-dispatch-default-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-dispatch-default-dis-type\" formControlName=\"defaultDisType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-inventory-tr-address\">\r\n {{ 'eDonusum::InventoryTrAddress' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-inventory-tr-address\"\r\n formControlName=\"inventoryTrAddress\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"inventoryTransferAddressDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-order-reference-fields\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-order-reference-fields\"\r\n formControlName=\"orderReferenceField\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-dispatch\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "directive", type: i10.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i10.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i11.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitParamsDispatchComponent, decorators: [{
122
122
  type: Component,
123
- args: [{ selector: 'hit-params-dispatch', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsDispatch\" id=\"paramse-dispatch\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-default-dis-serial\">\r\n {{ 'eDonusum::DefaultDisSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"paramse-dispatch-default-dis-serial\" formControlName=\"defaultDisSerial\"\r\n class=\"form-control\" maxlength=\"8\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-8\">\r\n <div class=\"row mt-3\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-scenario\"\r\n formControlName=\"useDefScenario\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-dis-type\"\r\n formControlName=\"useDefDisType\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefDisType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-price\" formControlName=\"noPrice\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-price\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoPrice' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-remain-order\"\r\n formControlName=\"noRemainOrder\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-remain-order\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoRemainOrder' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-receiver-channel\"\r\n formControlName=\"receiverChannel\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-receiver-channel\" class=\"form-check-label\">\r\n {{ 'eDonusum::ReceiverChannel' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-sou-who-adr\"\r\n formControlName=\"useSouWhoAdr\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-sou-who-adr\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseSouWhoAdr' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-cus-stock-code\"\r\n formControlName=\"useCusStockCode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-cus-stock-code\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseCusStockCode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-barcode\"\r\n formControlName=\"useBarcode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-barcode\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseBarcode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefScenario.value\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefDisType.value\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-dispatch-default-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-dispatch-default-dis-type\" formControlName=\"defaultDisType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-inventory-tr-address\">\r\n {{ 'eDonusum::InventoryTrAddress' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-inventory-tr-address\"\r\n formControlName=\"inventoryTrAddress\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"inventoryTransferAddressDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-order-reference-fields\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-order-reference-fields\"\r\n formControlName=\"orderReferenceField\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-dispatch\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
123
+ args: [{ selector: 'hit-params-dispatch', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsDispatch\" id=\"paramse-dispatch\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-default-dis-serial\">\r\n {{ 'eDonusum::DefaultDisSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"paramse-dispatch-default-dis-serial\" formControlName=\"defaultDisSerial\"\r\n class=\"form-control\" maxlength=\"8\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"row mt-3\">\r\n <div class=\"col-md\">\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-scenario\"\r\n formControlName=\"useDefScenario\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-def-dis-type\"\r\n formControlName=\"useDefDisType\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-def-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefDisType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-price\" formControlName=\"noPrice\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-price\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoPrice' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-no-remain-order\"\r\n formControlName=\"noRemainOrder\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-no-remain-order\" class=\"form-check-label\">\r\n {{ 'eDonusum::NoRemainOrder' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"col-sm-6\" *ngIf=false>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-receiver-channel\"\r\n formControlName=\"receiverChannel\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-receiver-channel\" class=\"form-check-label\">\r\n {{ 'eDonusum::ReceiverChannel' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-sou-who-adr\"\r\n formControlName=\"useSouWhoAdr\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-sou-who-adr\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseSouWhoAdr' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-cus-stock-code\"\r\n formControlName=\"useCusStockCode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-cus-stock-code\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseCusStockCode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=false>\r\n <div class=\"col-sm-12\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"paramse-dispatch-use-barcode\"\r\n formControlName=\"useBarcode\" class=\"form-check-input\" />\r\n\r\n <label for=\"paramse-dispatch-use-barcode\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseBarcode' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"col-md\">\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefScenario.value\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsDispatch.controls.useDefDisType.value\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-dispatch-default-dis-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-dispatch-default-dis-type\" formControlName=\"defaultDisType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-inventory-tr-address\">\r\n {{ 'eDonusum::InventoryTrAddress' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-inventory-tr-address\"\r\n formControlName=\"inventoryTrAddress\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"inventoryTransferAddressDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-dispatch-order-reference-fields\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-dispatch-order-reference-fields\"\r\n formControlName=\"orderReferenceField\" class=\"form-control\" displayExpr=\"displayName\"\r\n valueExpr=\"id\" [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-dispatch\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
124
124
  }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.ParamseDispatchService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }, { type: i5.HitParamsDispatchesService }, { type: i3.ToasterService }, { type: i6.HitScenarioTypesService }, { type: i7.HitDocumentTypesService }, { type: i8.HitInventoryTransferAddressesService }]; }, propDecorators: { IsSubmitButtonHidden: [{
125
125
  type: Input
126
126
  }], valid: [{
127
127
  type: Output
128
128
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhcmFtcy1kaXNwYXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lLWRvbnVzdW0vc3JjL2xpYi9jb21wb25lbnRzL2hpdC1wYXJhbXMtZGlzcGF0Y2hlcy9oaXQtcGFyYW1zLWRpc3BhdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtcy1kaXNwYXRjaGVzL2hpdC1wYXJhbXMtZGlzcGF0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixXQUFXLEVBQWtDLE1BQU0sY0FBYyxDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7OztBQVlyQyxNQUFNLE9BQU8sMEJBQTBCO0lBaUJyQyxZQUNrQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUErQixFQUN2QyxZQUFpQyxFQUNqQyxFQUFlLEVBQ04sMEJBQXNELEVBQ3RELGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCx1QkFBZ0QsRUFDaEQsb0NBQTBFO1FBVDNFLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFDdkMsaUJBQVksR0FB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SSxDQUFDLEVBQUU7WUFDbkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUU5QixJQUFJLFNBQVM7Z0JBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUhBekpVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFJQUoxQixDQUFDLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLDBCQ3ZCOUUsd3NZQTRNTTsyRkRqTE8sMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFDZCx1QkFBdUIsQ0FBQyxPQUFPLGFBQ3JDLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7cWFBaUJuRSxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQLCBkb3dubG9hZEJsb2IsIExpc3RTZXJ2aWNlLCBQYWdlZFJlc3VsdER0bywgVHJhY2tCeVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFBhcmFtc2VEaXNwYXRjaER0bywgUGFyYW1zZURpc3BhdGNoU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3h5L3BhcmFtc2UtZGlzcGF0Y2hlcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSGl0UGFyYW1zRGlzcGF0Y2hlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXBhcmFtcy1kaXNwYXRjaGVzL2hpdC1wYXJhbXMtZGlzcGF0Y2guc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1zY2VuYXJpby10eXBlcy9oaXQtc2NlbmFyaW8tdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWRvY3VtZW50LXR5cGVzL2hpdC1kb2N1bWVudC10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRJbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3Nlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWludmVudG9yeS10cmFuc2Zlci1hZGRyZXNzZXMvaGl0LWludmVudG9yeS10cmFuc2Zlci1hZGRyZXNzLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2hpdC1wYXJhbXMtZGlzcGF0Y2gnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICBwcm92aWRlcnM6IFtMaXN0U2VydmljZSwgeyBwcm92aWRlOiBOZ2JEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IERhdGVBZGFwdGVyIH1dLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXQtcGFyYW1zLWRpc3BhdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UGFyYW1zRGlzcGF0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZvcm1QYXJhbXNEaXNwYXRjaDogRm9ybUdyb3VwO1xyXG5cclxuICBwYXJhbXNEaXNwYXRjaER0bz86IFBhcmFtc2VEaXNwYXRjaER0bztcclxuXHJcbiAgc3VibWl0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgc2NlbmFyaW9UeXBlRGF0YVNvdXJjZTogYW55O1xyXG4gIGRvY3VtZW50VHlwZURhdGFTb3VyY2U6IGFueTtcclxuICBpbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3NEYXRhU291cmNlOiBhbnk7XHJcbiAgaXRlbVRyZWVPcHRpb25zOiBhbnk7XHJcbiAgb3JkZXJSZWZlcmVuY2VGaWVsZHM6IGFueTtcclxuXHJcbiAgQElucHV0KCkgSXNTdWJtaXRCdXR0b25IaWRkZW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogUGFyYW1zZURpc3BhdGNoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlOiBIaXRQYXJhbXNEaXNwYXRjaGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBoaXRTY2VuYXJpb1R5cGVzU2VydmljZTogSGl0U2NlbmFyaW9UeXBlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpdERvY3VtZW50VHlwZXNTZXJ2aWNlOiBIaXREb2N1bWVudFR5cGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0SW52ZW50b3J5VHJhbnNmZXJBZGRyZXNzZXNTZXJ2aWNlOiBIaXRJbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3Nlc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuXHJcbiAgICB0aGlzLmhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLmdldFNjZW5hcmlvVHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2NlbmFyaW9UeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdERvY3VtZW50VHlwZXNTZXJ2aWNlLmdldERvY3VtZW50VHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRUeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdEludmVudG9yeVRyYW5zZmVyQWRkcmVzc2VzU2VydmljZS5nZXRJbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3MoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuaW52ZW50b3J5VHJhbnNmZXJBZGRyZXNzRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlLmdldEl0ZW1UcmVlT3B0aW9ucygpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5pdGVtVHJlZU9wdGlvbnMgPSBkYXRhO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLmhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlLmdldE9yZGVyUmVmZXJlbmNlRmllbGRzKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyUmVmZXJlbmNlRmllbGRzID0gZGF0YTtcclxuICAgIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNEaXNwYXRjaCh0cnVlKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGVmYXVsdFNjZW5hcmlvLFxyXG4gICAgICBkZWZhdWx0RGlzVHlwZSxcclxuICAgICAgZGVmYXVsdERpc1NlcmlhbCxcclxuICAgICAgdXNlRGVmU2NlbmFyaW8sXHJcbiAgICAgIHVzZURlZkRpc1R5cGUsXHJcbiAgICAgIG5vUHJpY2UsXHJcbiAgICAgIGludmVudG9yeVRyQWRkcmVzcyxcclxuICAgICAgcmVjZWl2ZXJDaGFubmVsLFxyXG4gICAgICBub1JlbWFpbk9yZGVyLFxyXG4gICAgICB1c2VTb3VXaG9BZHIsXHJcbiAgICAgIHVzZUN1c1N0b2NrQ29kZSxcclxuICAgICAgdXNlQmFyY29kZSxcclxuICAgICAgaXRlbVRyZWVPcHRpb24sXHJcbiAgICAgIG9yZGVyUmVmZXJlbmNlRmllbGRcclxuICAgIH0gPSB0aGlzLnBhcmFtc0Rpc3BhdGNoRHRvIHx8IHt9O1xyXG5cclxuICAgIHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGRlZmF1bHRTY2VuYXJpbzogW2RlZmF1bHRTY2VuYXJpbyA/PyAwLCBbXV0sXHJcbiAgICAgIGRlZmF1bHREaXNUeXBlOiBbZGVmYXVsdERpc1R5cGUgPz8gMCwgW11dLFxyXG4gICAgICBkZWZhdWx0RGlzU2VyaWFsOiBbZGVmYXVsdERpc1NlcmlhbCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldXSxcclxuICAgICAgdXNlRGVmU2NlbmFyaW86IFt1c2VEZWZTY2VuYXJpbyA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZEaXNUeXBlOiBbdXNlRGVmRGlzVHlwZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBub1ByaWNlOiBbbm9QcmljZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBpbnZlbnRvcnlUckFkZHJlc3M6IFtpbnZlbnRvcnlUckFkZHJlc3MgPz8gMCwgW11dLFxyXG4gICAgICByZWNlaXZlckNoYW5uZWw6IFtyZWNlaXZlckNoYW5uZWwgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgbm9SZW1haW5PcmRlcjogW25vUmVtYWluT3JkZXIgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgdXNlU291V2hvQWRyOiBbdXNlU291V2hvQWRyID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgIHVzZUN1c1N0b2NrQ29kZTogW3VzZUN1c1N0b2NrQ29kZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VCYXJjb2RlOiBbdXNlQmFyY29kZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBpdGVtVHJlZU9wdGlvbjogW2l0ZW1UcmVlT3B0aW9uID8/IDAsIFtdXSxcclxuICAgICAgb3JkZXJSZWZlcmVuY2VGaWVsZDogW29yZGVyUmVmZXJlbmNlRmllbGQgPz8gMCwgW11dLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzdWJtaXRGb3JtKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLmNvbnRyb2xzLmRlZmF1bHREaXNTZXJpYWwudmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6RmlsbFJlcXVpcmVkRmllbGRzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLmNvbnRyb2xzLmRlZmF1bHREaXNTZXJpYWwudmFsdWUubGVuZ3RoID4gMykge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6RW50ZXJNYXgzQ2hhcmFjdGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLmludmFsaWQpIHtcclxuICAgICAgd2luZG93LnNjcm9sbCh7XHJcbiAgICAgICAgdG9wOiAwLFxyXG4gICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52YWxpZC5lbWl0KGZhbHNlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3VibWl0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG5cclxuICAgIC8vIHRoaXMudG9hc3RlclNlcnZpY2UuaW5mbygnZURvbnVzdW06OlRyYW5zYWN0aW9uU3RhcnRlZCcpO1xyXG5cclxuICAgIGlmICghdGhpcy5mb3JtUGFyYW1zRGlzcGF0Y2guY29udHJvbHMuZGVmYXVsdFNjZW5hcmlvLnZhbHVlKVxyXG4gICAgICB0aGlzLmZvcm1QYXJhbXNEaXNwYXRjaC5jb250cm9scy5kZWZhdWx0U2NlbmFyaW8uc2V0VmFsdWUoMCk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGFyYW1zRGlzcGF0Y2hEdG9cclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMucGFyYW1zRGlzcGF0Y2hEdG8uaWQsIHtcclxuICAgICAgICAgIC4uLnRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLnZhbHVlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5zZXJ2aWNlLmNyZWF0ZSh0aGlzLmZvcm1QYXJhbXNEaXNwYXRjaC52YWx1ZSk7XHJcblxyXG4gICAgcmVxdWVzdFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgdGFwKCgpID0+IHt9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgLy8gdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25TdWNjZXNzZnVsJyk7XHJcblxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNEaXNwYXRjaCgpO1xyXG5cclxuICAgICAgICAgIHRoaXMudmFsaWQuZW1pdCh0cnVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25VbnN1Y2Nlc3NmdWwnKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnZhbGlkLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFBhcmFtc0Rpc3BhdGNoKGJ1aWxkRm9ybTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlLmdldFBhcmFtc0Rpc3BhdGNoKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnBhcmFtc0Rpc3BhdGNoRHRvID0gZGF0YTtcclxuXHJcbiAgICAgIGlmIChidWlsZEZvcm0pIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1QYXJhbXNEaXNwYXRjaFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaFwiIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIiB2YWxpZGF0ZU9uU3VibWl0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC1kZWZhdWx0LWRpcy1zZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdERpc1NlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwicGFyYW1zZS1kaXNwYXRjaC1kZWZhdWx0LWRpcy1zZXJpYWxcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0RGlzU2VyaWFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtc2UtZGlzcGF0Y2gtdXNlLWRlZi1zY2VuYXJpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmU2NlbmFyaW9cIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWRpc3BhdGNoLXVzZS1kZWYtc2NlbmFyaW9cIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlVzZURlZlNjZW5hcmlvJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtc2UtZGlzcGF0Y2gtdXNlLWRlZi1kaXMtdHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmRGlzVHlwZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtdXNlLWRlZi1kaXMtdHlwZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmRGlzVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLW5vLXByaWNlXCIgZm9ybUNvbnRyb2xOYW1lPVwibm9QcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC1uby1wcmljZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6Tm9QcmljZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLW5vLXJlbWFpbi1vcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibm9SZW1haW5PcmRlclwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtbm8tcmVtYWluLW9yZGVyXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpOb1JlbWFpbk9yZGVyJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaC1yZWNlaXZlci1jaGFubmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZWNlaXZlckNoYW5uZWxcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWRpc3BhdGNoLXJlY2VpdmVyLWNoYW5uZWxcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlJlY2VpdmVyQ2hhbm5lbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLXVzZS1zb3Utd2hvLWFkclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXNlU291V2hvQWRyXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC11c2Utc291LXdoby1hZHJcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlVzZVNvdVdob0FkcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLXVzZS1jdXMtc3RvY2stY29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXNlQ3VzU3RvY2tDb2RlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC11c2UtY3VzLXN0b2NrLWNvZGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlVzZUN1c1N0b2NrQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLXVzZS1iYXJjb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VCYXJjb2RlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC11c2UtYmFyY29kZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlQmFyY29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJmb3JtUGFyYW1zRGlzcGF0Y2guY29udHJvbHMudXNlRGVmU2NlbmFyaW8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtc2NlbmFyaW9cIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0U2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInNjZW5hcmlvVHlwZURhdGFTb3VyY2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0Rpc3BhdGNoLmNvbnRyb2xzLnVzZURlZkRpc1R5cGUudmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zLWRpc3BhdGNoLWRlZmF1bHQtZGlzLXR5cGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0SW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1kaXNwYXRjaC1kZWZhdWx0LWRpcy10eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdERpc1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRvY3VtZW50VHlwZURhdGFTb3VyY2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWRpc3BhdGNoLWludmVudG9yeS10ci1hZGRyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SW52ZW50b3J5VHJBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zZS1kaXNwYXRjaC1pbnZlbnRvcnktdHItYWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludmVudG9yeVRyQWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cImlkXCIgW2RhdGFTb3VyY2VdPVwiaW52ZW50b3J5VHJhbnNmZXJBZGRyZXNzRGF0YVNvdXJjZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWRpc3BhdGNoLWl0ZW0tdHJlZXMtb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1UcmVlc09wdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLWl0ZW0tdHJlZXMtb3B0aW9uc1wiIGZvcm1Db250cm9sTmFtZT1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCIgdmFsdWVFeHByPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJpdGVtVHJlZU9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtb3JkZXItcmVmZXJlbmNlLWZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok9yZGVyUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLW9yZGVyLXJlZmVyZW5jZS1maWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvcmRlclJlZmVyZW5jZUZpZWxkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVFeHByPVwiaWRcIiBbZGF0YVNvdXJjZV09XCJvcmRlclJlZmVyZW5jZUZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgdGV4dC1sZy1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIGZvcm1OYW1lPVwicGFyYW1zZS1kaXNwYXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdEJ1dHRvbkRpc2FibGVkXCIgW2hpZGRlbl09XCJJc1N1Ym1pdEJ1dHRvbkhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhcmFtcy1kaXNwYXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lLWRvbnVzdW0vc3JjL2xpYi9jb21wb25lbnRzL2hpdC1wYXJhbXMtZGlzcGF0Y2hlcy9oaXQtcGFyYW1zLWRpc3BhdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtcy1kaXNwYXRjaGVzL2hpdC1wYXJhbXMtZGlzcGF0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixXQUFXLEVBQWtDLE1BQU0sY0FBYyxDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7OztBQVlyQyxNQUFNLE9BQU8sMEJBQTBCO0lBaUJyQyxZQUNrQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUErQixFQUN2QyxZQUFpQyxFQUNqQyxFQUFlLEVBQ04sMEJBQXNELEVBQ3RELGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCx1QkFBZ0QsRUFDaEQsb0NBQTBFO1FBVDNFLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFDdkMsaUJBQVksR0FB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SSxDQUFDLEVBQUU7WUFDbkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUU5QixJQUFJLFNBQVM7Z0JBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUhBekpVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFJQUoxQixDQUFDLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLDBCQ3ZCOUUsNndZQTRNTTsyRkRqTE8sMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFDZCx1QkFBdUIsQ0FBQyxPQUFPLGFBQ3JDLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7cWFBaUJuRSxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQLCBkb3dubG9hZEJsb2IsIExpc3RTZXJ2aWNlLCBQYWdlZFJlc3VsdER0bywgVHJhY2tCeVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFBhcmFtc2VEaXNwYXRjaER0bywgUGFyYW1zZURpc3BhdGNoU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3h5L3BhcmFtc2UtZGlzcGF0Y2hlcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSGl0UGFyYW1zRGlzcGF0Y2hlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXBhcmFtcy1kaXNwYXRjaGVzL2hpdC1wYXJhbXMtZGlzcGF0Y2guc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1zY2VuYXJpby10eXBlcy9oaXQtc2NlbmFyaW8tdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWRvY3VtZW50LXR5cGVzL2hpdC1kb2N1bWVudC10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRJbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3Nlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWludmVudG9yeS10cmFuc2Zlci1hZGRyZXNzZXMvaGl0LWludmVudG9yeS10cmFuc2Zlci1hZGRyZXNzLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2hpdC1wYXJhbXMtZGlzcGF0Y2gnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICBwcm92aWRlcnM6IFtMaXN0U2VydmljZSwgeyBwcm92aWRlOiBOZ2JEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IERhdGVBZGFwdGVyIH1dLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXQtcGFyYW1zLWRpc3BhdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UGFyYW1zRGlzcGF0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZvcm1QYXJhbXNEaXNwYXRjaDogRm9ybUdyb3VwO1xyXG5cclxuICBwYXJhbXNEaXNwYXRjaER0bz86IFBhcmFtc2VEaXNwYXRjaER0bztcclxuXHJcbiAgc3VibWl0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgc2NlbmFyaW9UeXBlRGF0YVNvdXJjZTogYW55O1xyXG4gIGRvY3VtZW50VHlwZURhdGFTb3VyY2U6IGFueTtcclxuICBpbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3NEYXRhU291cmNlOiBhbnk7XHJcbiAgaXRlbVRyZWVPcHRpb25zOiBhbnk7XHJcbiAgb3JkZXJSZWZlcmVuY2VGaWVsZHM6IGFueTtcclxuXHJcbiAgQElucHV0KCkgSXNTdWJtaXRCdXR0b25IaWRkZW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogUGFyYW1zZURpc3BhdGNoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlOiBIaXRQYXJhbXNEaXNwYXRjaGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBoaXRTY2VuYXJpb1R5cGVzU2VydmljZTogSGl0U2NlbmFyaW9UeXBlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpdERvY3VtZW50VHlwZXNTZXJ2aWNlOiBIaXREb2N1bWVudFR5cGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0SW52ZW50b3J5VHJhbnNmZXJBZGRyZXNzZXNTZXJ2aWNlOiBIaXRJbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3Nlc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuXHJcbiAgICB0aGlzLmhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLmdldFNjZW5hcmlvVHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2NlbmFyaW9UeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdERvY3VtZW50VHlwZXNTZXJ2aWNlLmdldERvY3VtZW50VHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRUeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdEludmVudG9yeVRyYW5zZmVyQWRkcmVzc2VzU2VydmljZS5nZXRJbnZlbnRvcnlUcmFuc2ZlckFkZHJlc3MoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuaW52ZW50b3J5VHJhbnNmZXJBZGRyZXNzRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlLmdldEl0ZW1UcmVlT3B0aW9ucygpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5pdGVtVHJlZU9wdGlvbnMgPSBkYXRhO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLmhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlLmdldE9yZGVyUmVmZXJlbmNlRmllbGRzKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyUmVmZXJlbmNlRmllbGRzID0gZGF0YTtcclxuICAgIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNEaXNwYXRjaCh0cnVlKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGVmYXVsdFNjZW5hcmlvLFxyXG4gICAgICBkZWZhdWx0RGlzVHlwZSxcclxuICAgICAgZGVmYXVsdERpc1NlcmlhbCxcclxuICAgICAgdXNlRGVmU2NlbmFyaW8sXHJcbiAgICAgIHVzZURlZkRpc1R5cGUsXHJcbiAgICAgIG5vUHJpY2UsXHJcbiAgICAgIGludmVudG9yeVRyQWRkcmVzcyxcclxuICAgICAgcmVjZWl2ZXJDaGFubmVsLFxyXG4gICAgICBub1JlbWFpbk9yZGVyLFxyXG4gICAgICB1c2VTb3VXaG9BZHIsXHJcbiAgICAgIHVzZUN1c1N0b2NrQ29kZSxcclxuICAgICAgdXNlQmFyY29kZSxcclxuICAgICAgaXRlbVRyZWVPcHRpb24sXHJcbiAgICAgIG9yZGVyUmVmZXJlbmNlRmllbGRcclxuICAgIH0gPSB0aGlzLnBhcmFtc0Rpc3BhdGNoRHRvIHx8IHt9O1xyXG5cclxuICAgIHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGRlZmF1bHRTY2VuYXJpbzogW2RlZmF1bHRTY2VuYXJpbyA/PyAwLCBbXV0sXHJcbiAgICAgIGRlZmF1bHREaXNUeXBlOiBbZGVmYXVsdERpc1R5cGUgPz8gMCwgW11dLFxyXG4gICAgICBkZWZhdWx0RGlzU2VyaWFsOiBbZGVmYXVsdERpc1NlcmlhbCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldXSxcclxuICAgICAgdXNlRGVmU2NlbmFyaW86IFt1c2VEZWZTY2VuYXJpbyA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZEaXNUeXBlOiBbdXNlRGVmRGlzVHlwZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBub1ByaWNlOiBbbm9QcmljZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBpbnZlbnRvcnlUckFkZHJlc3M6IFtpbnZlbnRvcnlUckFkZHJlc3MgPz8gMCwgW11dLFxyXG4gICAgICByZWNlaXZlckNoYW5uZWw6IFtyZWNlaXZlckNoYW5uZWwgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgbm9SZW1haW5PcmRlcjogW25vUmVtYWluT3JkZXIgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgdXNlU291V2hvQWRyOiBbdXNlU291V2hvQWRyID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgIHVzZUN1c1N0b2NrQ29kZTogW3VzZUN1c1N0b2NrQ29kZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VCYXJjb2RlOiBbdXNlQmFyY29kZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBpdGVtVHJlZU9wdGlvbjogW2l0ZW1UcmVlT3B0aW9uID8/IDAsIFtdXSxcclxuICAgICAgb3JkZXJSZWZlcmVuY2VGaWVsZDogW29yZGVyUmVmZXJlbmNlRmllbGQgPz8gMCwgW11dLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzdWJtaXRGb3JtKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLmNvbnRyb2xzLmRlZmF1bHREaXNTZXJpYWwudmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6RmlsbFJlcXVpcmVkRmllbGRzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLmNvbnRyb2xzLmRlZmF1bHREaXNTZXJpYWwudmFsdWUubGVuZ3RoID4gMykge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6RW50ZXJNYXgzQ2hhcmFjdGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLmludmFsaWQpIHtcclxuICAgICAgd2luZG93LnNjcm9sbCh7XHJcbiAgICAgICAgdG9wOiAwLFxyXG4gICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52YWxpZC5lbWl0KGZhbHNlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3VibWl0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG5cclxuICAgIC8vIHRoaXMudG9hc3RlclNlcnZpY2UuaW5mbygnZURvbnVzdW06OlRyYW5zYWN0aW9uU3RhcnRlZCcpO1xyXG5cclxuICAgIGlmICghdGhpcy5mb3JtUGFyYW1zRGlzcGF0Y2guY29udHJvbHMuZGVmYXVsdFNjZW5hcmlvLnZhbHVlKVxyXG4gICAgICB0aGlzLmZvcm1QYXJhbXNEaXNwYXRjaC5jb250cm9scy5kZWZhdWx0U2NlbmFyaW8uc2V0VmFsdWUoMCk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGFyYW1zRGlzcGF0Y2hEdG9cclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMucGFyYW1zRGlzcGF0Y2hEdG8uaWQsIHtcclxuICAgICAgICAgIC4uLnRoaXMuZm9ybVBhcmFtc0Rpc3BhdGNoLnZhbHVlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5zZXJ2aWNlLmNyZWF0ZSh0aGlzLmZvcm1QYXJhbXNEaXNwYXRjaC52YWx1ZSk7XHJcblxyXG4gICAgcmVxdWVzdFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgdGFwKCgpID0+IHt9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgLy8gdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25TdWNjZXNzZnVsJyk7XHJcblxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNEaXNwYXRjaCgpO1xyXG5cclxuICAgICAgICAgIHRoaXMudmFsaWQuZW1pdCh0cnVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25VbnN1Y2Nlc3NmdWwnKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnZhbGlkLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFBhcmFtc0Rpc3BhdGNoKGJ1aWxkRm9ybTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmhpdFBhcmFtc0Rpc3BhdGNoZXNTZXJ2aWNlLmdldFBhcmFtc0Rpc3BhdGNoKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnBhcmFtc0Rpc3BhdGNoRHRvID0gZGF0YTtcclxuXHJcbiAgICAgIGlmIChidWlsZEZvcm0pIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1QYXJhbXNEaXNwYXRjaFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaFwiIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIiB2YWxpZGF0ZU9uU3VibWl0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC1kZWZhdWx0LWRpcy1zZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdERpc1NlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwicGFyYW1zZS1kaXNwYXRjaC1kZWZhdWx0LWRpcy1zZXJpYWxcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0RGlzU2VyaWFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaC11c2UtZGVmLXNjZW5hcmlvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VEZWZTY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtdXNlLWRlZi1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmU2NlbmFyaW8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaC11c2UtZGVmLWRpcy10eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VEZWZEaXNUeXBlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC11c2UtZGVmLWRpcy10eXBlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZEaXNUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1mYWxzZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtc2UtZGlzcGF0Y2gtbm8tcHJpY2VcIiBmb3JtQ29udHJvbE5hbWU9XCJub1ByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWRpc3BhdGNoLW5vLXByaWNlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpOb1ByaWNlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1mYWxzZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtc2UtZGlzcGF0Y2gtbm8tcmVtYWluLW9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJub1JlbWFpbk9yZGVyXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC1uby1yZW1haW4tb3JkZXJcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok5vUmVtYWluT3JkZXInIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIiAqbmdJZj1mYWxzZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1mYWxzZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtc2UtZGlzcGF0Y2gtcmVjZWl2ZXItY2hhbm5lbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVjZWl2ZXJDaGFubmVsXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1kaXNwYXRjaC1yZWNlaXZlci1jaGFubmVsXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpSZWNlaXZlckNoYW5uZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPWZhbHNlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaC11c2Utc291LXdoby1hZHJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZVNvdVdob0FkclwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtdXNlLXNvdS13aG8tYWRyXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VTb3VXaG9BZHInIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPWZhbHNlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaC11c2UtY3VzLXN0b2NrLWNvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZUN1c1N0b2NrQ29kZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtdXNlLWN1cy1zdG9jay1jb2RlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VDdXNTdG9ja0NvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPWZhbHNlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwicGFyYW1zZS1kaXNwYXRjaC11c2UtYmFyY29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXNlQmFyY29kZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtdXNlLWJhcmNvZGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlVzZUJhcmNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJmb3JtUGFyYW1zRGlzcGF0Y2guY29udHJvbHMudXNlRGVmU2NlbmFyaW8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtc2NlbmFyaW9cIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0U2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInNjZW5hcmlvVHlwZURhdGFTb3VyY2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0Rpc3BhdGNoLmNvbnRyb2xzLnVzZURlZkRpc1R5cGUudmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zLWRpc3BhdGNoLWRlZmF1bHQtZGlzLXR5cGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0SW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1kaXNwYXRjaC1kZWZhdWx0LWRpcy10eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdERpc1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRvY3VtZW50VHlwZURhdGFTb3VyY2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWRpc3BhdGNoLWludmVudG9yeS10ci1hZGRyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SW52ZW50b3J5VHJBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zZS1kaXNwYXRjaC1pbnZlbnRvcnktdHItYWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludmVudG9yeVRyQWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cImlkXCIgW2RhdGFTb3VyY2VdPVwiaW52ZW50b3J5VHJhbnNmZXJBZGRyZXNzRGF0YVNvdXJjZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWRpc3BhdGNoLWl0ZW0tdHJlZXMtb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1UcmVlc09wdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLWl0ZW0tdHJlZXMtb3B0aW9uc1wiIGZvcm1Db250cm9sTmFtZT1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCIgdmFsdWVFeHByPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJpdGVtVHJlZU9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtZGlzcGF0Y2gtb3JkZXItcmVmZXJlbmNlLWZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok9yZGVyUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXNlLWRpc3BhdGNoLW9yZGVyLXJlZmVyZW5jZS1maWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvcmRlclJlZmVyZW5jZUZpZWxkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVFeHByPVwiaWRcIiBbZGF0YVNvdXJjZV09XCJvcmRlclJlZmVyZW5jZUZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgdGV4dC1sZy1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIGZvcm1OYW1lPVwicGFyYW1zZS1kaXNwYXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdEJ1dHRvbkRpc2FibGVkXCIgW2hpZGRlbl09XCJJc1N1Ym1pdEJ1dHRvbkhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19