e5core-angular-ui
Version:
e5 Anywhere Angular UI
163 lines • 15 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ChangeDetectionStrategy, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { E5ConfigurationService as e5Config } from 'e5core-angular-services';
import { E5coreUiWorkAttachmentsMaterialComponent } from './component/e5core-ui-work-attachments-material.component';
import { UiStyleService } from '../../services/ui-style.service';
// <e5core-ui-work-attachments-box *ngSwitchCase='0' [workItem$]='workItem$' [readonly]='readonly' [pagesizes]='pagesizes'></e5core-ui-work-attachments-box>
// <e5core-ui-work-attachments-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [readonly]='readonly' [pagesizes]='pagesizes'></e5core-ui-work-attachments-bootstrap>
var E5coreUiWorkAttachmentsComponent = /** @class */ (function () {
function E5coreUiWorkAttachmentsComponent(style, config, changeDetectorRef) {
this.style = style;
this.config = config;
this.changeDetectorRef = changeDetectorRef;
this.attachmentDownloadEvent = new EventEmitter();
this.attachmentSelectEvent = new EventEmitter();
this.downloadUrl = '';
}
/**
* @return {?}
*/
E5coreUiWorkAttachmentsComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
if (typeof this.workItem$ == 'undefined') {
console.error('e5core-ui-work-attachments [workItem$] must have a BehaviorSubject<WorkItemModel>');
return;
}
if (typeof this.workItem$ != 'undefined') {
this.workItem$.subscribe(function (w) {
_this.updateData();
});
}
if (typeof this.fileUpload$ != 'undefined') {
this.fileUpload$.subscribe(function (w) {
_this.updateData();
});
}
};
/**
* @return {?}
*/
E5coreUiWorkAttachmentsComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
};
/**
* @return {?}
*/
E5coreUiWorkAttachmentsComponent.prototype.refresh = /**
* @return {?}
*/
function () {
this.workAttachmentsMaterialComponent.refresh();
};
/**
* @param {?} event
* @return {?}
*/
E5coreUiWorkAttachmentsComponent.prototype.onAttachmentDownload = /**
* @param {?} event
* @return {?}
*/
function (event) {
var _this = this;
/** @type {?} */
var baseUrl = this.config.settings.apiServer.baseUrl;
/** @type {?} */
var scope = this.config.settings.apiServer.scope;
/** @type {?} */
var w = this.workItem$.getValue();
this.downloadUrl = baseUrl + "/" + scope + "/api/ui/Attachment/Download/" + w.workId + "/" + event.element.Id;
this.changeDetectorRef.detectChanges();
setTimeout(function () { _this.downloadUrl = ""; }, 200);
this.attachmentDownloadEvent.emit(event);
};
/**
* @param {?} viewerDisplayEvent
* @return {?}
*/
E5coreUiWorkAttachmentsComponent.prototype.onAttachmentSelect = /**
* @param {?} viewerDisplayEvent
* @return {?}
*/
function (viewerDisplayEvent) {
this.attachmentSelectEvent.emit(viewerDisplayEvent);
};
/**
* @private
* @return {?}
*/
E5coreUiWorkAttachmentsComponent.prototype.updateData = /**
* @private
* @return {?}
*/
function () {
};
E5coreUiWorkAttachmentsComponent.decorators = [
{ type: Component, args: [{
selector: 'e5core-ui-work-attachments',
template: "\n <span *ngIf=\"workItem$\" [ngSwitch]=\"style.current()\">\n <e5core-ui-work-attachments-material *ngSwitchCase='2' [workItem$]='workItem$' [readonly]='readonly' [pagesizes]='pagesizes' (attachmentDownloadEvent)='onAttachmentDownload($event)' (attachmentSelectEvent)='onAttachmentSelect($event)' ></e5core-ui-work-attachments-material>\n </span>\n <div *ngIf=\"!(workItem$)\" class=\"e5core-component-error\"><e5core-ui-work-attachments> [workItem$] must have a BehaviorSubject<WorkItemModel></div>\n <iframe width=\"0\" height=\"0\" *ngIf=\"!(downloadUrl == '')\" [src]=\"downloadUrl | safe\" style=\"width:0;height:0;border:0; border:none; position: absolute;\"></iframe>",
changeDetection: ChangeDetectionStrategy.OnPush
}] }
];
/** @nocollapse */
E5coreUiWorkAttachmentsComponent.ctorParameters = function () { return [
{ type: UiStyleService },
{ type: e5Config },
{ type: ChangeDetectorRef }
]; };
E5coreUiWorkAttachmentsComponent.propDecorators = {
workItem$: [{ type: Input }],
fileUpload$: [{ type: Input }],
readonly: [{ type: Input }],
pagesizes: [{ type: Input }],
attachmentDownloadEvent: [{ type: Output }],
attachmentSelectEvent: [{ type: Output }],
workAttachmentsMaterialComponent: [{ type: ViewChild, args: [E5coreUiWorkAttachmentsMaterialComponent,] }]
};
return E5coreUiWorkAttachmentsComponent;
}());
export { E5coreUiWorkAttachmentsComponent };
if (false) {
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.workItem$;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.fileUpload$;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.readonly;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.pagesizes;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.attachmentDownloadEvent;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.attachmentSelectEvent;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.workId;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.downloadUrl;
/**
* @type {?}
* @private
*/
E5coreUiWorkAttachmentsComponent.prototype.workAttachmentsMaterialComponent;
/** @type {?} */
E5coreUiWorkAttachmentsComponent.prototype.style;
/**
* @type {?}
* @private
*/
E5coreUiWorkAttachmentsComponent.prototype.config;
/**
* @type {?}
* @private
*/
E5coreUiWorkAttachmentsComponent.prototype.changeDetectorRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTVjb3JlLXVpLXdvcmstYXR0YWNobWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZTVjb3JlLWFuZ3VsYXItdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc3RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUVySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQU1qRTtJQXdCRSwwQ0FDUyxLQUFvQixFQUNuQixNQUFnQixFQUNoQixpQkFBb0M7UUFGckMsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFYcEMsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUV6RSxnQkFBVyxHQUFTLEVBQUUsQ0FBQztJQVNuQixDQUFDOzs7O0lBRUwsbURBQVE7OztJQUFSO1FBQUEsaUJBcUJDO1FBcEJDLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLFdBQVcsRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLG1GQUFtRixDQUFDLENBQUM7WUFDbkcsT0FBUTtTQUNUO1FBRUQsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksV0FBVyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUN0QixVQUFBLENBQUM7Z0JBQ0MsS0FBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FDRixDQUFBO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ3hCLFVBQUEsQ0FBQztnQkFDQyxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUNGLENBQUE7U0FDRjtJQUNILENBQUM7Ozs7SUFFRCwwREFBZTs7O0lBQWY7SUFDQSxDQUFDOzs7O0lBRUQsa0RBQU87OztJQUFQO1FBQ0UsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xELENBQUM7Ozs7O0lBRUQsK0RBQW9COzs7O0lBQXBCLFVBQXFCLEtBQUs7UUFBMUIsaUJBV0M7O1lBVkssT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPOztZQUNoRCxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUs7O1lBRTVDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFNLE9BQU8sU0FBSSxLQUFLLG9DQUErQixDQUFDLENBQUMsTUFBTSxTQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBSSxDQUFDO1FBRXBHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxVQUFVLENBQUMsY0FBTSxLQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7O0lBRUQsNkRBQWtCOzs7O0lBQWxCLFVBQW1CLGtCQUFrQjtRQUNuQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7SUFFTyxxREFBVTs7OztJQUFsQjtJQUNBLENBQUM7O2dCQTlFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLHdyQkFLeUo7b0JBQ25LLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7OztnQkFmUSxjQUFjO2dCQUxZLFFBQVE7Z0JBRmlFLGlCQUFpQjs7OzRCQXlCMUgsS0FBSzs4QkFDTCxLQUFLOzJCQUNMLEtBQUs7NEJBQ0wsS0FBSzswQ0FDTCxNQUFNO3dDQUNOLE1BQU07bURBSU4sU0FBUyxTQUFDLHdDQUF3Qzs7SUEwRHJELHVDQUFDO0NBQUEsQUEvRUQsSUErRUM7U0FyRVksZ0NBQWdDOzs7SUFFM0MscURBQW9EOztJQUNwRCx1REFBdUQ7O0lBQ3ZELG9EQUE2Qjs7SUFDN0IscURBQThCOztJQUM5QixtRUFBdUQ7O0lBQ3ZELGlFQUF5RTs7SUFDekUsa0RBQWlCOztJQUNqQix1REFBdUI7Ozs7O0lBRXZCLDRFQUNtRjs7SUFHakYsaURBQTJCOzs7OztJQUMzQixrREFBd0I7Ozs7O0lBQ3hCLDZEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEU1Q29uZmlndXJhdGlvblNlcnZpY2UgYXMgZTVDb25maWcgfSBmcm9tICdlNWNvcmUtYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBXb3JrSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dvcmstaXRlbSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS11cGxvYWQubW9kZWwnO1xuaW1wb3J0IHsgRTVjb3JlVWlXb3JrQXR0YWNobWVudHNNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2U1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzLW1hdGVyaWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3ZXJEaXNwbGF5RXZlbnQgfSBmcm9tICcuLi8uLi9ldmVudHMvdmlld2VyLWRpc3BsYXktZXZlbnQnO1xuaW1wb3J0IHsgVWlTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91aS1zdHlsZS5zZXJ2aWNlJztcblxuLy8gPGU1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzLWJveCAqbmdTd2l0Y2hDYXNlPScwJyBbd29ya0l0ZW0kXT0nd29ya0l0ZW0kJyBbcmVhZG9ubHldPSdyZWFkb25seScgW3BhZ2VzaXplc109J3BhZ2VzaXplcyc+PC9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy1ib3g+XG4vLyA8ZTVjb3JlLXVpLXdvcmstYXR0YWNobWVudHMtYm9vdHN0cmFwICpuZ1N3aXRjaENhc2U9JzEnIFt3b3JrSXRlbSRdPSd3b3JrSXRlbSQnIFtyZWFkb25seV09J3JlYWRvbmx5JyBbcGFnZXNpemVzXT0ncGFnZXNpemVzJz48L2U1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzLWJvb3RzdHJhcD5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlNWNvcmUtdWktd29yay1hdHRhY2htZW50cycsXG4gIHRlbXBsYXRlOiBgXG4gIDxzcGFuICpuZ0lmPVwid29ya0l0ZW0kXCIgW25nU3dpdGNoXT1cInN0eWxlLmN1cnJlbnQoKVwiPlxuICAgIDxlNWNvcmUtdWktd29yay1hdHRhY2htZW50cy1tYXRlcmlhbCAqbmdTd2l0Y2hDYXNlPScyJyBbd29ya0l0ZW0kXT0nd29ya0l0ZW0kJyBbcmVhZG9ubHldPSdyZWFkb25seScgW3BhZ2VzaXplc109J3BhZ2VzaXplcycgKGF0dGFjaG1lbnREb3dubG9hZEV2ZW50KT0nb25BdHRhY2htZW50RG93bmxvYWQoJGV2ZW50KScgKGF0dGFjaG1lbnRTZWxlY3RFdmVudCk9J29uQXR0YWNobWVudFNlbGVjdCgkZXZlbnQpJyA+PC9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy1tYXRlcmlhbD5cbiAgPC9zcGFuPlxuICA8ZGl2ICpuZ0lmPVwiISh3b3JrSXRlbSQpXCIgY2xhc3M9XCJlNWNvcmUtY29tcG9uZW50LWVycm9yXCI+Jmx0O2U1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzJmd0OyBbd29ya0l0ZW0kXSBtdXN0IGhhdmUgYSBCZWhhdmlvclN1YmplY3QmbHQ7V29ya0l0ZW1Nb2RlbCZndDs8L2Rpdj5cbiAgPGlmcmFtZSB3aWR0aD1cIjBcIiBoZWlnaHQ9XCIwXCIgKm5nSWY9XCIhKGRvd25sb2FkVXJsID09ICcnKVwiIFtzcmNdPVwiZG93bmxvYWRVcmwgfCBzYWZlXCIgc3R5bGU9XCJ3aWR0aDowO2hlaWdodDowO2JvcmRlcjowOyBib3JkZXI6bm9uZTsgcG9zaXRpb246IGFic29sdXRlO1wiPjwvaWZyYW1lPmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEU1Y29yZVVpV29ya0F0dGFjaG1lbnRzQ29tcG9uZW50ICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgd29ya0l0ZW0kIDogQmVoYXZpb3JTdWJqZWN0PFdvcmtJdGVtTW9kZWw+O1xuICBASW5wdXQoKSBmaWxlVXBsb2FkJDogQmVoYXZpb3JTdWJqZWN0PEZpbGVVcGxvYWRNb2RlbD47XG4gIEBJbnB1dCgpIHJlYWRvbmx5IDogYm9vbGVhbiA7XG4gIEBJbnB1dCgpIHBhZ2VzaXplcyA6IG51bWJlcltdOyAgXG4gIEBPdXRwdXQoKSBhdHRhY2htZW50RG93bmxvYWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGF0dGFjaG1lbnRTZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRGlzcGxheUV2ZW50PigpO1xuICB3b3JrSWQgOiBzdHJpbmcgO1xuICBkb3dubG9hZFVybCA6IGFueSA9ICcnO1xuICBcbiAgQFZpZXdDaGlsZChFNWNvcmVVaVdvcmtBdHRhY2htZW50c01hdGVyaWFsQ29tcG9uZW50KVxuICBwcml2YXRlIHdvcmtBdHRhY2htZW50c01hdGVyaWFsQ29tcG9uZW50OiBFNWNvcmVVaVdvcmtBdHRhY2htZW50c01hdGVyaWFsQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdHlsZTpVaVN0eWxlU2VydmljZSwgXG4gICAgcHJpdmF0ZSBjb25maWc6IGU1Q29uZmlnLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLndvcmtJdGVtJCA9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJvcignZTVjb3JlLXVpLXdvcmstYXR0YWNobWVudHMgW3dvcmtJdGVtJF0gbXVzdCBoYXZlIGEgQmVoYXZpb3JTdWJqZWN0PFdvcmtJdGVtTW9kZWw+Jyk7XG4gICAgICByZXR1cm4gO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdGhpcy53b3JrSXRlbSQgIT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMud29ya0l0ZW0kLnN1YnNjcmliZShcbiAgICAgICAgdyA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gICAgXG4gICAgaWYgKHR5cGVvZiB0aGlzLmZpbGVVcGxvYWQkICE9ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWQkLnN1YnNjcmliZShcbiAgICAgICAgdyA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gIH1cbiAgXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy53b3JrQXR0YWNobWVudHNNYXRlcmlhbENvbXBvbmVudC5yZWZyZXNoKCk7XG4gIH1cblxuICBvbkF0dGFjaG1lbnREb3dubG9hZChldmVudCkge1xuICAgIHZhciBiYXNlVXJsID0gdGhpcy5jb25maWcuc2V0dGluZ3MuYXBpU2VydmVyLmJhc2VVcmw7XG4gICAgdmFyIHNjb3BlID0gdGhpcy5jb25maWcuc2V0dGluZ3MuYXBpU2VydmVyLnNjb3BlO1xuXG4gICAgdmFyIHcgPSB0aGlzLndvcmtJdGVtJC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuZG93bmxvYWRVcmwgPSBgJHtiYXNlVXJsfS8ke3Njb3BlfS9hcGkvdWkvQXR0YWNobWVudC9Eb3dubG9hZC8ke3cud29ya0lkfS8ke2V2ZW50LmVsZW1lbnQuSWR9YDtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHNldFRpbWVvdXQoKCk9PnsgdGhpcy5kb3dubG9hZFVybCA9IFwiXCI7IH0sIDIwMCk7XG4gICAgXG4gICAgdGhpcy5hdHRhY2htZW50RG93bmxvYWRFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQXR0YWNobWVudFNlbGVjdCh2aWV3ZXJEaXNwbGF5RXZlbnQpIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRTZWxlY3RFdmVudC5lbWl0KHZpZXdlckRpc3BsYXlFdmVudCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURhdGEoKTp2b2lkIHtcbiAgfVxufSJdfQ==