barsa-sap-ui 2.0.124 → 2.0.126
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/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +2 -2
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +8 -7
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +3 -7
- package/esm2022/lib/card-item/card-item.component.mjs +4 -8
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +7 -10
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +3 -3
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +11 -6
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +3 -3
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +3 -3
- package/esm2022/lib/index.mjs +14 -13
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +2 -2
- package/esm2022/lib/layout-control/layout-control.component.mjs +2 -1
- package/esm2022/lib/no-data/no-data.component.mjs +3 -3
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +7 -2
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +10 -4
- package/fesm2022/barsa-sap-ui.mjs +61 -51
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +1 -1
- package/lib/file-viewer-content/file-viewer-content.component.d.ts +10 -0
- package/lib/ui-form-panel/ui-form-panel.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -117,6 +117,7 @@ export class LayoutControlComponent extends LayoutItemBaseComponent {
|
|
|
117
117
|
let translateCaption = `${this._bbbTranslate.transform(labelCaption)}${this.isSearchPanel || labelCaption === '‌' ? '' : colonLabel}`;
|
|
118
118
|
this.isMandatory = config.FieldUi.Setting?.IsMandatory;
|
|
119
119
|
if (this.isMandatory) {
|
|
120
|
+
translateCaption = translateCaption.replace('*', '');
|
|
120
121
|
translateCaption += `<strong class="field-mandatory">*</strong>`;
|
|
121
122
|
}
|
|
122
123
|
this.labelCaption = this.domSanitizer.bypassSecurityTrustHtml(translateCaption);
|
|
@@ -298,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
298
299
|
}], SetVisible: [{
|
|
299
300
|
type: Input
|
|
300
301
|
}] } });
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBTXZCLFFBQVEsRUFDUixNQUFNLEVBQ04sWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFFYixpQkFBaUIsRUFFakIsV0FBVyxFQUNYLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVM5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0lBbUQvRCxZQUNjLGdCQUFrQyxFQUNyQyxFQUFjLEVBQ3JCLHNCQUE2QyxFQUNuQyxZQUEwQixFQUMxQixJQUF1QixFQUN2QixPQUFlLEVBQ2YsVUFBcUIsRUFDckIsYUFBK0IsRUFDbkIsb0JBQW1DO1FBRXpELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFWCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDbkIs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ICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE5nWm9uZSxcbiAgICBSZW5kZXJlcjIsXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2tpcFNlbGYsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIENvbnRlbnREZW5zaXR5U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQmFyc2FBcGksXG4gICAgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQsXG4gICAgTGF5b3V0U2VydmljZSxcbiAgICBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgIGdldERldmljZUlzTW9iaWxlLFxuICAgIEJiYlRyYW5zbGF0ZVBpcGUsXG4gICAgbWVhc3VyZVRleHQsXG4gICAgZ2V0TGFiZWxXaWR0aFxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWxheW91dC1jb250cm9sJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xheW91dC1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29udHJvbENvbXBvbmVudCBleHRlbmRzIExheW91dEl0ZW1CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCd0ZW1wTGFiZWxSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICB0ZW1wTGFiZWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxheW91dC1jb250cm9sJykgbGF5b3V0Q29udHJvbENsYXNzID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdy1kaXJlY3Rpb24nKSBpc1Jvd0RpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdy1yZXZlcnNlLWRpcmVjdGlvbicpIGlzUm93UmV2ZXJzZURpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbHVtbi1kaXJlY3Rpb24nKSBpc0NvbHVtbkRpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbHVtbi1yZXZlcnNlLWRpcmVjdGlvbicpIGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbnRhaW5lci1maWVsZCcpIGlzQ29udGFpbmVyID0gdHJ1ZTtcbiAgICAvLyBASG9zdEJpbmRpbmcoJ3N0eWxlLnZpc2liaWxpdHknKSB2aXNpYmlsaXR5OiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKSBtYXhXaWR0aDtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpIG1pbldpZHRoO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLWhlaWdodCcpIG1pbkhlaWdodCA9ICcyLjI1cmVtJztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNDaGVja2JveCcpIGlzQ2hlY2tib3g7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbnRyb2xJc1JlYWRvbmx5JykgY29udHJvbElzUmVhZG9ubHkgPSBmYWxzZTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNCdXR0b24nKSBpc0J1dHRvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNzaW5nbGVwaWN0dXJlJykgaXNTaW5nbGVQaWN0dXJlO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5taW5XaWR0aCcpIGF0dHJNaW5XaWR0aDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNtb2JpbGUnKSBpc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbnRyb2xJZCcpIGF0dHJDb250cm9sSWQ7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmNhcHRpb24nKSBhdHRyQ2FwdGlvbjtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhcHRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBmb2N1c0NvbnRyb2w6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1heExhYmVsV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBoYXNIb3Jpem9udGFsVGV4dDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XG4gICAgQElucHV0KCkgZmxleDogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9PigpO1xuXG4gICAgaGlkZSA9IHRydWU7XG4gICAgbGF5b3V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgd3JhcENvbnRlbnQ6IGJvb2xlYW47XG4gICAgbGFiZWxXaWR0aDogbnVtYmVyO1xuICAgIGxhYmVsQ2FwdGlvbjogc3RyaW5nIHwgU2FmZUh0bWw7XG4gICAgbGFiZWxWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBsYXlvdXRTZXRTaXplOiBib29sZWFuO1xuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaXNVbHY6IGJvb2xlYW47XG4gICAgaXNNYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgZmllbGRJY29uOiBzdHJpbmc7XG4gICAgb3JpZ2luYWxYdHlwZTogc3RyaW5nO1xuICAgIHRleHRWaXNpYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIGVtcHR5VGV4dCA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCcmIzgyMDM7Jyk7XG4gICAgbGF5b3V0Q29udHJvbFdpZHRoOiBudW1iZXI7XG4gICAgZm9ybUhlaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBjaGVja2JveFdpZHRoID0gJ2ZpdC1jb250ZW50JztcbiAgICBoZWxwRGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgX2NvbnRlbnREZW5zaXR5U2VydmljZTogQ29udGVudERlbnNpdHlTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJvdGVjdGVkIF9iYmJUcmFuc2xhdGU6IEJiYlRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIEBTa2lwU2VsZigpIHByb3RlY3RlZCBfcGFyZW50TGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtUGFuZWxTZXJ2aWNlLCBfY2RyKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudERlbnNpdHkgPT09ICdjb21wYWN0Jykge1xuICAgICAgICAgICAgdGhpcy5taW5IZWlnaHQgPSAnMnJlbSc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBmbGV4LCBtYXhMYWJlbFdpZHRoIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAoZmxleCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0RmxleChmbGV4LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heExhYmVsV2lkdGggJiYgIW1heExhYmVsV2lkdGguZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldExhYmVsV2lkdGgobWF4TGFiZWxXaWR0aC5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmZvcm1IZWlnaHQkID0gdGhpcy5mb3JtUGFuZWxTZXJ2aWNlLmZvcm1IZWlnaHQkO1xuICAgICAgICB0aGlzLl9zZXRGbGV4KHRoaXMuZmxleCk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRDb250cm9sV2lkdGggPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbnN0IG1pbkhlaWdodEF1dG8gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICdGaWVsZFVpLlNldHRpbmcuQ3VzdG9tVWkuUGFyYW1ldGVycy5NaW5IZWlnaHRBdXRvJyxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLmlubGluZUVkaXQgfHwgbWluSGVpZ2h0QXV0byB8fCB0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbkhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLlVsdk1haW5VaScpIHtcbiAgICAgICAgICAgIHRoaXMuaXNVbHYgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2lzVWx2Jyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hdHRyQ2FwdGlvbiA9IGNvbmZpZy5DYXB0aW9uLnJlcGxhY2UoJzonLCAnJyk7XG4gICAgICAgIHRoaXMuYXR0ckNvbnRyb2xJZCA9IGNvbmZpZy5Db250cm9sSWQ7XG4gICAgICAgIHRoaXMuaXNCdXR0b24gPSBjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuQnV0dG9uJztcbiAgICAgICAgdGhpcy5fcmVmcmVzaExhYmVsKCk7XG5cbiAgICAgICAgdGhpcy5pc1Jvd0RpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdSaWdodCcgfHwgY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ0RlZmF1bHQnO1xuICAgICAgICB0aGlzLmlzUm93UmV2ZXJzZURpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdMZWZ0JztcbiAgICAgICAgdGhpcy5pc0NvbHVtbkRpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdUb3AnIHx8IHRoaXMuaXNTZWFyY2hQYW5lbDtcbiAgICAgICAgdGhpcy5pc0NvbHVtblJldmVyc2VEaXJlY3Rpb24gPSBjb25maWcuVGV4dExvY2F0aW9uID09PSAnQm90dG9tJztcblxuICAgICAgICBjb25maWcuRmllbGRVaS5MYXlvdXRDb250cm9sID0gdGhpcztcbiAgICAgICAgdGhpcy5oZWxwRGVzY3JpcHRpb24gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShjb25maWcuRmllbGRVaSwgJ1NldHRpbmcuSGVscERlc2NyaXB0aW9uJywgJycpO1xuXG4gICAgICAgIHRoaXMuZmllbGRJY29uID0gY29uZmlnLkZpZWxkVWkuU2V0dGluZy5GaWVsZEljb247XG4gICAgICAgIHRoaXMuY29udHJvbElzUmVhZG9ubHkgPSBjb25maWcuRmllbGRVaS5TZXR0aW5nLkNvbnRyb2xJc1JlYWRPbmx5O1xuICAgICAgICB0aGlzLmNvbnRyb2xJc1JlYWRvbmx5ID1cbiAgICAgICAgICAgIHRoaXMuY29udHJvbElzUmVhZG9ubHkgfHxcbiAgICAgICAgICAgIGNvbmZpZy5GaWVsZFVpLlNldHRpbmcuSW5uZXJDdHJscj8uSXNSZWFkT25seSB8fFxuICAgICAgICAgICAgY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jbm5lckN0cmxyPy54dHlwZSA9PT0gJ1VsLlJlYWRPbmx5RmllbGRDdHJscic7XG4gICAgICAgIHRoaXMub3JpZ2luYWxYdHlwZSA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGU7XG4gICAgICAgIHRoaXMudGV4dFZpc2libGUgPSBjb25maWcuVGV4dFZpc2libGU7XG4gICAgICAgIGlmIChjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuU2VhcmNoQ29tbWFuZEluZm9VaScpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWxDYXB0aW9uID0gJyYjODIwMzsnO1xuICAgICAgICAgICAgdGhpcy5sYWJlbFZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy50ZXh0VmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcmVwYXJlTWluQW5kTWF4U2l6ZSgpO1xuICAgICAgICB0aGlzLl9zZXRMYWJlbFdpZHRoKHRoaXMubWF4TGFiZWxXaWR0aCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JlZnJlc2hMYWJlbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbnN0IGxhYmVsQ2FwdGlvbiA9IGNvbmZpZy5DYXB0aW9uO1xuICAgICAgICAvLyBpZiAoY29uZmlnLkZpZWxkVWkuU2V0dGluZz8uSXNNYW5kYXRvcnkpIHtcbiAgICAgICAgLy8gICAgIGlmIChsYWJlbENhcHRpb24uaW5kZXhPZignKicpIDwgMCkge1xuICAgICAgICAvLyAgICAgICAgIGxhYmVsQ2FwdGlvbiA9IGxhYmVsQ2FwdGlvbiArICcgKic7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBsYWJlbENhcHRpb24gPSBsYWJlbENhcHRpb24ucmVwbGFjZSgnKicsICcnKTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIHRoaXMuaXNDaGVja2JveCA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5DaGVja0JveCc7XG4gICAgICAgIGlmICh0aGlzLmlzQ2hlY2tib3gpIHtcbiAgICAgICAgICAgIGNvbnN0IHggPSBtZWFzdXJlVGV4dChsYWJlbENhcHRpb24pO1xuICAgICAgICAgICAgaWYgKHggPCB0aGlzLm1heExhYmVsV2lkdGggJiYgIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94V2lkdGggPSBgJHt0aGlzLm1heExhYmVsV2lkdGh9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1NpbmdsZVBpY3R1cmUgPSBjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuU2luZ2xlUGljdHVyZSc7XG4gICAgICAgIGNvbnN0IGNvbG9uTGFiZWwgPSB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuQ29sb25JbkxhYmVsID8gJzonIDogJyc7XG4gICAgICAgIGxldCB0cmFuc2xhdGVDYXB0aW9uID0gYCR7dGhpcy5fYmJiVHJhbnNsYXRlLnRyYW5zZm9ybShsYWJlbENhcHRpb24pfSR7XG4gICAgICAgICAgICB0aGlzLmlzU2VhcmNoUGFuZWwgfHwgbGFiZWxDYXB0aW9uID09PSAnJnp3bmo7JyA/ICcnIDogY29sb25MYWJlbFxuICAgICAgICB9YDtcbiAgICAgICAgdGhpcy5pc01hbmRhdG9yeSA9IGNvbmZpZy5GaWVsZFVpLlNldHRpbmc/LklzTWFuZGF0b3J5O1xuICAgICAgICBpZiAodGhpcy5pc01hbmRhdG9yeSkge1xuICAgICAgICAgICAgdHJhbnNsYXRlQ2FwdGlvbiArPSBgPHN0cm9uZyBjbGFzcz1cImZpZWxkLW1hbmRhdG9yeVwiPio8L3N0cm9uZz5gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFiZWxDYXB0aW9uID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodHJhbnNsYXRlQ2FwdGlvbik7XG4gICAgICAgIHRoaXMubGFiZWxWaXNpYmxlID0gY29uZmlnLlRleHRWaXNpYmxlICYmIHRoaXMuc2hvd0xhYmVsICE9PSBmYWxzZTtcbiAgICAgICAgY29uc3QgY29udHJvbFdpZHRoID0gZ2V0TGFiZWxXaWR0aCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGlmIChjb250cm9sV2lkdGggJiYgY29udHJvbFdpZHRoID4gdGhpcy5tYXhMYWJlbFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRMYXlvdXRTZXJ2aWNlLnNldE1heFdpZHRoKGNvbnRyb2xXaWR0aCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0SGlkZShjb25maWcuRmllbGRVaS5TZXR0aW5nLklzVmlzaWJsZSA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2UpO1xuICAgIH1cbiAgICBfc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBMYWJlbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5DYXB0aW9uU2V0dGluZz8uQWxpZ25Nb2RlID09PSAnQXV0b1NpemUnIHx8XG4gICAgICAgICAgICAodGhpcy5pc01vYmlsZSAmJiAodGhpcy5pc0NoZWNrYm94IHx8IHRoaXMuY29udHJvbElzUmVhZG9ubHkpKVxuICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uIHx8IHRoaXMuaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgdmFsKTtcblxuICAgICAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaXNDaGVja2JveFxuICAgICAgICAgICAgPyB0aGlzLmNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuQ2FwdGlvblNldHRpbmc/LkFsaWduTW9kZSA9PT0gJ0F1dG9TaXplJyB8fCAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IHRoaXMuaXNDb2x1bW5EaXJlY3Rpb24gfHwgdGhpcy5pc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cbiAgICAgICAgICAgID8gJzEwMCUnXG4gICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ21pbi13aWR0aCcsIG1pbldpZHRoKTtcbiAgICB9XG4gICAgX3Jlc2l6ZVVsdkJ5RGV2aWNlKGRldmljZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNVbHYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGV2aWNlSGVpZ2h0ID0gJ0Rlc2t0b3BIZWlnaHQnO1xuICAgICAgICBzd2l0Y2ggKGRldmljZSkge1xuICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgZGV2aWNlSGVpZ2h0ID0gJ01vYmlsZUhlaWdodCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtJzpcbiAgICAgICAgICAgICAgICBkZXZpY2VIZWlnaHQgPSAnVGFibGV0SGVpZ2h0JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhlaWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5jb25maWcsXG4gICAgICAgICAgICAnRmllbGRVaS5TZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy4nICsgZGV2aWNlSGVpZ2h0LFxuICAgICAgICAgICAgJ2F1dG8nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHByZXBhcmVNaW5BbmRNYXhTaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGF5b3V0SW5mbyA9IGNvbmZpZztcbiAgICAgICAgY29uc3QgaXNCdXR0b24gPSB0aGlzLmlzQnV0dG9uO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVBpY3R1cmUgPSB0aGlzLmlzU2luZ2xlUGljdHVyZTtcbiAgICAgICAgY29uc3QgaXNDaGVja2JveCA9IHRoaXMuaXNDaGVja2JveDtcbiAgICAgICAgaWYgKCF0aGlzLmlubGluZUVkaXQgJiYgbGF5b3V0SW5mbyAmJiAoaXNCdXR0b24gfHwgaXNDaGVja2JveCB8fCBpc1NpbmdsZVBpY3R1cmUpKSB7XG4gICAgICAgICAgICB0aGlzLmF0dHJNaW5XaWR0aCA9IGNvbmZpZy5Cb3VuZHMud2lkdGg7XG4gICAgICAgICAgICBsZXQgZXh0cmFWYWwgPSAwO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICgoaXNCdXR0b24gfHwgaXNDaGVja2JveCkgJiYgbGF5b3V0SW5mby5GaWVsZFVpLlNldHRpbmc/LkZpZWxkSWNvbikgfHxcbiAgICAgICAgICAgICAgICBsYXlvdXRJbmZvLkZpZWxkVWkuU2V0dGluZy5Kc29uRXh0cmFQcm9wPy5HbHlwaFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFWYWwgPSAxODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgTWF4U2l6ZSwgTWluU2l6ZSB9ID0gbGF5b3V0SW5mbztcbiAgICAgICAgICAgIGlmIChNYXhTaXplPy53aWR0aCA+IDAgJiYgIXRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSBNYXhTaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE1pblNpemU/LndpZHRoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWluV2lkdGggPSBNaW5TaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzU2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICAgIHRoaXMuYXR0ck1pbldpZHRoID0gdGhpcy5tYXhMYWJlbFdpZHRoICsgMjAwO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSAnMzIwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbldpZHRoID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFJlZnJlc2hMYWJlbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaExhYmVsKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoeyB0aXRsZTogJ3JlZnJlc2hMYWJlbCcsIGRhdGE6IHRoaXMuY29uZmlnIH0pO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFNldFZpc2libGUgPSAodmlzaWJsZSwgcmVmcmVzaCkgPT4ge1xuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jc1Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fc2V0SGlkZSghdmlzaWJsZSk7XG4gICAgICAgICAgICAvLyB0aGlzLmNvbmZpZy5GaWVsZFVpLlNldHRpbmcuJEJSdWxlSGlkZSA9ICF2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBwcml2YXRlIF9zZXRIaWRlKGhpZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaGlkZSA9IHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5IaWRlU2VhcmNoQ29tbWFuZEluZm9VaSA9PT0gdHJ1ZSA/IHRydWUgOiBoaWRlOyAvLyBoaWRlIGRlZmF1bHQgYnV0dG9ucyBvZiBzZWFyY2ggcGFuZWxcbiAgICAgICAgdGhpcy5oaWRlID0gaGlkZTtcbiAgICAgICAgaWYgKGhpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRlLWZvcm0taXRlbScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGUtZm9ybS1pdGVtJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0RmxleChmbGV4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmbGV4ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlIHx8IHRoaXMuY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSAhPT0gJ1VpLlRleHRBcmVhJylcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZmxleCcsIGZsZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICghaGlkZSkgeyBAaWYgKGxhYmVsVmlzaWJsZSkge1xuPGJzdS1seS1sYWJlbFxuICAgIFthdHRyLmxhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXG4gICAgW2F0dHJSdGxdXG4gICAgI3RlbXBMYWJlbFJlZlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2NhcHRpb25dPVwibGFiZWxDYXB0aW9uXCJcbiAgICBbb3JpZ2luYWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIlxuICAgICAgICBpc0NoZWNrYm94XG4gICAgICAgICAgICA/IGNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIGNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtzdHlsZS53aWR0aF09XCJcbiAgICAgICAgY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIChpc0NoZWNrYm94IHx8IGNvbnRyb2xJc1JlYWRvbmx5KSlcbiAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtpc01hbmRhdG9yeV09XCJpc01hbmRhdG9yeVwiXG4gICAgW2ZpZWxkSWNvbl09XCJmaWVsZEljb25cIlxuICAgIFtoZWxwRGVzY3JpcHRpb25dPVwiaGVscERlc2NyaXB0aW9uXCJcbiAgICBbb3JpZ2luYWxYdHlwZV09XCJvcmlnaW5hbFh0eXBlXCJcbiAgICBbdGV4dFZpc2libGVdPVwidGV4dFZpc2libGVcIlxuICAgIFtpc0NvbHVtbl09XCJpc0NvbHVtbkRpcmVjdGlvbiB8fCBpc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cIlxuPjwvYnN1LWx5LWxhYmVsPlxufVxuPGxhYmVsIFthdHRyLnZpc2libGVdPVwibGFiZWxWaXNpYmxlXCIgY2xhc3M9XCJob3Jpem9udGFsLWxhYmVsXCIgW2lubmVySHRtbF09XCJlbXB0eVRleHRcIj48L2xhYmVsPlxuPGJucmMtZmllbGQtdWlcbiAgICBbYXR0ci54dHlwZV09XCJjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlXCJcbiAgICBbYXR0ci5maWVsZFdpZHRoXT1cImxheW91dENvbnRyb2xXaWR0aFwiXG4gICAgW2F0dHIuaXNDaGVja2JveF09XCJpc0NoZWNrYm94XCJcbiAgICBbYXR0ci5pc2J1dHRvbl09XCJpc0J1dHRvblwiXG4gICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJpc0NoZWNrYm94ID8gMSA6IDBcIlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY3VzdG9tRmllbGRdPVwiY29uZmlnLkZpZWxkVWlcIlxuICAgIFtsYXlvdXRJbmZvXT1cImNvbmZpZ1wiXG4gICAgW2lubGluZUVkaXRdPVwiaW5saW5lRWRpdFwiXG4gICAgW2Zvcm1IZWlnaHRdPVwiKGZvcm1IZWlnaHQkIHwgYXN5bmMpISFcIlxuICAgIFtmb2N1c0NvbnRyb2xdPVwiZm9jdXNDb250cm9sXCJcbiAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImlzVWx2ID8gJzEwMCUnIDogJ2F1dG8nXCJcbiAgICBbYXR0ci5pc3Vsdl09XCJpc1VsdlwiXG4+PC9ibnJjLWZpZWxkLXVpPlxufVxuIl19
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBTXZCLFFBQVEsRUFDUixNQUFNLEVBQ04sWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFFYixpQkFBaUIsRUFFakIsV0FBVyxFQUNYLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVM5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0lBbUQvRCxZQUNjLGdCQUFrQyxFQUNyQyxFQUFjLEVBQ3JCLHNCQUE2QyxFQUNuQyxZQUEwQixFQUMxQixJQUF1QixFQUN2QixPQUFlLEVBQ2YsVUFBcUIsRUFDckIsYUFBK0IsRUFDbkIsb0JBQW1DO1FBRXpELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFWCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDbkIs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QkFBcEIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgTmdab25lLFxuICAgIFJlbmRlcmVyMixcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTa2lwU2VsZixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSwgQ29udGVudERlbnNpdHlTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBCYXJzYUFwaSxcbiAgICBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICBtZWFzdXJlVGV4dCxcbiAgICBnZXRMYWJlbFdpZHRoXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWNvbnRyb2wnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtMYXlvdXRTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RlbXBMYWJlbFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHRlbXBMYWJlbFJlZjogRWxlbWVudFJlZjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubGF5b3V0LWNvbnRyb2wnKSBsYXlvdXRDb250cm9sQ2xhc3MgPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93LWRpcmVjdGlvbicpIGlzUm93RGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93LXJldmVyc2UtZGlyZWN0aW9uJykgaXNSb3dSZXZlcnNlRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uLWRpcmVjdGlvbicpIGlzQ29sdW1uRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uLXJldmVyc2UtZGlyZWN0aW9uJykgaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udGFpbmVyLWZpZWxkJykgaXNDb250YWluZXIgPSB0cnVlO1xuICAgIC8vIEBIb3N0QmluZGluZygnc3R5bGUudmlzaWJpbGl0eScpIHZpc2liaWxpdHk6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpIG1heFdpZHRoO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgbWluV2lkdGg7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4taGVpZ2h0JykgbWluSGVpZ2h0ID0gJzIuMjVyZW0nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0O1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc0NoZWNrYm94JykgaXNDaGVja2JveDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY29udHJvbElzUmVhZG9ubHknKSBjb250cm9sSXNSZWFkb25seSA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc0J1dHRvbicpIGlzQnV0dG9uO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc3NpbmdsZXBpY3R1cmUnKSBpc1NpbmdsZVBpY3R1cmU7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLm1pbldpZHRoJykgYXR0ck1pbldpZHRoO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc21vYmlsZScpIGlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY29udHJvbElkJykgYXR0ckNvbnRyb2xJZDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY2FwdGlvbicpIGF0dHJDYXB0aW9uO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZvY3VzQ29udHJvbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWF4TGFiZWxXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGhhc0hvcml6b250YWxUZXh0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBmbGV4OiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0+KCk7XG5cbiAgICBoaWRlID0gdHJ1ZTtcbiAgICBsYXlvdXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICB3cmFwQ29udGVudDogYm9vbGVhbjtcbiAgICBsYWJlbFdpZHRoOiBudW1iZXI7XG4gICAgbGFiZWxDYXB0aW9uOiBzdHJpbmcgfCBTYWZlSHRtbDtcbiAgICBsYWJlbFZpc2libGU/OiBib29sZWFuO1xuICAgIGxheW91dFNldFNpemU6IGJvb2xlYW47XG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1VsdjogYm9vbGVhbjtcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgICBmaWVsZEljb246IHN0cmluZztcbiAgICBvcmlnaW5hbFh0eXBlOiBzdHJpbmc7XG4gICAgdGV4dFZpc2libGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgZW1wdHlUZXh0ID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoJyYjODIwMzsnKTtcbiAgICBsYXlvdXRDb250cm9sV2lkdGg6IG51bWJlcjtcbiAgICBmb3JtSGVpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIGNoZWNrYm94V2lkdGggPSAnZml0LWNvbnRlbnQnO1xuICAgIGhlbHBEZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSxcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX25nWm9uZTogTmdab25lLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgX2JiYlRyYW5zbGF0ZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgQFNraXBTZWxmKCkgcHJvdGVjdGVkIF9wYXJlbnRMYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1QYW5lbFNlcnZpY2UsIF9jZHIpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50RGVuc2l0eSA9PT0gJ2NvbXBhY3QnKSB7XG4gICAgICAgICAgICB0aGlzLm1pbkhlaWdodCA9ICcycmVtJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGZsZXgsIG1heExhYmVsV2lkdGggfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChmbGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRGbGV4KGZsZXguY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWF4TGFiZWxXaWR0aCAmJiAhbWF4TGFiZWxXaWR0aC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuZm9ybUhlaWdodCQgPSB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuZm9ybUhlaWdodCQ7XG4gICAgICAgIHRoaXMuX3NldEZsZXgodGhpcy5mbGV4KTtcblxuICAgICAgICB0aGlzLmxheW91dENvbnRyb2xXaWR0aCA9ICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbWluSGVpZ2h0QXV0byA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgJ0ZpZWxkVWkuU2V0dGluZy5DdXN0b21VaS5QYXJhbWV0ZXJzLk1pbkhlaWdodEF1dG8nLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCB8fCBtaW5IZWlnaHRBdXRvIHx8IHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMubWluSGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuVWx2TWFpblVpJykge1xuICAgICAgICAgICAgdGhpcy5pc1VsdiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaXNVbHYnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmF0dHJDYXB0aW9uID0gY29uZmlnLkNhcHRpb24ucmVwbGFjZSgnOicsICcnKTtcbiAgICAgICAgdGhpcy5hdHRyQ29udHJvbElkID0gY29uZmlnLkNvbnRyb2xJZDtcbiAgICAgICAgdGhpcy5pc0J1dHRvbiA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5CdXR0b24nO1xuICAgICAgICB0aGlzLl9yZWZyZXNoTGFiZWwoKTtcblxuICAgICAgICB0aGlzLmlzUm93RGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ1JpZ2h0JyB8fCBjb25maWcuVGV4dExvY2F0aW9uID09PSAnRGVmYXVsdCc7XG4gICAgICAgIHRoaXMuaXNSb3dSZXZlcnNlRGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ0xlZnQnO1xuICAgICAgICB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ1RvcCcgfHwgdGhpcy5pc1NlYXJjaFBhbmVsO1xuICAgICAgICB0aGlzLmlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdCb3R0b20nO1xuXG4gICAgICAgIGNvbmZpZy5GaWVsZFVpLkxheW91dENvbnRyb2wgPSB0aGlzO1xuICAgICAgICB0aGlzLmhlbHBEZXNjcmlwdGlvbiA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKGNvbmZpZy5GaWVsZFVpLCAnU2V0dGluZy5IZWxwRGVzY3JpcHRpb24nLCAnJyk7XG5cbiAgICAgICAgdGhpcy5maWVsZEljb24gPSBjb25maWcuRmllbGRVaS5TZXR0aW5nLkZpZWxkSWNvbjtcbiAgICAgICAgdGhpcy5jb250cm9sSXNSZWFkb25seSA9IGNvbmZpZy5GaWVsZFVpLlNldHRpbmcuQ29udHJvbElzUmVhZE9ubHk7XG4gICAgICAgIHRoaXMuY29udHJvbElzUmVhZG9ubHkgPVxuICAgICAgICAgICAgdGhpcy5jb250cm9sSXNSZWFkb25seSB8fFxuICAgICAgICAgICAgY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jbm5lckN0cmxyPy5Jc1JlYWRPbmx5IHx8XG4gICAgICAgICAgICBjb25maWcuRmllbGRVaS5TZXR0aW5nLklubmVyQ3RybHI/Lnh0eXBlID09PSAnVWwuUmVhZE9ubHlGaWVsZEN0cmxyJztcbiAgICAgICAgdGhpcy5vcmlnaW5hbFh0eXBlID0gY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZTtcbiAgICAgICAgdGhpcy50ZXh0VmlzaWJsZSA9IGNvbmZpZy5UZXh0VmlzaWJsZTtcbiAgICAgICAgaWYgKGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TZWFyY2hDb21tYW5kSW5mb1VpJykge1xuICAgICAgICAgICAgdGhpcy5sYWJlbENhcHRpb24gPSAnJiM4MjAzOyc7XG4gICAgICAgICAgICB0aGlzLmxhYmVsVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRleHRWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXBhcmVNaW5BbmRNYXhTaXplKCk7XG4gICAgICAgIHRoaXMuX3NldExhYmVsV2lkdGgodGhpcy5tYXhMYWJlbFdpZHRoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVmcmVzaExhYmVsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGFiZWxDYXB0aW9uID0gY29uZmlnLkNhcHRpb247XG4gICAgICAgIC8vIGlmIChjb25maWcuRmllbGRVaS5TZXR0aW5nPy5Jc01hbmRhdG9yeSkge1xuICAgICAgICAvLyAgICAgaWYgKGxhYmVsQ2FwdGlvbi5pbmRleE9mKCcqJykgPCAwKSB7XG4gICAgICAgIC8vICAgICAgICAgbGFiZWxDYXB0aW9uID0gbGFiZWxDYXB0aW9uICsgJyAqJztcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGxhYmVsQ2FwdGlvbiA9IGxhYmVsQ2FwdGlvbi5yZXBsYWNlKCcqJywgJycpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgdGhpcy5pc0NoZWNrYm94ID0gY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLkNoZWNrQm94JztcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgY29uc3QgeCA9IG1lYXN1cmVUZXh0KGxhYmVsQ2FwdGlvbik7XG4gICAgICAgICAgICBpZiAoeCA8IHRoaXMubWF4TGFiZWxXaWR0aCAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hXaWR0aCA9IGAke3RoaXMubWF4TGFiZWxXaWR0aH1weGA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzU2luZ2xlUGljdHVyZSA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TaW5nbGVQaWN0dXJlJztcbiAgICAgICAgY29uc3QgY29sb25MYWJlbCA9IHRoaXMuZm9ybVBhbmVsU2VydmljZS5Db2xvbkluTGFiZWwgPyAnOicgOiAnJztcbiAgICAgICAgbGV0IHRyYW5zbGF0ZUNhcHRpb24gPSBgJHt0aGlzLl9iYmJUcmFuc2xhdGUudHJhbnNmb3JtKGxhYmVsQ2FwdGlvbil9JHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCB8fCBsYWJlbENhcHRpb24gPT09ICcmenduajsnID8gJycgOiBjb2xvbkxhYmVsXG4gICAgICAgIH1gO1xuICAgICAgICB0aGlzLmlzTWFuZGF0b3J5ID0gY29uZmlnLkZpZWxkVWkuU2V0dGluZz8uSXNNYW5kYXRvcnk7XG4gICAgICAgIGlmICh0aGlzLmlzTWFuZGF0b3J5KSB7XG4gICAgICAgICAgICB0cmFuc2xhdGVDYXB0aW9uID0gdHJhbnNsYXRlQ2FwdGlvbi5yZXBsYWNlKCcqJywgJycpO1xuICAgICAgICAgICAgdHJhbnNsYXRlQ2FwdGlvbiArPSBgPHN0cm9uZyBjbGFzcz1cImZpZWxkLW1hbmRhdG9yeVwiPio8L3N0cm9uZz5gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFiZWxDYXB0aW9uID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodHJhbnNsYXRlQ2FwdGlvbik7XG4gICAgICAgIHRoaXMubGFiZWxWaXNpYmxlID0gY29uZmlnLlRleHRWaXNpYmxlICYmIHRoaXMuc2hvd0xhYmVsICE9PSBmYWxzZTtcbiAgICAgICAgY29uc3QgY29udHJvbFdpZHRoID0gZ2V0TGFiZWxXaWR0aCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGlmIChjb250cm9sV2lkdGggJiYgY29udHJvbFdpZHRoID4gdGhpcy5tYXhMYWJlbFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRMYXlvdXRTZXJ2aWNlLnNldE1heFdpZHRoKGNvbnRyb2xXaWR0aCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0SGlkZShjb25maWcuRmllbGRVaS5TZXR0aW5nLklzVmlzaWJsZSA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2UpO1xuICAgIH1cbiAgICBfc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBMYWJlbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5DYXB0aW9uU2V0dGluZz8uQWxpZ25Nb2RlID09PSAnQXV0b1NpemUnIHx8XG4gICAgICAgICAgICAodGhpcy5pc01vYmlsZSAmJiAodGhpcy5pc0NoZWNrYm94IHx8IHRoaXMuY29udHJvbElzUmVhZG9ubHkpKVxuICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uIHx8IHRoaXMuaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgdmFsKTtcblxuICAgICAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaXNDaGVja2JveFxuICAgICAgICAgICAgPyB0aGlzLmNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuQ2FwdGlvblNldHRpbmc/LkFsaWduTW9kZSA9PT0gJ0F1dG9TaXplJyB8fCAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IHRoaXMuaXNDb2x1bW5EaXJlY3Rpb24gfHwgdGhpcy5pc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cbiAgICAgICAgICAgID8gJzEwMCUnXG4gICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ21pbi13aWR0aCcsIG1pbldpZHRoKTtcbiAgICB9XG4gICAgX3Jlc2l6ZVVsdkJ5RGV2aWNlKGRldmljZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNVbHYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGV2aWNlSGVpZ2h0ID0gJ0Rlc2t0b3BIZWlnaHQnO1xuICAgICAgICBzd2l0Y2ggKGRldmljZSkge1xuICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgZGV2aWNlSGVpZ2h0ID0gJ01vYmlsZUhlaWdodCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtJzpcbiAgICAgICAgICAgICAgICBkZXZpY2VIZWlnaHQgPSAnVGFibGV0SGVpZ2h0JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhlaWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5jb25maWcsXG4gICAgICAgICAgICAnRmllbGRVaS5TZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy4nICsgZGV2aWNlSGVpZ2h0LFxuICAgICAgICAgICAgJ2F1dG8nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHByZXBhcmVNaW5BbmRNYXhTaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGF5b3V0SW5mbyA9IGNvbmZpZztcbiAgICAgICAgY29uc3QgaXNCdXR0b24gPSB0aGlzLmlzQnV0dG9uO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVBpY3R1cmUgPSB0aGlzLmlzU2luZ2xlUGljdHVyZTtcbiAgICAgICAgY29uc3QgaXNDaGVja2JveCA9IHRoaXMuaXNDaGVja2JveDtcbiAgICAgICAgaWYgKCF0aGlzLmlubGluZUVkaXQgJiYgbGF5b3V0SW5mbyAmJiAoaXNCdXR0b24gfHwgaXNDaGVja2JveCB8fCBpc1NpbmdsZVBpY3R1cmUpKSB7XG4gICAgICAgICAgICB0aGlzLmF0dHJNaW5XaWR0aCA9IGNvbmZpZy5Cb3VuZHMud2lkdGg7XG4gICAgICAgICAgICBsZXQgZXh0cmFWYWwgPSAwO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICgoaXNCdXR0b24gfHwgaXNDaGVja2JveCkgJiYgbGF5b3V0SW5mby5GaWVsZFVpLlNldHRpbmc/LkZpZWxkSWNvbikgfHxcbiAgICAgICAgICAgICAgICBsYXlvdXRJbmZvLkZpZWxkVWkuU2V0dGluZy5Kc29uRXh0cmFQcm9wPy5HbHlwaFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFWYWwgPSAxODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgTWF4U2l6ZSwgTWluU2l6ZSB9ID0gbGF5b3V0SW5mbztcbiAgICAgICAgICAgIGlmIChNYXhTaXplPy53aWR0aCA+IDAgJiYgIXRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSBNYXhTaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE1pblNpemU/LndpZHRoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWluV2lkdGggPSBNaW5TaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzU2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICAgIHRoaXMuYXR0ck1pbldpZHRoID0gdGhpcy5tYXhMYWJlbFdpZHRoICsgMjAwO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSAnMzIwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbldpZHRoID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFJlZnJlc2hMYWJlbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaExhYmVsKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoeyB0aXRsZTogJ3JlZnJlc2hMYWJlbCcsIGRhdGE6IHRoaXMuY29uZmlnIH0pO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFNldFZpc2libGUgPSAodmlzaWJsZSwgcmVmcmVzaCkgPT4ge1xuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jc1Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fc2V0SGlkZSghdmlzaWJsZSk7XG4gICAgICAgICAgICAvLyB0aGlzLmNvbmZpZy5GaWVsZFVpLlNldHRpbmcuJEJSdWxlSGlkZSA9ICF2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBwcml2YXRlIF9zZXRIaWRlKGhpZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaGlkZSA9IHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5IaWRlU2VhcmNoQ29tbWFuZEluZm9VaSA9PT0gdHJ1ZSA/IHRydWUgOiBoaWRlOyAvLyBoaWRlIGRlZmF1bHQgYnV0dG9ucyBvZiBzZWFyY2ggcGFuZWxcbiAgICAgICAgdGhpcy5oaWRlID0gaGlkZTtcbiAgICAgICAgaWYgKGhpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRlLWZvcm0taXRlbScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGUtZm9ybS1pdGVtJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0RmxleChmbGV4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmbGV4ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlIHx8IHRoaXMuY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSAhPT0gJ1VpLlRleHRBcmVhJylcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZmxleCcsIGZsZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICghaGlkZSkgeyBAaWYgKGxhYmVsVmlzaWJsZSkge1xuPGJzdS1seS1sYWJlbFxuICAgIFthdHRyLmxhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXG4gICAgW2F0dHJSdGxdXG4gICAgI3RlbXBMYWJlbFJlZlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2NhcHRpb25dPVwibGFiZWxDYXB0aW9uXCJcbiAgICBbb3JpZ2luYWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIlxuICAgICAgICBpc0NoZWNrYm94XG4gICAgICAgICAgICA/IGNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIGNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtzdHlsZS53aWR0aF09XCJcbiAgICAgICAgY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIChpc0NoZWNrYm94IHx8IGNvbnRyb2xJc1JlYWRvbmx5KSlcbiAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtpc01hbmRhdG9yeV09XCJpc01hbmRhdG9yeVwiXG4gICAgW2ZpZWxkSWNvbl09XCJmaWVsZEljb25cIlxuICAgIFtoZWxwRGVzY3JpcHRpb25dPVwiaGVscERlc2NyaXB0aW9uXCJcbiAgICBbb3JpZ2luYWxYdHlwZV09XCJvcmlnaW5hbFh0eXBlXCJcbiAgICBbdGV4dFZpc2libGVdPVwidGV4dFZpc2libGVcIlxuICAgIFtpc0NvbHVtbl09XCJpc0NvbHVtbkRpcmVjdGlvbiB8fCBpc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cIlxuPjwvYnN1LWx5LWxhYmVsPlxufVxuPGxhYmVsIFthdHRyLnZpc2libGVdPVwibGFiZWxWaXNpYmxlXCIgY2xhc3M9XCJob3Jpem9udGFsLWxhYmVsXCIgW2lubmVySHRtbF09XCJlbXB0eVRleHRcIj48L2xhYmVsPlxuPGJucmMtZmllbGQtdWlcbiAgICBbYXR0ci54dHlwZV09XCJjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlXCJcbiAgICBbYXR0ci5maWVsZFdpZHRoXT1cImxheW91dENvbnRyb2xXaWR0aFwiXG4gICAgW2F0dHIuaXNDaGVja2JveF09XCJpc0NoZWNrYm94XCJcbiAgICBbYXR0ci5pc2J1dHRvbl09XCJpc0J1dHRvblwiXG4gICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJpc0NoZWNrYm94ID8gMSA6IDBcIlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY3VzdG9tRmllbGRdPVwiY29uZmlnLkZpZWxkVWlcIlxuICAgIFtsYXlvdXRJbmZvXT1cImNvbmZpZ1wiXG4gICAgW2lubGluZUVkaXRdPVwiaW5saW5lRWRpdFwiXG4gICAgW2Zvcm1IZWlnaHRdPVwiKGZvcm1IZWlnaHQkIHwgYXN5bmMpISFcIlxuICAgIFtmb2N1c0NvbnRyb2xdPVwiZm9jdXNDb250cm9sXCJcbiAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImlzVWx2ID8gJzEwMCUnIDogJ2F1dG8nXCJcbiAgICBbYXR0ci5pc3Vsdl09XCJpc1VsdlwiXG4+PC9ibnJjLWZpZWxkLXVpPlxufVxuIl19
|
|
@@ -17,15 +17,15 @@ export class NoDataComponent extends BaseComponent {
|
|
|
17
17
|
this._alingItems = this.simple;
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NoDataComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NoDataComponent, selector: "bsu-no-data", inputs: { simple: "simple" }, host: { properties: { "class.a-center": "this._alingItems" } }, usesInheritance: true, ngImport: i0, template: "@if (!simple) {\n<tr style=\"text-align: center\">\n <td colspan=\"75%\" style=\"padding: 10px\">\n <!-- <span>{{ 'NoData' | bbbTranslate }}</span> -->\n <figure fd-illustrated-message [svgConfig]=\"sceneConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'NoData' | bbbTranslate }}</h3>\n <p fd-illustrated-message-text>{{ 'NoDataAtThisTime' | bbbTranslate }}</p>\n </figcaption>\n <!-- <fd-illustrated-message-actions>\n <button fd-button label=\"Action One\"></button>\n <button fd-button label=\"Action Two\"></button>\n </fd-illustrated-message-actions> -->\n </figure>\n </td>\n</tr>\n} @else {\n<h4 fd-title>{{ 'NoData' | bbbTranslate }}</h4>\n}\n", styles: [":host{width:100%;display:flex;justify-content:center}:host.no-topborder{border-top:none}:host.no-btborder{border-bottom:none}:host.a-center{align-items:center}figure{max-height:140px;margin-top:0}\n"], dependencies: [{ kind: "component", type: i1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i2.IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "svgAriaLabel", "noSvg", "id", "class"] }, { kind: "component", type: i2.IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: i2.IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "directive", type: i2.IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NoDataComponent, selector: "bsu-no-data", inputs: { simple: "simple" }, host: { properties: { "class.a-center": "this._alingItems" } }, usesInheritance: true, ngImport: i0, template: "@if (!simple) {\n<tr style=\"text-align: center\">\n <td colspan=\"75%\" style=\"padding: 10px\">\n <!-- <span>{{ 'NoData' | bbbTranslate }}</span> -->\n <figure fd-illustrated-message [svgConfig]=\"sceneConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'NoData' | bbbTranslate }}</h3>\n <p fd-illustrated-message-text>{{ 'NoDataAtThisTime' | bbbTranslate }}</p>\n </figcaption>\n <!-- <fd-illustrated-message-actions>\n <button fd-button label=\"Action One\"></button>\n <button fd-button label=\"Action Two\"></button>\n </fd-illustrated-message-actions> -->\n </figure>\n </td>\n</tr>\n} @else {\n<h4 fd-title class=\"!tw-py-4\">{{ 'NoData' | bbbTranslate }}</h4>\n}\n", styles: [":host{width:100%;display:flex;justify-content:center}:host.no-topborder{border-top:none}:host.no-btborder{border-bottom:none}:host.a-center{align-items:center}figure{max-height:140px;margin-top:0}\n"], dependencies: [{ kind: "component", type: i1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i2.IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "svgAriaLabel", "noSvg", "id", "class"] }, { kind: "component", type: i2.IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: i2.IllustratedMessageTextDirective, selector: "[fd-illustrated-message-text]" }, { kind: "directive", type: i2.IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NoDataComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
|
-
args: [{ selector: 'bsu-no-data', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!simple) {\n<tr style=\"text-align: center\">\n <td colspan=\"75%\" style=\"padding: 10px\">\n <!-- <span>{{ 'NoData' | bbbTranslate }}</span> -->\n <figure fd-illustrated-message [svgConfig]=\"sceneConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'NoData' | bbbTranslate }}</h3>\n <p fd-illustrated-message-text>{{ 'NoDataAtThisTime' | bbbTranslate }}</p>\n </figcaption>\n <!-- <fd-illustrated-message-actions>\n <button fd-button label=\"Action One\"></button>\n <button fd-button label=\"Action Two\"></button>\n </fd-illustrated-message-actions> -->\n </figure>\n </td>\n</tr>\n} @else {\n<h4 fd-title>{{ 'NoData' | bbbTranslate }}</h4>\n}\n", styles: [":host{width:100%;display:flex;justify-content:center}:host.no-topborder{border-top:none}:host.no-btborder{border-bottom:none}:host.a-center{align-items:center}figure{max-height:140px;margin-top:0}\n"] }]
|
|
24
|
+
args: [{ selector: 'bsu-no-data', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!simple) {\n<tr style=\"text-align: center\">\n <td colspan=\"75%\" style=\"padding: 10px\">\n <!-- <span>{{ 'NoData' | bbbTranslate }}</span> -->\n <figure fd-illustrated-message [svgConfig]=\"sceneConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'NoData' | bbbTranslate }}</h3>\n <p fd-illustrated-message-text>{{ 'NoDataAtThisTime' | bbbTranslate }}</p>\n </figcaption>\n <!-- <fd-illustrated-message-actions>\n <button fd-button label=\"Action One\"></button>\n <button fd-button label=\"Action Two\"></button>\n </fd-illustrated-message-actions> -->\n </figure>\n </td>\n</tr>\n} @else {\n<h4 fd-title class=\"!tw-py-4\">{{ 'NoData' | bbbTranslate }}</h4>\n}\n", styles: [":host{width:100%;display:flex;justify-content:center}:host.no-topborder{border-top:none}:host.no-btborder{border-bottom:none}:host.a-center{align-items:center}figure{max-height:140px;margin-top:0}\n"] }]
|
|
25
25
|
}], propDecorators: { simple: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}], _alingItems: [{
|
|
28
28
|
type: HostBinding,
|
|
29
29
|
args: ['class.a-center']
|
|
30
30
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBUXJELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQWE7SUFObEQ7O1FBUW1DLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ25ELGdCQUFXLEdBQWM7WUFDckIsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLDBCQUEwQixFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRTtTQUM1RSxDQUFDO0tBS0w7SUFKRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDOzhHQVRRLGVBQWU7a0dBQWYsZUFBZSx3S0NYNUIsNnpCQW1CQTs7MkZEUmEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE1BQU07c0JBQWQsS0FBSztnQkFDeUIsV0FBVztzQkFBekMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ZnQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LW5vLWRhdGEnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vLWRhdGEuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbm8tZGF0YS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vRGF0YUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgc2ltcGxlOiBib29sZWFuO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hLWNlbnRlcicpIF9hbGluZ0l0ZW1zID0gZmFsc2U7XHJcbiAgICBzY2VuZUNvbmZpZzogU3ZnQ29uZmlnID0ge1xyXG4gICAgICAgIHNjZW5lOiB7IHVybDogJ2Fzc2V0cy9zdmcvZW1wdHktYm94LnN2ZycsIGlkOiAnc2FwSWxsdXMtU2NlbmUtTm9NYWlsLTEnIH1cclxuICAgIH07XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX2FsaW5nSXRlbXMgPSB0aGlzLnNpbXBsZTtcclxuICAgIH1cclxufVxyXG4iLCJAaWYgKCFzaW1wbGUpIHtcbjx0ciBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPlxuICAgIDx0ZCBjb2xzcGFuPVwiNzUlXCIgc3R5bGU9XCJwYWRkaW5nOiAxMHB4XCI+XG4gICAgICAgIDwhLS0gPHNwYW4+e3sgJ05vRGF0YScgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+IC0tPlxuICAgICAgICA8ZmlndXJlIGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UgW3N2Z0NvbmZpZ109XCJzY2VuZUNvbmZpZ1wiPlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24gZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS1maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgIDxoMyBmZC1pbGx1c3RyYXRlZC1tZXNzYWdlLXRpdGxlPnt7ICdOb0RhdGEnIHwgYmJiVHJhbnNsYXRlIH19PC9oMz5cbiAgICAgICAgICAgICAgICA8cCBmZC1pbGx1c3RyYXRlZC1tZXNzYWdlLXRleHQ+e3sgJ05vRGF0YUF0VGhpc1RpbWUnIHwgYmJiVHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgPCEtLSA8ZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS1hY3Rpb25zPlxuICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBsYWJlbD1cIkFjdGlvbiBPbmVcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gbGFiZWw9XCJBY3Rpb24gVHdvXCI+PC9idXR0b24+XG4gICAgICA8L2ZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtYWN0aW9ucz4gLS0+XG4gICAgICAgIDwvZmlndXJlPlxuICAgIDwvdGQ+XG48L3RyPlxufSBAZWxzZSB7XG48aDQgZmQtdGl0bGUgY2xhc3M9XCIhdHctcHktNFwiPnt7ICdOb0RhdGEnIHwgYmJiVHJhbnNsYXRlIH19PC9oND5cbn1cbiJdfQ==
|
|
@@ -21,6 +21,7 @@ export class UiFormPanelComponent extends FormBaseComponent {
|
|
|
21
21
|
this._cdr = _cdr;
|
|
22
22
|
this._contentDensityService = _contentDensityService;
|
|
23
23
|
this._typeDefName = '';
|
|
24
|
+
this._viewName = '';
|
|
24
25
|
this.breadCrumbs$ = _breadcrumbService.breadcrumbs$;
|
|
25
26
|
this.contentDensity$ = _contentDensityService.contentDensity;
|
|
26
27
|
this.deviceSize$ = _portalService.deviceSize$;
|
|
@@ -28,6 +29,7 @@ export class UiFormPanelComponent extends FormBaseComponent {
|
|
|
28
29
|
this.rtl$ = _portalService.rtl$;
|
|
29
30
|
this.canSend$ = this._formPanelService.canSend$;
|
|
30
31
|
this._formPanelService.mo$.subscribe((c) => (this._typeDefName = c?.$TypeDefName ?? ''));
|
|
32
|
+
this._formPanelService.view$.subscribe((c) => (this._viewName = c?.TypeViewName ?? ''));
|
|
31
33
|
}
|
|
32
34
|
ngOnInit() {
|
|
33
35
|
super.ngOnInit();
|
|
@@ -81,7 +83,7 @@ export class UiFormPanelComponent extends FormBaseComponent {
|
|
|
81
83
|
this.fullscreen = parameters?.FullscreenDefault === true && !this.isModal;
|
|
82
84
|
}
|
|
83
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiFormPanelComponent, deps: [{ token: i1.BreadcrumbService }, { token: i1.PortalService }, { token: i2.Router }, { token: i0.ElementRef }, { token: i1.ControlUiPipe }, { token: i1.FormPanelService, self: true }, { token: i2.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i3.ContentDensityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiFormPanelComponent, selector: "bsu-ui-form-panel", host: { properties: { "attr.typeDefName": "this._typeDefName" } }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "@if (isSearchPanel || (isSimple$ | async) || isSubForm || isModal || isFormReport || parameters?.IsSimple) {\n<bsu-barsa-simple-form\n [cssStyle]=\"parameters?.CssStyles\"\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [isModal]=\"isModal\"\n [formContentMaxWidth]=\"formContentMaxWidth\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [workflowButtons]=\"(workflowButtons$ | async)!!\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [circleAvatar]=\"(circleAvatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-barsa-simple-form>\n} @else {\n<bsu-fundamental-dynamic-form\n [cssStyle]=\"parameters?.CssStyles\"\n [style.position]=\"(mask$ | async) ? 'relative' : null\"\n [workflowButtons]=\"(workflowButtons$ | async)!!\"\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [formContentMaxWidth]=\"formContentMaxWidth\"\n [parameters]=\"parameters\"\n [fullscreen]=\"fullscreen\"\n [hideFooter]=\"hideFooter\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [footerDesign]=\"footerDesign\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [circleAvatar]=\"(circleAvatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (fullscreenRequest)=\"onFullscreen()\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n}\n", styles: [":host{display:block;width:100%;min-height:100%}:host.fullscreen{position:fixed;top:0}.workflow-buttons{display:flex;margin-top:5px;padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "component", type: i4.FundamentalDynamicFormComponent, selector: "bsu-fundamental-dynamic-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "circleAvatar", "rtl", "hideFooter", "hideTitle", "hideClose", "hidePin", "fullscreen", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "formVisibilityStatus", "layoutGridCol", "colLg", "colXl", "colMd", "footerDesign", "formContentMaxWidth", "workflowButtons"], outputs: ["toolbarClick", "workflowChoiceClick", "close", "fullscreenRequest"] }, { kind: "component", type: i5.BarsaSimpleFormComponent, selector: "bsu-barsa-simple-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "rtl", "isModal", "hideTitle", "hideClose", "hidePin", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "workflowButtons", "layoutGridCol", "colLg", "colXl", "colMd", "formContentMaxWidth", "formVisibilityStatus"], outputs: ["toolbarClick", "workflowChoiceClick", "close"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TlbButtonsPipe, name: "tlbButtons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiFormPanelComponent, selector: "bsu-ui-form-panel", host: { properties: { "attr.typeDefName": "this._typeDefName", "attr.viewName": "this._viewName" } }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "@if (isSearchPanel || (isSimple$ | async) || isSubForm || isModal || isFormReport || parameters?.IsSimple) {\n<bsu-barsa-simple-form\n [cssStyle]=\"parameters?.CssStyles\"\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [isModal]=\"isModal\"\n [formContentMaxWidth]=\"formContentMaxWidth\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [workflowButtons]=\"(workflowButtons$ | async)!!\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [circleAvatar]=\"(circleAvatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-barsa-simple-form>\n} @else {\n<bsu-fundamental-dynamic-form\n [cssStyle]=\"parameters?.CssStyles\"\n [style.position]=\"(mask$ | async) ? 'relative' : null\"\n [workflowButtons]=\"(workflowButtons$ | async)!!\"\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [formContentMaxWidth]=\"formContentMaxWidth\"\n [parameters]=\"parameters\"\n [fullscreen]=\"fullscreen\"\n [hideFooter]=\"hideFooter\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [footerDesign]=\"footerDesign\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [circleAvatar]=\"(circleAvatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (fullscreenRequest)=\"onFullscreen()\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n}\n", styles: [":host{display:block;width:100%;min-height:100%}:host.fullscreen{position:fixed;top:0}.workflow-buttons{display:flex;margin-top:5px;padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "component", type: i4.FundamentalDynamicFormComponent, selector: "bsu-fundamental-dynamic-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "circleAvatar", "rtl", "hideFooter", "hideTitle", "hideClose", "hidePin", "fullscreen", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "formVisibilityStatus", "layoutGridCol", "colLg", "colXl", "colMd", "footerDesign", "formContentMaxWidth", "workflowButtons"], outputs: ["toolbarClick", "workflowChoiceClick", "close", "fullscreenRequest"] }, { kind: "component", type: i5.BarsaSimpleFormComponent, selector: "bsu-barsa-simple-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "rtl", "isModal", "hideTitle", "hideClose", "hidePin", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "workflowButtons", "layoutGridCol", "colLg", "colXl", "colMd", "formContentMaxWidth", "formVisibilityStatus"], outputs: ["toolbarClick", "workflowChoiceClick", "close"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TlbButtonsPipe, name: "tlbButtons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
87
|
}
|
|
86
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiFormPanelComponent, decorators: [{
|
|
87
89
|
type: Component,
|
|
@@ -91,5 +93,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
91
93
|
}] }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i3.ContentDensityService }], propDecorators: { _typeDefName: [{
|
|
92
94
|
type: HostBinding,
|
|
93
95
|
args: ['attr.typeDefName']
|
|
96
|
+
}], _viewName: [{
|
|
97
|
+
type: HostBinding,
|
|
98
|
+
args: ['attr.viewName']
|
|
94
99
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZm9ybS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1mb3JtLXBhbmVsL3VpLWZvcm0tcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZm9ybS1wYW5lbC91aS1mb3JtLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFdBQVcsRUFFWCxJQUFJLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEQsT0FBTyxFQUNILGlCQUFpQixFQUdqQixnQkFBZ0IsRUFHaEIsNkJBQTZCLEVBQzdCLGVBQWUsRUFDZixRQUFRLEVBSVgsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQVd2RCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QixFQUN2QixzQkFBNkM7UUFFdkQsS0FBSyxDQUNELGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsT0FBTyxFQUNQLEdBQUcsRUFDSCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixJQUFJLENBQ1AsQ0FBQztRQW5CUSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDckIsc0JB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QVUsR0FBRyxVQUFVLEVBQUUsaUJBQWlCLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM5RSxDQUFDOzhHQWpHUSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwrR0FGbEIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENqQ2pDLGswSUErRkE7OzJGRDVEYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQzs7MEJBbUJ4QixJQUFJOzBJQWhCd0IsWUFBWTtzQkFBNUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uSW5pdCxcbiAgICBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFyRGVzaWduVHlwZSwgQ29udGVudERlbnNpdHksIENvbnRlbnREZW5zaXR5U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRm9ybUJhc2VDb21wb25lbnQsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBCcmVhZENydW1iSW5mbyxcbiAgICBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgIENvbnRyb2xVaVBpcGUsXG4gICAgRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQsXG4gICAgRmluZFRvb2xiYXJJdGVtLFxuICAgIEJhcnNhQXBpLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgRWpyYXlPbGdvLFxuICAgIE1vRm9yUmVwb3J0TW9kZWxcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1mb3JtLXBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZm9ybS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZm9ybS1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFVpRm9ybVBhbmVsQ29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlRGVmTmFtZScpIF90eXBlRGVmTmFtZSA9ICcnO1xuXG4gICAgYnJlYWRDcnVtYnMkOiBPYnNlcnZhYmxlPEJyZWFkQ3J1bWJJbmZvW10+O1xuICAgIGNvbnRlbnREZW5zaXR5JDogT2JzZXJ2YWJsZTxDb250ZW50RGVuc2l0eT47XG4gICAgY2FuU2VuZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZXh0ZW5kTGF5b3V0OTQkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgcGFyYW1ldGVyczogRm9ybVBhbmVsU2V0dGluZztcbiAgICBmb3JtQ29udGVudE1heFdpZHRoOiBudW1iZXI7XG4gICAgZm9vdGVyRGVzaWduOiBCYXJEZXNpZ25UeXBlO1xuICAgIGhpZGVGb290ZXI6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY29udHJvbFVpUGlwZTogQ29udHJvbFVpUGlwZSxcbiAgICAgICAgQFNlbGYoKSBwcm90ZWN0ZWQgX2Zvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBfYnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgICAgICAgICBfcG9ydGFsU2VydmljZSxcbiAgICAgICAgICAgIF9yb3V0ZXIsXG4gICAgICAgICAgICBfZWwsXG4gICAgICAgICAgICBfY29udHJvbFVpUGlwZSxcbiAgICAgICAgICAgIF9mb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgX2NkclxuICAgICAgICApO1xuICAgICAgICB0aGlzLmJyZWFkQ3J1bWJzJCA9IF9icmVhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQ7XG4gICAgICAgIHRoaXMuY29udGVudERlbnNpdHkkID0gX2NvbnRlbnREZW5zaXR5U2VydmljZS5jb250ZW50RGVuc2l0eTtcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IF9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xuICAgICAgICB0aGlzLmRpclZhbHVlJCA9IF9wb3J0YWxTZXJ2aWNlLmRpclZhbHVlJDtcbiAgICAgICAgdGhpcy5ydGwkID0gX3BvcnRhbFNlcnZpY2UucnRsJDtcbiAgICAgICAgdGhpcy5jYW5TZW5kJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY2FuU2VuZCQ7XG5cbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tbyQuc3Vic2NyaWJlKChjKSA9PiAodGhpcy5fdHlwZURlZk5hbWUgPSBjPy4kVHlwZURlZk5hbWUgPz8gJycpKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnM7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRlbnRNYXhXaWR0aCA9IHBhcmFtZXRlcnM/LkZvcm1Db250ZW50TWF4V2lkdGg7XG4gICAgICAgIHRoaXMuaGlkZUZvb3RlciA9IHBhcmFtZXRlcnM/LkhpZGVGb290ZXI7XG4gICAgICAgIHRoaXMuZm9vdGVyRGVzaWduID0gcGFyYW1ldGVycz8uRm9vdGVyRGVzaW5nJENhcHRpb247XG4gICAgICAgIHRoaXMuZXh0ZW5kVG9vbGJhckl0ZW1zJCA9IHRoaXMudG9vbGJhckl0ZW1zJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgdGFwKCh0b29sYmFySXRlbXMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVycz8uRm9ybUxheW91dEl0ZW1zU2V0dGluZykge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLkZvcm1MYXlvdXRJdGVtc1NldHRpbmcuTW9EYXRhTGlzdC5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b29sYmFySXRlbSA9IEZpbmRUb29sYmFySXRlbSh0b29sYmFySXRlbXMsIHNldHRpbmcuVGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRvb2xiYXJJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2UodG9vbGJhckl0ZW0sIHNldHRpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/LlNhdmVCdXR0b25DdXN0b21VaT8uU2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2F2ZUl0ZW0gPSBGaW5kVG9vbGJhckl0ZW0odG9vbGJhckl0ZW1zLCAnU2F2ZUFuZENsb3NlJywgJ2l0ZW1JZCcpO1xuICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZShzYXZlSXRlbSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0YTogeyBDdXN0b21VaTogcGFyYW1ldGVycy5TYXZlQnV0dG9uQ3VzdG9tVWkgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/Lk9rQnV0dG9uQ3VzdG9tVWk/LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9rSXRlbSA9IEZpbmRUb29sYmFySXRlbSh0b29sYmFySXRlbXMsICdPaycsICdpdGVtSWQnKTtcbiAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2Uob2tJdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRhOiB7IEN1c3RvbVVpOiBwYXJhbWV0ZXJzLk9rQnV0dG9uQ3VzdG9tVWkgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/LkNhbmNlbEJ1dHRvbkN1c3RvbVVpPy5TZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5jZWxJdGVtID0gRmluZFRvb2xiYXJJdGVtKHRvb2xiYXJJdGVtcywgJ0NhbmNlbCcsICdpdGVtSWQnKTtcbiAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2UoY2FuY2VsSXRlbSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0YTogeyBDdXN0b21VaTogcGFyYW1ldGVycy5DYW5jZWxCdXR0b25DdXN0b21VaSB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZXh0ZW5kTGF5b3V0OTQkID0gdGhpcy5sYXlvdXQ5NCQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgIHRhcCgobGF5b3V0OTQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVycz8uRm9ybUxheW91dEl0ZW1zU2V0dGluZykge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLkZvcm1MYXlvdXRJdGVtc1NldHRpbmcuTW9EYXRhTGlzdC5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXlvdXRJdGVtID0gRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQobGF5b3V0OTQsIHNldHRpbmcuVGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxheW91dEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5b3V0SXRlbS5UeXBlID09PSAnTGF5b3V0Q29udHJvbEl0ZW0nICYmIGxheW91dEl0ZW0uRmllbGRVaSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZShsYXlvdXRJdGVtLkZpZWxkVWkuU2V0dGluZywgc2V0dGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2UobGF5b3V0SXRlbSwgc2V0dGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IHBhcmFtZXRlcnM/LkZ1bGxzY3JlZW5EZWZhdWx0ID09PSB0cnVlICYmICF0aGlzLmlzTW9kYWw7XG4gICAgfVxufVxuaW50ZXJmYWNlIEZvcm1QYW5lbFNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBMYXlvdXRDb21wb25lbnQ6IEVqcmF5T2xnbztcbiAgICBIZWFkZXJDb21wb25lbnQ6IEVqcmF5T2xnbztcbiAgICBGb290ZXJDb21wb25lbnQ6IEVqcmF5T2xnbztcbiAgICBTYXZlQnV0dG9uQ3VzdG9tVWk6IEVqcmF5T2xnbztcbiAgICBPa0J1dHRvbkN1c3RvbVVpOiBFanJheU9sZ287XG4gICAgQ2FuY2VsQnV0dG9uQ3VzdG9tVWk6IEVqcmF5T2xnbztcbiAgICBGb3JtTGF5b3V0SXRlbXNTZXR0aW5nOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIEZ1bGxzY3JlZW5EZWZhdWx0OiBib29sZWFuO1xuICAgIENhbkZ1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgSXNTaW1wbGU6IGJvb2xlYW47XG4gICAgSXNNb2RhbDogYm9vbGVhbjtcbiAgICBDc3NTdHlsZXM6IHN0cmluZztcbiAgICBDYW5Nb3ZlOiBib29sZWFuO1xuICAgIENhblJlc2l6ZTogYm9vbGVhbjtcbiAgICBDb250ZW50SXNQYWdlOiBib29sZWFuO1xuICAgIExheW91dEdyaWRDb2w6IG51bWJlcjtcbiAgICBDb2xMZzogbnVtYmVyO1xuICAgIENvbFhsOiBudW1iZXI7XG4gICAgQ29sTWQ6IG51bWJlcjtcbn1cbiIsIkBpZiAoaXNTZWFyY2hQYW5lbCB8fCAoaXNTaW1wbGUkIHwgYXN5bmMpIHx8IGlzU3ViRm9ybSB8fCBpc01vZGFsIHx8IGlzRm9ybVJlcG9ydCB8fCBwYXJhbWV0ZXJzPy5Jc1NpbXBsZSkge1xuPGJzdS1iYXJzYS1zaW1wbGUtZm9ybVxuICAgIFtjc3NTdHlsZV09XCJwYXJhbWV0ZXJzPy5Dc3NTdHlsZXNcIlxuICAgIFtjYW5TZW5kXT1cIihjYW5TZW5kJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW2Zvcm1WaXNpYmlsaXR5U3RhdHVzXT1cImZvcm1WaXNpYmlsaXR5U3RhdHVzXCJcbiAgICBbcmVtb3ZlQ29udGVudFBhZGRpbmddPVwiKGhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJCB8IGFzeW5jKSEhXCJcbiAgICBbYnJlYWRDcnVtYnNdPVwiYnJlYWRDcnVtYnMkIHwgYXN5bmNcIlxuICAgIFtkZXNjcmlwdGlvbl09XCIoaGVhZGVyRGVzY3JpcHRpb24kIHwgYXN5bmMpISFcIlxuICAgIFtoaWRlQ2xvc2VdPVwiKGhpZGVDbG9zZSQgfCBhc3luYykhIVwiXG4gICAgW2hpZGVUaXRsZV09XCIoaGlkZVRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbaGlkZVBpbl09XCIoaGlkZVBpbiQgfCBhc3luYykhIVwiXG4gICAgW3RpdGxlXT1cIih0aXRsZSQgfCBhc3luYykhIVwiXG4gICAgW2lzTW9kYWxdPVwiaXNNb2RhbFwiXG4gICAgW2Zvcm1Db250ZW50TWF4V2lkdGhdPVwiZm9ybUNvbnRlbnRNYXhXaWR0aFwiXG4gICAgW3N1YnRpdGxlXT1cIihoZWFkZXJTdWJ0aXRsZSQgfCBhc3luYykhIVwiXG4gICAgW3Rvb2xiYXJJdGVtc109XCJleHRlbmRUb29sYmFySXRlbXMkIHwgYXN5bmMgfCB0bGJCdXR0b25zOiAnaW5Gb290ZXInOmZhbHNlXCJcbiAgICBbbGF5b3V0QWN0aW9uc109XCJleHRlbmRUb29sYmFySXRlbXMkIHwgYXN5bmMgfCB0bGJCdXR0b25zOiAnaW5Gb290ZXInOnRydWVcIlxuICAgIFt0b29sYmFyVmlzaWJsZV09XCIodG9vbGJhclZpc2libGUkIHwgYXN5bmMpISFcIlxuICAgIFtmYWNldExpc3RdPVwiKGhlYWRlckxheW91dCQgfCBhc3luYyk/LkZhY2V0TGlzdDJcIlxuICAgIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNcIlxuICAgIFt3b3JrZmxvd1BhbmVsVWldPVwid29ya2Zsb3dQYW5lbFVpJCB8IGFzeW5jXCJcbiAgICBbd29ya2Zsb3dCdXR0b25zXT1cIih3b3JrZmxvd0J1dHRvbnMkIHwgYXN5bmMpISFcIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2xheW91dDk0XT1cImV4dGVuZExheW91dDk0JCB8IGFzeW5jXCJcbiAgICBbbGF5b3V0R3JpZENvbF09XCIrKHBhcmFtZXRlcnM/LkxheW91dEdyaWRDb2wgfHwgMTIpXCJcbiAgICBbY29sTGddPVwiKyhwYXJhbWV0ZXJzPy5Db2xMZyB8fCAwKVwiXG4gICAgW2NvbFhsXT1cIisocGFyYW1ldGVycz8uQ29sWGwgfHwgMClcIlxuICAgIFtjb2xNZF09XCIrKHBhcmFtZXRlcnM/LkNvbE1kIHx8IDApXCJcbiAgICBbcnRsXT1cIihydGwkIHwgYXN5bmMpISFcIlxuICAgIFttYXNrXT1cIihtYXNrJCB8IGFzeW5jKSEhXCJcbiAgICBbbW9dPVwiKG1vJCB8IGFzeW5jKSEhXCJcbiAgICBbZGlyVmFsdWVdPVwiKGRpclZhbHVlJCB8IGFzeW5jKSEhXCJcbiAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXG4gICAgW2NvbnRlbnREZW5zaXR5XT1cIihjb250ZW50RGVuc2l0eSQgfCBhc3luYykhIVwiXG4gICAgW21vZGVyblRhYnNdPVwiKG1vZGVyblRhYnMkIHwgYXN5bmMpISFcIlxuICAgIFthdmF0YXJdPVwiKGF2YXRhciQgfCBhc3luYykhIVwiXG4gICAgW2NpcmNsZUF2YXRhcl09XCIoY2lyY2xlQXZhdGFyJCB8IGFzeW5jKSEhXCJcbiAgICBbZmllbGREaWN0XT1cIihmaWVsZERpY3QkIHwgYXN5bmMpISFcIlxuICAgIFtsYW5kc2NhcGVdPVwiKGxhbmRzY2FwZSQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIFtzdGFuZGFsb25lXT1cIihzdGFuZGFsb25lJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2UoKVwiXG4gICAgKHRvb2xiYXJDbGljayk9XCJvblRvb2xiYXJDbGljaygkZXZlbnQpXCJcbiAgICBbY29udGVudElzUGFnZV09XCJwYXJhbWV0ZXJzPy5Db250ZW50SXNQYWdlID09PSB0cnVlXCJcbiAgICAod29ya2Zsb3dDaG9pY2VDbGljayk9XCJvbldvcmtmbG93Q2hvaWNlQ2xpY2soJGV2ZW50KVwiXG4+PC9ic3UtYmFyc2Etc2ltcGxlLWZvcm0+XG59IEBlbHNlIHtcbjxic3UtZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtXG4gICAgW2Nzc1N0eWxlXT1cInBhcmFtZXRlcnM/LkNzc1N0eWxlc1wiXG4gICAgW3N0eWxlLnBvc2l0aW9uXT1cIihtYXNrJCB8IGFzeW5jKSA/ICdyZWxhdGl2ZScgOiBudWxsXCJcbiAgICBbd29ya2Zsb3dCdXR0b25zXT1cIih3b3JrZmxvd0J1dHRvbnMkIHwgYXN5bmMpISFcIlxuICAgIFtjYW5TZW5kXT1cIihjYW5TZW5kJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW2Zvcm1WaXNpYmlsaXR5U3RhdHVzXT1cImZvcm1WaXNpYmlsaXR5U3RhdHVzXCJcbiAgICBbcmVtb3ZlQ29udGVudFBhZGRpbmddPVwiKGhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJCB8IGFzeW5jKSEhXCJcbiAgICBbYnJlYWRDcnVtYnNdPVwiYnJlYWRDcnVtYnMkIHwgYXN5bmNcIlxuICAgIFtkZXNjcmlwdGlvbl09XCIoaGVhZGVyRGVzY3JpcHRpb24kIHwgYXN5bmMpISFcIlxuICAgIFtoaWRlQ2xvc2VdPVwiKGhpZGVDbG9zZSQgfCBhc3luYykhIVwiXG4gICAgW2hpZGVUaXRsZV09XCIoaGlkZVRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbaGlkZVBpbl09XCIoaGlkZVBpbiQgfCBhc3luYykhIVwiXG4gICAgW3RpdGxlXT1cIih0aXRsZSQgfCBhc3luYykhIVwiXG4gICAgW3N1YnRpdGxlXT1cIihoZWFkZXJTdWJ0aXRsZSQgfCBhc3luYykhIVwiXG4gICAgW3Rvb2xiYXJJdGVtc109XCJleHRlbmRUb29sYmFySXRlbXMkIHwgYXN5bmMgfCB0bGJCdXR0b25zOiAnaW5Gb290ZXInOmZhbHNlXCJcbiAgICBbbGF5b3V0QWN0aW9uc109XCJleHRlbmRUb29sYmFySXRlbXMkIHwgYXN5bmMgfCB0bGJCdXR0b25zOiAnaW5Gb290ZXInOnRydWVcIlxuICAgIFt0b29sYmFyVmlzaWJsZV09XCIodG9vbGJhclZpc2libGUkIHwgYXN5bmMpISFcIlxuICAgIFtmYWNldExpc3RdPVwiKGhlYWRlckxheW91dCQgfCBhc3luYyk/LkZhY2V0TGlzdDJcIlxuICAgIFtmb3JtQ29udGVudE1heFdpZHRoXT1cImZvcm1Db250ZW50TWF4V2lkdGhcIlxuICAgIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNcIlxuICAgIFtmdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIlxuICAgIFtoaWRlRm9vdGVyXT1cImhpZGVGb290ZXJcIlxuICAgIFt3b3JrZmxvd1BhbmVsVWldPVwid29ya2Zsb3dQYW5lbFVpJCB8IGFzeW5jXCJcbiAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgIFtsYXlvdXQ5NF09XCJleHRlbmRMYXlvdXQ5NCQgfCBhc3luY1wiXG4gICAgW3J0bF09XCIocnRsJCB8IGFzeW5jKSEhXCJcbiAgICBbbGF5b3V0R3JpZENvbF09XCIrKHBhcmFtZXRlcnM/LkxheW91dEdyaWRDb2wgfHwgMTIpXCJcbiAgICBbY29sTGddPVwiKyhwYXJhbWV0ZXJzPy5Db2xMZyB8fCAwKVwiXG4gICAgW2NvbFhsXT1cIisocGFyYW1ldGVycz8uQ29sWGwgfHwgMClcIlxuICAgIFtjb2xNZF09XCIrKHBhcmFtZXRlcnM/LkNvbE1kIHx8IDApXCJcbiAgICBbZm9vdGVyRGVzaWduXT1cImZvb3RlckRlc2lnblwiXG4gICAgW21hc2tdPVwiKG1hc2skIHwgYXN5bmMpISFcIlxuICAgIFttb109XCIobW8kIHwgYXN5bmMpISFcIlxuICAgIFtkaXJWYWx1ZV09XCIoZGlyVmFsdWUkIHwgYXN5bmMpISFcIlxuICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcbiAgICBbY29udGVudERlbnNpdHldPVwiKGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jKSEhXCJcbiAgICBbbW9kZXJuVGFic109XCIobW9kZXJuVGFicyQgfCBhc3luYykhIVwiXG4gICAgW2F2YXRhcl09XCIoYXZhdGFyJCB8IGFzeW5jKSEhXCJcbiAgICBbY2lyY2xlQXZhdGFyXT1cIihjaXJjbGVBdmF0YXIkIHwgYXN5bmMpISFcIlxuICAgIFtmaWVsZERpY3RdPVwiKGZpZWxkRGljdCQgfCBhc3luYykhIVwiXG4gICAgW2xhbmRzY2FwZV09XCIobGFuZHNjYXBlJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW3N0YW5kYWxvbmVdPVwiKHN0YW5kYWxvbmUkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICAoZnVsbHNjcmVlblJlcXVlc3QpPVwib25GdWxsc2NyZWVuKClcIlxuICAgIChjbG9zZSk9XCJvbkNsb3NlKClcIlxuICAgICh0b29sYmFyQ2xpY2spPVwib25Ub29sYmFyQ2xpY2soJGV2ZW50KVwiXG4gICAgW2NvbnRlbnRJc1BhZ2VdPVwicGFyYW1ldGVycz8uQ29udGVudElzUGFnZSA9PT0gdHJ1ZVwiXG4gICAgKHdvcmtmbG93Q2hvaWNlQ2xpY2spPVwib25Xb3JrZmxvd0Nob2ljZUNsaWNrKCRldmVudClcIlxuPjwvYnN1LWZ1bmRhbWVudGFsLWR5bmFtaWMtZm9ybT5cbn1cbiJdfQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZm9ybS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1mb3JtLXBhbmVsL3VpLWZvcm0tcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZm9ybS1wYW5lbC91aS1mb3JtLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFdBQVcsRUFFWCxJQUFJLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEQsT0FBTyxFQUNILGlCQUFpQixFQUdqQixnQkFBZ0IsRUFHaEIsNkJBQTZCLEVBQzdCLGVBQWUsRUFDZixRQUFRLEVBSVgsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQVl2RCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QixFQUN2QixzQkFBNkM7UUFFdkQsS0FBSyxDQUNELGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsT0FBTyxFQUNQLEdBQUcsRUFDSCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixJQUFJLENBQ1AsQ0FBQztRQW5CUSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDckIsc0JB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Q0osUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDMUQsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsRUFBRSxpQkFBaUIsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlFLENBQUM7OEdBbkdRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGtKQUZsQixDQUFDLGdCQUFnQixDQUFDLGlEQ2pDakMsazBJQStGQTs7MkZENURhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDOzswQkFvQnhCLElBQUk7MElBakJ3QixZQUFZO3NCQUE1QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDRCxTQUFTO3NCQUF0QyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uSW5pdCxcbiAgICBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFyRGVzaWduVHlwZSwgQ29udGVudERlbnNpdHksIENvbnRlbnREZW5zaXR5U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRm9ybUJhc2VDb21wb25lbnQsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBCcmVhZENydW1iSW5mbyxcbiAgICBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgIENvbnRyb2xVaVBpcGUsXG4gICAgRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQsXG4gICAgRmluZFRvb2xiYXJJdGVtLFxuICAgIEJhcnNhQXBpLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgRWpyYXlPbGdvLFxuICAgIE1vRm9yUmVwb3J0TW9kZWxcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1mb3JtLXBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZm9ybS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZm9ybS1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFVpRm9ybVBhbmVsQ29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlRGVmTmFtZScpIF90eXBlRGVmTmFtZSA9ICcnO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci52aWV3TmFtZScpIF92aWV3TmFtZSA9ICcnO1xuXG4gICAgYnJlYWRDcnVtYnMkOiBPYnNlcnZhYmxlPEJyZWFkQ3J1bWJJbmZvW10+O1xuICAgIGNvbnRlbnREZW5zaXR5JDogT2JzZXJ2YWJsZTxDb250ZW50RGVuc2l0eT47XG4gICAgY2FuU2VuZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZXh0ZW5kTGF5b3V0OTQkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgcGFyYW1ldGVyczogRm9ybVBhbmVsU2V0dGluZztcbiAgICBmb3JtQ29udGVudE1heFdpZHRoOiBudW1iZXI7XG4gICAgZm9vdGVyRGVzaWduOiBCYXJEZXNpZ25UeXBlO1xuICAgIGhpZGVGb290ZXI6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY29udHJvbFVpUGlwZTogQ29udHJvbFVpUGlwZSxcbiAgICAgICAgQFNlbGYoKSBwcm90ZWN0ZWQgX2Zvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBfYnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgICAgICAgICBfcG9ydGFsU2VydmljZSxcbiAgICAgICAgICAgIF9yb3V0ZXIsXG4gICAgICAgICAgICBfZWwsXG4gICAgICAgICAgICBfY29udHJvbFVpUGlwZSxcbiAgICAgICAgICAgIF9mb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgX2NkclxuICAgICAgICApO1xuICAgICAgICB0aGlzLmJyZWFkQ3J1bWJzJCA9IF9icmVhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQ7XG4gICAgICAgIHRoaXMuY29udGVudERlbnNpdHkkID0gX2NvbnRlbnREZW5zaXR5U2VydmljZS5jb250ZW50RGVuc2l0eTtcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IF9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xuICAgICAgICB0aGlzLmRpclZhbHVlJCA9IF9wb3J0YWxTZXJ2aWNlLmRpclZhbHVlJDtcbiAgICAgICAgdGhpcy5ydGwkID0gX3BvcnRhbFNlcnZpY2UucnRsJDtcbiAgICAgICAgdGhpcy5jYW5TZW5kJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY2FuU2VuZCQ7XG5cbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tbyQuc3Vic2NyaWJlKChjKSA9PiAodGhpcy5fdHlwZURlZk5hbWUgPSBjPy4kVHlwZURlZk5hbWUgPz8gJycpKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS52aWV3JC5zdWJzY3JpYmUoKGMpID0+ICh0aGlzLl92aWV3TmFtZSA9IGM/LlR5cGVWaWV3TmFtZSA/PyAnJykpO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycztcbiAgICAgICAgdGhpcy5mb3JtQ29udGVudE1heFdpZHRoID0gcGFyYW1ldGVycz8uRm9ybUNvbnRlbnRNYXhXaWR0aDtcbiAgICAgICAgdGhpcy5oaWRlRm9vdGVyID0gcGFyYW1ldGVycz8uSGlkZUZvb3RlcjtcbiAgICAgICAgdGhpcy5mb290ZXJEZXNpZ24gPSBwYXJhbWV0ZXJzPy5Gb290ZXJEZXNpbmckQ2FwdGlvbjtcbiAgICAgICAgdGhpcy5leHRlbmRUb29sYmFySXRlbXMkID0gdGhpcy50b29sYmFySXRlbXMkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICB0YXAoKHRvb2xiYXJJdGVtcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzPy5Gb3JtTGF5b3V0SXRlbXNTZXR0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMuRm9ybUxheW91dEl0ZW1zU2V0dGluZy5Nb0RhdGFMaXN0LmZvckVhY2goKHNldHRpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvb2xiYXJJdGVtID0gRmluZFRvb2xiYXJJdGVtKHRvb2xiYXJJdGVtcywgc2V0dGluZy5UaXRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9vbGJhckl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZSh0b29sYmFySXRlbSwgc2V0dGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVycz8uU2F2ZUJ1dHRvbkN1c3RvbVVpPy5TZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzYXZlSXRlbSA9IEZpbmRUb29sYmFySXRlbSh0b29sYmFySXRlbXMsICdTYXZlQW5kQ2xvc2UnLCAnaXRlbUlkJyk7XG4gICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5NZXJnZXIuRmFzdE1lcmdlKHNhdmVJdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRhOiB7IEN1c3RvbVVpOiBwYXJhbWV0ZXJzLlNhdmVCdXR0b25DdXN0b21VaSB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVycz8uT2tCdXR0b25DdXN0b21VaT8uU2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2tJdGVtID0gRmluZFRvb2xiYXJJdGVtKHRvb2xiYXJJdGVtcywgJ09rJywgJ2l0ZW1JZCcpO1xuICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZShva0l0ZW0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIERhdGE6IHsgQ3VzdG9tVWk6IHBhcmFtZXRlcnMuT2tCdXR0b25DdXN0b21VaSB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVycz8uQ2FuY2VsQnV0dG9uQ3VzdG9tVWk/LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhbmNlbEl0ZW0gPSBGaW5kVG9vbGJhckl0ZW0odG9vbGJhckl0ZW1zLCAnQ2FuY2VsJywgJ2l0ZW1JZCcpO1xuICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZShjYW5jZWxJdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRhOiB7IEN1c3RvbVVpOiBwYXJhbWV0ZXJzLkNhbmNlbEJ1dHRvbkN1c3RvbVVpIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5leHRlbmRMYXlvdXQ5NCQgPSB0aGlzLmxheW91dDk0JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgdGFwKChsYXlvdXQ5NCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzPy5Gb3JtTGF5b3V0SXRlbXNTZXR0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMuRm9ybUxheW91dEl0ZW1zU2V0dGluZy5Nb0RhdGFMaXN0LmZvckVhY2goKHNldHRpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheW91dEl0ZW0gPSBGaW5kTGF5b3V0U2V0dGluZ0Zyb21MYXlvdXQ5NChsYXlvdXQ5NCwgc2V0dGluZy5UaXRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5b3V0SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXlvdXRJdGVtLlR5cGUgPT09ICdMYXlvdXRDb250cm9sSXRlbScgJiYgbGF5b3V0SXRlbS5GaWVsZFVpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5NZXJnZXIuRmFzdE1lcmdlKGxheW91dEl0ZW0uRmllbGRVaS5TZXR0aW5nLCBzZXR0aW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZShsYXlvdXRJdGVtLCBzZXR0aW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuID0gcGFyYW1ldGVycz8uRnVsbHNjcmVlbkRlZmF1bHQgPT09IHRydWUgJiYgIXRoaXMuaXNNb2RhbDtcbiAgICB9XG59XG5pbnRlcmZhY2UgRm9ybVBhbmVsU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIExheW91dENvbXBvbmVudDogRWpyYXlPbGdvO1xuICAgIEhlYWRlckNvbXBvbmVudDogRWpyYXlPbGdvO1xuICAgIEZvb3RlckNvbXBvbmVudDogRWpyYXlPbGdvO1xuICAgIFNhdmVCdXR0b25DdXN0b21VaTogRWpyYXlPbGdvO1xuICAgIE9rQnV0dG9uQ3VzdG9tVWk6IEVqcmF5T2xnbztcbiAgICBDYW5jZWxCdXR0b25DdXN0b21VaTogRWpyYXlPbGdvO1xuICAgIEZvcm1MYXlvdXRJdGVtc1NldHRpbmc6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgRnVsbHNjcmVlbkRlZmF1bHQ6IGJvb2xlYW47XG4gICAgQ2FuRnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgICBJc1NpbXBsZTogYm9vbGVhbjtcbiAgICBJc01vZGFsOiBib29sZWFuO1xuICAgIENzc1N0eWxlczogc3RyaW5nO1xuICAgIENhbk1vdmU6IGJvb2xlYW47XG4gICAgQ2FuUmVzaXplOiBib29sZWFuO1xuICAgIENvbnRlbnRJc1BhZ2U6IGJvb2xlYW47XG4gICAgTGF5b3V0R3JpZENvbDogbnVtYmVyO1xuICAgIENvbExnOiBudW1iZXI7XG4gICAgQ29sWGw6IG51bWJlcjtcbiAgICBDb2xNZDogbnVtYmVyO1xufVxuIiwiQGlmIChpc1NlYXJjaFBhbmVsIHx8IChpc1NpbXBsZSQgfCBhc3luYykgfHwgaXNTdWJGb3JtIHx8IGlzTW9kYWwgfHwgaXNGb3JtUmVwb3J0IHx8IHBhcmFtZXRlcnM/LklzU2ltcGxlKSB7XG48YnN1LWJhcnNhLXNpbXBsZS1mb3JtXG4gICAgW2Nzc1N0eWxlXT1cInBhcmFtZXRlcnM/LkNzc1N0eWxlc1wiXG4gICAgW2NhblNlbmRdPVwiKGNhblNlbmQkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbZm9ybVZpc2liaWxpdHlTdGF0dXNdPVwiZm9ybVZpc2liaWxpdHlTdGF0dXNcIlxuICAgIFtyZW1vdmVDb250ZW50UGFkZGluZ109XCIoaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckIHwgYXN5bmMpISFcIlxuICAgIFticmVhZENydW1ic109XCJicmVhZENydW1icyQgfCBhc3luY1wiXG4gICAgW2Rlc2NyaXB0aW9uXT1cIihoZWFkZXJEZXNjcmlwdGlvbiQgfCBhc3luYykhIVwiXG4gICAgW2hpZGVDbG9zZV09XCIoaGlkZUNsb3NlJCB8IGFzeW5jKSEhXCJcbiAgICBbaGlkZVRpdGxlXT1cIihoaWRlVGl0bGUkIHwgYXN5bmMpISFcIlxuICAgIFtoaWRlUGluXT1cIihoaWRlUGluJCB8IGFzeW5jKSEhXCJcbiAgICBbdGl0bGVdPVwiKHRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbaXNNb2RhbF09XCJpc01vZGFsXCJcbiAgICBbZm9ybUNvbnRlbnRNYXhXaWR0aF09XCJmb3JtQ29udGVudE1heFdpZHRoXCJcbiAgICBbc3VidGl0bGVdPVwiKGhlYWRlclN1YnRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbdG9vbGJhckl0ZW1zXT1cImV4dGVuZFRvb2xiYXJJdGVtcyQgfCBhc3luYyB8IHRsYkJ1dHRvbnM6ICdpbkZvb3Rlcic6ZmFsc2VcIlxuICAgIFtsYXlvdXRBY3Rpb25zXT1cImV4dGVuZFRvb2xiYXJJdGVtcyQgfCBhc3luYyB8IHRsYkJ1dHRvbnM6ICdpbkZvb3Rlcic6dHJ1ZVwiXG4gICAgW3Rvb2xiYXJWaXNpYmxlXT1cIih0b29sYmFyVmlzaWJsZSQgfCBhc3luYykhIVwiXG4gICAgW2ZhY2V0TGlzdF09XCIoaGVhZGVyTGF5b3V0JCB8IGFzeW5jKT8uRmFjZXRMaXN0MlwiXG4gICAgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVyc1wiXG4gICAgW3dvcmtmbG93UGFuZWxVaV09XCJ3b3JrZmxvd1BhbmVsVWkkIHwgYXN5bmNcIlxuICAgIFt3b3JrZmxvd0J1dHRvbnNdPVwiKHdvcmtmbG93QnV0dG9ucyQgfCBhc3luYykhIVwiXG4gICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICBbbGF5b3V0OTRdPVwiZXh0ZW5kTGF5b3V0OTQkIHwgYXN5bmNcIlxuICAgIFtsYXlvdXRHcmlkQ29sXT1cIisocGFyYW1ldGVycz8uTGF5b3V0R3JpZENvbCB8fCAxMilcIlxuICAgIFtjb2xMZ109XCIrKHBhcmFtZXRlcnM/LkNvbExnIHx8IDApXCJcbiAgICBbY29sWGxdPVwiKyhwYXJhbWV0ZXJzPy5Db2xYbCB8fCAwKVwiXG4gICAgW2NvbE1kXT1cIisocGFyYW1ldGVycz8uQ29sTWQgfHwgMClcIlxuICAgIFtydGxdPVwiKHJ0bCQgfCBhc3luYykhIVwiXG4gICAgW21hc2tdPVwiKG1hc2skIHwgYXN5bmMpISFcIlxuICAgIFttb109XCIobW8kIHwgYXN5bmMpISFcIlxuICAgIFtkaXJWYWx1ZV09XCIoZGlyVmFsdWUkIHwgYXN5bmMpISFcIlxuICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcbiAgICBbY29udGVudERlbnNpdHldPVwiKGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jKSEhXCJcbiAgICBbbW9kZXJuVGFic109XCIobW9kZXJuVGFicyQgfCBhc3luYykhIVwiXG4gICAgW2F2YXRhcl09XCIoYXZhdGFyJCB8IGFzeW5jKSEhXCJcbiAgICBbY2lyY2xlQXZhdGFyXT1cIihjaXJjbGVBdmF0YXIkIHwgYXN5bmMpISFcIlxuICAgIFtmaWVsZERpY3RdPVwiKGZpZWxkRGljdCQgfCBhc3luYykhIVwiXG4gICAgW2xhbmRzY2FwZV09XCIobGFuZHNjYXBlJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW3N0YW5kYWxvbmVdPVwiKHN0YW5kYWxvbmUkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICAoY2xvc2UpPVwib25DbG9zZSgpXCJcbiAgICAodG9vbGJhckNsaWNrKT1cIm9uVG9vbGJhckNsaWNrKCRldmVudClcIlxuICAgIFtjb250ZW50SXNQYWdlXT1cInBhcmFtZXRlcnM/LkNvbnRlbnRJc1BhZ2UgPT09IHRydWVcIlxuICAgICh3b3JrZmxvd0Nob2ljZUNsaWNrKT1cIm9uV29ya2Zsb3dDaG9pY2VDbGljaygkZXZlbnQpXCJcbj48L2JzdS1iYXJzYS1zaW1wbGUtZm9ybT5cbn0gQGVsc2Uge1xuPGJzdS1mdW5kYW1lbnRhbC1keW5hbWljLWZvcm1cbiAgICBbY3NzU3R5bGVdPVwicGFyYW1ldGVycz8uQ3NzU3R5bGVzXCJcbiAgICBbc3R5bGUucG9zaXRpb25dPVwiKG1hc2skIHwgYXN5bmMpID8gJ3JlbGF0aXZlJyA6IG51bGxcIlxuICAgIFt3b3JrZmxvd0J1dHRvbnNdPVwiKHdvcmtmbG93QnV0dG9ucyQgfCBhc3luYykhIVwiXG4gICAgW2NhblNlbmRdPVwiKGNhblNlbmQkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbZm9ybVZpc2liaWxpdHlTdGF0dXNdPVwiZm9ybVZpc2liaWxpdHlTdGF0dXNcIlxuICAgIFtyZW1vdmVDb250ZW50UGFkZGluZ109XCIoaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckIHwgYXN5bmMpISFcIlxuICAgIFticmVhZENydW1ic109XCJicmVhZENydW1icyQgfCBhc3luY1wiXG4gICAgW2Rlc2NyaXB0aW9uXT1cIihoZWFkZXJEZXNjcmlwdGlvbiQgfCBhc3luYykhIVwiXG4gICAgW2hpZGVDbG9zZV09XCIoaGlkZUNsb3NlJCB8IGFzeW5jKSEhXCJcbiAgICBbaGlkZVRpdGxlXT1cIihoaWRlVGl0bGUkIHwgYXN5bmMpISFcIlxuICAgIFtoaWRlUGluXT1cIihoaWRlUGluJCB8IGFzeW5jKSEhXCJcbiAgICBbdGl0bGVdPVwiKHRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbc3VidGl0bGVdPVwiKGhlYWRlclN1YnRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbdG9vbGJhckl0ZW1zXT1cImV4dGVuZFRvb2xiYXJJdGVtcyQgfCBhc3luYyB8IHRsYkJ1dHRvbnM6ICdpbkZvb3Rlcic6ZmFsc2VcIlxuICAgIFtsYXlvdXRBY3Rpb25zXT1cImV4dGVuZFRvb2xiYXJJdGVtcyQgfCBhc3luYyB8IHRsYkJ1dHRvbnM6ICdpbkZvb3Rlcic6dHJ1ZVwiXG4gICAgW3Rvb2xiYXJWaXNpYmxlXT1cIih0b29sYmFyVmlzaWJsZSQgfCBhc3luYykhIVwiXG4gICAgW2ZhY2V0TGlzdF09XCIoaGVhZGVyTGF5b3V0JCB8IGFzeW5jKT8uRmFjZXRMaXN0MlwiXG4gICAgW2Zvcm1Db250ZW50TWF4V2lkdGhdPVwiZm9ybUNvbnRlbnRNYXhXaWR0aFwiXG4gICAgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVyc1wiXG4gICAgW2Z1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiXG4gICAgW2hpZGVGb290ZXJdPVwiaGlkZUZvb3RlclwiXG4gICAgW3dvcmtmbG93UGFuZWxVaV09XCJ3b3JrZmxvd1BhbmVsVWkkIHwgYXN5bmNcIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2xheW91dDk0XT1cImV4dGVuZExheW91dDk0JCB8IGFzeW5jXCJcbiAgICBbcnRsXT1cIihydGwkIHwgYXN5bmMpISFcIlxuICAgIFtsYXlvdXRHcmlkQ29sXT1cIisocGFyYW1ldGVycz8uTGF5b3V0R3JpZENvbCB8fCAxMilcIlxuICAgIFtjb2xMZ109XCIrKHBhcmFtZXRlcnM/LkNvbExnIHx8IDApXCJcbiAgICBbY29sWGxdPVwiKyhwYXJhbWV0ZXJzPy5Db2xYbCB8fCAwKVwiXG4gICAgW2NvbE1kXT1cIisocGFyYW1ldGVycz8uQ29sTWQgfHwgMClcIlxuICAgIFtmb290ZXJEZXNpZ25dPVwiZm9vdGVyRGVzaWduXCJcbiAgICBbbWFza109XCIobWFzayQgfCBhc3luYykhIVwiXG4gICAgW21vXT1cIihtbyQgfCBhc3luYykhIVwiXG4gICAgW2RpclZhbHVlXT1cIihkaXJWYWx1ZSQgfCBhc3luYykhIVwiXG4gICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgIFtjb250ZW50RGVuc2l0eV09XCIoY29udGVudERlbnNpdHkkIHwgYXN5bmMpISFcIlxuICAgIFttb2Rlcm5UYWJzXT1cIihtb2Rlcm5UYWJzJCB8IGFzeW5jKSEhXCJcbiAgICBbYXZhdGFyXT1cIihhdmF0YXIkIHwgYXN5bmMpISFcIlxuICAgIFtjaXJjbGVBdmF0YXJdPVwiKGNpcmNsZUF2YXRhciQgfCBhc3luYykhIVwiXG4gICAgW2ZpZWxkRGljdF09XCIoZmllbGREaWN0JCB8IGFzeW5jKSEhXCJcbiAgICBbbGFuZHNjYXBlXT1cIihsYW5kc2NhcGUkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbc3RhbmRhbG9uZV09XCIoc3RhbmRhbG9uZSQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIChmdWxsc2NyZWVuUmVxdWVzdCk9XCJvbkZ1bGxzY3JlZW4oKVwiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2UoKVwiXG4gICAgKHRvb2xiYXJDbGljayk9XCJvblRvb2xiYXJDbGljaygkZXZlbnQpXCJcbiAgICBbY29udGVudElzUGFnZV09XCJwYXJhbWV0ZXJzPy5Db250ZW50SXNQYWdlID09PSB0cnVlXCJcbiAgICAod29ya2Zsb3dDaG9pY2VDbGljayk9XCJvbldvcmtmbG93Q2hvaWNlQ2xpY2soJGV2ZW50KVwiXG4+PC9ic3UtZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtPlxufVxuIl19
|