@po-ui/ng-templates 18.1.0 → 18.3.0

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 (20) hide show
  1. package/esm2022/lib/components/po-page-job-scheduler/index.mjs +2 -1
  2. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/index.mjs +2 -0
  3. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/index.mjs +2 -0
  4. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/po-job-scheduler-summary-template.directive.mjs +44 -0
  5. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +24 -8
  6. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +20 -8
  7. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.module.mjs +14 -5
  8. package/fesm2022/po-ui-ng-templates.mjs +95 -18
  9. package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
  10. package/lib/components/po-page-job-scheduler/index.d.ts +1 -0
  11. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/index.d.ts +1 -0
  12. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/index.d.ts +1 -0
  13. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/po-job-scheduler-summary-template.directive.d.ts +34 -0
  14. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.d.ts +3 -2
  15. package/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.d.ts +10 -3
  16. package/lib/components/po-page-job-scheduler/po-page-job-scheduler.module.d.ts +5 -4
  17. package/package.json +4 -4
  18. package/po-ui-ng-templates-18.3.0.tgz +0 -0
  19. package/schematics/ng-add/index.js +1 -1
  20. package/po-ui-ng-templates-18.1.0.tgz +0 -0
@@ -2,4 +2,5 @@ export * from './po-page-job-scheduler.component';
2
2
  export * from './po-page-job-scheduler.module';
3
3
  export * from './interfaces/po-job-scheduler.interface';
4
4
  export * from './po-page-job-scheduler-parameters';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycyc7XG4iXX0=
5
+ export * from './po-page-job-scheduler-summary';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvcG8tam9iLXNjaGVkdWxlci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './po-job-scheduler-summary-template';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wby1qb2Itc2NoZWR1bGVyLXN1bW1hcnktdGVtcGxhdGUnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './po-job-scheduler-summary-template.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeS9wby1qb2Itc2NoZWR1bGVyLXN1bW1hcnktdGVtcGxhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcG8tam9iLXNjaGVkdWxlci1zdW1tYXJ5LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @usedBy PoPageJobScheduler
5
+ *
6
+ * @description
7
+ *
8
+ * Esta diretiva permite personalizar o conteúdo de resumo das informações de parâmetro na etapa de conclusão do componente de PoPageJobScheduler.
9
+ *
10
+ * Essa funcionalidade costuma ser útil em casos onde a propriedade parameters não tem valor e mesmo assim é necessário exibir
11
+ * as informações de resumo na etapa de conclusão.
12
+ *
13
+ * ```
14
+ * ...
15
+ * <po-page-job-scheduler [p-service-api]="serviceApi">
16
+ * <ng-template p-job-scheduler-summary-template>
17
+ * ...
18
+ * <po-dynamic-view
19
+ * [p-fields]="fieldsSummary"
20
+ * [p-value]="valueSummary"
21
+ * >
22
+ * </po-dynamic-view
23
+ * </ng-template>
24
+ * </po-page-job-scheduler>
25
+ * ...
26
+ * ```
27
+ *
28
+ */
29
+ export class PoJobSchedulerSummaryTemplateDirective {
30
+ templateRef;
31
+ // Necessário manter templateRef para o funcionamento do row template.
32
+ constructor(templateRef) {
33
+ this.templateRef = templateRef;
34
+ }
35
+ static ɵfac = function PoJobSchedulerSummaryTemplateDirective_Factory(t) { return new (t || PoJobSchedulerSummaryTemplateDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef)); };
36
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoJobSchedulerSummaryTemplateDirective, selectors: [["", "p-job-scheduler-summary-template", ""]] });
37
+ }
38
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoJobSchedulerSummaryTemplateDirective, [{
39
+ type: Directive,
40
+ args: [{
41
+ selector: '[p-job-scheduler-summary-template]'
42
+ }]
43
+ }], () => [{ type: i0.TemplateRef }], null); })();
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tam9iLXNjaGVkdWxlci1zdW1tYXJ5LXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1zdW1tYXJ5L3BvLWpvYi1zY2hlZHVsZXItc3VtbWFyeS10ZW1wbGF0ZS9wby1qb2Itc2NoZWR1bGVyLXN1bW1hcnktdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBRXZEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBSUgsTUFBTSxPQUFPLHNDQUFzQztJQUU5QjtJQURuQixzRUFBc0U7SUFDdEUsWUFBbUIsV0FBNkI7UUFBN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQUcsQ0FBQztnR0FGekMsc0NBQXNDOzZEQUF0QyxzQ0FBc0M7O2lGQUF0QyxzQ0FBc0M7Y0FIbEQsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7YUFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQHVzZWRCeSBQb1BhZ2VKb2JTY2hlZHVsZXJcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBFc3RhIGRpcmV0aXZhIHBlcm1pdGUgcGVyc29uYWxpemFyIG8gY29udGXDumRvIGRlIHJlc3VtbyBkYXMgaW5mb3JtYcOnw7VlcyBkZSBwYXLDom1ldHJvIG5hIGV0YXBhIGRlIGNvbmNsdXPDo28gZG8gY29tcG9uZW50ZSBkZSBQb1BhZ2VKb2JTY2hlZHVsZXIuXG4gKlxuICogRXNzYSBmdW5jaW9uYWxpZGFkZSBjb3N0dW1hIHNlciDDunRpbCBlbSBjYXNvcyBvbmRlIGEgcHJvcHJpZWRhZGUgcGFyYW1ldGVycyBuw6NvIHRlbSB2YWxvciBlIG1lc21vIGFzc2ltIMOpIG5lY2Vzc8OhcmlvIGV4aWJpclxuICogYXMgaW5mb3JtYcOnw7VlcyBkZSByZXN1bW8gbmEgZXRhcGEgZGUgY29uY2x1c8Ojby5cbiAqXG4gKiBgYGBcbiAqIC4uLlxuICogICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyIFtwLXNlcnZpY2UtYXBpXT1cInNlcnZpY2VBcGlcIj5cbiAqICAgIDxuZy10ZW1wbGF0ZSBwLWpvYi1zY2hlZHVsZXItc3VtbWFyeS10ZW1wbGF0ZT5cbiAqICAgIC4uLlxuICogICAgIDxwby1keW5hbWljLXZpZXdcbiAqICAgICAgIFtwLWZpZWxkc109XCJmaWVsZHNTdW1tYXJ5XCJcbiAqICAgICAgIFtwLXZhbHVlXT1cInZhbHVlU3VtbWFyeVwiXG4gKiAgICAgPlxuICogICAgIDwvcG8tZHluYW1pYy12aWV3XG4gKiAgICA8L25nLXRlbXBsYXRlPlxuICogICA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlcj5cbiAqIC4uLlxuICogYGBgXG4gKlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcC1qb2Itc2NoZWR1bGVyLXN1bW1hcnktdGVtcGxhdGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBQb0pvYlNjaGVkdWxlclN1bW1hcnlUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gIC8vIE5lY2Vzc8OhcmlvIG1hbnRlciB0ZW1wbGF0ZVJlZiBwYXJhIG8gZnVuY2lvbmFtZW50byBkbyByb3cgdGVtcGxhdGUuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cbiJdfQ==
@@ -22,8 +22,8 @@ function PoPageJobSchedulerSummaryComponent_po_info_4_Template(rf, ctx) { if (rf
22
22
  i0.ɵɵproperty("p-label", ctx_r0.literals.execution)("p-orientation", ctx_r0.infoOrientation)("p-value", ctx_r0.executionValue);
23
23
  } }
24
24
  function PoPageJobSchedulerSummaryComponent_po_widget_7_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵelementStart(0, "po-widget", 4);
26
- i0.ɵɵelement(1, "po-dynamic-view", 5);
25
+ i0.ɵɵelementStart(0, "po-widget", 5);
26
+ i0.ɵɵelement(1, "po-dynamic-view", 6);
27
27
  i0.ɵɵelementEnd();
28
28
  } if (rf & 2) {
29
29
  const ctx_r0 = i0.ɵɵnextContext();
@@ -31,12 +31,23 @@ function PoPageJobSchedulerSummaryComponent_po_widget_7_Template(rf, ctx) { if (
31
31
  i0.ɵɵadvance();
32
32
  i0.ɵɵproperty("p-fields", ctx_r0.parameters)("p-value", ctx_r0.value.executionParameter);
33
33
  } }
34
+ function PoPageJobSchedulerSummaryComponent_div_8_ng_template_1_Template(rf, ctx) { }
35
+ function PoPageJobSchedulerSummaryComponent_div_8_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵelementStart(0, "div", 7);
37
+ i0.ɵɵtemplate(1, PoPageJobSchedulerSummaryComponent_div_8_ng_template_1_Template, 0, 0, "ng-template", 8);
38
+ i0.ɵɵelementEnd();
39
+ } if (rf & 2) {
40
+ const ctx_r0 = i0.ɵɵnextContext();
41
+ i0.ɵɵadvance();
42
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.jobSchedulerSummaryTemplate == null ? null : ctx_r0.jobSchedulerSummaryTemplate.templateRef);
43
+ } }
34
44
  export class PoPageJobSchedulerSummaryComponent {
35
45
  datePipe;
36
46
  literals = {};
37
47
  parameters = [];
38
48
  value = {};
39
49
  noParameters = true;
50
+ jobSchedulerSummaryTemplate;
40
51
  executionValue = '';
41
52
  firstExecutionValue = '';
42
53
  infoOrientation = PoInfoOrientation.Horizontal;
@@ -150,14 +161,14 @@ export class PoPageJobSchedulerSummaryComponent {
150
161
  });
151
162
  }
152
163
  static ɵfac = function PoPageJobSchedulerSummaryComponent_Factory(t) { return new (t || PoPageJobSchedulerSummaryComponent)(i0.ɵɵdirectiveInject(i1.DatePipe)); };
153
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerSummaryComponent, selectors: [["po-page-job-scheduler-summary"]], inputs: { literals: [0, "p-literals", "literals"], parameters: [0, "p-parameters", "parameters"], value: [0, "p-value", "value"], noParameters: [0, "p-no-parameters", "noParameters"] }, decls: 8, vars: 13, consts: [[1, "po-md-12"], [3, "p-label", "p-orientation", "p-value", 4, "ngIf"], [3, "p-label", "p-orientation", "p-value"], ["class", "po-pt-1 po-pb-1 po-md-12", 3, "p-title", 4, "ngIf"], [1, "po-pt-1", "po-pb-1", "po-md-12", 3, "p-title"], [3, "p-fields", "p-value"]], template: function PoPageJobSchedulerSummaryComponent_Template(rf, ctx) { if (rf & 1) {
164
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerSummaryComponent, selectors: [["po-page-job-scheduler-summary"]], inputs: { literals: [0, "p-literals", "literals"], parameters: [0, "p-parameters", "parameters"], value: [0, "p-value", "value"], noParameters: [0, "p-no-parameters", "noParameters"], jobSchedulerSummaryTemplate: [0, "p-summary-template", "jobSchedulerSummaryTemplate"] }, decls: 9, vars: 14, consts: [[1, "po-md-12"], [3, "p-label", "p-orientation", "p-value", 4, "ngIf"], [3, "p-label", "p-orientation", "p-value"], ["class", "po-pt-1 po-pb-1 po-md-12", 3, "p-title", 4, "ngIf"], ["class", "po-pt-1 po-pb-1 po-md-12", 4, "ngIf"], [1, "po-pt-1", "po-pb-1", "po-md-12", 3, "p-title"], [3, "p-fields", "p-value"], [1, "po-pt-1", "po-pb-1", "po-md-12"], [3, "ngTemplateOutlet"]], template: function PoPageJobSchedulerSummaryComponent_Template(rf, ctx) { if (rf & 1) {
154
165
  i0.ɵɵelementStart(0, "div", 0);
155
166
  i0.ɵɵtemplate(1, PoPageJobSchedulerSummaryComponent_po_info_1_Template, 1, 3, "po-info", 1);
156
167
  i0.ɵɵelement(2, "po-info", 2);
157
168
  i0.ɵɵtemplate(3, PoPageJobSchedulerSummaryComponent_po_info_3_Template, 1, 3, "po-info", 1)(4, PoPageJobSchedulerSummaryComponent_po_info_4_Template, 1, 3, "po-info", 1);
158
169
  i0.ɵɵelement(5, "po-info", 2)(6, "po-info", 2);
159
170
  i0.ɵɵelementEnd();
160
- i0.ɵɵtemplate(7, PoPageJobSchedulerSummaryComponent_po_widget_7_Template, 2, 3, "po-widget", 3);
171
+ i0.ɵɵtemplate(7, PoPageJobSchedulerSummaryComponent_po_widget_7_Template, 2, 3, "po-widget", 3)(8, PoPageJobSchedulerSummaryComponent_div_8_Template, 2, 1, "div", 4);
161
172
  } if (rf & 2) {
162
173
  i0.ɵɵadvance();
163
174
  i0.ɵɵproperty("ngIf", !ctx.noParameters);
@@ -172,12 +183,14 @@ export class PoPageJobSchedulerSummaryComponent {
172
183
  i0.ɵɵadvance();
173
184
  i0.ɵɵproperty("p-label", ctx.literals.firstExecution)("p-orientation", ctx.infoOrientation)("p-value", ctx.firstExecutionValue);
174
185
  i0.ɵɵadvance();
175
- i0.ɵɵproperty("ngIf", ctx.parameters && ctx.parameters.length);
176
- } }, dependencies: [i1.NgIf, i2.PoDynamicViewComponent, i2.PoInfoComponent, i2.PoWidgetComponent], encapsulation: 2 });
186
+ i0.ɵɵproperty("ngIf", ctx.parameters && ctx.parameters.length && !ctx.jobSchedulerSummaryTemplate);
187
+ i0.ɵɵadvance();
188
+ i0.ɵɵproperty("ngIf", ctx.jobSchedulerSummaryTemplate);
189
+ } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2.PoDynamicViewComponent, i2.PoInfoComponent, i2.PoWidgetComponent], encapsulation: 2 });
177
190
  }
