@festo-ui/angular 4.0.3-pre-20221010.2 → 4.0.3-pre-20221026.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/forms/text-editor/text-editor.component.mjs +16 -3
- package/fesm2015/festo-ui-angular.mjs +16 -2
- package/fesm2015/festo-ui-angular.mjs.map +1 -1
- package/fesm2020/festo-ui-angular.mjs +15 -2
- package/fesm2020/festo-ui-angular.mjs.map +1 -1
- package/lib/forms/text-editor/text-editor.component.d.ts +5 -0
- package/package.json +1 -1
|
@@ -24,6 +24,11 @@ export class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
24
24
|
orderedList: true,
|
|
25
25
|
image: true,
|
|
26
26
|
link: true
|
|
27
|
+
},
|
|
28
|
+
sanitizing: {
|
|
29
|
+
sanitizingFn: null,
|
|
30
|
+
skipDefaultSanitizing: false,
|
|
31
|
+
skipWhitespaceHandling: false
|
|
27
32
|
}
|
|
28
33
|
};
|
|
29
34
|
this.fngChange = new EventEmitter();
|
|
@@ -39,8 +44,16 @@ export class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
39
44
|
};
|
|
40
45
|
// needed to access editor content
|
|
41
46
|
this.valueSetter = (quillEditor, value) => {
|
|
42
|
-
|
|
43
|
-
|
|
47
|
+
const sanitizeConfig = this.config?.sanitizing || this.defaultConfig.sanitizing;
|
|
48
|
+
if (sanitizeConfig.sanitizingFn) {
|
|
49
|
+
value = sanitizeConfig.sanitizingFn(this.domSanitizer);
|
|
50
|
+
}
|
|
51
|
+
if (!sanitizeConfig.skipDefaultSanitizing) {
|
|
52
|
+
value = this.domSanitizer.sanitize(SecurityContext.HTML, value);
|
|
53
|
+
}
|
|
54
|
+
if (!sanitizeConfig.skipWhitespaceHandling) {
|
|
55
|
+
value = this.handleWhitespace(value);
|
|
56
|
+
}
|
|
44
57
|
return quillEditor.clipboard.convert(value);
|
|
45
58
|
};
|
|
46
59
|
}
|
|
@@ -283,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
283
296
|
}], value: [{
|
|
284
297
|
type: Input
|
|
285
298
|
}] } });
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUVMLGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUVWLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFNBQVMsTUFBTSxPQUFPLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQTZCcEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLDBCQUFrQztJQXNFekUsWUFBbUIsVUFBc0IsRUFBVSxRQUFtQixFQUFVLFlBQTBCO1FBQ3hHLEtBQUssRUFBRSxDQUFDO1FBRFMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWxFMUcsa0JBQWEsR0FBNEI7WUFDdkMsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsVUFB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TTtzQkFBZixNQUFNO2dCQUVFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBBZnRlclZpZXdJbml0LFxuICBTZWN1cml0eUNvbnRleHQsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIGZvcndhcmRSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUXVpbGxUeXBlIGZyb20gJ3F1aWxsJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFZhbHVlQWNjZXNzb3JCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24ge1xuICB0b29sYmFyPzoge1xuICAgIGJvbGQ/OiBib29sZWFuO1xuICAgIGl0YWxpYz86IGJvb2xlYW47XG4gICAgdW5kZXJsaW5lPzogYm9vbGVhbjtcbiAgICBhbGlnbkNlbnRlcj86IGJvb2xlYW47XG4gICAgYWxpZ25SaWdodD86IGJvb2xlYW47XG4gICAgYnVsbGV0TGlzdD86IGJvb2xlYW47XG4gICAgb3JkZXJlZExpc3Q/OiBib29sZWFuO1xuICAgIGltYWdlPzogYm9vbGVhbjtcbiAgICBsaW5rPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXRleHQtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0RWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZURpcmVjdGl2ZTxzdHJpbmc+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBpZDogc3RyaW5nO1xuICBxdWlsbEVkaXRvciE6IFF1aWxsVHlwZTtcbiAgZWRpdG9yRWxlbSE6IEhUTUxFbGVtZW50O1xuICBkZWZhdWx0Q29uZmlnOiBUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHtcbiAgICB0b29sYmFyOiB7XG4gICAgICBib2xkOiB0cnVlLFxuICAgICAgaXRhbGljOiB0cnVlLFxuICAgICAgdW5kZXJsaW5lOiB0cnVlLFxuICAgICAgYWxpZ25DZW50ZXI6IHRydWUsXG4gICAgICBhbGlnblJpZ2h0OiB0cnVlLFxuICAgICAgYnVsbGV0TGlzdDogdHJ1ZSxcbiAgICAgIG9yZGVyZWRMaXN0OiB0cnVlLFxuICAgICAgaW1hZ2U6IHRydWUsXG4gICAgICBsaW5rOiB0cnVlXG4gICAgfVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2J0bkJvbGQnKSBidG5Cb2xkOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5JdGFsaWMnKSBidG5JdGFsaWM6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0blVuZGVybGluZScpIGJ0blVuZGVybGluZTogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuQWxpZ25DZW50ZXInKSBidG5BbGlnbkNlbnRlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuQWxpZ25SaWdodCcpIGJ0bkFsaWduUmlnaHQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bkxpbmsnKSBidG5MaW5rOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5VbCcpIGJ0blVsOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5PbCcpIGJ0bk9sOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5JbWFnZScpIGJ0bkltYWdlOiBFbGVtZW50UmVmO1xuXG4gIEBPdXRwdXQoKSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24gPSB0aGlzLmRlZmF1bHRDb25maWc7XG4gIEBJbnB1dCgpIG1vZHVsZXM6IGFueTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcmVhZE9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nO1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaW5uZXJWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jaGFuZ2VkLmZvckVhY2goZiA9PiB7XG4gICAgICAgIHRoaXMuZm5nQ2hhbmdlLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICByZXR1cm4gZih2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIC8vIG5lZWRlZCB0byBhY2Nlc3MgZWRpdG9yIGNvbnRlbnRcbiAgdmFsdWVHZXR0ZXIgPSAoZWRpdG9yRWxlbWVudDogSFRNTEVsZW1lbnQpOiBzdHJpbmcgfCBhbnkgPT4ge1xuICAgIGxldCBodG1sOiBzdHJpbmcgfCBudWxsID0gZWRpdG9yRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJykuaW5uZXJIVE1MO1xuICAgIGlmIChodG1sID09PSAnPHA+PGJyPjwvcD4nIHx8IGh0bWwgPT09ICc8ZGl2Pjxicj48L2Rpdj4nKSB7XG4gICAgICBodG1sID0gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGh0bWw7XG4gIH07XG5cbiAgLy8gbmVlZGVkIHRvIGFjY2VzcyBlZGl0b3IgY29udGVudFxuICB2YWx1ZVNldHRlciA9IChxdWlsbEVkaXRvcjogUXVpbGxUeXBlLCB2YWx1ZTogYW55KTogYW55ID0+IHtcbiAgICB2YWx1ZSA9IHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB2YWx1ZSk7XG4gICAgdmFsdWUgPSB0aGlzLmhhbmRsZVdoaXRlc3BhY2UodmFsdWUpO1xuICAgIHJldHVybiBxdWlsbEVkaXRvci5jbGlwYm9hcmQuY29udmVydCh2YWx1ZSk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCAnLScpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdG9yRWxlbSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCNlZGl0b3ItJHt0aGlzLmlkfWApO1xuXG4gICAgdGhpcy5xdWlsbEVkaXRvciA9IG5ldyBRdWlsbFR5cGUodGhpcy5lZGl0b3JFbGVtLCB7XG4gICAgICBtb2R1bGVzOiB7IHRvb2xiYXI6IGAjZWRpdG9yLXRvb2xiYXItJHt0aGlzLmlkfWAsIC4uLnRoaXMubW9kdWxlcyB9LFxuICAgICAgdGhlbWU6ICdzbm93JyxcbiAgICAgIHNjcm9sbGluZ0NvbnRhaW5lcjogYCNlZGl0b3ItY29udGFpbmVyLSR7dGhpcy5pZH1gXG4gICAgfSk7XG4gICAgdGhpcy5zZXRFZGl0b3JMYWJlbCgpO1xuICAgIHRoaXMuYWRkV2hpdGVzcGFjZU1hdGNoZXIoKTtcbiAgICB0aGlzLmFkZEltYWdlTWF0Y2hlcigpO1xuXG4gICAgaWYgKHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgY29uc3QgY29udGVudCA9IHRoaXMudmFsdWVTZXR0ZXIodGhpcy5xdWlsbEVkaXRvciwgdGhpcy5pbm5lclZhbHVlKTtcbiAgICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0Q29udGVudHMoY29udGVudCwgJ3NpbGVudCcpO1xuICAgICAgdGhpcy5xdWlsbEVkaXRvci5nZXRNb2R1bGUoJ2hpc3RvcnknKS5jbGVhcigpO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlKCk7XG5cbiAgICB0aGlzLnF1aWxsRWRpdG9yLm9uKCd0ZXh0LWNoYW5nZScsICgpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlR2V0dGVyKHRoaXMuZWRpdG9yRWxlbSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LmNvbmZpZz8uY3VycmVudFZhbHVlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuY29uZmlnID0geyB0b29sYmFyOiB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZy50b29sYmFyLCAuLi5jaGFuZ2VzLmNvbmZpZy5jdXJyZW50VmFsdWU/LnRvb2xiYXIgfSB9O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAoIXRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB2YWx1ZSk7XG4gICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyhjb250ZW50KTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRoaXMuZGlzYWJsZWQpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAodGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFJlYWRPbmx5U3RhdGUoKSB7XG4gICAgdGhpcy5xdWlsbEVkaXRvci5lbmFibGUoIXRoaXMucmVhZE9ubHkpO1xuICB9XG5cbiAgZGVsZWdhdGUoZXZlbnQ6IGFueSwgYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBsZXQgYnRuOiBIVE1MRWxlbWVudCA9IG51bGw7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvbGQnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkJvbGQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaXRhbGljJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5JdGFsaWMubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndW5kZXJsaW5lJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbmRlcmxpbmUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxpZ24tY2VudGVyJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnbkNlbnRlci5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdhbGlnbi1yaWdodCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuQWxpZ25SaWdodC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5MaW5rLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VsJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvbCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuT2wubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkltYWdlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8ubGVuZ3RoO1xuICB9XG5cbiAgaGlkZURpdmlkZXIobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbGlua09ySW1hZ2UgPSB0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIubGluaztcbiAgICBjb25zdCBsaXN0cyA9IHRoaXMuY29uZmlnLnRvb2xiYXIuYnVsbGV0TGlzdCB8fCB0aGlzLmNvbmZpZy50b29sYmFyLm9yZGVyZWRMaXN0O1xuICAgIGNvbnN0IHR5cG9zID0gdGhpcy5jb25maWcudG9vbGJhci5ib2xkIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIuaXRhbGljIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIudW5kZXJsaW5lO1xuICAgIGNvbnN0IHRleHRBbGlnbiA9IHRoaXMuY29uZmlnLnRvb2xiYXIuYWxpZ25DZW50ZXIgfHwgdGhpcy5jb25maWcudG9vbGJhci5hbGlnblJpZ2h0O1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAndHlwbyc6XG4gICAgICAgIHJldHVybiAhdHlwb3MgfHwgKCF0ZXh0QWxpZ24gJiYgIWxpbmtPckltYWdlICYmICFsaXN0cyk7XG4gICAgICBjYXNlICd0ZXh0LWFsaWduJzpcbiAgICAgICAgcmV0dXJuICF0ZXh0QWxpZ24gfHwgKCFsaW5rT3JJbWFnZSAmJiAhbGlzdHMpO1xuICAgICAgY2FzZSAnbGlzdHMnOlxuICAgICAgICByZXR1cm4gIWxpc3RzIHx8ICFsaW5rT3JJbWFnZTtcbiAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlIHx8ICF0aGlzLmNvbmZpZy50b29sYmFyLmxpbms7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEVkaXRvckxhYmVsKCkge1xuICAgIGNvbnN0IGVkaXRvckRpdiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdyb2xlJywgJ3RleHRib3gnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdhcmlhLWxhYmVsbGVkYnknLCBgZWRpdG9yLWxhYmVsLSR7dGhpcy5pZH1gKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdhcmlhLW11bHRpbGluZScsICd0cnVlJyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZSgpIHtcbiAgICB0aGlzLnNldFJlYWRPbmx5U3RhdGUoKTtcbiAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkV2hpdGVzcGFjZU1hdGNoZXIoKSB7XG4gICAgLy8gc2V0IHVwIGEgbWF0Y2hlciB0aGF0IHJlcGxhY2VzIHBsYWNlaG9sZGVyICMjI3RhYiMjIyB3aXRoIFxcdCBpbiBkZWx0YSBhZ2FpblxuICAgIHRoaXMucXVpbGxFZGl0b3IuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ3AnLCAoX25vZGUsIGRlbHRhKSA9PiB7XG4gICAgICBsZXQgc3RyID0gSlNPTi5zdHJpbmdpZnkoZGVsdGEpO1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoLyMjI3RhYiMjIy9nLCAnXFxcXHQnKTtcbiAgICAgIGRlbHRhID0gSlNPTi5wYXJzZShzdHIpO1xuICAgICAgcmV0dXJuIGRlbHRhO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbWFnZU1hdGNoZXIoKSB7XG4gICAgLy8gc2V0IHVwIGEgbWF0Y2hlciB0aGF0IGRvZXMgYWxsb3cvZGlzYWxsb3cgdG8gcGFzdGUgaW1hZ2VzIGNvcnJlc3BvbmRpbmcgdG8gY29uZmlnIHNldHRpbmdzXG4gICAgdGhpcy5xdWlsbEVkaXRvci5jbGlwYm9hcmQuYWRkTWF0Y2hlcignaW1nJywgKF9ub2RlLCBkZWx0YSkgPT4ge1xuICAgICAgLy8gYWxsb3dlZCwgcGFzc3RocnUgZGVsdGFcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBkZWx0YTtcbiAgICAgIH1cblxuICAgICAgLy8gbm90IGFsbG93ZWQsIHJlbW92ZSBpbWFnZSBieSBzZXR0aW5nIHVwIGEgbmV3IGRlbHRhXG4gICAgICBjb25zdCBEZWx0YSA9IFF1aWxsVHlwZS5pbXBvcnQoJ3F1aWxsLWRlbHRhJyk7XG4gICAgICByZXR1cm4gbmV3IERlbHRhKCkuaW5zZXJ0KCcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2hpdGVzcGFjZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBzZXQgYSBwbGFjZWhvbGRlciBmb3IgdGFiIGVudGl0eSB0byBhdm9pZCB0aGF0IHF1aWxsIHJlbW92ZXMgaXRcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvJiM5Oy9naSwgJyMjI3RhYiMjIycpO1xuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dFwiIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3ItdG9vbGJhclwiIFtpZF09XCInZWRpdG9yLXRvb2xiYXItJyArIGlkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzIGZ3ZS1kLW5vbmVcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgZm5nLWVkaXRvci10b29sYmFyLWJ1dHRvbnMtY29udGFpbmVyIGZ3ZS1tci0zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5ib2xkXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5Cb2xkIGNsYXNzPVwicWwtYm9sZCBmd2UtZC1ub25lIGFjdGlvbi1ib2xkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lIHx8IGNvbmZpZz8udG9vbGJhcj8uaXRhbGljXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYm9sZCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZuZy1idXR0b24tdGV4dCBmbmctdGV4dC1ib2xkXCI+QjwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uaXRhbGljXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5JdGFsaWMgY2xhc3M9XCJxbC1pdGFsaWMgZndlLWQtbm9uZSBhY3Rpb24taXRhbGljXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnaXRhbGljJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm5nLWJ1dHRvbi10ZXh0IGZuZy10ZXh0LWl0YWxpY1wiPkk8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LnVuZGVybGluZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVW5kZXJsaW5lIGNsYXNzPVwicWwtdW5kZXJsaW5lIGZ3ZS1kLW5vbmUgYWN0aW9uLXVuZGVybGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bmRlcmxpbmUnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtdW5kZXJsaW5lXCI+VTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0eXBvJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25DZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkFsaWduQ2VudGVyIGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tY2VudGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJjZW50ZXJcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnPy50b29sYmFyPy5hbGlnblJpZ2h0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYWxpZ24tY2VudGVyJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmbmctaWNvbi10ZXh0LWFsaWduLWNlbnRlciBmd2UtcHItMFwiIFtjbGFzcy5mbmctZ3JheV09XCJkaXNhYmxlZFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25SaWdodFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuQWxpZ25SaWdodCBjbGFzcz1cInFsLWFsaWduIGZ3ZS1kLW5vbmUgYWN0aW9uLWFsaWduLXJpZ2h0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJyaWdodFwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdhbGlnbi1yaWdodCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZm5nLWljb24tdGV4dC1hbGlnbi1yaWdodCBmd2UtcHItMFwiIFtjbGFzcy5mbmctZ3JheV09XCJkaXNhYmxlZFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcigndGV4dC1hbGlnbicpXCIgY2xhc3M9XCJmbmctZGl2aWRlci15IGZ3ZS1teC00XCI+PC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmJ1bGxldExpc3RcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0blVsIGNsYXNzPVwicWwtbGlzdCBmd2UtZC1ub25lIGFjdGlvbi11bFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHZhbHVlPVwiYnVsbGV0XCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8ub3JkZXJlZExpc3RcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24tbGlzdC1saXN0LXZpZXcgZndlLXByLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5vcmRlcmVkTGlzdFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuT2wgY2xhc3M9XCJxbC1saXN0IGZ3ZS1kLW5vbmUgYWN0aW9uLW9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJvcmRlcmVkXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ29sJylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmd2UtaWNvbi1lbnVtZXJhdGlvbiBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignbGlzdHMnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5pbWFnZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdpbWFnZScpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24taW1hZ2UtaW1hZ2UgZndlLXByLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuSW1hZ2UgY2xhc3M9XCJxbC1pbWFnZSBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignaW1hZ2UnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5saW5rXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2xpbmsnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZ3ZS1pY29uLWZpbGUtbGluayBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5MaW5rIGNsYXNzPVwicWwtbGluayBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvci1jb250YWluZXJcIiBbaWRdPVwiJ2VkaXRvci1jb250YWluZXItJyArIGlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3JcIiBbaWRdPVwiJ2VkaXRvci0nICsgaWRcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwiZndlLWlucHV0LXRleHQtbGFiZWxcIiBbaWRdPVwiJ2VkaXRvci1sYWJlbC0nICsgaWRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJmbmctdGV4dC1lZGl0b3ItaW5mb1wiPnt7IGhpbnQgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImZuZy10ZXh0LWVkaXRvci1pbnZhbGlkXCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwibWF4TGVuZ3RoID4gMCAmJiB2YWx1ZSAhPSBudWxsXCIgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1jb3VudFwiPnt7IGN1cnJlbnRMZW5ndGgoKSB9fSAvIHt7IG1heExlbmd0aCB9fTwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUVMLGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUVWLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFNBQVMsTUFBTSxPQUFPLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQWtDcEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLDBCQUFrQztJQXFGekUsWUFBbUIsVUFBc0IsRUFBVSxRQUFtQixFQUFVLFlBQTBCO1FBQ3hHLEtBQUssRUFBRSxDQUFDO1FBRFMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpGMUcsa0JBQWEsR0FBNEI7WUFDdkMsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsVUFB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QUk7eUJBQ1o7cUJBQ0Y7b0pBeUJxQixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ksU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDSSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDQyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0osT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNBLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDRSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ0ssUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUVYLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUVFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBBZnRlclZpZXdJbml0LFxuICBTZWN1cml0eUNvbnRleHQsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIGZvcndhcmRSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUXVpbGxUeXBlIGZyb20gJ3F1aWxsJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFZhbHVlQWNjZXNzb3JCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24ge1xuICB0b29sYmFyPzoge1xuICAgIGJvbGQ/OiBib29sZWFuO1xuICAgIGl0YWxpYz86IGJvb2xlYW47XG4gICAgdW5kZXJsaW5lPzogYm9vbGVhbjtcbiAgICBhbGlnbkNlbnRlcj86IGJvb2xlYW47XG4gICAgYWxpZ25SaWdodD86IGJvb2xlYW47XG4gICAgYnVsbGV0TGlzdD86IGJvb2xlYW47XG4gICAgb3JkZXJlZExpc3Q/OiBib29sZWFuO1xuICAgIGltYWdlPzogYm9vbGVhbjtcbiAgICBsaW5rPzogYm9vbGVhbjtcbiAgfTtcbiAgc2FuaXRpemluZz86IHtcbiAgICBza2lwRGVmYXVsdFNhbml0aXppbmc/OiBib29sZWFuO1xuICAgIHNraXBXaGl0ZXNwYWNlSGFuZGxpbmc/OiBib29sZWFuO1xuICAgIHNhbml0aXppbmdGbj86IChkczogRG9tU2FuaXRpemVyKSA9PiBzdHJpbmc7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXRleHQtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0RWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZURpcmVjdGl2ZTxzdHJpbmc+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBpZDogc3RyaW5nO1xuICBxdWlsbEVkaXRvciE6IFF1aWxsVHlwZTtcbiAgZWRpdG9yRWxlbSE6IEhUTUxFbGVtZW50O1xuICBkZWZhdWx0Q29uZmlnOiBUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHtcbiAgICB0b29sYmFyOiB7XG4gICAgICBib2xkOiB0cnVlLFxuICAgICAgaXRhbGljOiB0cnVlLFxuICAgICAgdW5kZXJsaW5lOiB0cnVlLFxuICAgICAgYWxpZ25DZW50ZXI6IHRydWUsXG4gICAgICBhbGlnblJpZ2h0OiB0cnVlLFxuICAgICAgYnVsbGV0TGlzdDogdHJ1ZSxcbiAgICAgIG9yZGVyZWRMaXN0OiB0cnVlLFxuICAgICAgaW1hZ2U6IHRydWUsXG4gICAgICBsaW5rOiB0cnVlXG4gICAgfSxcbiAgICBzYW5pdGl6aW5nOiB7XG4gICAgICBzYW5pdGl6aW5nRm46IG51bGwsXG4gICAgICBza2lwRGVmYXVsdFNhbml0aXppbmc6IGZhbHNlLFxuICAgICAgc2tpcFdoaXRlc3BhY2VIYW5kbGluZzogZmFsc2VcbiAgICB9XG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnYnRuQm9sZCcpIGJ0bkJvbGQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bkl0YWxpYycpIGJ0bkl0YWxpYzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuVW5kZXJsaW5lJykgYnRuVW5kZXJsaW5lOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5BbGlnbkNlbnRlcicpIGJ0bkFsaWduQ2VudGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5BbGlnblJpZ2h0JykgYnRuQWxpZ25SaWdodDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuTGluaycpIGJ0bkxpbms6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0blVsJykgYnRuVWw6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bk9sJykgYnRuT2w6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bkltYWdlJykgYnRuSW1hZ2U6IEVsZW1lbnRSZWY7XG5cbiAgQE91dHB1dCgpIGZuZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgY29uZmlnOiBUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHRoaXMuZGVmYXVsdENvbmZpZztcbiAgQElucHV0KCkgbW9kdWxlczogYW55O1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seTogYm9vbGVhbjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pbm5lclZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZWQuZm9yRWFjaChmID0+IHtcbiAgICAgICAgdGhpcy5mbmdDaGFuZ2UuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuaW5uZXJWYWx1ZSk7XG4gICAgICAgIHJldHVybiBmKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG5cbiAgLy8gbmVlZGVkIHRvIGFjY2VzcyBlZGl0b3IgY29udGVudFxuICB2YWx1ZUdldHRlciA9IChlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB8IGFueSA9PiB7XG4gICAgbGV0IGh0bWw6IHN0cmluZyB8IG51bGwgPSBlZGl0b3JFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKS5pbm5lckhUTUw7XG4gICAgaWYgKGh0bWwgPT09ICc8cD48YnI+PC9wPicgfHwgaHRtbCA9PT0gJzxkaXY+PGJyPjwvZGl2PicpIHtcbiAgICAgIGh0bWwgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbDtcbiAgfTtcblxuICAvLyBuZWVkZWQgdG8gYWNjZXNzIGVkaXRvciBjb250ZW50XG4gIHZhbHVlU2V0dGVyID0gKHF1aWxsRWRpdG9yOiBRdWlsbFR5cGUsIHZhbHVlOiBhbnkpOiBhbnkgPT4ge1xuICAgIGNvbnN0IHNhbml0aXplQ29uZmlnID0gdGhpcy5jb25maWc/LnNhbml0aXppbmcgfHwgdGhpcy5kZWZhdWx0Q29uZmlnLnNhbml0aXppbmc7XG5cbiAgICBpZiAoc2FuaXRpemVDb25maWcuc2FuaXRpemluZ0ZuKSB7XG4gICAgICB2YWx1ZSA9IHNhbml0aXplQ29uZmlnLnNhbml0aXppbmdGbih0aGlzLmRvbVNhbml0aXplcik7XG4gICAgfVxuICAgIGlmICghc2FuaXRpemVDb25maWcuc2tpcERlZmF1bHRTYW5pdGl6aW5nKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB2YWx1ZSk7XG4gICAgfVxuICAgIGlmICghc2FuaXRpemVDb25maWcuc2tpcFdoaXRlc3BhY2VIYW5kbGluZykge1xuICAgICAgdmFsdWUgPSB0aGlzLmhhbmRsZVdoaXRlc3BhY2UodmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBxdWlsbEVkaXRvci5jbGlwYm9hcmQuY29udmVydCh2YWx1ZSk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCAnLScpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdG9yRWxlbSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCNlZGl0b3ItJHt0aGlzLmlkfWApO1xuXG4gICAgdGhpcy5xdWlsbEVkaXRvciA9IG5ldyBRdWlsbFR5cGUodGhpcy5lZGl0b3JFbGVtLCB7XG4gICAgICBtb2R1bGVzOiB7IHRvb2xiYXI6IGAjZWRpdG9yLXRvb2xiYXItJHt0aGlzLmlkfWAsIC4uLnRoaXMubW9kdWxlcyB9LFxuICAgICAgdGhlbWU6ICdzbm93JyxcbiAgICAgIHNjcm9sbGluZ0NvbnRhaW5lcjogYCNlZGl0b3ItY29udGFpbmVyLSR7dGhpcy5pZH1gXG4gICAgfSk7XG4gICAgdGhpcy5zZXRFZGl0b3JMYWJlbCgpO1xuICAgIHRoaXMuYWRkV2hpdGVzcGFjZU1hdGNoZXIoKTtcbiAgICB0aGlzLmFkZEltYWdlTWF0Y2hlcigpO1xuXG4gICAgaWYgKHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgY29uc3QgY29udGVudCA9IHRoaXMudmFsdWVTZXR0ZXIodGhpcy5xdWlsbEVkaXRvciwgdGhpcy5pbm5lclZhbHVlKTtcbiAgICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0Q29udGVudHMoY29udGVudCwgJ3NpbGVudCcpO1xuICAgICAgdGhpcy5xdWlsbEVkaXRvci5nZXRNb2R1bGUoJ2hpc3RvcnknKS5jbGVhcigpO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlKCk7XG5cbiAgICB0aGlzLnF1aWxsRWRpdG9yLm9uKCd0ZXh0LWNoYW5nZScsICgpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlR2V0dGVyKHRoaXMuZWRpdG9yRWxlbSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LmNvbmZpZz8uY3VycmVudFZhbHVlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuY29uZmlnID0geyB0b29sYmFyOiB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZy50b29sYmFyLCAuLi5jaGFuZ2VzLmNvbmZpZy5jdXJyZW50VmFsdWU/LnRvb2xiYXIgfSB9O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAoIXRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB2YWx1ZSk7XG4gICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyhjb250ZW50KTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRoaXMuZGlzYWJsZWQpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAodGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFJlYWRPbmx5U3RhdGUoKSB7XG4gICAgdGhpcy5xdWlsbEVkaXRvci5lbmFibGUoIXRoaXMucmVhZE9ubHkpO1xuICB9XG5cbiAgZGVsZWdhdGUoZXZlbnQ6IGFueSwgYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBsZXQgYnRuOiBIVE1MRWxlbWVudCA9IG51bGw7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvbGQnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkJvbGQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaXRhbGljJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5JdGFsaWMubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndW5kZXJsaW5lJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbmRlcmxpbmUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxpZ24tY2VudGVyJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnbkNlbnRlci5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdhbGlnbi1yaWdodCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuQWxpZ25SaWdodC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5MaW5rLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VsJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvbCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuT2wubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkltYWdlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8ubGVuZ3RoO1xuICB9XG5cbiAgaGlkZURpdmlkZXIobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbGlua09ySW1hZ2UgPSB0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIubGluaztcbiAgICBjb25zdCBsaXN0cyA9IHRoaXMuY29uZmlnLnRvb2xiYXIuYnVsbGV0TGlzdCB8fCB0aGlzLmNvbmZpZy50b29sYmFyLm9yZGVyZWRMaXN0O1xuICAgIGNvbnN0IHR5cG9zID0gdGhpcy5jb25maWcudG9vbGJhci5ib2xkIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIuaXRhbGljIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIudW5kZXJsaW5lO1xuICAgIGNvbnN0IHRleHRBbGlnbiA9IHRoaXMuY29uZmlnLnRvb2xiYXIuYWxpZ25DZW50ZXIgfHwgdGhpcy5jb25maWcudG9vbGJhci5hbGlnblJpZ2h0O1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAndHlwbyc6XG4gICAgICAgIHJldHVybiAhdHlwb3MgfHwgKCF0ZXh0QWxpZ24gJiYgIWxpbmtPckltYWdlICYmICFsaXN0cyk7XG4gICAgICBjYXNlICd0ZXh0LWFsaWduJzpcbiAgICAgICAgcmV0dXJuICF0ZXh0QWxpZ24gfHwgKCFsaW5rT3JJbWFnZSAmJiAhbGlzdHMpO1xuICAgICAgY2FzZSAnbGlzdHMnOlxuICAgICAgICByZXR1cm4gIWxpc3RzIHx8ICFsaW5rT3JJbWFnZTtcbiAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlIHx8ICF0aGlzLmNvbmZpZy50b29sYmFyLmxpbms7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEVkaXRvckxhYmVsKCkge1xuICAgIGNvbnN0IGVkaXRvckRpdiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdyb2xlJywgJ3RleHRib3gnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdhcmlhLWxhYmVsbGVkYnknLCBgZWRpdG9yLWxhYmVsLSR7dGhpcy5pZH1gKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdhcmlhLW11bHRpbGluZScsICd0cnVlJyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZSgpIHtcbiAgICB0aGlzLnNldFJlYWRPbmx5U3RhdGUoKTtcbiAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkV2hpdGVzcGFjZU1hdGNoZXIoKSB7XG4gICAgLy8gc2V0IHVwIGEgbWF0Y2hlciB0aGF0IHJlcGxhY2VzIHBsYWNlaG9sZGVyICMjI3RhYiMjIyB3aXRoIFxcdCBpbiBkZWx0YSBhZ2FpblxuICAgIHRoaXMucXVpbGxFZGl0b3IuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ3AnLCAoX25vZGUsIGRlbHRhKSA9PiB7XG4gICAgICBsZXQgc3RyID0gSlNPTi5zdHJpbmdpZnkoZGVsdGEpO1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoLyMjI3RhYiMjIy9nLCAnXFxcXHQnKTtcbiAgICAgIGRlbHRhID0gSlNPTi5wYXJzZShzdHIpO1xuICAgICAgcmV0dXJuIGRlbHRhO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbWFnZU1hdGNoZXIoKSB7XG4gICAgLy8gc2V0IHVwIGEgbWF0Y2hlciB0aGF0IGRvZXMgYWxsb3cvZGlzYWxsb3cgdG8gcGFzdGUgaW1hZ2VzIGNvcnJlc3BvbmRpbmcgdG8gY29uZmlnIHNldHRpbmdzXG4gICAgdGhpcy5xdWlsbEVkaXRvci5jbGlwYm9hcmQuYWRkTWF0Y2hlcignaW1nJywgKF9ub2RlLCBkZWx0YSkgPT4ge1xuICAgICAgLy8gYWxsb3dlZCwgcGFzc3RocnUgZGVsdGFcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBkZWx0YTtcbiAgICAgIH1cblxuICAgICAgLy8gbm90IGFsbG93ZWQsIHJlbW92ZSBpbWFnZSBieSBzZXR0aW5nIHVwIGEgbmV3IGRlbHRhXG4gICAgICBjb25zdCBEZWx0YSA9IFF1aWxsVHlwZS5pbXBvcnQoJ3F1aWxsLWRlbHRhJyk7XG4gICAgICByZXR1cm4gbmV3IERlbHRhKCkuaW5zZXJ0KCcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2hpdGVzcGFjZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBzZXQgYSBwbGFjZWhvbGRlciBmb3IgdGFiIGVudGl0eSB0byBhdm9pZCB0aGF0IHF1aWxsIHJlbW92ZXMgaXRcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvJiM5Oy9naSwgJyMjI3RhYiMjIycpO1xuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dFwiIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3ItdG9vbGJhclwiIFtpZF09XCInZWRpdG9yLXRvb2xiYXItJyArIGlkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzIGZ3ZS1kLW5vbmVcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgZm5nLWVkaXRvci10b29sYmFyLWJ1dHRvbnMtY29udGFpbmVyIGZ3ZS1tci0zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5ib2xkXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5Cb2xkIGNsYXNzPVwicWwtYm9sZCBmd2UtZC1ub25lIGFjdGlvbi1ib2xkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lIHx8IGNvbmZpZz8udG9vbGJhcj8uaXRhbGljXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYm9sZCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZuZy1idXR0b24tdGV4dCBmbmctdGV4dC1ib2xkXCI+QjwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uaXRhbGljXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5JdGFsaWMgY2xhc3M9XCJxbC1pdGFsaWMgZndlLWQtbm9uZSBhY3Rpb24taXRhbGljXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnaXRhbGljJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm5nLWJ1dHRvbi10ZXh0IGZuZy10ZXh0LWl0YWxpY1wiPkk8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LnVuZGVybGluZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVW5kZXJsaW5lIGNsYXNzPVwicWwtdW5kZXJsaW5lIGZ3ZS1kLW5vbmUgYWN0aW9uLXVuZGVybGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bmRlcmxpbmUnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtdW5kZXJsaW5lXCI+VTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0eXBvJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25DZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkFsaWduQ2VudGVyIGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tY2VudGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJjZW50ZXJcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnPy50b29sYmFyPy5hbGlnblJpZ2h0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYWxpZ24tY2VudGVyJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmbmctaWNvbi10ZXh0LWFsaWduLWNlbnRlciBmd2UtcHItMFwiIFtjbGFzcy5mbmctZ3JheV09XCJkaXNhYmxlZFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25SaWdodFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuQWxpZ25SaWdodCBjbGFzcz1cInFsLWFsaWduIGZ3ZS1kLW5vbmUgYWN0aW9uLWFsaWduLXJpZ2h0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJyaWdodFwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdhbGlnbi1yaWdodCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZm5nLWljb24tdGV4dC1hbGlnbi1yaWdodCBmd2UtcHItMFwiIFtjbGFzcy5mbmctZ3JheV09XCJkaXNhYmxlZFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcigndGV4dC1hbGlnbicpXCIgY2xhc3M9XCJmbmctZGl2aWRlci15IGZ3ZS1teC00XCI+PC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmJ1bGxldExpc3RcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0blVsIGNsYXNzPVwicWwtbGlzdCBmd2UtZC1ub25lIGFjdGlvbi11bFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHZhbHVlPVwiYnVsbGV0XCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8ub3JkZXJlZExpc3RcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24tbGlzdC1saXN0LXZpZXcgZndlLXByLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5vcmRlcmVkTGlzdFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuT2wgY2xhc3M9XCJxbC1saXN0IGZ3ZS1kLW5vbmUgYWN0aW9uLW9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJvcmRlcmVkXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ29sJylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmd2UtaWNvbi1lbnVtZXJhdGlvbiBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignbGlzdHMnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5pbWFnZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdpbWFnZScpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24taW1hZ2UtaW1hZ2UgZndlLXByLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuSW1hZ2UgY2xhc3M9XCJxbC1pbWFnZSBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignaW1hZ2UnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5saW5rXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2xpbmsnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZ3ZS1pY29uLWZpbGUtbGluayBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5MaW5rIGNsYXNzPVwicWwtbGluayBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvci1jb250YWluZXJcIiBbaWRdPVwiJ2VkaXRvci1jb250YWluZXItJyArIGlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3JcIiBbaWRdPVwiJ2VkaXRvci0nICsgaWRcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwiZndlLWlucHV0LXRleHQtbGFiZWxcIiBbaWRdPVwiJ2VkaXRvci1sYWJlbC0nICsgaWRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJmbmctdGV4dC1lZGl0b3ItaW5mb1wiPnt7IGhpbnQgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImZuZy10ZXh0LWVkaXRvci1pbnZhbGlkXCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwibWF4TGVuZ3RoID4gMCAmJiB2YWx1ZSAhPSBudWxsXCIgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1jb3VudFwiPnt7IGN1cnJlbnRMZW5ndGgoKSB9fSAvIHt7IG1heExlbmd0aCB9fTwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=
|
|
@@ -5698,6 +5698,11 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
5698
5698
|
orderedList: true,
|
|
5699
5699
|
image: true,
|
|
5700
5700
|
link: true
|
|
5701
|
+
},
|
|
5702
|
+
sanitizing: {
|
|
5703
|
+
sanitizingFn: null,
|
|
5704
|
+
skipDefaultSanitizing: false,
|
|
5705
|
+
skipWhitespaceHandling: false
|
|
5701
5706
|
}
|
|
5702
5707
|
};
|
|
5703
5708
|
this.fngChange = new EventEmitter();
|
|
@@ -5713,8 +5718,17 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
5713
5718
|
};
|
|
5714
5719
|
// needed to access editor content
|
|
5715
5720
|
this.valueSetter = (quillEditor, value) => {
|
|
5716
|
-
|
|
5717
|
-
|
|
5721
|
+
var _a;
|
|
5722
|
+
const sanitizeConfig = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.sanitizing) || this.defaultConfig.sanitizing;
|
|
5723
|
+
if (sanitizeConfig.sanitizingFn) {
|
|
5724
|
+
value = sanitizeConfig.sanitizingFn(this.domSanitizer);
|
|
5725
|
+
}
|
|
5726
|
+
if (!sanitizeConfig.skipDefaultSanitizing) {
|
|
5727
|
+
value = this.domSanitizer.sanitize(SecurityContext.HTML, value);
|
|
5728
|
+
}
|
|
5729
|
+
if (!sanitizeConfig.skipWhitespaceHandling) {
|
|
5730
|
+
value = this.handleWhitespace(value);
|
|
5731
|
+
}
|
|
5718
5732
|
return quillEditor.clipboard.convert(value);
|
|
5719
5733
|
};
|
|
5720
5734
|
}
|