@eo-sdk/client 10.3.0-rc.2 → 10.4.0-rc.1

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 (58) hide show
  1. package/app/eo-framework/actions/action.module.d.ts +17 -12
  2. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  3. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts +47 -0
  4. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts.map +1 -0
  5. package/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.d.ts +19 -0
  6. package/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.d.ts.map +1 -0
  7. package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts +3 -1
  8. package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts.map +1 -1
  9. package/app/eo-framework/actions/actions/signature-action/signature.model.d.ts +21 -0
  10. package/app/eo-framework/actions/actions/signature-action/signature.model.d.ts.map +1 -0
  11. package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts +2 -0
  12. package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts.map +1 -1
  13. package/app/eo-framework/object-form/object-form/object-form-group.model.d.ts +1 -0
  14. package/app/eo-framework/object-form/object-form/object-form-group.model.d.ts.map +1 -1
  15. package/app/eo-framework/object-form/object-form-edit/object-form-edit.component.d.ts.map +1 -1
  16. package/app/eo-framework/object-form/object-form-helper.service.d.ts +11 -0
  17. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  18. package/app/eo-framework/object-form/object-form-options.interface.d.ts +1 -0
  19. package/app/eo-framework/object-form/object-form-options.interface.d.ts.map +1 -1
  20. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +2 -1
  21. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  22. package/assets/_default/i18n/de.json +5 -3
  23. package/assets/_default/i18n/en.json +5 -3
  24. package/assets/_default/svg/ic_drag.svg +1 -0
  25. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  26. package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +1 -1
  27. package/esm2020/app/eo-framework/actions/action.module.mjs +19 -7
  28. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +184 -0
  29. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +53 -0
  30. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +19 -17
  31. package/esm2020/app/eo-framework/actions/actions/signature-action/signature.model.mjs +8 -0
  32. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +1 -1
  33. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +1 -1
  34. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +1 -1
  35. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +11 -4
  36. package/esm2020/app/eo-framework/object-form/object-form/object-form-group.model.mjs +1 -1
  37. package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +2 -1
  38. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +35 -2
  39. package/esm2020/app/eo-framework/object-form/object-form-options.interface.mjs +1 -1
  40. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +1 -1
  41. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +6 -4
  42. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +1 -1
  43. package/esm2020/app/eo-framework/tree/tree-node/tree-node.component.mjs +3 -3
  44. package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +3 -3
  45. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +4 -96
  46. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +5 -96
  47. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  48. package/fesm2015/eo-sdk-client.mjs +475 -194
  49. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  50. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +5 -96
  51. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  52. package/fesm2020/eo-sdk-client.mjs +471 -194
  53. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  54. package/package.json +3 -3
  55. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +1 -4
  56. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +1 -1
  57. package/scss/_form.scss +6 -1
  58. package/styles.css +3 -0
@@ -9,11 +9,12 @@ import * as i4 from "@angular/common";
9
9
  import * as i5 from "@ngx-translate/core";
10
10
  import * as i6 from "../../../../ui/loading-spinner/loading-spinner.component";
11
11
  import * as i7 from "../../../../ui/eo-dialog/eo-dialog.component";
12
- import * as i8 from "../../../../object-form/object-form/form-element-table/form-element-table.component";
13
- import * as i9 from "../../../../form-elements/form-input/form-input.component";
14
- import * as i10 from "../../../../form-elements/codesystem/codesystem.component";
12
+ import * as i8 from "../../../../form-elements/form-input/form-input.component";
13
+ import * as i9 from "../../../../form-elements/codesystem/codesystem.component";
14
+ import * as i10 from "../../../../form-elements/checkbox/checkbox.component";
15
15
  import * as i11 from "../../../../form-elements/string/string.component";
16
16
  import * as i12 from "../../../../cta/component/cta.component";