178
191
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerSummaryComponent, [{
179
192
  type: Component,
180
- args: [{ selector: 'po-page-job-scheduler-summary', template: "<div class=\"po-md-12\">\n <po-info\n *ngIf=\"!noParameters\"\n [p-label]=\"literals.process\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"value.processID\"\n >\n </po-info>\n\n <po-info [p-label]=\"literals.periodicity\" [p-orientation]=\"infoOrientation\" [p-value]=\"periodicityValue\"> </po-info>\n\n <po-info\n *ngIf=\"frequencyValue !== ''\"\n [p-label]=\"literals.frequency\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"frequencyValue\"\n >\n </po-info>\n\n <po-info\n *ngIf=\"value.periodicity !== 'single'\"\n [p-label]=\"literals.execution\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"executionValue\"\n >\n </po-info>\n\n <po-info [p-label]=\"literals.recurrent\" [p-orientation]=\"infoOrientation\" [p-value]=\"recurrentValue\"> </po-info>\n\n <po-info [p-label]=\"literals.firstExecution\" [p-orientation]=\"infoOrientation\" [p-value]=\"firstExecutionValue\">\n </po-info>\n</div>\n\n<po-widget *ngIf=\"parameters && parameters.length\" class=\"po-pt-1 po-pb-1 po-md-12\" [p-title]=\"literals.parameters\">\n <po-dynamic-view [p-fields]=\"parameters\" [p-value]=\"value.executionParameter\"> </po-dynamic-view>\n</po-widget>\n" }]
193
+ args: [{ selector: 'po-page-job-scheduler-summary', template: "<div class=\"po-md-12\">\n <po-info\n *ngIf=\"!noParameters\"\n [p-label]=\"literals.process\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"value.processID\"\n >\n </po-info>\n\n <po-info [p-label]=\"literals.periodicity\" [p-orientation]=\"infoOrientation\" [p-value]=\"periodicityValue\"> </po-info>\n\n <po-info\n *ngIf=\"frequencyValue !== ''\"\n [p-label]=\"literals.frequency\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"frequencyValue\"\n >\n </po-info>\n\n <po-info\n *ngIf=\"value.periodicity !== 'single'\"\n [p-label]=\"literals.execution\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"executionValue\"\n >\n </po-info>\n\n <po-info [p-label]=\"literals.recurrent\" [p-orientation]=\"infoOrientation\" [p-value]=\"recurrentValue\"> </po-info>\n\n <po-info [p-label]=\"literals.firstExecution\" [p-orientation]=\"infoOrientation\" [p-value]=\"firstExecutionValue\">\n </po-info>\n</div>\n<po-widget\n *ngIf=\"parameters && parameters.length && !jobSchedulerSummaryTemplate\"\n class=\"po-pt-1 po-pb-1 po-md-12\"\n [p-title]=\"literals.parameters\"\n>\n <po-dynamic-view [p-fields]=\"parameters\" [p-value]=\"value.executionParameter\"> </po-dynamic-view>\n</po-widget>\n<div *ngIf=\"jobSchedulerSummaryTemplate\" class=\"po-pt-1 po-pb-1 po-md-12\">\n <ng-template [ngTemplateOutlet]=\"jobSchedulerSummaryTemplate?.templateRef\"></ng-template>\n</div>\n" }]
181
194
  }], () => [{ type: i1.DatePipe }], { literals: [{
182
195
  type: Input,
183
196
  args: ['p-literals']
@@ -190,6 +203,9 @@ export class PoPageJobSchedulerSummaryComponent {
190
203
  }], noParameters: [{
191
204
  type: Input,
192
205
  args: ['p-no-parameters']
206
+ }], jobSchedulerSummaryTemplate: [{
207
+ type: Input,
208
+ args: ['p-summary-template']
193
209
  }] }); })();
