io.parrots
Version:
Parrots.io App
229 lines (228 loc) • 15.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, HostListener } from '@angular/core';
import { PhloxAppService } from 'com.phloxui';
import { NeedFocusService } from 'com.phloxui';
import { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component';
import { AbstractRippleButton } from 'com.phloxui';
import { PhloxAppInfo } from 'com.phloxui';
var /** @type {?} */ TYPE_NAME = "parrots-app-switcher";
var /** @type {?} */ SUB_TOPIC_NAME = 'app-switcher';
var ParrotsAppSwitcher = /** @class */ (function (_super) {
tslib_1.__extends(ParrotsAppSwitcher, _super);
function ParrotsAppSwitcher(appSvc, needFocusService) {
var _this = _super.call(this, appSvc, needFocusService) || this;
_this.delay = PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY;
_this.delay = 20;
if (_this.getApplication() !== null && typeof _this.getApplication() !== 'undefined' &&
_this.getApplication().getAppInfo() !== null && typeof _this.getApplication().getAppInfo() !== 'undefined') {
_this.delay = _this.getApplication().getAppInfo().settings.APP_SWITCHER_POPOVER_DELAY;
}
return _this;
}
/**
* @return {?}
*/
ParrotsAppSwitcher.prototype.ngOnInit = /**
* @return {?}
*/
function () {
//super.ngOnInit();
this.contentText = '<div class="anchor"></div>';
this.appPopoverType = AppDrawerPopover;
this.subTopicName = ParrotsAppSwitcher.SUB_TOPIC_NAME;
};
/**
* @param {?} $event
* @return {?}
*/
ParrotsAppSwitcher.prototype.doFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
};
/**
* @param {?} $event
* @return {?}
*/
ParrotsAppSwitcher.prototype.doLostFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
};
/**
* @param {?} $event
* @return {?}
*/
ParrotsAppSwitcher.prototype.onPopoverBtnClicked = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
$event.stopPropagation();
};
/**
* @param {?} $event
* @return {?}
*/
ParrotsAppSwitcher.prototype.onPopoverActived = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this.source = $event.source;
this.needFocusService.setFocusingComponent(this);
};
/**
* @param {?} $event
* @return {?}
*/
ParrotsAppSwitcher.prototype.onPopoverInactived = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this.source = null;
this.needFocusService.resetFocusingComponent();
};
/**
* @param {?} event
* @return {?}
*/
ParrotsAppSwitcher.prototype.onClick = /**
* @param {?} event
* @return {?}
*/
function (event) {
_super.prototype.onClick.call(this, event);
};
/**
* @param {?} event
* @return {?}
*/
ParrotsAppSwitcher.prototype.onFocus = /**
* @param {?} event
* @return {?}
*/
function (event) {
};
/**
* @param {?} event
* @return {?}
*/
ParrotsAppSwitcher.prototype.onLostFocus = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (this.source != null) {
this.source.hide();
}
};
/**
* @param {?} $event
* @return {?}
*/
ParrotsAppSwitcher.prototype._onDocumentClick = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
$event.stopPropagation();
if (this.source != null) {
this.source.hide();
}
};
/**
* @return {?}
*/
ParrotsAppSwitcher.prototype.getContentText = /**
* @return {?}
*/
function () {
return this.contentText;
};
/**
* @return {?}
*/
ParrotsAppSwitcher.prototype.getSubTopicName = /**
* @return {?}
*/
function () {
return this.subTopicName;
};
/**
* @return {?}
*/
ParrotsAppSwitcher.prototype.getAppPopoverType = /**
* @return {?}
*/
function () {
return this.appPopoverType;
};
/**
* @return {?}
*/
ParrotsAppSwitcher.prototype.getDelay = /**
* @return {?}
*/
function () {
return this.delay;
};
ParrotsAppSwitcher.TYPE_NAME = TYPE_NAME;
ParrotsAppSwitcher.SUB_TOPIC_NAME = SUB_TOPIC_NAME;
ParrotsAppSwitcher.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"parrots-app-switcher\" [phxPopover]=\"getContentText()\" [componentType]=\"getAppPopoverType()\"\n\t(phxClick)=\"onPopoverBtnClicked($event)\" (phxActive)=\"onPopoverActived($event)\" (phxInactive)=\"onPopoverInactived($event)\"> \n\t<div class=\"box-container\">\n\t\t<div class=\"inline-boxes\">\n\t\t\t<div class=\"square\"></div>\n\t\t\t<div class=\"square\"></div>\n\t\t</div>\n\t\t<div class=\"inline-boxes\">\n\t\t\t<div class=\"square\"></div>\n\t\t\t<div class=\"square\"></div>\n\t\t</div>\n\t</div>\n</div>\n",
entryComponents: [AppDrawerPopover],
// add to resolve factory
host: {
'(document:click)': '_onDocumentClick($event)'
}
},] },
];
/** @nocollapse */
ParrotsAppSwitcher.ctorParameters = function () { return [
{ type: PhloxAppService, },
{ type: NeedFocusService, },
]; };
ParrotsAppSwitcher.propDecorators = {
"onClick": [{ type: HostListener, args: ['click', ['$event'],] },],
};
return ParrotsAppSwitcher;
}(AbstractRippleButton));
export { ParrotsAppSwitcher };
function ParrotsAppSwitcher_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ParrotsAppSwitcher.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ParrotsAppSwitcher.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
ParrotsAppSwitcher.propDecorators;
/** @type {?} */
ParrotsAppSwitcher.TYPE_NAME;
/** @type {?} */
ParrotsAppSwitcher.SUB_TOPIC_NAME;
/** @type {?} */
ParrotsAppSwitcher.prototype.contentText;
/** @type {?} */
ParrotsAppSwitcher.prototype.subTopicName;
/** @type {?} */
ParrotsAppSwitcher.prototype.appPopoverType;
/** @type {?} */
ParrotsAppSwitcher.prototype.delay;
/** @type {?} */
ParrotsAppSwitcher.prototype.source;
}
export { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFycm90c0FwcFN3aXRjaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lvLnBhcnJvdHMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L3BhZ2UvbWFpbi9QYXJyb3RzQXBwU3dpdGNoZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsWUFBWSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUd6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkzQyxxQkFBTSxTQUFTLEdBQVcsc0JBQXNCLENBQUM7QUFFakQscUJBQU0sY0FBYyxHQUFXLGNBQWMsQ0FBQzs7SUF3Qk4sOENBQW9CO0lBYTFELDRCQUFZLE1BQXVCLEVBQUUsZ0JBQWtDO1FBQXZFLFlBQ0Usa0JBQU0sTUFBTSxFQUFFLGdCQUFnQixDQUFDLFNBU2hDO1FBUEMsS0FBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsa0NBQWtDLENBQUM7UUFDN0QsS0FBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFaEIsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxXQUFXO1lBQ2hGLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLElBQUksT0FBTyxLQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzRyxLQUFJLENBQUMsS0FBSyxHQUFHLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUM7U0FDckY7O0tBQ0Y7Ozs7SUFFTSxxQ0FBUTs7Ozs7UUFFYixJQUFJLENBQUMsV0FBVyxHQUFHLDRCQUE0QixDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7Ozs7OztJQUc5QyxvQ0FBTzs7OztJQUFqQixVQUFrQixNQUFhO0tBRTlCOzs7OztJQUVTLHdDQUFXOzs7O0lBQXJCLFVBQXNCLE1BQWE7S0FFbEM7Ozs7O0lBRU0sZ0RBQW1COzs7O2NBQUMsTUFBa0I7UUFDM0MsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDOzs7Ozs7SUFHcEIsNkNBQWdCOzs7O2NBQUMsTUFBVztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDOzs7Ozs7SUFHNUMsK0NBQWtCOzs7O2NBQUMsTUFBVztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzs7Ozs7O0lBSTFDLG9DQUFPOzs7O2NBQUMsS0FBaUI7UUFDOUIsaUJBQU0sT0FBTyxZQUFDLEtBQUssQ0FBQyxDQUFDOzs7Ozs7SUFHaEIsb0NBQU87Ozs7Y0FBQyxLQUFVOzs7Ozs7SUFJbEIsd0NBQVc7Ozs7Y0FBQyxLQUFVO1FBQzNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCOzs7Ozs7SUFHSSw2Q0FBZ0I7Ozs7Y0FBQyxNQUFXO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV6QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjs7Ozs7SUFHSSwyQ0FBYzs7OztRQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzs7Ozs7SUFHbkIsNENBQWU7Ozs7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7Ozs7O0lBR3BCLDhDQUFpQjs7OztRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzs7Ozs7SUFHdEIscUNBQVE7Ozs7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7bUNBeEZ1QixTQUFTO3dDQUVKLGNBQWM7O2dCQTFCL0QsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxzaEJBYVg7b0JBQ0MsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7O29CQUNuQyxJQUFJLEVBQUU7d0JBQ0osa0JBQWtCLEVBQUUsMEJBQTBCO3FCQUMvQztpQkFDRjs7OztnQkFqQ1EsZUFBZTtnQkFDZixnQkFBZ0I7Ozs0QkF1RnRCLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7OzZCQTNGbkM7RUFxQ3dDLG9CQUFvQjtTQUEvQyxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEYvQixpQ0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaGxveEFwcCB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IElOZWVkRm9jdXMgfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBQaGxveEFwcFNlcnZpY2UgfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBOZWVkRm9jdXNTZXJ2aWNlIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgQXBwRHJhd2VyUG9wb3ZlciB9IGZyb20gJy4vc3dpdGNoZXIuaW50ZXJuYWwvQXBwRHJhd2VyUG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RSaXBwbGVCdXR0b24gfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm8gfSBmcm9tICdjb20ucGhsb3h1aSc7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcInBhcnJvdHMtYXBwLXN3aXRjaGVyXCI7XG5cbmNvbnN0IFNVQl9UT1BJQ19OQU1FOiBzdHJpbmcgPSAnYXBwLXN3aXRjaGVyJztcblxuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBhcnJvdHMtYXBwLXN3aXRjaGVyXCIgW3BoeFBvcG92ZXJdPVwiZ2V0Q29udGVudFRleHQoKVwiIFtjb21wb25lbnRUeXBlXT1cImdldEFwcFBvcG92ZXJUeXBlKClcIlxuXHQocGh4Q2xpY2spPVwib25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQpXCIgKHBoeEFjdGl2ZSk9XCJvblBvcG92ZXJBY3RpdmVkKCRldmVudClcIiAocGh4SW5hY3RpdmUpPVwib25Qb3BvdmVySW5hY3RpdmVkKCRldmVudClcIj4gXG5cdDxkaXYgY2xhc3M9XCJib3gtY29udGFpbmVyXCI+XG5cdFx0PGRpdiBjbGFzcz1cImlubGluZS1ib3hlc1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJpbmxpbmUtYm94ZXNcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJzcXVhcmVcIj48L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJzcXVhcmVcIj48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbmAsXG4gIGVudHJ5Q29tcG9uZW50czogW0FwcERyYXdlclBvcG92ZXJdLCAvLyBhZGQgdG8gcmVzb2x2ZSBmYWN0b3J5XG4gIGhvc3Q6IHtcbiAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdfb25Eb2N1bWVudENsaWNrKCRldmVudCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgUGFycm90c0FwcFN3aXRjaGVyIGV4dGVuZHMgQWJzdHJhY3RSaXBwbGVCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIElOZWVkRm9jdXMge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVUJfVE9QSUNfTkFNRTogc3RyaW5nID0gU1VCX1RPUElDX05BTUU7XG5cbiAgLy8gdXNlIGZvciBhcHAgZHJhd2VyXG4gIHByaXZhdGUgY29udGVudFRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzdWJUb3BpY05hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBhcHBQb3BvdmVyVHlwZTogVHlwZTxhbnk+O1xuICBwcml2YXRlIGRlbGF5OiBudW1iZXI7XG4gIHByaXZhdGUgc291cmNlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoYXBwU3ZjOiBQaGxveEFwcFNlcnZpY2UsIG5lZWRGb2N1c1NlcnZpY2U6IE5lZWRGb2N1c1NlcnZpY2UpIHtcbiAgICBzdXBlcihhcHBTdmMsIG5lZWRGb2N1c1NlcnZpY2UpO1xuXG4gICAgdGhpcy5kZWxheSA9IFBobG94QXBwSW5mby5ERUZBVUxUX0FQUF9TV0lUQ0hFUl9QT1BPVkVSX0RFTEFZO1xuICAgIHRoaXMuZGVsYXkgPSAyMDtcblxuICAgIGlmICh0aGlzLmdldEFwcGxpY2F0aW9uKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmRlbGF5ID0gdGhpcy5nZXRBcHBsaWNhdGlvbigpLmdldEFwcEluZm8oKS5zZXR0aW5ncy5BUFBfU1dJVENIRVJfUE9QT1ZFUl9ERUxBWTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy9zdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuY29udGVudFRleHQgPSAnPGRpdiBjbGFzcz1cImFuY2hvclwiPjwvZGl2Pic7IFxuICAgIHRoaXMuYXBwUG9wb3ZlclR5cGUgPSBBcHBEcmF3ZXJQb3BvdmVyO1xuICAgIHRoaXMuc3ViVG9waWNOYW1lID0gUGFycm90c0FwcFN3aXRjaGVyLlNVQl9UT1BJQ19OQU1FO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRvRm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwcm90ZWN0ZWQgZG9Mb3N0Rm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQWN0aXZlZCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc291cmNlID0gJGV2ZW50LnNvdXJjZTtcbiAgICB0aGlzLm5lZWRGb2N1c1NlcnZpY2Uuc2V0Rm9jdXNpbmdDb21wb25lbnQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVySW5hY3RpdmVkKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5zb3VyY2UgPSBudWxsO1xuICAgIHRoaXMubmVlZEZvY3VzU2VydmljZS5yZXNldEZvY3VzaW5nQ29tcG9uZW50KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25DbGljayhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cyhldmVudDogYW55KTogdm9pZCB7XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkxvc3RGb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc291cmNlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc291cmNlLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX29uRG9jdW1lbnRDbGljaygkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNvdXJjZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENvbnRlbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ViVG9waWNOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3ViVG9waWNOYW1lO1xuICB9XG5cbiAgcHVibGljIGdldEFwcFBvcG92ZXJUeXBlKCk6IFR5cGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwUG9wb3ZlclR5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kZWxheTtcbiAgfVxufVxuXG5leHBvcnQgKiBmcm9tICcuL3N3aXRjaGVyLmludGVybmFsL0FwcERyYXdlclBvcG92ZXIuY29tcG9uZW50JztcbiJdfQ==