@eqproject/eqp-dynamic-module 2.10.6 → 2.10.8

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 (34) hide show
  1. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +8 -3
  2. package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +3 -3
  3. package/esm2020/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +7 -4
  4. package/esm2020/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +7 -4
  5. package/esm2020/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +7 -4
  6. package/esm2020/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +7 -4
  7. package/esm2020/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.mjs +7 -4
  8. package/esm2020/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +3 -2
  9. package/esm2020/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +7 -4
  10. package/esm2020/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +8 -4
  11. package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +7 -4
  12. package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +9 -6
  13. package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +7 -4
  14. package/esm2020/lib/models/statistic.model.mjs +17 -1
  15. package/esm2020/lib/services/eqp-dynamic-module-dialog.service.mjs +25 -1
  16. package/fesm2015/eqproject-eqp-dynamic-module.mjs +106 -34
  17. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
  18. package/fesm2020/eqproject-eqp-dynamic-module.mjs +106 -34
  19. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
  20. package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +2 -1
  21. package/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.d.ts +3 -1
  22. package/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.d.ts +3 -1
  23. package/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.d.ts +3 -1
  24. package/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.d.ts +3 -1
  25. package/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.d.ts +3 -1
  26. package/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.d.ts +2 -0
  27. package/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.d.ts +3 -1
  28. package/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.d.ts +3 -1
  29. package/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.d.ts +3 -1
  30. package/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.d.ts +3 -1
  31. package/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.d.ts +3 -1
  32. package/lib/models/statistic.model.d.ts +14 -0
  33. package/lib/services/eqp-dynamic-module-dialog.service.d.ts +6 -0
  34. package/package.json +1 -1
@@ -102,6 +102,30 @@ export class EqpDynamicModuleDialogService {
102
102
  Swal.fire(currentTitle, message, 'warning');
103
103
  }
104
104
  }
105
+ /**
106
+ *
107
+ * @param message Messaggio da mostrare nel prompt
108
+ * @param confirmCallback Funzione di callback da richiamare sul conferma
109
+ */
110
+ static Prompt(message, confirmCallback, inputValue = "") {
111
+ Swal.fire({
112
+ title: message,
113
+ input: 'text',
114
+ inputAttributes: {
115
+ autocapitalize: 'off'
116
+ },
117
+ inputValue: inputValue,
118
+ showCancelButton: true,
119
+ confirmButtonText: 'Conferma',
120
+ cancelButtonText: 'Esci',
121
+ showLoaderOnConfirm: true,
122
+ allowOutsideClick: false
123
+ }).then((result) => {
124
+ if (result.value && confirmCallback) {
125
+ confirmCallback(result.value);
126
+ }
127
+ });
128
+ }
105
129
  }
106
130
  EqpDynamicModuleDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EqpDynamicModuleDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
107
131
  EqpDynamicModuleDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EqpDynamicModuleDialogService, providedIn: 'root' });
@@ -111,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
111
135
  providedIn: 'root'
112
136
  }]