194
210
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageJobSchedulerSummaryComponent, { className: "PoPageJobSchedulerSummaryComponent", filePath: "lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.ts", lineNumber: 12 }); })();
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFzQixpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztJQ0YzRSw2QkFNVTs7O0lBRlIsQUFEQSxBQURBLGlEQUE0Qix5Q0FDSyxtQ0FDTjs7O0lBTTdCLDZCQU1VOzs7SUFGUixBQURBLEFBREEsbURBQThCLHlDQUNHLGtDQUNQOzs7SUFJNUIsNkJBTVU7OztJQUZSLEFBREEsQUFEQSxtREFBOEIseUNBQ0csa0NBQ1A7OztJQVU5QixvQ0FBb0g7SUFDbEgscUNBQWlHO0lBQ25HLGlCQUFZOzs7SUFGd0Usb0RBQStCO0lBQ2hHLGNBQXVCO0lBQUMsQUFBeEIsNENBQXVCLDRDQUFxQzs7QUR2Qi9FLE1BQU0sT0FBTyxrQ0FBa0M7SUFrQnpCO0lBakJDLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFakIsVUFBVSxHQUE4QixFQUFFLENBQUM7SUFFaEQsS0FBSyxHQUFnQyxFQUFFLENBQUM7SUFFaEMsWUFBWSxHQUFZLElB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LGtEQUFnQyxzQ0FBa0MsaUNBQTZCO1lBR3JHLGNBQTJCO1lBQTNCLGdEQUEyQjtZQVEzQixjQUFvQztZQUFwQyx5REFBb0M7WUFPOUIsY0FBOEI7WUFBbUMsQUFBbEMsQUFBL0IsZ0RBQThCLHNDQUFrQywrQkFBMkI7WUFFM0YsY0FBbUM7WUFBbUMsQUFBbEMsQUFBcEMscURBQW1DLHNDQUFrQyxvQ0FBZ0M7WUFJcEcsY0FBcUM7WUFBckMsOERBQXFDOzs7aUZEdEJwQyxrQ0FBa0M7Y0FKOUMsU0FBUzsyQkFDRSwrQkFBK0I7eUNBSXBCLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVJLFVBQVU7a0JBQWhDLEtBQUs7bUJBQUMsY0FBYztZQUVILEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVVLFlBQVk7a0JBQXJDLEtBQUs7bUJBQUMsaUJBQWlCOztrRkFQYixrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUG9EeW5hbWljVmlld0ZpZWxkLCBQb0luZm9PcmllbnRhdGlvbiB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG8tam9iLXNjaGVkdWxlci1pbnRlcm5hbC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAncG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlclN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBsaXRlcmFscyA9IDxhbnk+e307XG5cbiAgQElucHV0KCdwLXBhcmFtZXRlcnMnKSBwYXJhbWV0ZXJzOiBBcnJheTxQb0R5bmFtaWNWaWV3RmllbGQ+ID0gW107XG5cbiAgQElucHV0KCdwLXZhbHVlJykgdmFsdWU6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwgPSA8YW55Pnt9O1xuXG4gIEBJbnB1dCgncC1uby1wYXJhbWV0ZXJzJykgbm9QYXJhbWV0ZXJzOiBCb29sZWFuID0gdHJ1ZTtcblxuICBleGVjdXRpb25WYWx1ZSA9ICcnO1xuICBmaXJzdEV4ZWN1dGlvblZhbHVlID0gJyc7XG4gIGluZm9PcmllbnRhdGlvbiA9IFBvSW5mb09yaWVudGF0aW9uLkhvcml6b250YWw7XG4gIHBlcmlvZGljaXR5VmFsdWUgPSAnJztcbiAgZnJlcXVlbmN5VmFsdWUgPSAnJztcbiAgcmFuZ2VMaW1pdEhvdXIgPSAnJztcbiAgcmFuZ2VMaW1pdERheSA9ICcnO1xuICByZWN1cnJlbnRWYWx1ZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHBlcmlvZGljaXR5LFxuICAgICAgaG91cixcbiAgICAgIGRheU9mTW9udGgsXG4gICAgICBkYXlzT2ZXZWVrLFxuICAgICAgcmVjdXJyZW50LFxuICAgICAgZmlyc3RFeGVjdXRpb24sXG4gICAgICBmaXJzdEV4ZWN1dGlvbkhvdXIsXG4gICAgICBmcmVxdWVuY3ksXG4gICAgICByYW5nZUxpbWl0SG91cixcbiAgICAgIHJhbmdlTGltaXREYXlcbiAgICB9ID0gdGhpcy52YWx1ZTtcblxuICAgIHRoaXMucGVyaW9kaWNpdHlWYWx1ZSA9IHRoaXMuZ2V0UGVyaW9kaWNpdHlMYWJlbChwZXJpb2RpY2l0eSk7XG4gICAgaWYgKGZyZXF1ZW5jeSkge1xuICAgICAgdGhpcy5mcmVxdWVuY3lWYWx1ZSA9IHRoaXMuZ2V0RnJlcXVlbmN5VmFsdWUoZnJlcXVlbmN5LCBwZXJpb2RpY2l0eSk7XG4gICAgfVxuICAgIHRoaXMuZXhlY3V0aW9uVmFsdWUgPSB0aGlzLmdldEV4ZWN1dGlvblZhbHVlKFxuICAgICAgcGVyaW9kaWNpdHksXG4gICAgICBob3VyLFxuICAgICAgZGF5c09mV2VlayxcbiAgICAgIGRheU9mTW9udGgsXG4gICAgICByYW5nZUxpbWl0SG91cixcbiAgICAgIHJhbmdlTGltaXREYXlcbiAgICApO1xuICAgIHRoaXMuZmlyc3RFeGVjdXRpb25WYWx1ZSA9IHRoaXMuZ2V0Rmlyc3RFeGVjdXRpb25MYWJlbChmaXJzdEV4ZWN1dGlvbiwgZmlyc3RFeGVjdXRpb25Ib3VyKTtcbiAgICB0aGlzLnJlY3VycmVudFZhbHVlID0gdGhpcy5nZXRSZWN1cnJlbnRWYWx1ZShyZWN1cnJlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGcmVxdWVuY3lWYWx1ZShmcmVxdWVuY3ksIHBlcmlvZGljaXR5KSB7XG4gICAgcmV0dXJuIGZyZXF1ZW5jeVsndmFsdWUnXSAmJiBmcmVxdWVuY3lbJ3R5cGUnXSAmJiBwZXJpb2RpY2l0eSAhPT0gJ3NpbmdsZSdcbiAgICAgID8gYCR7ZnJlcXVlbmN5Wyd2YWx1ZSddfSAtICR7ZnJlcXVlbmN5Wyd0eXBlJ119YFxuICAgICAgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhlY3V0aW9uVmFsdWUoXG4gICAgcGVyaW9kaWNpdHk6IHN0cmluZyxcbiAgICBob3VyPzogc3RyaW5nLFxuICAgIGRheXNPZldlZWs/OiBBcnJheTxzdHJpbmc+LFxuICAgIGRheU9mTW9udGg/OiBudW1iZXIsXG4gICAgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcsXG4gICAgcmFuZ2VMaW1pdERheT86IG51bWJlclxuICApIHtcbiAgICBzd2l0Y2ggKHBlcmlvZGljaXR5KSB7XG4gICAgICBjYXNlICdkYWlseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmdldEhvdXJMYWJlbChob3VyLCByYW5nZUxpbWl0SG91cik7XG4gICAgICBjYXNlICdtb250aGx5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TW9udGhseUxhYmVsRXhlY3V0aW9uKGRheU9mTW9udGgsIGhvdXIsIHJhbmdlTGltaXRIb3VyLCByYW5nZUxpbWl0RGF5KTtcbiAgICAgIGNhc2UgJ3dlZWtseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFdlZWtseUxhYmVsRXhlY3V0aW9uKGRheXNPZldlZWssIGhvdXIsIHJhbmdlTGltaXRIb3VyKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm5vdFJlcG9ydGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RFeGVjdXRpb25MYWJlbChmaXJzdEV4ZWN1dGlvbjogRGF0ZSwgZmlyc3RFeGVjdXRpb25Ib3VyPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoZmlyc3RFeGVjdXRpb24pIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShmaXJzdEV4ZWN1dGlvbiwgJ2RkL01NL3l5eXknLCAnLTAyMDAnKTtcblxuICAgICAgcmV0dXJuIGAke2RhdGV9ICR7dGhpcy5nZXRIb3VyTGFiZWwoZmlyc3RFeGVjdXRpb25Ib3VyKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5ub3RSZXBvcnRlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEhvdXJMYWJlbChob3VyOiBzdHJpbmcsIHJhbmdlTGltaXRIb3VyPykge1xuICAgIHJldHVybiBgJHtyYW5nZUxpbWl0SG91ciA/IHRoaXMubGl0ZXJhbHMuZnJvbSA6IHRoaXMubGl0ZXJhbHMuYXR9ICR7aG91ciB8fCAnMDA6MDAnfSAke1xuICAgICAgcmFuZ2VMaW1pdEhvdXIgPyB0aGlzLmxpdGVyYWxzLnRvICsgJyAnICsgcmFuZ2VMaW1pdEhvdXIgOiAnJ1xuICAgIH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb250aGx5TGFiZWxFeGVjdXRpb24oZGF5T2ZNb250aDogbnVtYmVyLCBob3VyOiBzdHJpbmcsIHJhbmdlTGltaXRIb3VyPzogc3RyaW5nLCByYW5nZUxpbWl0RGF5PzogbnVtYmVyKSB7XG4gICAgY29uc3QgaG91ckxhYmVsID0gdGhpcy5nZXRIb3VyTGFiZWwoaG91ciwgcmFuZ2VMaW1pdEhvdXIpO1xuXG4gICAgcmV0dXJuIGAke3JhbmdlTGltaXREYXkgPyB0aGlzLmxpdGVyYWxzLmZyb20gOiAnJ30gJHtkYXlPZk1vbnRofSAke3JhbmdlTGltaXREYXkgPyB0aGlzLmxpdGVyYWxzLnRvIDogJyd9ICR7XG4gICAgICByYW5nZUxpbWl0RGF5ID8gcmFuZ2VMaW1pdERheSA6ICcnXG4gICAgfSAke2hvdXJMYWJlbH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJpb2RpY2l0eUxhYmVsKHBlcmlvZGljaXR5KSB7XG4gICAgc3dpdGNoIChwZXJpb2RpY2l0eSkge1xuICAgICAgY2FzZSAnZGFpbHknOlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5kYWlseTtcbiAgICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5tb250aGx5O1xuICAgICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMud2Vla2x5O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMuc2luZ2xlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVjdXJyZW50VmFsdWUocmVjdXJyZW50OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVjdXJyZW50ID8gdGhpcy5saXRlcmFscy55ZXMgOiB0aGlzLmxpdGVyYWxzLm5vO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTb3J0ZXJXZWVrRGF5cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3N1bmRheSc6IDAsXG4gICAgICAnbW9uZGF5JzogMSxcbiAgICAgICd0dWVzZGF5JzogMixcbiAgICAgICd3ZWRuZXNkYXknOiAzLFxuICAgICAgJ3RodXJzZGF5JzogNCxcbiAgICAgICdmcmlkYXknOiA1LFxuICAgICAgJ3NhdHVyZGF5JzogNlxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFRyYW5zbGF0ZVdlZWtEYXkoZGF5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRheXMgPSB7XG4gICAgICBTdW5kYXk6IHRoaXMubGl0ZXJhbHMuc3VuZGF5LFxuICAgICAgTW9uZGF5OiB0aGlzLmxpdGVyYWxzLm1vbmRheSxcbiAgICAgIFR1ZXNkYXk6IHRoaXMubGl0ZXJhbHMudHVlc2RheSxcbiAgICAgIFdlZG5lc2RheTogdGhpcy5saXRlcmFscy53ZWRuZXNkYXksXG4gICAgICBUaHVyc2RheTogdGhpcy5saXRlcmFscy50aHVyc2RheSxcbiAgICAgIEZyaWRheTogdGhpcy5saXRlcmFscy5mcmlkYXksXG4gICAgICBTYXR1cmRheTogdGhpcy5saXRlcmFscy5zYXR1cmRheVxuICAgIH07XG5cbiAgICByZXR1cm4gZGF5c1tkYXldIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXZWVrRGF5c0xhYmVsKGRheXM6IEFycmF5PHN0cmluZz4gPSBbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qgd2Vla0RheXNTb3J0ZWQgPSB0aGlzLnNvcnRXZWVrRGF5cyhkYXlzKTtcblxuICAgIHJldHVybiB3ZWVrRGF5c1NvcnRlZC5tYXAoZGF5ID0+IHRoaXMuZ2V0VHJhbnNsYXRlV2Vla0RheShkYXkpKS5qb2luKCcsICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXZWVrbHlMYWJlbEV4ZWN1dGlvbihkYXlzT2ZXZWVrOiBBcnJheTxzdHJpbmc+LCBob3VyOiBzdHJpbmcsIHJhbmdlTGltaXRIb3VyPzogc3RyaW5nKSB7XG4gICAgaWYgKGRheXNPZldlZWsgJiYgQXJyYXkuaXNBcnJheShkYXlzT2ZXZWVrKSkge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0V2Vla0RheXNMYWJlbChkYXlzT2ZXZWVrKX0gJHt0aGlzLmdldEhvdXJMYWJlbChob3VyLCByYW5nZUxpbWl0SG91cil9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMubm90UmVwb3J0ZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzb3J0V2Vla0RheXMoZGF5czogQXJyYXk8c3RyaW5nPiA9IFtdKSB7XG4gICAgY29uc3Qgc29ydGVyV2Vla0RheXMgPSB0aGlzLmdldFNvcnRlcldlZWtEYXlzKCk7XG5cbiAgICByZXR1cm4gZGF5cy5zb3J0KChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgY3VyckRheSA9IGEudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IG5leHREYXkgPSBiLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHJldHVybiBzb3J0ZXJXZWVrRGF5c1tjdXJyRGF5XSA+IHNvcnRlcldlZWtEYXlzW25leHREYXldID8gMSA6IC0xO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tbWQtMTJcIj5cbiAgPHBvLWluZm9cbiAgICAqbmdJZj1cIiFub1BhcmFtZXRlcnNcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLnByb2Nlc3NcIlxuICAgIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiXG4gICAgW3AtdmFsdWVdPVwidmFsdWUucHJvY2Vzc0lEXCJcbiAgPlxuICA8L3BvLWluZm8+XG5cbiAgPHBvLWluZm8gW3AtbGFiZWxdPVwibGl0ZXJhbHMucGVyaW9kaWNpdHlcIiBbcC1vcmllbnRhdGlvbl09XCJpbmZvT3JpZW50YXRpb25cIiBbcC12YWx1ZV09XCJwZXJpb2RpY2l0eVZhbHVlXCI+IDwvcG8taW5mbz5cblxuICA8cG8taW5mb1xuICAgICpuZ0lmPVwiZnJlcXVlbmN5VmFsdWUgIT09ICcnXCJcbiAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5mcmVxdWVuY3lcIlxuICAgIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiXG4gICAgW3AtdmFsdWVdPVwiZnJlcXVlbmN5VmFsdWVcIlxuICA+XG4gIDwvcG8taW5mbz5cblxuICA8cG8taW5mb1xuICAgICpuZ0lmPVwidmFsdWUucGVyaW9kaWNpdHkgIT09ICdzaW5nbGUnXCJcbiAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5leGVjdXRpb25cIlxuICAgIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiXG4gICAgW3AtdmFsdWVdPVwiZXhlY3V0aW9uVmFsdWVcIlxuICA+XG4gIDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5yZWN1cnJlbnRcIiBbcC1vcmllbnRhdGlvbl09XCJpbmZvT3JpZW50YXRpb25cIiBbcC12YWx1ZV09XCJyZWN1cnJlbnRWYWx1ZVwiPiA8L3BvLWluZm8+XG5cbiAgPHBvLWluZm8gW3AtbGFiZWxdPVwibGl0ZXJhbHMuZmlyc3RFeGVjdXRpb25cIiBbcC1vcmllbnRhdGlvbl09XCJpbmZvT3JpZW50YXRpb25cIiBbcC12YWx1ZV09XCJmaXJzdEV4ZWN1dGlvblZhbHVlXCI+XG4gIDwvcG8taW5mbz5cbjwvZGl2PlxuXG48cG8td2lkZ2V0ICpuZ0lmPVwicGFyYW1ldGVycyAmJiBwYXJhbWV0ZXJzLmxlbmd0aFwiIGNsYXNzPVwicG8tcHQtMSBwby1wYi0xIHBvLW1kLTEyXCIgW3AtdGl0bGVdPVwibGl0ZXJhbHMucGFyYW1ldGVyc1wiPlxuICA8cG8tZHluYW1pYy12aWV3IFtwLWZpZWxkc109XCJwYXJhbWV0ZXJzXCIgW3AtdmFsdWVdPVwidmFsdWUuZXhlY3V0aW9uUGFyYW1ldGVyXCI+IDwvcG8tZHluYW1pYy12aWV3PlxuPC9wby13aWRnZXQ+XG4iXX0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFzQixpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztJQ0YzRSw2QkFNVTs7O0lBRlIsQUFEQSxBQURBLGlEQUE0Qix5Q0FDSyxtQ0FDTjs7O0lBTTdCLDZCQU1VOzs7SUFGUixBQURBLEFBREEsbURBQThCLHlDQUNHLGtDQUNQOzs7SUFJNUIsNkJBTVU7OztJQUZSLEFBREEsQUFEQSxtREFBOEIseUNBQ0csa0NBQ1A7OztJQVM5QixvQ0FJQztJQUNDLHFDQUFpRztJQUNuRyxpQkFBWTs7O0lBSFYsb0RBQStCO0lBRWQsY0FBdUI7SUFBQyxBQUF4Qiw0Q0FBdUIsNENBQXFDOzs7O0lBRS9FLDhCQUEwRTtJQUN4RSx5R0FBMkU7SUFDN0UsaUJBQU07OztJQURTLGNBQTZEO0lBQTdELHFJQUE2RDs7QUQ3QjVFLE1BQU0sT0FBTyxrQ0FBa0M7SUFvQnpCO0lBbkJDLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFakIsVUFB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dEc7WUFDWixpQkFBTTtZQVFOLEFBUEEsK0ZBSUMsc0VBR3lFOztZQXJDckUsY0FBbUI7WUFBbkIsd0NBQW1CO1lBT2IsY0FBZ0M7WUFBbUMsQUFBbEMsQUFBakMsa0RBQWdDLHNDQUFrQyxpQ0FBNkI7WUFHckcsY0FBMkI7WUFBM0IsZ0RBQTJCO1lBUTNCLGNBQW9DO1lBQXBDLHlEQUFvQztZQU85QixjQUE4QjtZQUFtQyxBQUFsQyxBQUEvQixnREFBOEIsc0NBQWtDLCtCQUEyQjtZQUUzRixjQUFtQztZQUFtQyxBQUFsQyxBQUFwQyxxREFBbUMsc0NBQWtDLG9DQUFnQztZQUk3RyxjQUFxRTtZQUFyRSxrR0FBcUU7WUFNbEUsY0FBaUM7WUFBakMsc0RBQWlDOzs7aUZENUIxQixrQ0FBa0M7Y0FKOUMsU0FBUzsyQkFDRSwrQkFBK0I7eUNBSXBCLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVJLFVBQVU7a0JBQWhDLEtBQUs7bUJBQUMsY0FBYztZQUVILEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVVLFlBQVk7a0JBQXJDLEtBQUs7bUJBQUMsaUJBQWlCO1lBRUssMkJBQTJCO2tCQUF2RCxLQUFLO21CQUFDLG9CQUFvQjs7a0ZBVGhCLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3RmllbGQsIFBvSW5mb09yaWVudGF0aW9uIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2Utam9iLXNjaGVkdWxlci1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgncC1saXRlcmFscycpIGxpdGVyYWxzID0gPGFueT57fTtcblxuICBASW5wdXQoJ3AtcGFyYW1ldGVycycpIHBhcmFtZXRlcnM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4gPSBbXTtcblxuICBASW5wdXQoJ3AtdmFsdWUnKSB2YWx1ZTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCA9IDxhbnk+e307XG5cbiAgQElucHV0KCdwLW5vLXBhcmFtZXRlcnMnKSBub1BhcmFtZXRlcnM6IEJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgncC1zdW1tYXJ5LXRlbXBsYXRlJykgam9iU2NoZWR1bGVyU3VtbWFyeVRlbXBsYXRlO1xuXG4gIGV4ZWN1dGlvblZhbHVlID0gJyc7XG4gIGZpcnN0RXhlY3V0aW9uVmFsdWUgPSAnJztcbiAgaW5mb09yaWVudGF0aW9uID0gUG9JbmZvT3JpZW50YXRpb24uSG9yaXpvbnRhbDtcbiAgcGVyaW9kaWNpdHlWYWx1ZSA9ICcnO1xuICBmcmVxdWVuY3lWYWx1ZSA9ICcnO1xuICByYW5nZUxpbWl0SG91ciA9ICcnO1xuICByYW5nZUxpbWl0RGF5ID0gJyc7XG4gIHJlY3VycmVudFZhbHVlID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qge1xuICAgICAgcGVyaW9kaWNpdHksXG4gICAgICBob3VyLFxuICAgICAgZGF5T2ZNb250aCxcbiAgICAgIGRheXNPZldlZWssXG4gICAgICByZWN1cnJlbnQsXG4gICAgICBmaXJzdEV4ZWN1dGlvbixcbiAgICAgIGZpcnN0RXhlY3V0aW9uSG91cixcbiAgICAgIGZyZXF1ZW5jeSxcbiAgICAgIHJhbmdlTGltaXRIb3VyLFxuICAgICAgcmFuZ2VMaW1pdERheVxuICAgIH0gPSB0aGlzLnZhbHVlO1xuXG4gICAgdGhpcy5wZXJpb2RpY2l0eVZhbHVlID0gdGhpcy5nZXRQZXJpb2RpY2l0eUxhYmVsKHBlcmlvZGljaXR5KTtcbiAgICBpZiAoZnJlcXVlbmN5KSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeVZhbHVlID0gdGhpcy5nZXRGcmVxdWVuY3lWYWx1ZShmcmVxdWVuY3ksIHBlcmlvZGljaXR5KTtcbiAgICB9XG4gICAgdGhpcy5leGVjdXRpb25WYWx1ZSA9IHRoaXMuZ2V0RXhlY3V0aW9uVmFsdWUoXG4gICAgICBwZXJpb2RpY2l0eSxcbiAgICAgIGhvdXIsXG4gICAgICBkYXlzT2ZXZWVrLFxuICAgICAgZGF5T2ZNb250aCxcbiAgICAgIHJhbmdlTGltaXRIb3VyLFxuICAgICAgcmFuZ2VMaW1pdERheVxuICAgICk7XG4gICAgdGhpcy5maXJzdEV4ZWN1dGlvblZhbHVlID0gdGhpcy5nZXRGaXJzdEV4ZWN1dGlvbkxhYmVsKGZpcnN0RXhlY3V0aW9uLCBmaXJzdEV4ZWN1dGlvbkhvdXIpO1xuICAgIHRoaXMucmVjdXJyZW50VmFsdWUgPSB0aGlzLmdldFJlY3VycmVudFZhbHVlKHJlY3VycmVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZyZXF1ZW5jeVZhbHVlKGZyZXF1ZW5jeSwgcGVyaW9kaWNpdHkpIHtcbiAgICByZXR1cm4gZnJlcXVlbmN5Wyd2YWx1ZSddICYmIGZyZXF1ZW5jeVsndHlwZSddICYmIHBlcmlvZGljaXR5ICE9PSAnc2luZ2xlJ1xuICAgICAgPyBgJHtmcmVxdWVuY3lbJ3ZhbHVlJ119IC0gJHtmcmVxdWVuY3lbJ3R5cGUnXX1gXG4gICAgICA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeGVjdXRpb25WYWx1ZShcbiAgICBwZXJpb2RpY2l0eTogc3RyaW5nLFxuICAgIGhvdXI/OiBzdHJpbmcsXG4gICAgZGF5c09mV2Vlaz86IEFycmF5PHN0cmluZz4sXG4gICAgZGF5T2ZNb250aD86IG51bWJlcixcbiAgICByYW5nZUxpbWl0SG91cj86IHN0cmluZyxcbiAgICByYW5nZUxpbWl0RGF5PzogbnVtYmVyXG4gICkge1xuICAgIHN3aXRjaCAocGVyaW9kaWNpdHkpIHtcbiAgICAgIGNhc2UgJ2RhaWx5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SG91ckxhYmVsKGhvdXIsIHJhbmdlTGltaXRIb3VyKTtcbiAgICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNb250aGx5TGFiZWxFeGVjdXRpb24oZGF5T2ZNb250aCwgaG91ciwgcmFuZ2VMaW1pdEhvdXIsIHJhbmdlTGltaXREYXkpO1xuICAgICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2Vla2x5TGFiZWxFeGVjdXRpb24oZGF5c09mV2VlaywgaG91ciwgcmFuZ2VMaW1pdEhvdXIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMubm90UmVwb3J0ZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaXJzdEV4ZWN1dGlvbkxhYmVsKGZpcnN0RXhlY3V0aW9uOiBEYXRlLCBmaXJzdEV4ZWN1dGlvbkhvdXI/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChmaXJzdEV4ZWN1dGlvbikge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpcnN0RXhlY3V0aW9uLCAnZGQvTU0veXl5eScsICctMDIwMCcpO1xuXG4gICAgICByZXR1cm4gYCR7ZGF0ZX0gJHt0aGlzLmdldEhvdXJMYWJlbChmaXJzdEV4ZWN1dGlvbkhvdXIpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm5vdFJlcG9ydGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SG91ckxhYmVsKGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/KSB7XG4gICAgcmV0dXJuIGAke3JhbmdlTGltaXRIb3VyID8gdGhpcy5saXRlcmFscy5mcm9tIDogdGhpcy5saXRlcmFscy5hdH0gJHtob3VyIHx8ICcwMDowMCd9ICR7XG4gICAgICByYW5nZUxpbWl0SG91ciA/IHRoaXMubGl0ZXJhbHMudG8gKyAnICcgKyByYW5nZUxpbWl0SG91ciA6ICcnXG4gICAgfWA7XG4gIH1cblxuICBwcml2YXRlIGdldE1vbnRobHlMYWJlbEV4ZWN1dGlvbihkYXlPZk1vbnRoOiBudW1iZXIsIGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcsIHJhbmdlTGltaXREYXk/OiBudW1iZXIpIHtcbiAgICBjb25zdCBob3VyTGFiZWwgPSB0aGlzLmdldEhvdXJMYWJlbChob3VyLCByYW5nZUxpbWl0SG91cik7XG5cbiAgICByZXR1cm4gYCR7cmFuZ2VMaW1pdERheSA/IHRoaXMubGl0ZXJhbHMuZnJvbSA6ICcnfSAke2RheU9mTW9udGh9ICR7cmFuZ2VMaW1pdERheSA/IHRoaXMubGl0ZXJhbHMudG8gOiAnJ30gJHtcbiAgICAgIHJhbmdlTGltaXREYXkgPyByYW5nZUxpbWl0RGF5IDogJydcbiAgICB9ICR7aG91ckxhYmVsfWA7XG4gIH1cblxuICBwcml2YXRlIGdldFBlcmlvZGljaXR5TGFiZWwocGVyaW9kaWNpdHkpIHtcbiAgICBzd2l0Y2ggKHBlcmlvZGljaXR5KSB7XG4gICAgICBjYXNlICdkYWlseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLmRhaWx5O1xuICAgICAgY2FzZSAnbW9udGhseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm1vbnRobHk7XG4gICAgICBjYXNlICd3ZWVrbHknOlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy53ZWVrbHk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5zaW5nbGU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWN1cnJlbnRWYWx1ZShyZWN1cnJlbnQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIHJldHVybiByZWN1cnJlbnQgPyB0aGlzLmxpdGVyYWxzLnllcyA6IHRoaXMubGl0ZXJhbHMubm87XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRlcldlZWtEYXlzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnc3VuZGF5JzogMCxcbiAgICAgICdtb25kYXknOiAxLFxuICAgICAgJ3R1ZXNkYXknOiAyLFxuICAgICAgJ3dlZG5lc2RheSc6IDMsXG4gICAgICAndGh1cnNkYXknOiA0LFxuICAgICAgJ2ZyaWRheSc6IDUsXG4gICAgICAnc2F0dXJkYXknOiA2XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlV2Vla0RheShkYXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF5cyA9IHtcbiAgICAgIFN1bmRheTogdGhpcy5saXRlcmFscy5zdW5kYXksXG4gICAgICBNb25kYXk6IHRoaXMubGl0ZXJhbHMubW9uZGF5LFxuICAgICAgVHVlc2RheTogdGhpcy5saXRlcmFscy50dWVzZGF5LFxuICAgICAgV2VkbmVzZGF5OiB0aGlzLmxpdGVyYWxzLndlZG5lc2RheSxcbiAgICAgIFRodXJzZGF5OiB0aGlzLmxpdGVyYWxzLnRodXJzZGF5LFxuICAgICAgRnJpZGF5OiB0aGlzLmxpdGVyYWxzLmZyaWRheSxcbiAgICAgIFNhdHVyZGF5OiB0aGlzLmxpdGVyYWxzLnNhdHVyZGF5XG4gICAgfTtcblxuICAgIHJldHVybiBkYXlzW2RheV0gfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFdlZWtEYXlzTGFiZWwoZGF5czogQXJyYXk8c3RyaW5nPiA9IFtdKTogc3RyaW5nIHtcbiAgICBjb25zdCB3ZWVrRGF5c1NvcnRlZCA9IHRoaXMuc29ydFdlZWtEYXlzKGRheXMpO1xuXG4gICAgcmV0dXJuIHdlZWtEYXlzU29ydGVkLm1hcChkYXkgPT4gdGhpcy5nZXRUcmFuc2xhdGVXZWVrRGF5KGRheSkpLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFdlZWtseUxhYmVsRXhlY3V0aW9uKGRheXNPZldlZWs6IEFycmF5PHN0cmluZz4sIGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcpIHtcbiAgICBpZiAoZGF5c09mV2VlayAmJiBBcnJheS5pc0FycmF5KGRheXNPZldlZWspKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5nZXRXZWVrRGF5c0xhYmVsKGRheXNPZldlZWspfSAke3RoaXMuZ2V0SG91ckxhYmVsKGhvdXIsIHJhbmdlTGltaXRIb3VyKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5ub3RSZXBvcnRlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRXZWVrRGF5cyhkYXlzOiBBcnJheTxzdHJpbmc+ID0gW10pIHtcbiAgICBjb25zdCBzb3J0ZXJXZWVrRGF5cyA9IHRoaXMuZ2V0U29ydGVyV2Vla0RheXMoKTtcblxuICAgIHJldHVybiBkYXlzLnNvcnQoKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBjdXJyRGF5ID0gYS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgbmV4dERheSA9IGIudG9Mb3dlckNhc2UoKTtcblxuICAgICAgcmV0dXJuIHNvcnRlcldlZWtEYXlzW2N1cnJEYXldID4gc29ydGVyV2Vla0RheXNbbmV4dERheV0gPyAxIDogLTE7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1tZC0xMlwiPlxuICA8cG8taW5mb1xuICAgICpuZ0lmPVwiIW5vUGFyYW1ldGVyc1wiXG4gICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMucHJvY2Vzc1wiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJ2YWx1ZS5wcm9jZXNzSURcIlxuICA+XG4gIDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5wZXJpb2RpY2l0eVwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cInBlcmlvZGljaXR5VmFsdWVcIj4gPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvXG4gICAgKm5nSWY9XCJmcmVxdWVuY3lWYWx1ZSAhPT0gJydcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmZyZXF1ZW5jeVwiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJmcmVxdWVuY3lWYWx1ZVwiXG4gID5cbiAgPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvXG4gICAgKm5nSWY9XCJ2YWx1ZS5wZXJpb2RpY2l0eSAhPT0gJ3NpbmdsZSdcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmV4ZWN1dGlvblwiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJleGVjdXRpb25WYWx1ZVwiXG4gID5cbiAgPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvIFtwLWxhYmVsXT1cImxpdGVyYWxzLnJlY3VycmVudFwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cInJlY3VycmVudFZhbHVlXCI+IDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5maXJzdEV4ZWN1dGlvblwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cImZpcnN0RXhlY3V0aW9uVmFsdWVcIj5cbiAgPC9wby1pbmZvPlxuPC9kaXY+XG48cG8td2lkZ2V0XG4gICpuZ0lmPVwicGFyYW1ldGVycyAmJiBwYXJhbWV0ZXJzLmxlbmd0aCAmJiAham9iU2NoZWR1bGVyU3VtbWFyeVRlbXBsYXRlXCJcbiAgY2xhc3M9XCJwby1wdC0xIHBvLXBiLTEgcG8tbWQtMTJcIlxuICBbcC10aXRsZV09XCJsaXRlcmFscy5wYXJhbWV0ZXJzXCJcbj5cbiAgPHBvLWR5bmFtaWMtdmlldyBbcC1maWVsZHNdPVwicGFyYW1ldGVyc1wiIFtwLXZhbHVlXT1cInZhbHVlLmV4ZWN1dGlvblBhcmFtZXRlclwiPiA8L3BvLWR5bmFtaWMtdmlldz5cbjwvcG8td2lkZ2V0PlxuPGRpdiAqbmdJZj1cImpvYlNjaGVkdWxlclN1bW1hcnlUZW1wbGF0ZVwiIGNsYXNzPVwicG8tcHQtMSBwby1wYi0xIHBvLW1kLTEyXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJqb2JTY2hlZHVsZXJTdW1tYXJ5VGVtcGxhdGU/LnRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -1,9 +1,10 @@
1
- import { Component, ContentChildren, ViewChild, ViewEncapsulation } from '@angular/core';
1
+ import { Component, ContentChild, ContentChildren, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { PoStepperStatus, poLocaleDefault } from '@po-ui/ng-components';
3
- import { PoPageJobSchedulerInternal } from './po-page-job-scheduler-internal';
4
3
  import { PoPageJobSchedulerBaseComponent } from './po-page-job-scheduler-base.component';
4
+ import { PoPageJobSchedulerInternal } from './po-page-job-scheduler-internal';
5
5
  import { poPageJobSchedulerLiteralsDefault } from './po-page-job-scheduler-literals';
6
6
  import { PoJobSchedulerParametersTemplateDirective } from './po-page-job-scheduler-parameters';
7
+ import { PoJobSchedulerSummaryTemplateDirective } from './po-page-job-scheduler-summary';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "./po-page-job-scheduler-lookup.service";
9
10
  import * as i2 from "@angular/router";
@@ -31,7 +32,7 @@ function PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template(r
31
32
  i0.ɵɵelement(0, "po-page-job-scheduler-summary", 12);
32
33
  } if (rf & 2) {
33
34
  const ctx_r2 = i0.ɵɵnextContext();
34
- i0.ɵɵproperty("p-no-parameters", !ctx_r2.parameters.length)("p-literals", ctx_r2.literals)("p-parameters", ctx_r2.parameters)("p-value", ctx_r2.publicValues);
35
+ i0.ɵɵproperty("p-no-parameters", !ctx_r2.parameters.length)("p-summary-template", ctx_r2.jobSchedulerSummaryTemplate)("p-literals", ctx_r2.literals)("p-parameters", ctx_r2.parameters)("p-value", ctx_r2.publicValues);
35
36
  } }