17
+ import * as i13 from "../sequence-list/sequence-list.component";
17
18
  export class SignatureComponent {
18
19
  constructor(bpmService, pendingChanges, translate, toaster, signingService, eventService, dmsService, systemService, storageService, fb) {
19
20
  this.bpmService = bpmService;
@@ -37,17 +38,21 @@ export class SignatureComponent {
37
38
  entries: []
38
39
  };
39
40
  this.signatureTypeStorageKey = 'eo.signature.type';
41
+ this.signatureParallelStorageKey = 'eo.signature.parallel';
40
42
  const defaultSignatureType = this.storageService.getItem(this.signatureTypeStorageKey);
43
+ const defaultSignatureParallel = this.storageService.getItem(this.signatureParallelStorageKey);
41
44
  this.signingForm = this.fb.group({
42
- yuvsigemailsubject: [''],
43
- yuvsigemailbody: [''],
44
45
  yuvsigtype: [defaultSignatureType ? defaultSignatureType : ''],
45
46
  yuvsigners: [],
47
+ parallelSigning: [defaultSignatureParallel ? defaultSignatureParallel : false],
48
+ yuvsigemailsubject: [''],
49
+ yuvsigemailbody: ['']
46
50
  });
47
51
  this.headerTitle = this.translate.instant('eo.action.signature.label');
48
- this.headerDescription = this.translate.instant('eo.action.signature.description');
49
52
  this.signingFormListener = this.signingForm.valueChanges.subscribe(() => this.onIndexDataChanged());
50
53
  this.signingService.getInfo().subscribe((info) => {
54
+ let platformName = info.platform === 'docusign' ? 'DocuSign' : 'Adobe Sign';
55
+ this.headerDescription = this.translate.instant('eo.action.signature.description', { platform: platformName });
51
56
  if (info.signatureTypesEnabled) {
52
57
  this.yuvsigtypeCodesystem.entries = this.systemService.getCodesystem(this.yuvsigtypeCodesystem.id).entries;
53
58
  this.yuvsigtypeCodesystem.entries = this.yuvsigtypeCodesystem.entries.filter(entry => info.signatureTypesEnabled.includes(entry.data));
@@ -62,11 +67,11 @@ export class SignatureComponent {
62
67
  saveForm() {
63
68
  this.processingRequest = true;
64
69
  if (this.signingForm && !this.signingForm.invalid) {
65
- const signers = (this.signingForm.get('yuvsigners').value || []).map(value => ({
66
- signerName: value.yuvsignername,
67
- signerEmail: value.yuvsigneremail,
68
- signerOrder: value.yuvsignerorder,
69
- signerPhone: value.yuvsignerphone
70
+ const signers = (this.signingForm.get('yuvsigners').value || []).map((value, index) => ({
71
+ signerName: value.name,
72
+ signerEmail: value.email,
73
+ signerOrder: this.signingForm.get('parallelSigning').value ? 1 : index + 1,
74
+ signerPhone: value.phone
70
75
  }));
71
76
  const signingData = {
72
77
  emailSubject: this.signingForm.get('yuvsigemailsubject').value,
@@ -114,9 +119,6 @@ export class SignatureComponent {
114
119
  this.finishPending();
115
120
  }
116
121
  }
117
- getLocalizedForm(phoneRequired = false) {
118
- return this.signingService.getLocalizedSigningForm(phoneRequired);
119
- }
120
122
  startPending() {
121
123
  // because this method will be called every time the form status changes,
122
124
  // pending task will only be started once until it was finished
@@ -132,12 +134,12 @@ export class SignatureComponent {
132
134
  }
133
135
  }
134
136
  SignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SignatureComponent, deps: [{ token: i1.BpmService }, { token: i2.PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SigningService }, { token: i1.EventService }, { token: i1.DmsService }, { token: i1.SystemService }, { token: i1.LocalStorageService }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
135
- SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [height]=\"'60vh'\" [minWidth]=\"'68vw'\" [hasPreviewFile]=\"false\" [params]=\"{\n situation: 'CREATE',\n element: getLocalizedForm(signingForm.get('yuvsigtype').value === 'advanced'),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:center;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.FormElementTableComponent, selector: "eo-table", inputs: ["limit", "hasPreviewFile", "minWidth", "height", "params"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i10.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i11.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i12.CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
137
+ SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i9.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i10.CheckboxComponent, selector: "eo-checkbox", inputs: ["tristate", "readonly"] }, { kind: "component", type: i11.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i12.CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "component", type: i13.SequenceListComponent, selector: "eo-sequence-list", inputs: ["MAX_SIGNERS", "phoneRequired"], outputs: ["itemEdit"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
136
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SignatureComponent, decorators: [{
137
139
  type: Component,
138
- args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [height]=\"'60vh'\" [minWidth]=\"'68vw'\" [hasPreviewFile]=\"false\" [params]=\"{\n situation: 'CREATE',\n element: getLocalizedForm(signingForm.get('yuvsigtype').value === 'advanced'),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:center;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"] }]
140
+ args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"] }]
139
141
  }], ctorParameters: function () { return [{ type: i1.BpmService }, { type: i2.PendingChangesService }, { type: i1.TranslateService }, { type: i1.NotificationsService }, { type: i1.SigningService }, { type: i1.EventService }, { type: i1.DmsService }, { type: i1.SystemService }, { type: i1.LocalStorageService }, { type: i3.UntypedFormBuilder }]; }, propDecorators: { dialog: [{
140
142
  type: ViewChild,
141
143
  args: ['dialog']
142
144
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNMLEtBQUssRUFNTCxVQUFVLEVBS1gsTUFBTSxjQUFjLENBQUM7QUFPdEIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU96QyxNQUFNLE9BQU8sa0JBQWtCO0lBMEI3QixZQUFvQixVQUFzQixFQUNoQyxjQUFxQyxFQUNyQyxTQUEyQixFQUMzQixPQUE2QixFQUM3QixjQUE4QixFQUM5QixZQUEwQixFQUMxQixVQUFzQixFQUN0QixhQUE0QixFQUM1QixjQUFtQyxFQUNuQyxFQUFzQjtRQVRaLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzdCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFxQjtRQUNu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LElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLGFBQWEsR0FBRyxLQUFLO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sWUFBWTtRQUNsQix5RUFBeUU7UUFDekUsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7K0dBNUlVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNKQzNCL0Isa3hGQTBEQTsyRkQvQmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGNBQWM7dVhBbUJILE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFV0aWxzLFxuICBCcG1TZXJ2aWNlLFxuICBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgU2lnbmluZ1NlcnZpY2UsXG4gIFNpZ25pbmdSZXF1ZXN0LFxuICBFbmFpb0V2ZW50LFxuICBFdmVudFNlcnZpY2UsXG4gIERtc1NlcnZpY2UsXG4gIFN5c3RlbVNlcnZpY2UsXG4gIExvY2FsU3RvcmFnZVNlcnZpY2Vcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7RW9EaWFsb2dDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL3VpL2VvLWRpYWxvZy9lby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2FjdGlvbi1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtPYmplY3RGb3JtT3B0aW9uc30gZnJvbSAnLi4vLi4vLi4vLi4vb2JqZWN0LWZvcm0nO1xuaW1wb3J0IHtGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2lnbmF0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZ25hdHVyZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25hdHVyZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFjdGlvbkNvbXBvbmVudCwgT25EZXN0cm95IHtcbiAgc2VsZWN0aW9uOiBhbnlbXTtcbiAgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByb2Nlc3NpbmdSZXF1ZXN0OiBib29sZWFuO1xuICBoZWFkZXJUaXRsZTogc3RyaW5nO1xuICBoZWFkZXJEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzZWxlY3RlZDogYW55O1xuICBmb3JtT3B0aW9uczogT2JqZWN0Rm9ybU9wdGlvbnM7XG4gIGNvbnRlbnRzOiB7aWQ6IHN0cmluZywgdHlwZTogc3RyaW5nfVtdO1xuXG4gIC8vIElEIHNldCBieSBwZW5kaW5nQ2hhbmdlcyBzZXJ2aWNlIHdoZW4gZWRpdGluZyBpbmRleGRhdGFcbiAgLy8gVXNlZCB0byBmaW5pc2ggdGhlIHBlbmRpbmcgdGFzayB3aGVuIGVkaXRpbmcgaXMgZG9uZVxuICBwZW5kaW5nVGFza0lkczogc3RyaW5nW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdkaWFsb2cnKSBkaWFsb2c6IEVvRGlhbG9nQ29tcG9uZW50O1xuICBzaWduaW5nRm9ybTogRm9ybUdyb3VwO1xuICBtYXhTaWduZXJzOiBudW1iZXI7XG4gIHNpZ25pbmdGb3JtTGlzdGVuZXI6IFN1YnNjcmlwdGlvbjtcbiAgeXV2c2lndHlwZUNvZGVzeXN0ZW0gPSB7XG4gICAgaWQ6ICcxMjkxQkFCOTFCMEQ0OUQxQTlBNERGQ0NGNDlBMTY2NicsXG4gICAgbmFtZTogJ3l1dnNpZ3R5cGUnLFxuICAgIGVudHJpZXM6IFtdXG4gIH07XG4gIHNpZ25hdHVyZVR5cGVTdG9yYWdlS2V5ID0gJ2VvLnNpZ25hdHVyZS50eXBlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaWduaW5nU2VydmljZTogU2lnbmluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVR5cGUgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5zaWduYXR1cmVUeXBlU3RvcmFnZUtleSk7XG4gICAgdGhpcy5zaWduaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgeXV2c2lnZW1haWxzdWJqZWN0OiBbJyddLFxuICAgICAgeXV2c2lnZW1haWxib2R5OiBbJyddLFxuICAgICAgeXV2c2lndHlwZTogW2RlZmF1bHRTaWduYXR1cmVUeXBlID8gZGVmYXVsdFNpZ25hdHVyZVR5cGUgOiAnJ10sXG4gICAgICB5dXZzaWduZXJzOiBbXSxcbiAgICB9KTtcbiAgICB0aGlzLmhlYWRlclRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5sYWJlbCcpO1xuICAgIHRoaXMuaGVhZGVyRGVzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5hY3Rpb24uc2lnbmF0dXJlLmRlc2NyaXB0aW9uJyk7XG5cbiAgICB0aGlzLnNpZ25pbmdGb3JtTGlzdGVuZXIgPSB0aGlzLnNpZ25pbmdGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkluZGV4RGF0YUNoYW5nZWQoKSk7XG4gICAgdGhpcy5zaWduaW5nU2VydmljZS5nZXRJbmZvKCkuc3Vic2NyaWJlKChpbmZvKSA9PiB7XG4gICAgICBpZiAoaW5mby5zaWduYXR1cmVUeXBlc0VuYWJsZWQpIHtcbiAgICAgICAgdGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5lbnRyaWVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0odGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5pZCkuZW50cmllcztcbiAgICAgICAgdGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5lbnRyaWVzID0gdGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5lbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBpbmZvLnNpZ25hdHVyZVR5cGVzRW5hYmxlZC5pbmNsdWRlcyhlbnRyeS5kYXRhKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubWF4U2lnbmVycyA9IGluZm8ubWF4U2lnbmVycyB8fCA2O1xuXG4gICAgICB0aGlzLnNpZ25pbmdGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICB5dXZzaWdlbWFpbHN1YmplY3Q6IGluZm8uZGVmYXVsdEVtYWlsU3ViamVjdCxcbiAgICAgICAgeXV2c2lnZW1haWxib2R5OiBpbmZvLmRlZmF1bHRFbWFpbEJvZHlcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc2F2ZUZvcm0oKSB7XG4gICAgdGhpcy5wcm9jZXNzaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0gJiYgIXRoaXMuc2lnbmluZ0Zvcm0uaW52YWxpZCkge1xuICAgICAgY29uc3Qgc2lnbmVycyA9ICh0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lnbmVycycpLnZhbHVlIHx8IFtdKS5tYXAodmFsdWUgPT4gKHtcbiAgICAgICAgICAgIHNpZ25lck5hbWU6IHZhbHVlLnl1dnNpZ25lcm5hbWUsXG4gICAgICAgICAgICBzaWduZXJFbWFpbDogdmFsdWUueXV2c2lnbmVyZW1haWwsXG4gICAgICAgICAgICBzaWduZXJPcmRlcjogdmFsdWUueXV2c2lnbmVyb3JkZXIsXG4gICAgICAgICAgICBzaWduZXJQaG9uZTogdmFsdWUueXV2c2lnbmVycGhvbmVcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgY29uc3Qgc2lnbmluZ0RhdGEgPSB7XG4gICAgICAgIGVtYWlsU3ViamVjdDogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ2VtYWlsc3ViamVjdCcpLnZhbHVlLFxuICAgICAgICBlbWFpbEJvZHk6IHRoaXMuc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWdlbWFpbGJvZHknKS52YWx1ZSxcbiAgICAgICAgc2lnbmF0dXJlVHlwZTogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA/IHRoaXMuc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWd0eXBlJykudmFsdWUgOiB0aGlzLnl1dnNpZ3R5cGVDb2Rlc3lzdGVtLmVudHJpZXNbMF0uZGF0YSxcbiAgICAgICAgc2lnbmVyc1xuICAgICAgfSBhcyBTaWduaW5nUmVxdWVzdDtcbiAgICAgIHRoaXMuc2lnbmluZ1NlcnZpY2VcbiAgICAgICAgLnNpZ25Eb2N1bWVudCh0aGlzLnNlbGVjdGlvblswXS5pZCwgc2lnbmluZ0RhdGEpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmRtc1NlcnZpY2UuZ2V0RG1zT2JqZWN0KHRoaXMuc2VsZWN0aW9uWzBdLmlkKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkbXNPYmplY3QpID0+IHtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5yZXF1ZXN0LnN1Y2Nlc3MnKSk7XG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuc2lnbmF0dXJlVHlwZVN0b3JhZ2VLZXksIHNpZ25pbmdEYXRhLnNpZ25hdHVyZVR5cGUpO1xuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQsIGRtc09iamVjdCk7XG4gICAgICAgICAgdGhpcy5maW5pc2goKTtcbiAgICAgICAgfSwgVXRpbHMudGhyb3coZXJyb3IgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmVycm9yLmNvbm5lY3Rpb24uaW50ZXJydXB0ZWQudGl0bGUnKSwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZXJyb3IuY29ubmVjdGlvbi5pbnRlcnJ1cHRlZC50ZXh0JykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZXJyb3IoZXJyb3IuZXJyb3I/Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBmaW5pc2goKSB7XG4gICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgdGhpcy5kaWFsb2cudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLnBlbmRpbmdUYXNrSWRzKSkge1xuICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgICB0aGlzLmRpYWxvZy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbkluZGV4RGF0YUNoYW5nZWQoKSB7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0uZGlydHkpIHtcbiAgICAgIHRoaXMuc3RhcnRQZW5kaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmluaXNoUGVuZGluZygpO1xuICAgIH1cbiAgfVxuXG4gIGdldExvY2FsaXplZEZvcm0ocGhvbmVSZXF1aXJlZCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmluZ1NlcnZpY2UuZ2V0TG9jYWxpemVkU2lnbmluZ0Zvcm0ocGhvbmVSZXF1aXJlZCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UGVuZGluZygpIHtcbiAgICAvLyBiZWNhdXNlIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGV2ZXJ5IHRpbWUgdGhlIGZvcm0gc3RhdHVzIGNoYW5nZXMsXG4gICAgLy8gcGVuZGluZyB0YXNrIHdpbGwgb25seSBiZSBzdGFydGVkIG9uY2UgdW50aWwgaXQgd2FzIGZpbmlzaGVkXG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKHRoaXMucGVuZGluZ1Rhc2tJZHNbMF0gfHwgJyAnKSkge1xuICAgICAgdGhpcy5wZW5kaW5nVGFza0lkcyA9IFt0aGlzLnBlbmRpbmdDaGFuZ2VzLnN0YXJ0VGFzaygpXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmlzaFBlbmRpbmcoKSB7XG4gICAgdGhpcy5wZW5kaW5nQ2hhbmdlcy5maW5pc2hUYXNrKHRoaXMucGVuZGluZ1Rhc2tJZHNbMF0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zaWduaW5nRm9ybUxpc3RlbmVyLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxlby1kaWFsb2cgW3RpdGxlXT1cImhlYWRlclRpdGxlXCJcbiAgICAgICAgICAgW3N1YnRpdGxlXT1cImhlYWRlckRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgIFtkaXJ0eUNoZWNrXT1cInBlbmRpbmdUYXNrSWRzXCJcbiAgICAgICAgICAgW21pbldpZHRoXT1cIjYwMFwiXG4gICAgICAgICAgIFttaW5IZWlnaHRdPVwiNjAwXCJcbiAgICAgICAgICAgW3N0eWxlQ2xhc3NdPVwiJ3Byb2Nlc3MtZm9ybS1kaWFsb2cnXCIgI2RpYWxvZz5cblxuICA8c2VjdGlvbiBjbGFzcz1cInNpZ25hdHVyZS1mb3JtIGZvcm0tY29udGFpbmVyXCI+XG4gICAgPGZvcm0gY2xhc3M9XCJzaWduaW5nLWZvcm1cIiBbZm9ybUdyb3VwXT1cInNpZ25pbmdGb3JtXCI+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmluZy55dXZzaWdlbWFpbHN1YmplY3QnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgPGVvLXN0cmluZ1xuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ2VtYWlsc3ViamVjdCdcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tc3RyaW5nPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lnZW1haWxib2R5JyB8IHRyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCJ0cnVlXCI+XG4gICAgICAgIDxlby1zdHJpbmdcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWdlbWFpbGJvZHknXCJcbiAgICAgICAgICBbbXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgICAgICAgICBbbWluTGVuZ3RoXT1cIjNcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwiNDAwMFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICA+PC9lby1zdHJpbmc+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCAqbmdJZj1cInl1dnNpZ3R5cGVDb2Rlc3lzdGVtLmVudHJpZXMubGVuZ3RoID4gMVwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lndHlwZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLWNvZGVzeXN0ZW1cbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWd0eXBlJ1wiXG4gICAgICAgICAgW2NvZGVzeXN0ZW1dPVwieXV2c2lndHlwZUNvZGVzeXN0ZW1cIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tY29kZXN5c3RlbT5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZVwiPlxuICAgICAgICA8ZW8tdGFibGUgW2xpbWl0XT1cIm1heFNpZ25lcnNcIiBbaGVpZ2h0XT1cIic2MHZoJ1wiIFttaW5XaWR0aF09XCInNjh2dydcIiBbaGFzUHJldmlld0ZpbGVdPVwiZmFsc2VcIiBbcGFyYW1zXT1cIntcbiAgICAgICAgc2l0dWF0aW9uOiAnQ1JFQVRFJyxcbiAgICAgICAgZWxlbWVudDogZ2V0TG9jYWxpemVkRm9ybShzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA9PT0gJ2FkdmFuY2VkJyksXG4gICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgIG9iamVjdDogc2VsZWN0aW9uWzBdXG4gICAgICB9XCIgW2Zvcm1Db250cm9sTmFtZV09XCIneXV2c2lnbmVycydcIj48L2VvLXRhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaWduaW5nRm9ybT8uaW52YWxpZFwiIGNsYXNzPVwiaW52YWxpZFwiIHRyYW5zbGF0ZT5lby5vYmplY3QuaW5kZXhkYXRhLmZvcm0uaW52YWxpZDwvZGl2PlxuICAgICAgPGVvLWN0YSBbYWN0aXZlXT1cIiFwcm9jZXNzaW5nUmVxdWVzdFwiIGNsYXNzPVwiY3RhLXdyYXBwZXJcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNpZ25pbmdGb3JtPy5kaXJ0eVwiIChjbGljayk9XCJzaWduaW5nRm9ybS5yZXNldCgpXCIgY2xhc3M9XCJidXR0b24tcmVzZXRcIiB0cmFuc2xhdGU+ZW8uYWN0aW9uLnNpZ25hdHVyZS5yZXNldDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiYnV0dG9uLWNhbmNlbFwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYXZlRm9ybSgpXCIgW2Rpc2FibGVkXT1cInNpZ25pbmdGb3JtPy5pbnZhbGlkIHx8IHByb2Nlc3NpbmdSZXF1ZXN0IHx8ICFzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ25lcnMnKS52YWx1ZSB8fCAhc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWduZXJzJykudmFsdWUubGVuZ3RoXCIgY2xhc3M9XCJwcmltYXJ5XCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUucmVxdWVzdDwvYnV0dG9uPlxuICAgICAgPC9lby1jdGE+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJwcm9jZXNzaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJzaWduYXR1cmVfX2xvYWRlclwiIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNMLEtBQUssRUFNTCxVQUFVLEVBS1gsTUFBTSxjQUFjLENBQUM7QUFPdEIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRekMsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFBb0IsVUFBc0IsRUFDaEMsY0FBcUMsRUFDckMsU0FBMkIsRUFDM0IsT0FBNkIsRUFDN0IsY0FBOEIsRUFDOUIsWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsYUFBNEIsRUFDNUIsY0FBbUMsRUFDbkMsRUFBc0I7UUFUWixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFD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c0pDNUIvQix1dUZBc0RBOzJGRDFCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsY0FBYzt1WEFvQkgsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVXRpbHMsXG4gIEJwbVNlcnZpY2UsXG4gIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBTaWduaW5nU2VydmljZSxcbiAgU2lnbmluZ1JlcXVlc3QsXG4gIEVuYWlvRXZlbnQsXG4gIEV2ZW50U2VydmljZSxcbiAgRG1zU2VydmljZSxcbiAgU3lzdGVtU2VydmljZSxcbiAgTG9jYWxTdG9yYWdlU2VydmljZVxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtFb0RpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkvZW8tZGlhbG9nL2VvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYWN0aW9uLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge09iamVjdEZvcm1PcHRpb25zfSBmcm9tICcuLi8uLi8uLi8uLi9vYmplY3QtZm9ybSc7XG5pbXBvcnQge0Zvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDaGFuZ2VNb2RlfSBmcm9tICcuLi9zaWduYXR1cmUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1zaWduYXR1cmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbmF0dXJlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lnbmF0dXJlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lnbmF0dXJlQ29tcG9uZW50IGltcGxlbWVudHMgQWN0aW9uQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuICBzZWxlY3Rpb246IGFueVtdO1xuICBmaW5pc2hlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNhbmNlbGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJvY2Vzc2luZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIGhlYWRlckRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNlbGVjdGVkOiBhbnk7XG4gIGZvcm1PcHRpb25zOiBPYmplY3RGb3JtT3B0aW9ucztcbiAgY29udGVudHM6IHtpZDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9W107XG4gIG1vZGU6IENoYW5nZU1vZGU7XG5cbiAgLy8gSUQgc2V0IGJ5IHBlbmRpbmdDaGFuZ2VzIHNlcnZpY2Ugd2hlbiBlZGl0aW5nIGluZGV4ZGF0YVxuICAvLyBVc2VkIHRvIGZpbmlzaCB0aGUgcGVuZGluZyB0YXNrIHdoZW4gZWRpdGluZyBpcyBkb25lXG4gIHBlbmRpbmdUYXNrSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZycpIGRpYWxvZzogRW9EaWFsb2dDb21wb25lbnQ7XG4gIHNpZ25pbmdGb3JtOiBGb3JtR3JvdXA7XG4gIG1heFNpZ25lcnM6IG51bWJlcjtcbiAgc2lnbmluZ0Zvcm1MaXN0ZW5lcjogU3Vic2NyaXB0aW9uO1xuICB5dXZzaWd0eXBlQ29kZXN5c3RlbSA9IHtcbiAgICBpZDogJzEyOTFCQUI5MUIwRDQ5RDFBOUE0REZDQ0Y0OUExNjY2JyxcbiAgICBuYW1lOiAneXV2c2lndHlwZScsXG4gICAgZW50cmllczogW11cbiAgfTtcbiAgc2lnbmF0dXJlVHlwZVN0b3JhZ2VLZXkgPSAnZW8uc2lnbmF0dXJlLnR5cGUnO1xuICBzaWduYXR1cmVQYXJhbGxlbFN0b3JhZ2VLZXkgPSAnZW8uc2lnbmF0dXJlLnBhcmFsbGVsJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaWduaW5nU2VydmljZTogU2lnbmluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVR5cGUgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5zaWduYXR1cmVUeXBlU3RvcmFnZUtleSk7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVBhcmFsbGVsID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuc2lnbmF0dXJlUGFyYWxsZWxTdG9yYWdlS2V5KTtcblxuICAgIHRoaXMuc2lnbmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHl1dnNpZ3R5cGU6IFtkZWZhdWx0U2lnbmF0dXJlVHlwZSA/IGRlZmF1bHRTaWduYXR1cmVUeXBlIDogJyddLFxuICAgICAgeXV2c2lnbmVyczogW10sXG4gICAgICBwYXJhbGxlbFNpZ25pbmc6IFtkZWZhdWx0U2lnbmF0dXJlUGFyYWxsZWwgPyBkZWZhdWx0U2lnbmF0dXJlUGFyYWxsZWwgOiBmYWxzZV0sXG4gICAgICB5dXZzaWdlbWFpbHN1YmplY3Q6IFsnJ10sXG4gICAgICB5dXZzaWdlbWFpbGJvZHk6IFsnJ11cbiAgICB9KTtcbiAgICB0aGlzLmhlYWRlclRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5sYWJlbCcpO1xuXG4gICAgdGhpcy5zaWduaW5nRm9ybUxpc3RlbmVyID0gdGhpcy5zaWduaW5nRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMub25JbmRleERhdGFDaGFuZ2VkKCkpO1xuICAgIHRoaXMuc2lnbmluZ1NlcnZpY2UuZ2V0SW5mbygpLnN1YnNjcmliZSgoaW5mbykgPT4ge1xuICAgICAgbGV0IHBsYXRmb3JtTmFtZSA9IGluZm8ucGxhdGZvcm0gPT09ICdkb2N1c2lnbicgPyAnRG9jdVNpZ24nIDogJ0Fkb2JlIFNpZ24nO1xuICAgICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmFjdGlvbi5zaWduYXR1cmUuZGVzY3JpcHRpb24nLCB7cGxhdGZvcm06IHBsYXRmb3JtTmFtZX0pO1xuICAgICAgaWYgKGluZm8uc2lnbmF0dXJlVHlwZXNFbmFibGVkKSB7XG4gICAgICAgIHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcyA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRDb2Rlc3lzdGVtKHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uaWQpLmVudHJpZXM7XG4gICAgICAgIHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcyA9IHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcy5maWx0ZXIoZW50cnkgPT4gaW5mby5zaWduYXR1cmVUeXBlc0VuYWJsZWQuaW5jbHVkZXMoZW50cnkuZGF0YSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1heFNpZ25lcnMgPSBpbmZvLm1heFNpZ25lcnMgfHwgNjtcblxuICAgICAgdGhpcy5zaWduaW5nRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgeXV2c2lnZW1haWxzdWJqZWN0OiBpbmZvLmRlZmF1bHRFbWFpbFN1YmplY3QsXG4gICAgICAgIHl1dnNpZ2VtYWlsYm9keTogaW5mby5kZWZhdWx0RW1haWxCb2R5XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVGb3JtKCkge1xuICAgIHRoaXMucHJvY2Vzc2luZ1JlcXVlc3QgPSB0cnVlO1xuICAgIGlmICh0aGlzLnNpZ25pbmdGb3JtICYmICF0aGlzLnNpZ25pbmdGb3JtLmludmFsaWQpIHtcbiAgICAgIGNvbnN0IHNpZ25lcnMgPSAodGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ25lcnMnKS52YWx1ZSB8fCBbXSkubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICBzaWduZXJOYW1lOiB2YWx1ZS5uYW1lLFxuICAgICAgICAgICAgc2lnbmVyRW1haWw6IHZhbHVlLmVtYWlsLFxuICAgICAgICAgICAgc2lnbmVyT3JkZXI6IHRoaXMuc2lnbmluZ0Zvcm0uZ2V0KCdwYXJhbGxlbFNpZ25pbmcnKS52YWx1ZSA/IDEgOiBpbmRleCArIDEsXG4gICAgICAgICAgICBzaWduZXJQaG9uZTogdmFsdWUucGhvbmVcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgY29uc3Qgc2lnbmluZ0RhdGEgPSB7XG4gICAgICAgIGVtYWlsU3ViamVjdDogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ2VtYWlsc3ViamVjdCcpLnZhbHVlLFxuICAgICAgICBlbWFpbEJvZHk6IHRoaXMuc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWdlbWFpbGJvZHknKS52YWx1ZSxcbiAgICAgICAgc2lnbmF0dXJlVHlwZTogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA/IHRoaXMuc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWd0eXBlJykudmFsdWUgOiB0aGlzLnl1dnNpZ3R5cGVDb2Rlc3lzdGVtLmVudHJpZXNbMF0uZGF0YSxcbiAgICAgICAgc2lnbmVyc1xuICAgICAgfSBhcyBTaWduaW5nUmVxdWVzdDtcbiAgICAgIHRoaXMuc2lnbmluZ1NlcnZpY2VcbiAgICAgICAgLnNpZ25Eb2N1bWVudCh0aGlzLnNlbGVjdGlvblswXS5pZCwgc2lnbmluZ0RhdGEpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmRtc1NlcnZpY2UuZ2V0RG1zT2JqZWN0KHRoaXMuc2VsZWN0aW9uWzBdLmlkKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkbXNPYmplY3QpID0+IHtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5yZXF1ZXN0LnN1Y2Nlc3MnKSk7XG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuc2lnbmF0dXJlVHlwZVN0b3JhZ2VLZXksIHNpZ25pbmdEYXRhLnNpZ25hdHVyZVR5cGUpO1xuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQsIGRtc09iamVjdCk7XG4gICAgICAgICAgdGhpcy5maW5pc2goKTtcbiAgICAgICAgfSwgVXRpbHMudGhyb3coZXJyb3IgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmVycm9yLmNvbm5lY3Rpb24uaW50ZXJydXB0ZWQudGl0bGUnKSwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZXJyb3IuY29ubmVjdGlvbi5pbnRlcnJ1cHRlZC50ZXh0JykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZXJyb3IoZXJyb3IuZXJyb3I/Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBmaW5pc2goKSB7XG4gICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgdGhpcy5kaWFsb2cudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLnBlbmRpbmdUYXNrSWRzKSkge1xuICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgICB0aGlzLmRpYWxvZy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbkluZGV4RGF0YUNoYW5nZWQoKSB7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0uZGlydHkpIHtcbiAgICAgIHRoaXMuc3RhcnRQZW5kaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmluaXNoUGVuZGluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQZW5kaW5nKCkge1xuICAgIC8vIGJlY2F1c2UgdGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgZXZlcnkgdGltZSB0aGUgZm9ybSBzdGF0dXMgY2hhbmdlcyxcbiAgICAvLyBwZW5kaW5nIHRhc2sgd2lsbCBvbmx5IGJlIHN0YXJ0ZWQgb25jZSB1bnRpbCBpdCB3YXMgZmluaXNoZWRcbiAgICBpZiAoIXRoaXMucGVuZGluZ0NoYW5nZXMuaGFzUGVuZGluZ1Rhc2sodGhpcy5wZW5kaW5nVGFza0lkc1swXSB8fCAnICcpKSB7XG4gICAgICB0aGlzLnBlbmRpbmdUYXNrSWRzID0gW3RoaXMucGVuZGluZ0NoYW5nZXMuc3RhcnRUYXNrKCldO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoUGVuZGluZygpIHtcbiAgICB0aGlzLnBlbmRpbmdDaGFuZ2VzLmZpbmlzaFRhc2sodGhpcy5wZW5kaW5nVGFza0lkc1swXSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25pbmdGb3JtTGlzdGVuZXIudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGVvLWRpYWxvZyBbdGl0bGVdPVwiaGVhZGVyVGl0bGVcIlxuICAgICAgICAgICBbc3VidGl0bGVdPVwiaGVhZGVyRGVzY3JpcHRpb25cIlxuICAgICAgICAgICBbdmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgW2RpcnR5Q2hlY2tdPVwicGVuZGluZ1Rhc2tJZHNcIlxuICAgICAgICAgICBbbWluV2lkdGhdPVwiNjAwXCJcbiAgICAgICAgICAgW21pbkhlaWdodF09XCI2MDBcIlxuICAgICAgICAgICBbc3R5bGVDbGFzc109XCIncHJvY2Vzcy1mb3JtLWRpYWxvZydcIiAjZGlhbG9nPlxuXG4gIDxzZWN0aW9uIGNsYXNzPVwic2lnbmF0dXJlLWZvcm0gZm9ybS1jb250YWluZXJcIj5cbiAgICA8Zm9ybSBjbGFzcz1cInNpZ25pbmctZm9ybVwiIFtmb3JtR3JvdXBdPVwic2lnbmluZ0Zvcm1cIj5cbiAgICAgIDxlby1zZXF1ZW5jZS1saXN0IGNsYXNzPVwiZW50cnlfZm9ybVwiIGZvcm0tb3Blbj1cInRydWVcIiBbTUFYX1NJR05FUlNdPVwibWF4U2lnbmVyc1wiIChpdGVtRWRpdCk9XCJtb2RlID0gJGV2ZW50XCIgW3Bob25lUmVxdWlyZWRdPVwic2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWd0eXBlJykudmFsdWUgPT09ICdhZHZhbmNlZCdcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWduZXJzJ1wiPlxuICAgICAgPC9lby1zZXF1ZW5jZS1saXN0PlxuICAgICAgPGVvLWZvcm0taW5wdXQgKm5nSWY9XCJ5dXZzaWd0eXBlQ29kZXN5c3RlbS5lbnRyaWVzLmxlbmd0aCA+IDFcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtsYWJlbF09XCInZW8uYWN0aW9uLnNpZ25hdHVyZS55dXZzaWduaW5nLnl1dnNpZ3R5cGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxlby1jb2Rlc3lzdGVtXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIneXV2c2lndHlwZSdcIlxuICAgICAgICAgIFtjb2Rlc3lzdGVtXT1cInl1dnNpZ3R5cGVDb2Rlc3lzdGVtXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L2VvLWNvZGVzeXN0ZW0+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25lcnMucGFyYWxsZWwnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJwYXJhbGxlbFNpZ25pbmdcIj48L2VvLWNoZWNrYm94PlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmluZy55dXZzaWdlbWFpbHN1YmplY3QnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgICA8ZW8tc3RyaW5nXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWdlbWFpbHN1YmplY3QnXCJcbiAgICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEwMFwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvZW8tc3RyaW5nPlxuICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCInZW8uYWN0aW9uLnNpZ25hdHVyZS55dXZzaWduaW5nLnl1dnNpZ2VtYWlsYm9keScgfCB0cmFuc2xhdGVcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgIDxlby1zdHJpbmdcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ2VtYWlsYm9keSdcIlxuICAgICAgICAgICAgW211bHRpbGluZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgW21pbkxlbmd0aF09XCIzXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiNDAwMFwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvZW8tc3RyaW5nPlxuICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPC9mb3JtPlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaWduaW5nRm9ybT8uaW52YWxpZFwiIGNsYXNzPVwiaW52YWxpZFwiIHRyYW5zbGF0ZT5lby5vYmplY3QuaW5kZXhkYXRhLmZvcm0uaW52YWxpZDwvZGl2PlxuICAgICAgPGVvLWN0YSBbYWN0aXZlXT1cIiFwcm9jZXNzaW5nUmVxdWVzdFwiIGNsYXNzPVwiY3RhLXdyYXBwZXJcIj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIiBjbGFzcz1cImJ1dHRvbi1jYW5jZWxcIiB0cmFuc2xhdGU+ZW8uYWN0aW9uLnNpZ25hdHVyZS5jYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZUZvcm0oKVwiIFtkaXNhYmxlZF09XCJzaWduaW5nRm9ybT8uaW52YWxpZCB8fCBwcm9jZXNzaW5nUmVxdWVzdCB8fCAhc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWduZXJzJykudmFsdWUgfHwgIXNpZ25pbmdGb3JtLmdldCgneXV2c2lnbmVycycpLnZhbHVlLmxlbmd0aFwiIGNsYXNzPVwicHJpbWFyeVwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLnJlcXVlc3Q8L2J1dHRvbj5cbiAgICAgIDwvZW8tY3RhPlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG4gIDxkaXYgY2xhc3M9XCJsb2FkZXItb3ZlcmxheV9fbWFza1wiICpuZ0lmPVwicHJvY2Vzc2luZ1JlcXVlc3RcIj5cbiAgICA8ZW8tbG9hZGluZy1zcGlubmVyIGNsYXNzPVwic2lnbmF0dXJlX19sb2FkZXJcIiBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG4gIDwvZGl2PlxuPC9lby1kaWFsb2c+XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export var ChangeMode;
2
+ (function (ChangeMode) {
3
+ ChangeMode["EDIT"] = "edit";
4
+ ChangeMode["DELETE"] = "delete";
5
+ ChangeMode["INSERT"] = "insert";
6
+ ChangeMode["CREATE"] = "create";
7
+ })(ChangeMode || (ChangeMode = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sQ0FBTixJQUFZLFVBS1g7QUFMRCxXQUFZLFVBQVU7SUFDcEIsMkJBQWEsQ0FBQTtJQUNiLCtCQUFpQixDQUFBO0lBQ2pCLCtCQUFpQixDQUFBO0lBQ2pCLCtCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxVQUFVLEtBQVYsVUFBVSxRQUtyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lnbmluZ1BheWxvYWQge1xuICBkb2N1bWVudE5hbWU6IHN0cmluZztcbiAgZW1haWxTdWJqZWN0OiBzdHJpbmc7XG4gIHNpZ25lcnM6IFNpZ25lcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lciB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgcGhvbmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQ2hhbmdlTW9kZSB7XG4gIEVESVQgPSAnZWRpdCcsXG4gIERFTEVURSA9ICdkZWxldGUnLFxuICBJTlNFUlQgPSAnaW5zZXJ0JyxcbiAgQ1JFQVRFID0gJ2NyZWF0ZSdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VPdXRwdXQge1xuICBpbmRleDogbnVtYmVyO1xuICBtb2RlOiBDaGFuZ2VNb2RlO1xufVxuIl19