113
137
  }], ctorParameters: function () { return []; } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sNkJBQTZCO0lBRXRDLGdCQUFnQixDQUFDO0lBRWpCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxRQUFnQixJQUFJO1FBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUM7UUFDakYsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUEwQixFQUFFLFFBQWdCLElBQUk7UUFDekQsSUFBSSxZQUFZLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hCLFlBQVksR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNoRCxJQUFJLFVBQVUsR0FBVyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ04sS0FBSyxFQUFFLFlB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QUMsSUFBSSxDQUFDO2dCQUNOLEtBQUssRUFBRSxZQUFZO2dCQUNuQixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLFNBQVM7YUFDbEIsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7OzJIQTdHUSw2QkFBNkI7K0hBQTdCLDZCQUE2QixjQUYxQixNQUFNOzRGQUVULDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcXBEeW5hbWljTW9kdWxlRGlhbG9nU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgdW5vIHN3ZWV0IGFsZXJ0IGRpIHRpcG8gU1VDQ0VTUyBjb24gaWwgbWVzc2FnZ2lvIHBhc3NhdG8gY29tZSBwYXJhbWV0cm8uXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsbG8gc3dlZXRhbGVydFxyXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdG9sbyBkZWxsbyBzd2VldGFsZXJ0IChkaSBkZWZhdWx0IG1vc3RyYSAnT3BlcmF6aW9uZSBjb21wbGV0YXRhJylcclxuICAgICAqL1xyXG4gICAgc3RhdGljIFN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiAnT3BlcmF6aW9uZSBjb21wbGV0YXRhIGNvbiBzdWNjZXNzby4nO1xyXG4gICAgICAgIFN3YWwuZmlyZShjdXJyZW50VGl0bGUsIG1lc3NhZ2UsICdzdWNjZXNzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgdW5vIHN3ZWV0IGFsZXJ0IGRpIHRpcG8gRVJST1IgY29uIGlsIG1lc3NhZ2dpbyBwYXNzYXRvIGNvbWUgcGFyYW1ldHJvLlxyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGQnZXJyb3JlIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnRcclxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ0Vycm9yZScpXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBFcnJvcihtZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSwgdGl0bGU6IHN0cmluZyA9IG51bGwpIHtcclxuICAgICAgICBsZXQgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogJ0Vycm9yZSc7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVzc2FnZSkpIHtcclxuICAgICAgICAgICAgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogJ0Vycm9yZSc7XHJcbiAgICAgICAgICAgIGxldCBodG1sRXJyb3JzOiBzdHJpbmcgPSBtZXNzYWdlLmpvaW4oXCI8YnI+XCIpO1xyXG4gICAgICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGN1cnJlbnRUaXRsZSxcclxuICAgICAgICAgICAgICAgIGh0bWw6IGh0bWxFcnJvcnMsXHJcbiAgICAgICAgICAgICAgICBpY29uOiAnZXJyb3InXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgU3dhbC5maXJlKGN1cnJlbnRUaXRsZSwgbWVzc2FnZSwgJ2Vycm9yJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogTW9zdHJhIHVubyBzd2VldGFsZXJ0IGRpIHRpcG8gQ09ORklSTSBjb24gaWwgbWVzc2FnZ2lvIHBhc3NhdG8gY29tZSBwYXJhbWV0cm8uXHJcbiAgICogQWxsYSBwcmVzc2lvbmUgZGVsIHRhc3RvIENPTkZFUk1BIHZpZW5lIGludm9jYXRhIGxhIGZ1bnppb25lIGNvbmZpcm1DYWxsYmFjay5cclxuICAgKiBTZSB2aWVuZSBwYXNzYXRhIGFuY2hlIGxhIGZ1bnppb25lIGNhbmNlbGxDYWxsYmFjayB2aWVuZSBpbnZvY2F0YSBxdWFuZG8gdmllbmUgcHJlbXV0byBpbCB0YXN0byBBTk5VTExBXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnQgKHB1w7IgY29udGVuZXJlIHVuYSBsaXN0YSBkaSBtZXNzYWdnaSlcclxuICAgKiBAcGFyYW0gY29uZmlybUNhbGxiYWNrIEZ1bnppb25lIGRpIGNhbGxiYWNrIGRhIGludm9jYXJlIHF1YW5kbyB2aWVuZSBwcmVtdXRvIGlsIHRhc3RvIENPTkZFUk1BXHJcbiAgICogQHBhcmFtIGlzV2FybmluZyBTZSBUUlVFIGFsbG9yYSB1dGlsaXp6YSBsJ2ljb25hIGRpIFdBUk5JTkcgYWxsJ2ludGVybm8gZGVsbG8gc3dlZXRhbGVydFxyXG4gICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ1NlaSBzaWN1cm8gZGkgdm9sZXIgcHJvY2VkZXJlPycpXHJcbiAgICogQHBhcmFtIGN1c3RvbVdpZHRoIExhcmdoZXp6YSBkYSBpbXBvc3RhcmUgcGVyIGxvIHN3ZWV0YWxlcnQgKGRlZmF1bHQ6IDMycmVtKVxyXG4gICAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBGdW56aW9uZSBkaSBjYWxsYmFjayBkYSBpbnZvY2FyZSBhbGxhIHByZXNzaW9uZSBkZWwgdGFzdG8gQU5OVUxMQSAob3B6aW9uYWxlKVxyXG4gICAqIEBwYXJhbSBjb25maXJtQnV0dG9uVGV4dCBUZXN0byBkYSBtb3N0cmFyZSBuZWwgcHVsc2FudGUgZGkgY29uZmVybWEgKGRlZmF1bHQ6IENvbmZlcm1hKVxyXG4gICAqIEBwYXJhbSBjYW5jZWxCdXR0b25UZXh0IFRlc3RvIGRhIG1vc3RyYXJlIG5lbCBwdWxzYW50ZSBkaSBhbm51bGxhIChkZWZhdWx0OiBDaGl1ZGkpXHJcbiAgICovXHJcbiAgXHJcbiAgICBzdGF0aWMgQ29uZmlybShtZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSwgY29uZmlybUNhbGxiYWNrOiBhbnksIGlzV2FybmluZzogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSBudWxsLCBjdXN0b21XaWR0aDogc3RyaW5nID0gbnVsbCwgY2FuY2VsQ2FsbGJhY2s6IGFueSA9IG51bGwsIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSBudWxsLCBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgPSBudWxsLCBoYXZlRGVueUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlLCBkZW55QnV0dG9uVGV4dDogc3RyaW5nID0gbnVsbCwgZGVueUNhbGxiYWNrOiBhbnkgPSBudWxsLCBhbGxvd091dHNpZGVDbGljayA9IGZhbHNlKSB7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiAnU2VpIHNpY3VybyBkaSB2b2xlciBwcm9jZWRlcmU/JztcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSkge1xyXG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLmpvaW4oXCI8YnI+XCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogY3VycmVudFRpdGxlLFxyXG4gICAgICAgIGh0bWw6IG1lc3NhZ2UsXHJcbiAgICAgICAgd2lkdGg6IGN1c3RvbVdpZHRoID8gY3VzdG9tV2lkdGggOiAnMzJyZW0nLFxyXG4gICAgICAgIGljb246ICFpc1dhcm5pbmcgPyAncXVlc3Rpb24nIDogJ3dhcm5pbmcnLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maXJtQnV0dG9uVGV4dCA/IGNvbmZpcm1CdXR0b25UZXh0IDogJ0NvbmZlcm1hJyxcclxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIGRlbnlCdXR0b25UZXh0OiBkZW55QnV0dG9uVGV4dCA/IGRlbnlCdXR0b25UZXh0IDogJ05vJyxcclxuICAgICAgICBzaG93RGVueUJ1dHRvbjogaGF2ZURlbnlCdXR0b24sXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCA/IGNhbmNlbEJ1dHRvblRleHQgOiAnQ2hpdWRpJyxcclxuICAgICAgICBhbGxvd091dHNpZGVDbGljazogYWxsb3dPdXRzaWRlQ2xpY2ssXHJcbiAgICAgICAgYWxsb3dFc2NhcGVLZXk6IGZhbHNlXHJcbiAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSAmJiBjb25maXJtQ2FsbGJhY2spIHtcclxuICAgICAgICAgICAgY29uZmlybUNhbGxiYWNrKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuaXNEZW5pZWQpIHtcclxuICAgICAgICAgICAgZGVueUNhbGxiYWNrKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChjYW5jZWxDYWxsYmFjaykge1xyXG4gICAgICAgICAgICBjYW5jZWxDYWxsYmFjaygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vc3RyYSB1bm8gc3dlZXRhbGVydCBkaSB0aXBvIElORk8gY29uIGlsIG1lc3NhZ2dpbyBwYXNzYXRvIGNvbWUgcGFyYW1ldHJvXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsbG8gc3dlZXRhbGVydFxyXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdG9sbyBkZWxsbyBzd2VldGFsZXJ0IChkaSBkZWZhdWx0IG1vc3RyYSAnSW5mbycpXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBJbmZvKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZyA9IG51bGwsIGlzVG9hc3Q6IGJvb2xlYW4gPSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRUaXRsZSA9IHRpdGxlICE9IG51bGwgPyB0aXRsZSA6IFwiSW5mb3JtYXppb25lOlwiO1xyXG4gICAgICAgIFN3YWwuZmlyZShjdXJyZW50VGl0bGUsIG1lc3NhZ2UsICdpbmZvJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgdW5vIHN3ZWV0YWxlcnQgZGkgdGlwbyBXQVJOSU5HIGNvbiBpbCBtZXNzYWdnaW8gcGFzc2F0byBjb21lIHBhcmFtZXRyb1xyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnRcclxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ0F0dGVuemlvbmUhJylcclxuICAgICAqL1xyXG4gICAgc3RhdGljIFdhcm5pbmcobWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10sIHRpdGxlOiBzdHJpbmcgPSBudWxsLCBpc1RvYXN0OiBib29sZWFuID0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiBcIkF0dGVuemlvbmUhXCI7XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2UpKSB7XHJcbiAgICAgICAgICAgIGxldCBodG1sV2FybmluZ3M6IHN0cmluZyA9IG1lc3NhZ2Uuam9pbihcIjxicj5cIik7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogY3VycmVudFRpdGxlLFxyXG4gICAgICAgICAgICAgICAgaHRtbDogaHRtbFdhcm5pbmdzLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZShjdXJyZW50VGl0bGUsIG1lc3NhZ2UsICd3YXJuaW5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sNkJBQTZCO0lBRXRDLGdCQUFnQixDQUFDO0lBRWpCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxRQUFnQixJQUFJO1FBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUM7UUFDakYsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUEwQixFQUFFLFFBQWdCLElBQUk7UUFDekQsSUFBSSxZQUFZLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hCLFlBQVksR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNoRCxJQUFJLFVBQVUsR0FBVyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ04sS0FBSyxFQUFFLFlB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QUMsSUFBSSxDQUFDO2dCQUNOLEtBQUssRUFBRSxZQUFZO2dCQUNuQixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLFNBQVM7YUFDbEIsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFlLEVBQUUsZUFBb0IsRUFBRSxhQUFrQixFQUFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDVixLQUFLLEVBQUUsT0FBTztZQUNkLEtBQUssRUFBRSxNQUFNO1lBQ2IsZUFBZSxFQUFFO2dCQUNiLGNBQWMsRUFBRSxLQUFLO2FBQ3hCO1lBQ0QsVUFBVSxFQUFFLFVBQVU7WUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixpQkFBaUIsRUFBRSxVQUFVO1lBQzdCLGdCQUFnQixFQUFFLE1BQU07WUFDeEIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixpQkFBaUIsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksZUFBZSxFQUFFO2dCQUNqQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pDO1FBQ0QsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDOzsySEF0SVEsNkJBQTZCOytIQUE3Qiw2QkFBNkIsY0FGMUIsTUFBTTs0RkFFVCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXFwRHluYW1pY01vZHVsZURpYWxvZ1NlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogTW9zdHJhIHVubyBzd2VldCBhbGVydCBkaSB0aXBvIFNVQ0NFU1MgY29uIGlsIG1lc3NhZ2dpbyBwYXNzYXRvIGNvbWUgcGFyYW1ldHJvLlxyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnRcclxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ09wZXJhemlvbmUgY29tcGxldGF0YScpXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZyA9IG51bGwpIHtcclxuICAgICAgICBsZXQgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogJ09wZXJhemlvbmUgY29tcGxldGF0YSBjb24gc3VjY2Vzc28uJztcclxuICAgICAgICBTd2FsLmZpcmUoY3VycmVudFRpdGxlLCBtZXNzYWdlLCAnc3VjY2VzcycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9zdHJhIHVubyBzd2VldCBhbGVydCBkaSB0aXBvIEVSUk9SIGNvbiBpbCBtZXNzYWdnaW8gcGFzc2F0byBjb21lIHBhcmFtZXRyby5cclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2dpbyBkJ2Vycm9yZSBkYSBtb3N0cmFyZSBuZWxsbyBzd2VldGFsZXJ0XHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgVGl0b2xvIGRlbGxvIHN3ZWV0YWxlcnQgKGRpIGRlZmF1bHQgbW9zdHJhICdFcnJvcmUnKVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgRXJyb3IobWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10sIHRpdGxlOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRUaXRsZSA9IHRpdGxlICE9IG51bGwgPyB0aXRsZSA6ICdFcnJvcmUnO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2UpKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRUaXRsZSA9IHRpdGxlICE9IG51bGwgPyB0aXRsZSA6ICdFcnJvcmUnO1xyXG4gICAgICAgICAgICBsZXQgaHRtbEVycm9yczogc3RyaW5nID0gbWVzc2FnZS5qb2luKFwiPGJyPlwiKTtcclxuICAgICAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBjdXJyZW50VGl0bGUsXHJcbiAgICAgICAgICAgICAgICBodG1sOiBodG1sRXJyb3JzLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogJ2Vycm9yJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZShjdXJyZW50VGl0bGUsIG1lc3NhZ2UsICdlcnJvcicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE1vc3RyYSB1bm8gc3dlZXRhbGVydCBkaSB0aXBvIENPTkZJUk0gY29uIGlsIG1lc3NhZ2dpbyBwYXNzYXRvIGNvbWUgcGFyYW1ldHJvLlxyXG4gICAqIEFsbGEgcHJlc3Npb25lIGRlbCB0YXN0byBDT05GRVJNQSB2aWVuZSBpbnZvY2F0YSBsYSBmdW56aW9uZSBjb25maXJtQ2FsbGJhY2suXHJcbiAgICogU2UgdmllbmUgcGFzc2F0YSBhbmNoZSBsYSBmdW56aW9uZSBjYW5jZWxsQ2FsbGJhY2sgdmllbmUgaW52b2NhdGEgcXVhbmRvIHZpZW5lIHByZW11dG8gaWwgdGFzdG8gQU5OVUxMQVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2dpbyBkYSBtb3N0cmFyZSBuZWxsbyBzd2VldGFsZXJ0IChwdcOyIGNvbnRlbmVyZSB1bmEgbGlzdGEgZGkgbWVzc2FnZ2kpXHJcbiAgICogQHBhcmFtIGNvbmZpcm1DYWxsYmFjayBGdW56aW9uZSBkaSBjYWxsYmFjayBkYSBpbnZvY2FyZSBxdWFuZG8gdmllbmUgcHJlbXV0byBpbCB0YXN0byBDT05GRVJNQVxyXG4gICAqIEBwYXJhbSBpc1dhcm5pbmcgU2UgVFJVRSBhbGxvcmEgdXRpbGl6emEgbCdpY29uYSBkaSBXQVJOSU5HIGFsbCdpbnRlcm5vIGRlbGxvIHN3ZWV0YWxlcnRcclxuICAgKiBAcGFyYW0gdGl0bGUgVGl0b2xvIGRlbGxvIHN3ZWV0YWxlcnQgKGRpIGRlZmF1bHQgbW9zdHJhICdTZWkgc2ljdXJvIGRpIHZvbGVyIHByb2NlZGVyZT8nKVxyXG4gICAqIEBwYXJhbSBjdXN0b21XaWR0aCBMYXJnaGV6emEgZGEgaW1wb3N0YXJlIHBlciBsbyBzd2VldGFsZXJ0IChkZWZhdWx0OiAzMnJlbSlcclxuICAgKiBAcGFyYW0gY2FuY2VsQ2FsbGJhY2sgRnVuemlvbmUgZGkgY2FsbGJhY2sgZGEgaW52b2NhcmUgYWxsYSBwcmVzc2lvbmUgZGVsIHRhc3RvIEFOTlVMTEEgKG9wemlvbmFsZSlcclxuICAgKiBAcGFyYW0gY29uZmlybUJ1dHRvblRleHQgVGVzdG8gZGEgbW9zdHJhcmUgbmVsIHB1bHNhbnRlIGRpIGNvbmZlcm1hIChkZWZhdWx0OiBDb25mZXJtYSlcclxuICAgKiBAcGFyYW0gY2FuY2VsQnV0dG9uVGV4dCBUZXN0byBkYSBtb3N0cmFyZSBuZWwgcHVsc2FudGUgZGkgYW5udWxsYSAoZGVmYXVsdDogQ2hpdWRpKVxyXG4gICAqL1xyXG4gIFxyXG4gICAgc3RhdGljIENvbmZpcm0obWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10sIGNvbmZpcm1DYWxsYmFjazogYW55LCBpc1dhcm5pbmc6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgICAgICB0aXRsZTogc3RyaW5nID0gbnVsbCwgY3VzdG9tV2lkdGg6IHN0cmluZyA9IG51bGwsIGNhbmNlbENhbGxiYWNrOiBhbnkgPSBudWxsLCBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gbnVsbCwgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gbnVsbCwgaGF2ZURlbnlCdXR0b246IGJvb2xlYW4gPSBmYWxzZSwgZGVueUJ1dHRvblRleHQ6IHN0cmluZyA9IG51bGwsIGRlbnlDYWxsYmFjazogYW55ID0gbnVsbCwgYWxsb3dPdXRzaWRlQ2xpY2sgPSBmYWxzZSkge1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogJ1NlaSBzaWN1cm8gZGkgdm9sZXIgcHJvY2VkZXJlPyc7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVzc2FnZSkpIHtcclxuICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5qb2luKFwiPGJyPlwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgdGl0bGU6IGN1cnJlbnRUaXRsZSxcclxuICAgICAgICBodG1sOiBtZXNzYWdlLFxyXG4gICAgICAgIHdpZHRoOiBjdXN0b21XaWR0aCA/IGN1c3RvbVdpZHRoIDogJzMycmVtJyxcclxuICAgICAgICBpY29uOiAhaXNXYXJuaW5nID8gJ3F1ZXN0aW9uJyA6ICd3YXJuaW5nJyxcclxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlybUJ1dHRvblRleHQgPyBjb25maXJtQnV0dG9uVGV4dCA6ICdDb25mZXJtYScsXHJcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICBkZW55QnV0dG9uVGV4dDogZGVueUJ1dHRvblRleHQgPyBkZW55QnV0dG9uVGV4dCA6ICdObycsXHJcbiAgICAgICAgc2hvd0RlbnlCdXR0b246IGhhdmVEZW55QnV0dG9uLFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQgPyBjYW5jZWxCdXR0b25UZXh0IDogJ0NoaXVkaScsXHJcbiAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IGFsbG93T3V0c2lkZUNsaWNrLFxyXG4gICAgICAgIGFsbG93RXNjYXBlS2V5OiBmYWxzZVxyXG4gICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUgJiYgY29uZmlybUNhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIGNvbmZpcm1DYWxsYmFjaygpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmlzRGVuaWVkKSB7XHJcbiAgICAgICAgICAgIGRlbnlDYWxsYmFjaygpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY2FuY2VsQ2FsbGJhY2spIHtcclxuICAgICAgICAgICAgY2FuY2VsQ2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgdW5vIHN3ZWV0YWxlcnQgZGkgdGlwbyBJTkZPIGNvbiBpbCBtZXNzYWdnaW8gcGFzc2F0byBjb21lIHBhcmFtZXRyb1xyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnRcclxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ0luZm8nKVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgSW5mbyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgPSBudWxsLCBpc1RvYXN0OiBib29sZWFuID0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiBcIkluZm9ybWF6aW9uZTpcIjtcclxuICAgICAgICBTd2FsLmZpcmUoY3VycmVudFRpdGxlLCBtZXNzYWdlLCAnaW5mbycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9zdHJhIHVubyBzd2VldGFsZXJ0IGRpIHRpcG8gV0FSTklORyBjb24gaWwgbWVzc2FnZ2lvIHBhc3NhdG8gY29tZSBwYXJhbWV0cm9cclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2dpbyBkYSBtb3N0cmFyZSBuZWxsbyBzd2VldGFsZXJ0XHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgVGl0b2xvIGRlbGxvIHN3ZWV0YWxlcnQgKGRpIGRlZmF1bHQgbW9zdHJhICdBdHRlbnppb25lIScpXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBXYXJuaW5nKG1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdLCB0aXRsZTogc3RyaW5nID0gbnVsbCwgaXNUb2FzdDogYm9vbGVhbiA9IG51bGwpIHtcclxuICAgICAgICBsZXQgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogXCJBdHRlbnppb25lIVwiO1xyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSkge1xyXG4gICAgICAgICAgICBsZXQgaHRtbFdhcm5pbmdzOiBzdHJpbmcgPSBtZXNzYWdlLmpvaW4oXCI8YnI+XCIpO1xyXG4gICAgICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGN1cnJlbnRUaXRsZSxcclxuICAgICAgICAgICAgICAgIGh0bWw6IGh0bWxXYXJuaW5ncyxcclxuICAgICAgICAgICAgICAgIGljb246ICd3YXJuaW5nJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBTd2FsLmZpcmUoY3VycmVudFRpdGxlLCBtZXNzYWdlLCAnd2FybmluZycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsIHByb21wdFxyXG4gICAgICogQHBhcmFtIGNvbmZpcm1DYWxsYmFjayBGdW56aW9uZSBkaSBjYWxsYmFjayBkYSByaWNoaWFtYXJlIHN1bCBjb25mZXJtYVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgUHJvbXB0KG1lc3NhZ2U6IHN0cmluZywgY29uZmlybUNhbGxiYWNrOiBhbnksIGlucHV0VmFsdWU6IGFueSA9IFwiXCIpIHtcclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICAgIGlucHV0OiAndGV4dCcsXHJcbiAgICAgICAgaW5wdXRBdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplOiAnb2ZmJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXRWYWx1ZTogaW5wdXRWYWx1ZSxcclxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQ29uZmVybWEnLFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdFc2NpJyxcclxuICAgICAgICBzaG93TG9hZGVyT25Db25maXJtOiB0cnVlLFxyXG4gICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiBmYWxzZVxyXG4gICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUgJiYgY29uZmlybUNhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIGNvbmZpcm1DYWxsYmFjayhyZXN1bHQudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=