36
37
  function PoPageJobSchedulerComponent_ng_container_11_ng_template_2_Template(rf, ctx) { }
37
38
  function PoPageJobSchedulerComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
@@ -59,6 +60,11 @@ function PoPageJobSchedulerComponent_ng_container_11_Template(rf, ctx) { if (rf
59
60
  * <file name="sample-po-page-job-scheduler-background-process/sample-po-page-job-scheduler-background-process.component.ts"> </file>
60
61
  * </example>
61
62
  *
63
+ * <example name="po-page-job-scheduler-directives" title="PO Page Job Scheduler - Directives">
64
+ * <file name="sample-po-page-job-scheduler-directives/sample-po-page-job-scheduler-directives.component.html"> </file>
65
+ * <file name="sample-po-page-job-scheduler-directives/sample-po-page-job-scheduler-directives.component.ts"> </file>
66
+ * </example>
67
+ *
62
68
  */
63
69
  export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent {
64
70
  poPageDynamicLookupService;
@@ -69,6 +75,7 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
69
75
  schedulerExecution;
70
76
  schedulerParameters;
71
77
  parametersTemplate;
78
+ jobSchedulerSummaryTemplate;
72
79
  isEdit = false;
73
80
  literals = {
74
81
  ...poPageJobSchedulerLiteralsDefault[poLocaleDefault]
@@ -350,9 +357,11 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
350
357
  }
351
358
  static ɵfac = function PoPageJobSchedulerComponent_Factory(t) { return new (t || PoPageJobSchedulerComponent)(i0.ɵɵdirectiveInject(i1.PoPageJobSchedulerLookupService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.PoDialogService), i0.ɵɵdirectiveInject(i3.PoNotificationService), i0.ɵɵdirectiveInject(i4.PoPageJobSchedulerService), i0.ɵɵdirectiveInject(i3.PoLanguageService)); };
352
359
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerComponent, selectors: [["po-page-job-scheduler"]], contentQueries: function PoPageJobSchedulerComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
360
+ i0.ɵɵcontentQuery(dirIndex, PoJobSchedulerSummaryTemplateDirective, 5);
353
361
  i0.ɵɵcontentQuery(dirIndex, PoJobSchedulerParametersTemplateDirective, 4);
354
362
  } if (rf & 2) {
355
363
  let _t;
364
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.jobSchedulerSummaryTemplate = _t.first);
356
365
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.parametersTemplate = _t);
357
366
  } }, viewQuery: function PoPageJobSchedulerComponent_Query(rf, ctx) { if (rf & 1) {
358
367
  i0.ɵɵviewQuery(_c0, 7);
@@ -361,7 +370,7 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
361
370
  let _t;
362
371
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerExecution = _t.first);
363
372
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerParameters = _t.first);
364
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 17, consts: [["formScheduler", "ngForm"], ["schedulerExecution", ""], ["schedulerParameters", ""], [3, "p-actions", "p-breadcrumb", "p-title"], [1, "po-row"], ["p-sequential", "true", 3, "p-change-step", "ngClass", "p-orientation", "p-step", "p-steps"], [3, "ngClass"], [1, "po-md-12", 3, "p-change-process", "p-no-parameters", "p-no-custom-params-component", "hidden", "p-is-edit", "p-literals", "p-value"], ["class", "po-md-12", 3, "hidden", "p-literals", "p-parameters", "p-value", "p-valueChange", 4, "ngIf"], ["class", "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "po-md-12", 3, "p-valueChange", "hidden", "p-literals", "p-parameters", "p-value"], [1, "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value"], [3, "hidden"], [3, "ngTemplateOutlet"]], template: function PoPageJobSchedulerComponent_Template(rf, ctx) { if (rf & 1) {
373
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 17, consts: [["formScheduler", "ngForm"], ["schedulerExecution", ""], ["schedulerParameters", ""], [3, "p-actions", "p-breadcrumb", "p-title"], [1, "po-row"], ["p-sequential", "true", 3, "p-change-step", "ngClass", "p-orientation", "p-step", "p-steps"], [3, "ngClass"], [1, "po-md-12", 3, "p-change-process", "p-no-parameters", "p-no-custom-params-component", "hidden", "p-is-edit", "p-literals", "p-value"], ["class", "po-md-12", 3, "hidden", "p-literals", "p-parameters", "p-value", "p-valueChange", 4, "ngIf"], ["class", "po-md-12", 3, "p-no-parameters", "p-summary-template", "p-literals", "p-parameters", "p-value", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "po-md-12", 3, "p-valueChange", "hidden", "p-literals", "p-parameters", "p-value"], [1, "po-md-12", 3, "p-no-parameters", "p-summary-template", "p-literals", "p-parameters", "p-value"], [3, "hidden"], [3, "ngTemplateOutlet"]], template: function PoPageJobSchedulerComponent_Template(rf, ctx) { if (rf & 1) {
365
374
  const _r1 = i0.ɵɵgetCurrentView();
366
375
  i0.ɵɵelementStart(0, "po-page-default", 3)(1, "div", 4)(2, "po-stepper", 5);
367
376
  i0.ɵɵlistener("p-change-step", function PoPageJobSchedulerComponent_Template_po_stepper_p_change_step_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.nextStep($event)); });
@@ -369,7 +378,7 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
369
378
  i0.ɵɵelementStart(3, "po-container", 6)(4, "form", null, 0)(6, "div", 4)(7, "po-page-job-scheduler-execution", 7, 1);
370
379
  i0.ɵɵlistener("p-change-process", function PoPageJobSchedulerComponent_Template_po_page_job_scheduler_execution_p_change_process_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onChangeProcess($event)); });
371
380
  i0.ɵɵelementEnd();
372
- i0.ɵɵtemplate(9, PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template, 2, 5, "po-page-job-scheduler-parameters", 8)(10, PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template, 1, 4, "po-page-job-scheduler-summary", 9);
381
+ i0.ɵɵtemplate(9, PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template, 2, 5, "po-page-job-scheduler-parameters", 8)(10, PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template, 1, 5, "po-page-job-scheduler-summary", 9);
373
382
  i0.ɵɵelementEnd()();
374
383
  i0.ɵɵtemplate(11, PoPageJobSchedulerComponent_ng_container_11_Template, 3, 2, "ng-container", 10);
375
384
  i0.ɵɵelementEnd()()();
@@ -391,7 +400,7 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
391
400
  }
392
401
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerComponent, [{
393
402
  type: Component,
394
- args: [{ selector: 'po-page-job-scheduler', encapsulation: ViewEncapsulation.None, template: "<po-page-default [p-actions]=\"jobSchedulerActions\" [p-breadcrumb]=\"breadcrumb\" [p-title]=\"title\">\n <div class=\"po-row\">\n <po-stepper\n [ngClass]=\"stepperDefaultOrientation === 'horizontal' ? 'po-lg-12 po-xl-12' : 'po-lg-3 po-xl-2'\"\n p-sequential=\"true\"\n [p-orientation]=\"stepperOrientation\"\n [p-step]=\"step\"\n [p-steps]=\"steps\"\n (p-change-step)=\"nextStep($event)\"\n >\n </po-stepper>\n\n <po-container [ngClass]=\"stepperDefaultOrientation === 'horizontal' ? 'po-lg-12 po-xl-12' : 'po-lg-8 po-xl-6'\">\n <form #formScheduler=\"ngForm\">\n <div class=\"po-row\">\n <po-page-job-scheduler-execution\n [p-no-parameters]=\"parametersEmpty\"\n [p-no-custom-params-component]=\"!parametersTemplate.length\"\n [hidden]=\"step !== stepExecution\"\n #schedulerExecution\n class=\"po-md-12\"\n [p-is-edit]=\"isEdit\"\n [p-literals]=\"literals\"\n [p-value]=\"model\"\n (p-change-process)=\"onChangeProcess($event)\"\n >\n </po-page-job-scheduler-execution>\n\n <po-page-job-scheduler-parameters\n *ngIf=\"stepParametersInitialized && !parametersTemplate.length\"\n [hidden]=\"step !== stepParameters\"\n #schedulerParameters\n class=\"po-md-12\"\n [p-literals]=\"literals\"\n [p-parameters]=\"parameters || []\"\n [(p-value)]=\"model.executionParameter\"\n >\n </po-page-job-scheduler-parameters>\n\n <po-page-job-scheduler-summary\n [p-no-parameters]=\"!parameters.length\"\n *ngIf=\"step === stepSummary\"\n class=\"po-md-12\"\n [p-literals]=\"literals\"\n [p-parameters]=\"parameters\"\n [p-value]=\"publicValues\"\n >\n </po-page-job-scheduler-summary>\n </div>\n </form>\n\n <ng-container *ngFor=\"let template of parametersTemplate; index as index\">\n <div [hidden]=\"step !== index + (_stepExecutionLast ? 1 : 2)\">\n <ng-template [ngTemplateOutlet]=\"template?.templateRef\"></ng-template>\n </div>\n </ng-container>\n </po-container>\n </div>\n</po-page-default>\n", styles: ["po-container .po-container{overflow-y:unset}\n"] }]
403
+ args: [{ selector: 'po-page-job-scheduler', encapsulation: ViewEncapsulation.None, template: "<po-page-default [p-actions]=\"jobSchedulerActions\" [p-breadcrumb]=\"breadcrumb\" [p-title]=\"title\">\n <div class=\"po-row\">\n <po-stepper\n [ngClass]=\"stepperDefaultOrientation === 'horizontal' ? 'po-lg-12 po-xl-12' : 'po-lg-3 po-xl-2'\"\n p-sequential=\"true\"\n [p-orientation]=\"stepperOrientation\"\n [p-step]=\"step\"\n [p-steps]=\"steps\"\n (p-change-step)=\"nextStep($event)\"\n >\n </po-stepper>\n\n <po-container [ngClass]=\"stepperDefaultOrientation === 'horizontal' ? 'po-lg-12 po-xl-12' : 'po-lg-8 po-xl-6'\">\n <form #formScheduler=\"ngForm\">\n <div class=\"po-row\">\n <po-page-job-scheduler-execution\n [p-no-parameters]=\"parametersEmpty\"\n [p-no-custom-params-component]=\"!parametersTemplate.length\"\n [hidden]=\"step !== stepExecution\"\n #schedulerExecution\n class=\"po-md-12\"\n [p-is-edit]=\"isEdit\"\n [p-literals]=\"literals\"\n [p-value]=\"model\"\n (p-change-process)=\"onChangeProcess($event)\"\n >\n </po-page-job-scheduler-execution>\n\n <po-page-job-scheduler-parameters\n *ngIf=\"stepParametersInitialized && !parametersTemplate.length\"\n [hidden]=\"step !== stepParameters\"\n #schedulerParameters\n class=\"po-md-12\"\n [p-literals]=\"literals\"\n [p-parameters]=\"parameters || []\"\n [(p-value)]=\"model.executionParameter\"\n >\n </po-page-job-scheduler-parameters>\n\n <po-page-job-scheduler-summary\n *ngIf=\"step === stepSummary\"\n [p-no-parameters]=\"!parameters.length\"\n [p-summary-template]=\"jobSchedulerSummaryTemplate\"\n class=\"po-md-12\"\n [p-literals]=\"literals\"\n [p-parameters]=\"parameters\"\n [p-value]=\"publicValues\"\n >\n </po-page-job-scheduler-summary>\n </div>\n </form>\n\n <ng-container *ngFor=\"let template of parametersTemplate; index as index\">\n <div [hidden]=\"step !== index + (_stepExecutionLast ? 1 : 2)\">\n <ng-template [ngTemplateOutlet]=\"template?.templateRef\"></ng-template>\n </div>\n </ng-container>\n </po-container>\n </div>\n</po-page-default>\n", styles: ["po-container .po-container{overflow-y:unset}\n"] }]
395
404
  }], () => [{ type: i1.PoPageJobSchedulerLookupService }, { type: i2.ActivatedRoute }, { type: i3.PoDialogService }, { type: i3.PoNotificationService }, { type: i4.PoPageJobSchedulerService }, { type: i3.PoLanguageService }], { schedulerExecution: [{
396
405
  type: ViewChild,
397
406
  args: ['schedulerExecution', { static: true }]
@@ -401,6 +410,9 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
401
410
  }], parametersTemplate: [{
402
411
  type: ContentChildren,
403
412
  args: [PoJobSchedulerParametersTemplateDirective]
413
+ }], jobSchedulerSummaryTemplate: [{
414
+ type: ContentChild,
415
+ args: [PoJobSchedulerSummaryTemplateDirective]
404
416
  }] }); })();
405
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageJobSchedulerComponent, { className: "PoPageJobSchedulerComponent", filePath: "lib/components/po-page-job-scheduler/po-page-job-scheduler.component.ts", lineNumber: 57 }); })();
406
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBR2YsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBT0wsZUFBZSxFQUNmLGVBQWUsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdyRixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ0hyRiwrREFRQztJQURDLG1ZQUFzQztJQUV4QyxpQkFBbUM7OztJQUhqQyxBQURBLEFBSEEsOERBQWtDLCtCQUdYLGlFQUNVO0lBQ2pDLCtEQUFzQzs7O0lBSXhDLG9EQVFnQzs7O0lBRjlCLEFBREEsQUFEQSxBQUhBLDJEQUFzQywrQkFHZixtQ0FDSSxnQ0FDSDs7OztJQU05Qiw2QkFBMEU7SUFDeEUsK0JBQThEO0lBQzVELDZHQUF3RDtJQUMxRCxpQkFBTTs7Ozs7O0lBRkQsY0FBd0Q7SUFBeEQsdUZBQXdEO0lBQzlD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QWdHO1lBQWhHLGtIQUFnRztZQUl0RyxlQUFtQztZQU9uQyxBQURBLEFBREEsQUFIQSxBQURBLEFBREEscURBQW1DLGdFQUN3QiwwQ0FDMUIseUJBR2IsNEJBQ0csc0JBQ047WUFNaEIsZUFBNkQ7WUFBN0Qsc0ZBQTZEO1lBWTdELGNBQTBCO1lBQTFCLG1EQUEwQjtZQVVFLGNBQXVCO1lBQXZCLGdEQUF1Qjs7O2lGREtuRCwyQkFBMkI7Y0FadkMsU0FBUzsyQkFDRSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUk7dU9BVWMsa0JBQWtCO2tCQUFwRSxTQUFTO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNmLG1CQUFtQjtrQkFBcEQsU0FBUzttQkFBQyxxQkFBcUI7WUFFaEMsa0JBQWtCO2tCQURqQixlQUFlO21CQUFDLHlDQUF5Qzs7a0ZBSC9DLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvRGlhbG9nU2VydmljZSxcbiAgUG9EeW5hbWljRm9ybUZpZWxkLFxuICBQb0xhbmd1YWdlU2VydmljZSxcbiAgUG9Ob3RpZmljYXRpb25TZXJ2aWNlLFxuICBQb1BhZ2VBY3Rpb24sXG4gIFBvU3RlcHBlckl0ZW0sXG4gIFBvU3RlcHBlclN0YXR1cyxcbiAgcG9Mb2NhbGVEZWZhdWx0XG59IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWludGVybmFsJztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1saXRlcmFscyc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJMb29rdXBTZXJ2aWNlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItbG9va3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3NcIiB0aXRsZT1cIlBPIFBhZ2UgSm9iIFNjaGVkdWxlciAtIEJhY2tncm91bmQgUHJvY2Vzc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy9zYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzL3NhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgcG8tY29udGFpbmVyIC5wby1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgIH1cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3NjaGVkdWxlckV4ZWN1dGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIHNjaGVkdWxlckV4ZWN1dGlvbjogeyBmb3JtOiBOZ0Zvcm0gfTtcbiAgQFZpZXdDaGlsZCgnc2NoZWR1bGVyUGFyYW1ldGVycycpIHNjaGVkdWxlclBhcmFtZXRlcnM6IHsgZm9ybTogTmdGb3JtIH07XG4gIEBDb250ZW50Q2hpbGRyZW4oUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUpXG4gIHBhcmFtZXRlcnNUZW1wbGF0ZTogUXVlcnlMaXN0PFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlPjtcblxuICBpc0VkaXQgPSBmYWxzZTtcbiAgbGl0ZXJhbHMgPSB7XG4gICAgLi4ucG9QYWdlSm9iU2NoZWR1bGVyTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF1cbiAgfTtcblxuICBwdWJsaWNWYWx1ZXM6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWw7XG4gIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55PjtcbiAgc3RlcDogbnVtYmVyID0gMTtcbiAgcGFyYW1ldGVyc0VtcHR5OiBib29sZWFuID0gdHJ1ZTtcblxuICBzdGVwUGFyYW1ldGVyc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHN0ZXBzOiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gIHByaXZhdGUgYmFja1BhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5iYWNrLFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICdiYWNrJyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEJhY2suYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uOiBQb1BhZ2VBY3Rpb24gPSB7XG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuY29uY2x1ZGUsXG4gICAgYWN0aW9uOiB0aGlzLmNvbmZpcm1Kb2JTY2hlZHVsZXIuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgbmV4dFBhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5uZXh0LFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICduZXh0JyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEFkdmFuY2UuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFt0aGlzLmNvbmNsdWRlUGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgcHJpdmF0ZSBuZXh0UGFnZUFjdGlvbnM6IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbdGhpcy5uZXh0UGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgam9iU2NoZWR1bGVyQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG5cbiAgcHJvdGVjdGVkIHN0ZXBFeGVjdXRpb24gPSAxO1xuICBwcm90ZWN0ZWQgc3RlcFBhcmFtZXRlcnMgPSAyO1xuICBwcm90ZWN0ZWQgc3RlcFN1bW1hcnkgPSAzO1xuICBwcm90ZWN0ZWQgX3N0ZXBFeGVjdXRpb25MYXN0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb1BhZ2VEeW5hbWljTG9va3VwU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyTG9va3VwU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHBvRGlhbG9nU2VydmljZTogUG9EaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9Ob3RpZmljYXRpb246IFBvTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSxcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnRoaXMubGl0ZXJhbHMsXG4gICAgICAuLi5wb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHRbbGFuZ3VhZ2VdXG4gICAgfTtcblxuICAgIHRoaXMuYmFja1BhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmJhY2s7XG4gICAgdGhpcy5jb25jbHVkZVBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmNvbmNsdWRlO1xuICAgIHRoaXMubmV4dFBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLm5leHQ7XG4gIH1cblxuICBnZXQgc3RlcHBlck9yaWVudGF0aW9uKCk6ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnN0ZXBwZXJEZWZhdWx0T3JpZW50YXRpb24gfHwgKHdpbmRvdy5pbm5lcldpZHRoID4gNDgxICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgOTYwID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJylcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgcGFyYW1JZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xuXG4gICAgdGhpcy5pc0VkaXQgPSAhIXBhcmFtSWQ7XG5cbiAgICB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuY29uZmlnU2VydmljZUFwaSh7IGVuZHBvaW50OiB0aGlzLnNlcnZpY2VBcGkgfSk7XG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWREYXRhKHBhcmFtSWQpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tTdGVwRXhlY3V0aW9uTGFzdCgpO1xuICAgIHRoaXMuZ2V0U3RlcHMoKTtcbiAgfVxuXG4gIGNoYW5nZVBhZ2VBY3Rpb25zQnlTdGVwcyhjdXJyZW50U3RlcDogbnVtYmVyLCBuZXh0U3RlcDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3RlcHNMZW5ndGggPSB0aGlzLnN0ZXBzLmxlbmd0aDtcblxuICAgIGlmIChuZXh0U3RlcCA9PT0gc3RlcHNMZW5ndGgpIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLmNvbmNsdWRlUGFnZUFjdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFN0ZXAgPT09IHN0ZXBzTGVuZ3RoICYmIG5leHRTdGVwIDwgY3VycmVudFN0ZXApIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfVxuICB9XG5cbiAgbmV4dFN0ZXAoc3RlcE51bWJlcjogbnVtYmVyKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiAnYmFjaycgfCAnbmV4dCcgPSBzdGVwTnVtYmVyID4gdGhpcy5zdGVwID8gJ25leHQnIDogJ2JhY2snO1xuXG4gICAgLy8gUHJldmluZSBvIHVzdcOhcmlvIHB1bGFyIGV0YXBhc1xuICAgIGNvbnN0IGp1bXBTdGVwID0gKHN0ZXBOdW1iZXIgLSB0aGlzLnN0ZXApICogKG9wZXJhdGlvbiA9PT0gJ2JhY2snID8gLTEgOiAxKTtcbiAgICBpZiAoanVtcFN0ZXAgPiAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlU3RlcEV4ZWN1dGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ25leHQnICYmICF0aGlzLnZhbGlkYXRlU3RlcFNjaGVkdWxlclBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICduZXh0JyAmJiAhdGhpcy52YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0ZXAgPT09IHRoaXMuc3RlcEV4ZWN1dGlvbikge1xuICAgICAgdGhpcy5zZXRNb2RlbFJlY3VycmVudCgpO1xuICAgIH1cblxuICAgIC8vIEJ1c2NhIG9zIHBhcsOibWV0cm9zIGRvIHRlbXBsYXRlXG4gICAgdGhpcy5zZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCk7XG5cbiAgICBpZiAoc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG1vZGVsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm1vZGVsKSk7XG4gICAgICB0aGlzLnB1YmxpY1ZhbHVlcyA9IHRoaXMuaGlkZXNTZWNyZXRWYWx1ZXMobW9kZWwpO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHNbdGhpcy5zdGVwIC0gMV0uc3RhdHVzID0gb3BlcmF0aW9uID09PSAnbmV4dCcgPyBQb1N0ZXBwZXJTdGF0dXMuRG9uZSA6IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuXG4gICAgdGhpcy5jaGFuZ2VQYWdlQWN0aW9uc0J5U3RlcHModGhpcy5zdGVwLCBzdGVwTnVtYmVyKTtcbiAgICB0aGlzLnN0ZXAgPSBzdGVwTnVtYmVyO1xuXG4gICAgLy8gQ2FzbyBqw6EgdGVuaGEgaW5pY2lhZG8gYSBldGFwYSBkZSBwYXJhbWV0cml6YcOnw6NvLFxuICAgIC8vIGd1YXJkYSBlc3NhIGluZm9ybWHDp8OjbyBwYXJhIG7Do28gcHJlY2lzYXIgcmVuZGVyaXphciBub3ZhbWVudGVcbiAgICB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgPSB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgfHwgc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwUGFyYW1ldGVycztcbiAgfVxuXG4gIG9uQ2hhbmdlUHJvY2Vzcyhwcm9jZXNzOiB7IHByb2Nlc3NJZDogc3RyaW5nOyBleGlzdEFQSTogYm9vbGVhbiB9KSB7XG4gICAgaWYgKHByb2Nlc3MuZXhpc3RBUEkgJiYgcHJvY2Vzcy5wcm9jZXNzSWQgJiYgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgJiYgIXRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aCkge1xuICAgICAgdGhpcy5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MucHJvY2Vzc0lkKTtcbiAgICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIgPSB7fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU3RlcEV4ZWN1dGlvbkxhc3QoKSB7XG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0ID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RlcEV4ZWN1dGlvbkxhc3QgPSB0aGlzLnN0ZXBFeGVjdXRpb25MYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maXJtSm9iU2NoZWR1bGVyKCkge1xuICAgIGNvbnN0IHBhcmFtSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcblxuICAgIGNvbnN0IGNvbmZpcm1NZXNzYWdlID0gcGFyYW1JZCA/IHRoaXMubGl0ZXJhbHMuY29uZmlybVVwZGF0ZU1lc3NhZ2UgOiB0aGlzLmxpdGVyYWxzLmNvbmZpcm1TYXZlTWVzc2FnZTtcblxuICAgIHRoaXMucG9EaWFsb2dTZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgdGl0bGU6IHRoaXMubGl0ZXJhbHMuY29uZmlybWF0aW9uLFxuICAgICAgbWVzc2FnZTogY29uZmlybU1lc3NhZ2UsXG4gICAgICBjb25maXJtOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJlZm9yZVNlbmRNb2RlbCA9IHRoaXMuYmVmb3JlU2VuZEFjdGlvbiA/IHRoaXMuYmVmb3JlU2VuZEFjdGlvbih0aGlzLm1vZGVsKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uKGJlZm9yZVNlbmRNb2RlbCB8fCB0aGlzLm1vZGVsKSB9O1xuXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlbCwgcGFyYW1JZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTdWNjZXNzTWVzc2FnZShtc2dTdWNjZXNzOiBhbnksIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55Pikge1xuICAgIHNhdmVPcGVyYXRpb24uc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcbiAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5zdWNjZXNzKG1zZ1N1Y2Nlc3MpO1xuICAgICAgICB0aGlzLnJlc2V0Sm9iU2NoZWR1bGVyRm9ybSgpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlID0+IHRoaXMuZXJyb3IuZW1pdChlKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3M6IGFueSkge1xuICAgIHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MpLnN1YnNjcmliZShwYXJhbWV0ZXJzID0+IHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGVzU2VjcmV0VmFsdWVzKG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsKTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB7XG4gICAgY29uc3QgaGlkZGVuU2VjcmV0VmFsdWUgPSAnKioqKioqKioqKic7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2gocGFyYW1ldGVyID0+IHtcbiAgICAgIGlmICh0aGlzLmlzU2VjcmV0UGFyYW1ldGVyKG1vZGVsLCBwYXJhbWV0ZXIpKSB7XG4gICAgICAgIG1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlcltwYXJhbWV0ZXIucHJvcGVydHldID0gaGlkZGVuU2VjcmV0VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGVwcygpIHtcbiAgICBjb25zdCB0ZW1wbGF0ZUFycmF5OiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzVGVtcGxhdGUudG9BcnJheSgpLmZvckVhY2goKHZhbHVlLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgIHRlbXBsYXRlQXJyYXkucHVzaCh7XG4gICAgICAgIGxhYmVsOiB2YWx1ZS50aXRsZSB8fCBgJHt0aGlzLmxpdGVyYWxzLnBhcmFtZXRlcml6YXRpb259ICR7YXJyYXkubGVuZ3RoID4gMSA/IGluZGV4ICsgMSA6ICcnfWBcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgbGV0IF9zdGVwcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLl9zdGVwRXhlY3V0aW9uTGFzdCkge1xuICAgICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5zY2hlZHVsaW5nIH0pO1xuICAgIH1cblxuICAgIGlmICghdGVtcGxhdGVBcnJheS5sZW5ndGgpIHtcbiAgICAgIF9zdGVwcy5wdXNoKHsgbGFiZWw6IHRoaXMubGl0ZXJhbHMucGFyYW1ldGVyaXphdGlvbiB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgX3N0ZXBzID0gWy4uLl9zdGVwcywgLi4udGVtcGxhdGVBcnJheV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICBfc3RlcHMucHVzaCh7IGxhYmVsOiB0aGlzLmxpdGVyYWxzLnNjaGVkdWxpbmcgfSk7XG4gICAgfVxuXG4gICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5jb25jbHVkZSB9KTtcblxuICAgIHRoaXMuc3RlcHMgPSBfc3RlcHM7XG5cbiAgICB0aGlzLnN0ZXBTdW1tYXJ5ID0gdGhpcy5zdGVwcy5sZW5ndGg7XG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICB0aGlzLnN0ZXBFeGVjdXRpb24gPSB0aGlzLnN0ZXBTdW1tYXJ5IC0gMTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRlbXBsYXRlQ3VycmVudCgpIHtcbiAgICBjb25zdCBpbmRleFRlbXBsYXRlID0gdGhpcy5zdGVwIC0gKHRoaXMuc3RlcEV4ZWN1dGlvbkxhc3QgPyAxIDogMik7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLnRvQXJyYXkoKVtpbmRleFRlbXBsYXRlXTtcbiAgfVxuXG4gIHByaXZhdGUgdGVtcGxhdGVIYXNEaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5nZXRUZW1wbGF0ZUN1cnJlbnQoKTtcblxuICAgIHJldHVybiAhdGVtcGxhdGU/LmRpc2FibGVkQWR2YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNEaXNhYmxlZEFkdmFuY2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZXJFeGVjdXRpb24/LmZvcm0/LmludmFsaWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycykge1xuICAgICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycz8uZm9ybT8uaW52YWxpZDtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZUN1cnJlbnQgPSB0aGlzLmdldFRlbXBsYXRlQ3VycmVudCgpO1xuXG4gICAgaWYgKHRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuIHRlbXBsYXRlQ3VycmVudC5kaXNhYmxlZEFkdmFuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkQmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwID09PSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NlY3JldFBhcmFtZXRlcihtb2RlbDogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCwgcGFyYW1ldGVyOiBQb0R5bmFtaWNGb3JtRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyICYmXG4gICAgICBwYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkoJ3NlY3JldCcpICYmXG4gICAgICBwYXJhbWV0ZXJbJ3NlY3JldCddID09PSB0cnVlICYmXG4gICAgICBtb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkocGFyYW1ldGVyLnByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5leHRTdGVwT3BlcmF0aW9uKG9wZXJhdGlvbj86ICdiYWNrJyB8ICduZXh0Jykge1xuICAgIGNvbnN0IHN0ZXBOdW1iZXIgPSBvcGVyYXRpb24gPT09ICdiYWNrJyA/IHRoaXMuc3RlcCAtIDEgOiB0aGlzLnN0ZXAgKyAxO1xuXG4gICAgdGhpcy5uZXh0U3RlcChzdGVwTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRKb2JTY2hlZHVsZXJGb3JtKCkge1xuICAgIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0ucmVzZXQoKTtcblxuICAgIC8vIHJhZGlvZ3JvdXAgbsOjbyBlc3RhdmEgYXRyaWJ1aW5kbyBub3ZvIHZhbG9yLCBmaWNhIHZlcm1lbGhvIHNlbSBvIHRpbWV0b3V0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RlbCA9IG5ldyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCgpO1xuXG4gICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgdGhpcy5zdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgICBzdGVwLnN0YXR1cyA9IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNhdmUobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwsIHBhcmFtSWQpIHtcbiAgICBjb25zdCBzYXZlT3BlcmF0aW9uID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UudXBkYXRlUmVzb3VyY2UocGFyYW1JZCwgbW9kZWwpXG4gICAgICA6IHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5jcmVhdGVSZXNvdXJjZShtb2RlbCk7XG5cbiAgICBjb25zdCBtc2dTdWNjZXNzID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLmxpdGVyYWxzLnNhdmVOb3RpZmljYXRpb25TdWNjZXNzVXBkYXRlXG4gICAgICA6IHRoaXMubGl0ZXJhbHMuc2F2ZU5vdGlmaWNhdGlvblN1Y2Nlc3NTYXZlO1xuXG4gICAgdGhpcy5lbWl0U3VjY2Vzc01lc3NhZ2UobXNnU3VjY2Vzcywgc2F2ZU9wZXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHNldE1vZGVsUmVjdXJyZW50KCkge1xuICAgIHRoaXMubW9kZWwucmVjdXJyZW50ID0gdGhpcy5tb2RlbC5wZXJpb2RpY2l0eSA9PT0gJ3NpbmdsZScgPyBmYWxzZSA6IHRoaXMubW9kZWwucmVjdXJyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlQ3VycmVudCA9IHRoaXMuZ2V0VGVtcGxhdGVDdXJyZW50KCk7XG5cbiAgICBpZiAoIXRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kZWwgPSB7XG4gICAgICAuLi50aGlzLm1vZGVsLFxuICAgICAgZXhlY3V0aW9uUGFyYW1ldGVyOiB7IC4uLnRoaXMubW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyLCAuLi50ZW1wbGF0ZUN1cnJlbnQuZXhlY3V0aW9uUGFyYW1ldGVyIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBFeGVjdXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RlcEN1cnJlbnQgPSB0aGlzLnN0ZXA7XG5cbiAgICBpZiAoc3RlcEN1cnJlbnQgPT0gdGhpcy5zdGVwRXhlY3V0aW9uICYmIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eUludmFsaWRDb250cm9scyh0aGlzLnNjaGVkdWxlckV4ZWN1dGlvbi5mb3JtLmNvbnRyb2xzKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTdGVwU2NoZWR1bGVyUGFyYW1ldGVycygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zdGVwID09PSB0aGlzLnN0ZXBFeGVjdXRpb24gfHwgdGhpcy5zdGVwID09PSB0aGlzLnN0ZXBTdW1tYXJ5KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMubWFya0FzRGlydHlJbnZhbGlkQ29udHJvbHModGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0uY29udHJvbHMpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uIHx8IHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwU3VtbWFyeSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlSGFzRGlzYWJsZSgpO1xuICB9XG59XG4iLCI8cG8tcGFnZS1kZWZhdWx0IFtwLWFjdGlvbnNdPVwiam9iU2NoZWR1bGVyQWN0aW9uc1wiIFtwLWJyZWFkY3J1bWJdPVwiYnJlYWRjcnVtYlwiIFtwLXRpdGxlXT1cInRpdGxlXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICA8cG8tc3RlcHBlclxuICAgICAgW25nQ2xhc3NdPVwic3RlcHBlckRlZmF1bHRPcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3BvLWxnLTEyIHBvLXhsLTEyJyA6ICdwby1sZy0zIHBvLXhsLTInXCJcbiAgICAgIHAtc2VxdWVudGlhbD1cInRydWVcIlxuICAgICAgW3Atb3JpZW50YXRpb25dPVwic3RlcHBlck9yaWVudGF0aW9uXCJcbiAgICAgIFtwLXN0ZXBdPVwic3RlcFwiXG4gICAgICBbcC1zdGVwc109XCJzdGVwc1wiXG4gICAgICAocC1jaGFuZ2Utc3RlcCk9XCJuZXh0U3RlcCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1zdGVwcGVyPlxuXG4gICAgPHBvLWNvbnRhaW5lciBbbmdDbGFzc109XCJzdGVwcGVyRGVmYXVsdE9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAncG8tbGctMTIgcG8teGwtMTInIDogJ3BvLWxnLTggcG8teGwtNidcIj5cbiAgICAgIDxmb3JtICNmb3JtU2NoZWR1bGVyPVwibmdGb3JtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLWV4ZWN1dGlvblxuICAgICAgICAgICAgW3Atbm8tcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzRW1wdHlcIlxuICAgICAgICAgICAgW3Atbm8tY3VzdG9tLXBhcmFtcy1jb21wb25lbnRdPVwiIXBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGhcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCJzdGVwICE9PSBzdGVwRXhlY3V0aW9uXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJFeGVjdXRpb25cbiAgICAgICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgICAgICAgW3AtaXMtZWRpdF09XCJpc0VkaXRcIlxuICAgICAgICAgICAgW3AtbGl0ZXJhbHNdPVwibGl0ZXJhbHNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwibW9kZWxcIlxuICAgICAgICAgICAgKHAtY2hhbmdlLXByb2Nlc3MpPVwib25DaGFuZ2VQcm9jZXNzKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb24+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnNcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcFBhcmFtZXRlcnNJbml0aWFsaXplZCAmJiAhcGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cInN0ZXAgIT09IHN0ZXBQYXJhbWV0ZXJzXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJQYXJhbWV0ZXJzXG4gICAgICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgICAgIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVycyB8fCBbXVwiXG4gICAgICAgICAgICBbKHAtdmFsdWUpXT1cIm1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnM+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnlcbiAgICAgICAgICAgIFtwLW5vLXBhcmFtZXRlcnNdPVwiIXBhcmFtZXRlcnMubGVuZ3RoXCJcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcCA9PT0gc3RlcFN1bW1hcnlcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby1tZC0xMlwiXG4gICAgICAgICAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiXG4gICAgICAgICAgICBbcC1wYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwicHVibGljVmFsdWVzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRlbXBsYXRlIG9mIHBhcmFtZXRlcnNUZW1wbGF0ZTsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cInN0ZXAgIT09IGluZGV4ICsgKF9zdGVwRXhlY3V0aW9uTGFzdCA/IDEgOiAyKVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcG8tY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvcG8tcGFnZS1kZWZhdWx0PlxuIl19
417
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageJobSchedulerComponent, { className: "PoPageJobSchedulerComponent", filePath: "lib/components/po-page-job-scheduler/po-page-job-scheduler.component.ts", lineNumber: 64 }); })();
418
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUdmLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQU9MLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFckYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0YsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKL0UsK0RBUUM7SUFEQyxtWUFBc0M7SUFFeEMsaUJBQW1DOzs7SUFIakMsQUFEQSxBQUhBLDhEQUFrQywrQkFHWCxpRUFDVTtJQUNqQywrREFBc0M7OztJQUl4QyxvREFTZ0M7OztJQUY5QixBQURBLEFBREEsQUFGQSxBQURBLDJEQUFzQywwREFDWSwrQkFFM0IsbUNBQ0ksZ0NBQ0g7Ozs7SUFNOUIsNkJBQTBFO0lBQ3hF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QTNENkQsQUFBNUIsQUFBbEMsbURBQWlDLGdDQUE0QixzQkFBa0I7WUFHMUYsZUFBZ0c7WUFJaEcsQUFEQSxBQURBLEFBRkEsa0hBQWdHLHlDQUU1RCxvQkFDckIsc0JBQ0U7WUFLTCxjQUFnRztZQUFoRyxrSEFBZ0c7WUFJdEcsZUFBbUM7WUFPbkMsQUFEQSxBQURBLEFBSEEsQUFEQSxBQURBLHFEQUFtQyxnRUFDd0IsMENBQzFCLHlCQUdiLDRCQUNHLHNCQUNOO1lBTWhCLGVBQTZEO1lBQTdELHNGQUE2RDtZQVc3RCxjQUEwQjtZQUExQixtREFBMEI7WUFZRSxjQUF1QjtZQUF2QixnREFBdUI7OztpRkRXbkQsMkJBQTJCO2NBWnZDLFNBQVM7MkJBQ0UsdUJBQXVCLGlCQUVsQixpQkFBaUIsQ0FBQyxJQUFJO3VPQVVjLGtCQUFrQjtrQkFBcEUsU0FBUzttQkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDZixtQkFBbUI7a0JBQXBELFNBQVM7bUJBQUMscUJBQXFCO1lBRWhDLGtCQUFrQjtrQkFEakIsZUFBZTttQkFBQyx5Q0FBeUM7WUFJMUQsMkJBQTJCO2tCQUQxQixZQUFZO21CQUFDLHNDQUFzQzs7a0ZBTnpDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvRGlhbG9nU2VydmljZSxcbiAgUG9EeW5hbWljRm9ybUZpZWxkLFxuICBQb0xhbmd1YWdlU2VydmljZSxcbiAgUG9Ob3RpZmljYXRpb25TZXJ2aWNlLFxuICBQb1BhZ2VBY3Rpb24sXG4gIFBvU3RlcHBlckl0ZW0sXG4gIFBvU3RlcHBlclN0YXR1cyxcbiAgcG9Mb2NhbGVEZWZhdWx0XG59IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVySW50ZXJuYWwgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1pbnRlcm5hbCc7XG5pbXBvcnQgeyBwb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1saXRlcmFscyc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJMb29rdXBTZXJ2aWNlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItbG9va3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzJztcbmltcG9ydCB7IFBvSm9iU2NoZWR1bGVyU3VtbWFyeVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXIuc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzXCIgdGl0bGU9XCJQTyBQYWdlIEpvYiBTY2hlZHVsZXIgLSBCYWNrZ3JvdW5kIFByb2Nlc3NcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3Mvc2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3MuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy9zYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWpvYi1zY2hlZHVsZXItZGlyZWN0aXZlc1wiIHRpdGxlPVwiUE8gUGFnZSBKb2IgU2NoZWR1bGVyIC0gRGlyZWN0aXZlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWRpcmVjdGl2ZXMvc2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1kaXJlY3RpdmVzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1kaXJlY3RpdmVzL3NhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItZGlyZWN0aXZlcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1qb2Itc2NoZWR1bGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHBvLWNvbnRhaW5lciAucG8tY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteTogdW5zZXQ7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlckNvbXBvbmVudCBleHRlbmRzIFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICBAVmlld0NoaWxkKCdzY2hlZHVsZXJFeGVjdXRpb24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBzY2hlZHVsZXJFeGVjdXRpb246IHsgZm9ybTogTmdGb3JtIH07XG4gIEBWaWV3Q2hpbGQoJ3NjaGVkdWxlclBhcmFtZXRlcnMnKSBzY2hlZHVsZXJQYXJhbWV0ZXJzOiB7IGZvcm06IE5nRm9ybSB9O1xuICBAQ29udGVudENoaWxkcmVuKFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlKVxuICBwYXJhbWV0ZXJzVGVtcGxhdGU6IFF1ZXJ5TGlzdDxQb0pvYlNjaGVkdWxlclBhcmFtZXRlcnNUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChQb0pvYlNjaGVkdWxlclN1bW1hcnlUZW1wbGF0ZURpcmVjdGl2ZSlcbiAgam9iU2NoZWR1bGVyU3VtbWFyeVRlbXBsYXRlOiBQb0pvYlNjaGVkdWxlclN1bW1hcnlUZW1wbGF0ZURpcmVjdGl2ZTtcblxuICBpc0VkaXQgPSBmYWxzZTtcbiAgbGl0ZXJhbHMgPSB7XG4gICAgLi4ucG9QYWdlSm9iU2NoZWR1bGVyTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF1cbiAgfTtcblxuICBwdWJsaWNWYWx1ZXM6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWw7XG4gIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55PjtcbiAgc3RlcDogbnVtYmVyID0gMTtcbiAgcGFyYW1ldGVyc0VtcHR5OiBib29sZWFuID0gdHJ1ZTtcblxuICBzdGVwUGFyYW1ldGVyc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHN0ZXBzOiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gIHByaXZhdGUgYmFja1BhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5iYWNrLFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICdiYWNrJyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEJhY2suYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uOiBQb1BhZ2VBY3Rpb24gPSB7XG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuY29uY2x1ZGUsXG4gICAgYWN0aW9uOiB0aGlzLmNvbmZpcm1Kb2JTY2hlZHVsZXIuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgbmV4dFBhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5uZXh0LFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICduZXh0JyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEFkdmFuY2UuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFt0aGlzLmNvbmNsdWRlUGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgcHJpdmF0ZSBuZXh0UGFnZUFjdGlvbnM6IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbdGhpcy5uZXh0UGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgam9iU2NoZWR1bGVyQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG5cbiAgcHJvdGVjdGVkIHN0ZXBFeGVjdXRpb24gPSAxO1xuICBwcm90ZWN0ZWQgc3RlcFBhcmFtZXRlcnMgPSAyO1xuICBwcm90ZWN0ZWQgc3RlcFN1bW1hcnkgPSAzO1xuICBwcm90ZWN0ZWQgX3N0ZXBFeGVjdXRpb25MYXN0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb1BhZ2VEeW5hbWljTG9va3VwU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyTG9va3VwU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHBvRGlhbG9nU2VydmljZTogUG9EaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9Ob3RpZmljYXRpb246IFBvTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSxcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnRoaXMubGl0ZXJhbHMsXG4gICAgICAuLi5wb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHRbbGFuZ3VhZ2VdXG4gICAgfTtcblxuICAgIHRoaXMuYmFja1BhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmJhY2s7XG4gICAgdGhpcy5jb25jbHVkZVBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmNvbmNsdWRlO1xuICAgIHRoaXMubmV4dFBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLm5leHQ7XG4gIH1cblxuICBnZXQgc3RlcHBlck9yaWVudGF0aW9uKCk6ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnN0ZXBwZXJEZWZhdWx0T3JpZW50YXRpb24gfHwgKHdpbmRvdy5pbm5lcldpZHRoID4gNDgxICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgOTYwID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJylcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgcGFyYW1JZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xuXG4gICAgdGhpcy5pc0VkaXQgPSAhIXBhcmFtSWQ7XG5cbiAgICB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuY29uZmlnU2VydmljZUFwaSh7IGVuZHBvaW50OiB0aGlzLnNlcnZpY2VBcGkgfSk7XG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWREYXRhKHBhcmFtSWQpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tTdGVwRXhlY3V0aW9uTGFzdCgpO1xuICAgIHRoaXMuZ2V0U3RlcHMoKTtcbiAgfVxuXG4gIGNoYW5nZVBhZ2VBY3Rpb25zQnlTdGVwcyhjdXJyZW50U3RlcDogbnVtYmVyLCBuZXh0U3RlcDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3RlcHNMZW5ndGggPSB0aGlzLnN0ZXBzLmxlbmd0aDtcblxuICAgIGlmIChuZXh0U3RlcCA9PT0gc3RlcHNMZW5ndGgpIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLmNvbmNsdWRlUGFnZUFjdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFN0ZXAgPT09IHN0ZXBzTGVuZ3RoICYmIG5leHRTdGVwIDwgY3VycmVudFN0ZXApIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfVxuICB9XG5cbiAgbmV4dFN0ZXAoc3RlcE51bWJlcjogbnVtYmVyKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiAnYmFjaycgfCAnbmV4dCcgPSBzdGVwTnVtYmVyID4gdGhpcy5zdGVwID8gJ25leHQnIDogJ2JhY2snO1xuXG4gICAgLy8gUHJldmluZSBvIHVzdcOhcmlvIHB1bGFyIGV0YXBhc1xuICAgIGNvbnN0IGp1bXBTdGVwID0gKHN0ZXBOdW1iZXIgLSB0aGlzLnN0ZXApICogKG9wZXJhdGlvbiA9PT0gJ2JhY2snID8gLTEgOiAxKTtcbiAgICBpZiAoanVtcFN0ZXAgPiAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlU3RlcEV4ZWN1dGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ25leHQnICYmICF0aGlzLnZhbGlkYXRlU3RlcFNjaGVkdWxlclBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICduZXh0JyAmJiAhdGhpcy52YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0ZXAgPT09IHRoaXMuc3RlcEV4ZWN1dGlvbikge1xuICAgICAgdGhpcy5zZXRNb2RlbFJlY3VycmVudCgpO1xuICAgIH1cblxuICAgIC8vIEJ1c2NhIG9zIHBhcsOibWV0cm9zIGRvIHRlbXBsYXRlXG4gICAgdGhpcy5zZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCk7XG5cbiAgICBpZiAoc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG1vZGVsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm1vZGVsKSk7XG4gICAgICB0aGlzLnB1YmxpY1ZhbHVlcyA9IHRoaXMuaGlkZXNTZWNyZXRWYWx1ZXMobW9kZWwpO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHNbdGhpcy5zdGVwIC0gMV0uc3RhdHVzID0gb3BlcmF0aW9uID09PSAnbmV4dCcgPyBQb1N0ZXBwZXJTdGF0dXMuRG9uZSA6IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuXG4gICAgdGhpcy5jaGFuZ2VQYWdlQWN0aW9uc0J5U3RlcHModGhpcy5zdGVwLCBzdGVwTnVtYmVyKTtcbiAgICB0aGlzLnN0ZXAgPSBzdGVwTnVtYmVyO1xuXG4gICAgLy8gQ2FzbyBqw6EgdGVuaGEgaW5pY2lhZG8gYSBldGFwYSBkZSBwYXJhbWV0cml6YcOnw6NvLFxuICAgIC8vIGd1YXJkYSBlc3NhIGluZm9ybWHDp8OjbyBwYXJhIG7Do28gcHJlY2lzYXIgcmVuZGVyaXphciBub3ZhbWVudGVcbiAgICB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgPSB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgfHwgc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwUGFyYW1ldGVycztcbiAgfVxuXG4gIG9uQ2hhbmdlUHJvY2Vzcyhwcm9jZXNzOiB7IHByb2Nlc3NJZDogc3RyaW5nOyBleGlzdEFQSTogYm9vbGVhbiB9KSB7XG4gICAgaWYgKHByb2Nlc3MuZXhpc3RBUEkgJiYgcHJvY2Vzcy5wcm9jZXNzSWQgJiYgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgJiYgIXRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aCkge1xuICAgICAgdGhpcy5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MucHJvY2Vzc0lkKTtcbiAgICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIgPSB7fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU3RlcEV4ZWN1dGlvbkxhc3QoKSB7XG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0ID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RlcEV4ZWN1dGlvbkxhc3QgPSB0aGlzLnN0ZXBFeGVjdXRpb25MYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maXJtSm9iU2NoZWR1bGVyKCkge1xuICAgIGNvbnN0IHBhcmFtSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcblxuICAgIGNvbnN0IGNvbmZpcm1NZXNzYWdlID0gcGFyYW1JZCA/IHRoaXMubGl0ZXJhbHMuY29uZmlybVVwZGF0ZU1lc3NhZ2UgOiB0aGlzLmxpdGVyYWxzLmNvbmZpcm1TYXZlTWVzc2FnZTtcblxuICAgIHRoaXMucG9EaWFsb2dTZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgdGl0bGU6IHRoaXMubGl0ZXJhbHMuY29uZmlybWF0aW9uLFxuICAgICAgbWVzc2FnZTogY29uZmlybU1lc3NhZ2UsXG4gICAgICBjb25maXJtOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJlZm9yZVNlbmRNb2RlbCA9IHRoaXMuYmVmb3JlU2VuZEFjdGlvbiA/IHRoaXMuYmVmb3JlU2VuZEFjdGlvbih0aGlzLm1vZGVsKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uKGJlZm9yZVNlbmRNb2RlbCB8fCB0aGlzLm1vZGVsKSB9O1xuXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlbCwgcGFyYW1JZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTdWNjZXNzTWVzc2FnZShtc2dTdWNjZXNzOiBhbnksIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55Pikge1xuICAgIHNhdmVPcGVyYXRpb24uc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcbiAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5zdWNjZXNzKG1zZ1N1Y2Nlc3MpO1xuICAgICAgICB0aGlzLnJlc2V0Sm9iU2NoZWR1bGVyRm9ybSgpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlID0+IHRoaXMuZXJyb3IuZW1pdChlKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3M6IGFueSkge1xuICAgIHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MpLnN1YnNjcmliZShwYXJhbWV0ZXJzID0+IHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGVzU2VjcmV0VmFsdWVzKG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsKTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB7XG4gICAgY29uc3QgaGlkZGVuU2VjcmV0VmFsdWUgPSAnKioqKioqKioqKic7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2gocGFyYW1ldGVyID0+IHtcbiAgICAgIGlmICh0aGlzLmlzU2VjcmV0UGFyYW1ldGVyKG1vZGVsLCBwYXJhbWV0ZXIpKSB7XG4gICAgICAgIG1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlcltwYXJhbWV0ZXIucHJvcGVydHldID0gaGlkZGVuU2VjcmV0VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGVwcygpIHtcbiAgICBjb25zdCB0ZW1wbGF0ZUFycmF5OiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzVGVtcGxhdGUudG9BcnJheSgpLmZvckVhY2goKHZhbHVlLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgIHRlbXBsYXRlQXJyYXkucHVzaCh7XG4gICAgICAgIGxhYmVsOiB2YWx1ZS50aXRsZSB8fCBgJHt0aGlzLmxpdGVyYWxzLnBhcmFtZXRlcml6YXRpb259ICR7YXJyYXkubGVuZ3RoID4gMSA/IGluZGV4ICsgMSA6ICcnfWBcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgbGV0IF9zdGVwcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLl9zdGVwRXhlY3V0aW9uTGFzdCkge1xuICAgICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5zY2hlZHVsaW5nIH0pO1xuICAgIH1cblxuICAgIGlmICghdGVtcGxhdGVBcnJheS5sZW5ndGgpIHtcbiAgICAgIF9zdGVwcy5wdXNoKHsgbGFiZWw6IHRoaXMubGl0ZXJhbHMucGFyYW1ldGVyaXphdGlvbiB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgX3N0ZXBzID0gWy4uLl9zdGVwcywgLi4udGVtcGxhdGVBcnJheV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICBfc3RlcHMucHVzaCh7IGxhYmVsOiB0aGlzLmxpdGVyYWxzLnNjaGVkdWxpbmcgfSk7XG4gICAgfVxuXG4gICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5jb25jbHVkZSB9KTtcblxuICAgIHRoaXMuc3RlcHMgPSBfc3RlcHM7XG5cbiAgICB0aGlzLnN0ZXBTdW1tYXJ5ID0gdGhpcy5zdGVwcy5sZW5ndGg7XG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICB0aGlzLnN0ZXBFeGVjdXRpb24gPSB0aGlzLnN0ZXBTdW1tYXJ5IC0gMTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRlbXBsYXRlQ3VycmVudCgpIHtcbiAgICBjb25zdCBpbmRleFRlbXBsYXRlID0gdGhpcy5zdGVwIC0gKHRoaXMuc3RlcEV4ZWN1dGlvbkxhc3QgPyAxIDogMik7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLnRvQXJyYXkoKVtpbmRleFRlbXBsYXRlXTtcbiAgfVxuXG4gIHByaXZhdGUgdGVtcGxhdGVIYXNEaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5nZXRUZW1wbGF0ZUN1cnJlbnQoKTtcblxuICAgIHJldHVybiAhdGVtcGxhdGU/LmRpc2FibGVkQWR2YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNEaXNhYmxlZEFkdmFuY2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZXJFeGVjdXRpb24/LmZvcm0/LmludmFsaWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycykge1xuICAgICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycz8uZm9ybT8uaW52YWxpZDtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZUN1cnJlbnQgPSB0aGlzLmdldFRlbXBsYXRlQ3VycmVudCgpO1xuXG4gICAgaWYgKHRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuIHRlbXBsYXRlQ3VycmVudC5kaXNhYmxlZEFkdmFuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkQmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwID09PSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NlY3JldFBhcmFtZXRlcihtb2RlbDogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCwgcGFyYW1ldGVyOiBQb0R5bmFtaWNGb3JtRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyICYmXG4gICAgICBwYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkoJ3NlY3JldCcpICYmXG4gICAgICBwYXJhbWV0ZXJbJ3NlY3JldCddID09PSB0cnVlICYmXG4gICAgICBtb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkocGFyYW1ldGVyLnByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5leHRTdGVwT3BlcmF0aW9uKG9wZXJhdGlvbj86ICdiYWNrJyB8ICduZXh0Jykge1xuICAgIGNvbnN0IHN0ZXBOdW1iZXIgPSBvcGVyYXRpb24gPT09ICdiYWNrJyA/IHRoaXMuc3RlcCAtIDEgOiB0aGlzLnN0ZXAgKyAxO1xuXG4gICAgdGhpcy5uZXh0U3RlcChzdGVwTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRKb2JTY2hlZHVsZXJGb3JtKCkge1xuICAgIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0ucmVzZXQoKTtcblxuICAgIC8vIHJhZGlvZ3JvdXAgbsOjbyBlc3RhdmEgYXRyaWJ1aW5kbyBub3ZvIHZhbG9yLCBmaWNhIHZlcm1lbGhvIHNlbSBvIHRpbWV0b3V0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RlbCA9IG5ldyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCgpO1xuXG4gICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgdGhpcy5zdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgICBzdGVwLnN0YXR1cyA9IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNhdmUobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwsIHBhcmFtSWQpIHtcbiAgICBjb25zdCBzYXZlT3BlcmF0aW9uID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UudXBkYXRlUmVzb3VyY2UocGFyYW1JZCwgbW9kZWwpXG4gICAgICA6IHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5jcmVhdGVSZXNvdXJjZShtb2RlbCk7XG5cbiAgICBjb25zdCBtc2dTdWNjZXNzID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLmxpdGVyYWxzLnNhdmVOb3RpZmljYXRpb25TdWNjZXNzVXBkYXRlXG4gICAgICA6IHRoaXMubGl0ZXJhbHMuc2F2ZU5vdGlmaWNhdGlvblN1Y2Nlc3NTYXZlO1xuXG4gICAgdGhpcy5lbWl0U3VjY2Vzc01lc3NhZ2UobXNnU3VjY2Vzcywgc2F2ZU9wZXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHNldE1vZGVsUmVjdXJyZW50KCkge1xuICAgIHRoaXMubW9kZWwucmVjdXJyZW50ID0gdGhpcy5tb2RlbC5wZXJpb2RpY2l0eSA9PT0gJ3NpbmdsZScgPyBmYWxzZSA6IHRoaXMubW9kZWwucmVjdXJyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlQ3VycmVudCA9IHRoaXMuZ2V0VGVtcGxhdGVDdXJyZW50KCk7XG5cbiAgICBpZiAoIXRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kZWwgPSB7XG4gICAgICAuLi50aGlzLm1vZGVsLFxuICAgICAgZXhlY3V0aW9uUGFyYW1ldGVyOiB7IC4uLnRoaXMubW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyLCAuLi50ZW1wbGF0ZUN1cnJlbnQuZXhlY3V0aW9uUGFyYW1ldGVyIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBFeGVjdXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RlcEN1cnJlbnQgPSB0aGlzLnN0ZXA7XG5cbiAgICBpZiAoc3RlcEN1cnJlbnQgPT0gdGhpcy5zdGVwRXhlY3V0aW9uICYmIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eUludmFsaWRDb250cm9scyh0aGlzLnNjaGVkdWxlckV4ZWN1dGlvbi5mb3JtLmNvbnRyb2xzKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTdGVwU2NoZWR1bGVyUGFyYW1ldGVycygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zdGVwID09PSB0aGlzLnN0ZXBFeGVjdXRpb24gfHwgdGhpcy5zdGVwID09PSB0aGlzLnN0ZXBTdW1tYXJ5KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMubWFya0FzRGlydHlJbnZhbGlkQ29udHJvbHModGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0uY29udHJvbHMpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uIHx8IHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwU3VtbWFyeSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlSGFzRGlzYWJsZSgpO1xuICB9XG59XG4iLCI8cG8tcGFnZS1kZWZhdWx0IFtwLWFjdGlvbnNdPVwiam9iU2NoZWR1bGVyQWN0aW9uc1wiIFtwLWJyZWFkY3J1bWJdPVwiYnJlYWRjcnVtYlwiIFtwLXRpdGxlXT1cInRpdGxlXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICA8cG8tc3RlcHBlclxuICAgICAgW25nQ2xhc3NdPVwic3RlcHBlckRlZmF1bHRPcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3BvLWxnLTEyIHBvLXhsLTEyJyA6ICdwby1sZy0zIHBvLXhsLTInXCJcbiAgICAgIHAtc2VxdWVudGlhbD1cInRydWVcIlxuICAgICAgW3Atb3JpZW50YXRpb25dPVwic3RlcHBlck9yaWVudGF0aW9uXCJcbiAgICAgIFtwLXN0ZXBdPVwic3RlcFwiXG4gICAgICBbcC1zdGVwc109XCJzdGVwc1wiXG4gICAgICAocC1jaGFuZ2Utc3RlcCk9XCJuZXh0U3RlcCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1zdGVwcGVyPlxuXG4gICAgPHBvLWNvbnRhaW5lciBbbmdDbGFzc109XCJzdGVwcGVyRGVmYXVsdE9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAncG8tbGctMTIgcG8teGwtMTInIDogJ3BvLWxnLTggcG8teGwtNidcIj5cbiAgICAgIDxmb3JtICNmb3JtU2NoZWR1bGVyPVwibmdGb3JtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLWV4ZWN1dGlvblxuICAgICAgICAgICAgW3Atbm8tcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzRW1wdHlcIlxuICAgICAgICAgICAgW3Atbm8tY3VzdG9tLXBhcmFtcy1jb21wb25lbnRdPVwiIXBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGhcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCJzdGVwICE9PSBzdGVwRXhlY3V0aW9uXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJFeGVjdXRpb25cbiAgICAgICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgICAgICAgW3AtaXMtZWRpdF09XCJpc0VkaXRcIlxuICAgICAgICAgICAgW3AtbGl0ZXJhbHNdPVwibGl0ZXJhbHNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwibW9kZWxcIlxuICAgICAgICAgICAgKHAtY2hhbmdlLXByb2Nlc3MpPVwib25DaGFuZ2VQcm9jZXNzKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb24+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnNcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcFBhcmFtZXRlcnNJbml0aWFsaXplZCAmJiAhcGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cInN0ZXAgIT09IHN0ZXBQYXJhbWV0ZXJzXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJQYXJhbWV0ZXJzXG4gICAgICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgICAgIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVycyB8fCBbXVwiXG4gICAgICAgICAgICBbKHAtdmFsdWUpXT1cIm1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnM+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnlcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcCA9PT0gc3RlcFN1bW1hcnlcIlxuICAgICAgICAgICAgW3Atbm8tcGFyYW1ldGVyc109XCIhcGFyYW1ldGVycy5sZW5ndGhcIlxuICAgICAgICAgICAgW3Atc3VtbWFyeS10ZW1wbGF0ZV09XCJqb2JTY2hlZHVsZXJTdW1tYXJ5VGVtcGxhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby1tZC0xMlwiXG4gICAgICAgICAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiXG4gICAgICAgICAgICBbcC1wYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwicHVibGljVmFsdWVzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRlbXBsYXRlIG9mIHBhcmFtZXRlcnNUZW1wbGF0ZTsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cInN0ZXAgIT09IGluZGV4ICsgKF9zdGVwRXhlY3V0aW9uTGFzdCA/IDEgOiAyKVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcG8tY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvcG8tcGFnZS1kZWZhdWx0PlxuIl19
@@ -9,6 +9,7 @@ import { PoPageJobSchedulerParametersComponent } from './po-page-job-scheduler-p
9
9
  import { PoPageJobSchedulerService } from './po-page-job-scheduler.service';
10
10
  import { PoPageJobSchedulerSummaryComponent } from './po-page-job-scheduler-summary/po-page-job-scheduler-summary.component';
11
11
  import { PoJobSchedulerParametersTemplateDirective } from './po-page-job-scheduler-parameters';
12
+ import { PoJobSchedulerSummaryTemplateDirective } from './po-page-job-scheduler-summary/po-job-scheduler-summary-template';
12
13
  import * as i0 from "@angular/core";
13
14
  export class PoPageJobSchedulerModule {
14
15
  static ɵfac = function PoPageJobSchedulerModule_Factory(t) { return new (t || PoPageJobSchedulerModule)(); };
@@ -35,9 +36,14 @@ export class PoPageJobSchedulerModule {
35
36
  PoPageJobSchedulerExecutionComponent,
36
37
  PoPageJobSchedulerParametersComponent,
37
38
  PoPageJobSchedulerSummaryComponent,
38
- PoJobSchedulerParametersTemplateDirective
39
+ PoJobSchedulerParametersTemplateDirective,
40
+ PoJobSchedulerSummaryTemplateDirective
41
+ ],
42
+ exports: [
43
+ PoPageJobSchedulerComponent,
44
+ PoJobSchedulerParametersTemplateDirective,
45
+ PoJobSchedulerSummaryTemplateDirective
39
46
  ],
40
- exports: [PoPageJobSchedulerComponent, PoJobSchedulerParametersTemplateDirective],
41
47
  imports: [
42
48
  CommonModule,
43
49
  FormsModule,
@@ -60,7 +66,8 @@ export class PoPageJobSchedulerModule {
60
66
  PoPageJobSchedulerExecutionComponent,
61
67
  PoPageJobSchedulerParametersComponent,
62
68
  PoPageJobSchedulerSummaryComponent,
63
- PoJobSchedulerParametersTemplateDirective], imports: [CommonModule,
69
+ PoJobSchedulerParametersTemplateDirective,
70
+ PoJobSchedulerSummaryTemplateDirective], imports: [CommonModule,
64
71
  FormsModule,
65
72
  PoButtonModule,
66
73
  PoContainerModule,
@@ -72,5 +79,7 @@ export class PoPageJobSchedulerModule {
72
79
  PoInfoModule,
73
80
  PoPageModule,
74
81
  PoStepperModule,
75
- PoWidgetModule], exports: [PoPageJobSchedulerComponent, PoJobSchedulerParametersTemplateDirective] }); })();
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixlQUFlLEVBQ2YsY0FBYyxFQUNmLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDbkksT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDdEksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDN0gsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBNEIvRixNQUFNLE9BQU8sd0JBQXdCO2tGQUF4Qix3QkFBd0I7NERBQXhCLHdCQUF3QjtpRUFGeEIsQ0FBQyx5QkFBeUIsRUFBRSwrQkFBK0IsQ0FBQyxZQWRyRSxZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjOztpRkFJTCx3QkFBd0I7Y0ExQnBDLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osMkJBQTJCO29CQUMzQixvQ0FBb0M7b0JBQ3BDLHFDQUFxQztvQkFDckMsa0NBQWtDO29CQUNsQyx5Q0FBeUM7aUJBQzFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlDQUF5QyxDQUFDO2dCQUNqRixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixhQUFhO29CQUNiLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsY0FBYztpQkFDZjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSwrQkFBK0IsQ0FBQzthQUN4RTs7d0ZBQ1ksd0JBQXdCLG1CQXhCakMsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQyxxQ0FBcUM7UUFDckMsa0NBQWtDO1FBQ2xDLHlDQUF5QyxhQUl6QyxZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLGVBQWU7UUFDZixjQUFjLGFBZE4sMkJBQTJCLEVBQUUseUNBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgUG9CdXR0b25Nb2R1bGUsXG4gIFBvQ29udGFpbmVyTW9kdWxlLFxuICBQb0RpYWxvZ01vZHVsZSxcbiAgUG9EaXZpZGVyTW9kdWxlLFxuICBQb0R5bmFtaWNNb2R1bGUsXG4gIFBvRmllbGRNb2R1bGUsXG4gIFBvSWNvbk1vZHVsZSxcbiAgUG9JbmZvTW9kdWxlLFxuICBQb1BhZ2VNb2R1bGUsXG4gIFBvU3RlcHBlck1vZHVsZSxcbiAgUG9XaWRnZXRNb2R1bGVcbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJDb21wb25lbnQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyRXhlY3V0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItZXhlY3V0aW9uL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckxvb2t1cFNlcnZpY2UgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1sb29rdXAuc2VydmljZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJQYXJhbWV0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycy9wby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFBvUGFnZUpvYlNjaGVkdWxlckNvbXBvbmVudCxcbiAgICBQb1BhZ2VKb2JTY2hlZHVsZXJFeGVjdXRpb25Db21wb25lbnQsXG4gICAgUG9QYWdlSm9iU2NoZWR1bGVyUGFyYW1ldGVyc0NvbXBvbmVudCxcbiAgICBQb1BhZ2VKb2JTY2hlZHVsZXJTdW1tYXJ5Q29tcG9uZW50LFxuICAgIFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtQb1BhZ2VKb2JTY2hlZHVsZXJDb21wb25lbnQsIFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQb0J1dHRvbk1vZHVsZSxcbiAgICBQb0NvbnRhaW5lck1vZHVsZSxcbiAgICBQb0RpYWxvZ01vZHVsZSxcbiAgICBQb0RpdmlkZXJNb2R1bGUsXG4gICAgUG9EeW5hbWljTW9kdWxlLFxuICAgIFBvRmllbGRNb2R1bGUsXG4gICAgUG9JY29uTW9kdWxlLFxuICAgIFBvSW5mb01vZHVsZSxcbiAgICBQb1BhZ2VNb2R1bGUsXG4gICAgUG9TdGVwcGVyTW9kdWxlLFxuICAgIFBvV2lkZ2V0TW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1BvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UsIFBvUGFnZUpvYlNjaGVkdWxlckxvb2t1cFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlck1vZHVsZSB7fVxuIl19
82
+ PoWidgetModule], exports: [PoPageJobSchedulerComponent,
83
+ PoJobSchedulerParametersTemplateDirective,
84
+ PoJobSchedulerSummaryTemplateDirective] }); })();
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixlQUFlLEVBQ2YsY0FBYyxFQUNmLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDbkksT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDdEksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDN0gsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0YsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7O0FBaUMzSCxNQUFNLE9BQU8sd0JBQXdCO2tGQUF4Qix3QkFBd0I7NERBQXhCLHdCQUF3QjtpRUFGeEIsQ0FBQyx5QkFBeUIsRUFBRSwrQkFBK0IsQ0FBQyxZQWRyRSxZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjOztpRkFJTCx3QkFBd0I7Y0EvQnBDLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osMkJBQTJCO29CQUMzQixvQ0FBb0M7b0JBQ3BDLHFDQUFxQztvQkFDckMsa0NBQWtDO29CQUNsQyx5Q0FBeUM7b0JBQ3pDLHNDQUFzQztpQkFDdkM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDJCQUEyQjtvQkFDM0IseUNBQXlDO29CQUN6QyxzQ0FBc0M7aUJBQ3ZDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixjQUFjO2lCQUNmO2dCQUNELFNBQVMsRUFBRSxDQUFDLHlCQUF5QixFQUFFLCtCQUErQixDQUFDO2FBQ3hFOzt3RkFDWSx3QkFBd0IsbUJBN0JqQywyQkFBMkI7UUFDM0Isb0NBQW9DO1FBQ3BDLHFDQUFxQztRQUNyQyxrQ0FBa0M7UUFDbEMseUNBQXlDO1FBQ3pDLHNDQUFzQyxhQVF0QyxZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLGVBQWU7UUFDZixjQUFjLGFBakJkLDJCQUEyQjtRQUMzQix5Q0FBeUM7UUFDekMsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgUG9CdXR0b25Nb2R1bGUsXG4gIFBvQ29udGFpbmVyTW9kdWxlLFxuICBQb0RpYWxvZ01vZHVsZSxcbiAgUG9EaXZpZGVyTW9kdWxlLFxuICBQb0R5bmFtaWNNb2R1bGUsXG4gIFBvRmllbGRNb2R1bGUsXG4gIFBvSWNvbk1vZHVsZSxcbiAgUG9JbmZvTW9kdWxlLFxuICBQb1BhZ2VNb2R1bGUsXG4gIFBvU3RlcHBlck1vZHVsZSxcbiAgUG9XaWRnZXRNb2R1bGVcbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJDb21wb25lbnQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyRXhlY3V0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItZXhlY3V0aW9uL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckxvb2t1cFNlcnZpY2UgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1sb29rdXAuc2VydmljZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJQYXJhbWV0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycy9wby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycyc7XG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlclN1bW1hcnlUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tam9iLXNjaGVkdWxlci1zdW1tYXJ5LXRlbXBsYXRlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUG9QYWdlSm9iU2NoZWR1bGVyQ29tcG9uZW50LFxuICAgIFBvUGFnZUpvYlNjaGVkdWxlckV4ZWN1dGlvbkNvbXBvbmVudCxcbiAgICBQb1BhZ2VKb2JTY2hlZHVsZXJQYXJhbWV0ZXJzQ29tcG9uZW50LFxuICAgIFBvUGFnZUpvYlNjaGVkdWxlclN1bW1hcnlDb21wb25lbnQsXG4gICAgUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgUG9Kb2JTY2hlZHVsZXJTdW1tYXJ5VGVtcGxhdGVEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFBvUGFnZUpvYlNjaGVkdWxlckNvbXBvbmVudCxcbiAgICBQb0pvYlNjaGVkdWxlclBhcmFtZXRlcnNUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBQb0pvYlNjaGVkdWxlclN1bW1hcnlUZW1wbGF0ZURpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFBvQnV0dG9uTW9kdWxlLFxuICAgIFBvQ29udGFpbmVyTW9kdWxlLFxuICAgIFBvRGlhbG9nTW9kdWxlLFxuICAgIFBvRGl2aWRlck1vZHVsZSxcbiAgICBQb0R5bmFtaWNNb2R1bGUsXG4gICAgUG9GaWVsZE1vZHVsZSxcbiAgICBQb0ljb25Nb2R1bGUsXG4gICAgUG9JbmZvTW9kdWxlLFxuICAgIFBvUGFnZU1vZHVsZSxcbiAgICBQb1N0ZXBwZXJNb2R1bGUsXG4gICAgUG9XaWRnZXRNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSwgUG9QYWdlSm9iU2NoZWR1bGVyTG9va3VwU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyTW9kdWxlIHt9XG4iXX0=