UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

189 lines (188 loc) 13.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Component, HostListener } from '@angular/core'; import { PhloxAppService } from '../../../service/PhloxAppService.service'; import { NeedFocusService } from '../../../service/NeedFocusService.service'; import { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component'; import { AbstractRippleButton } from '../../AbstractRippleButton'; import { PhloxAppInfo } from '../../../component/model/PhloxAppInfo'; const /** @type {?} */ TYPE_NAME = "phx-app-switcher"; const /** @type {?} */ SUB_TOPIC_NAME = 'app-switcher'; export class PhloxAppSwitcher extends AbstractRippleButton { /** * @param {?} appSvc * @param {?} needFocusService */ constructor(appSvc, needFocusService) { super(appSvc, needFocusService); this.delay = PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY; 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 {?} */ ngOnInit() { //super.ngOnInit(); this.contentText = '<div class="anchor"></div>'; this.appPopoverType = AppDrawerPopover; this.subTopicName = PhloxAppSwitcher.SUB_TOPIC_NAME; } /** * @param {?} $event * @return {?} */ doFocus($event) { } /** * @param {?} $event * @return {?} */ doLostFocus($event) { } /** * @param {?} $event * @return {?} */ onPopoverBtnClicked($event) { $event.stopPropagation(); } /** * @param {?} $event * @return {?} */ onPopoverActived($event) { this.source = $event.source; this.needFocusService.setFocusingComponent(this); } /** * @param {?} $event * @return {?} */ onPopoverInactived($event) { this.source = null; this.needFocusService.resetFocusingComponent(); } /** * @param {?} event * @return {?} */ onClick(event) { super.onClick(event); } /** * @param {?} event * @return {?} */ onFocus(event) { } /** * @param {?} event * @return {?} */ onLostFocus(event) { if (this.source != null) { this.source.hide(); } } /** * @param {?} $event * @return {?} */ _onDocumentClick($event) { $event.stopPropagation(); if (this.source != null) { this.source.hide(); } } /** * @return {?} */ getContentText() { return this.contentText; } /** * @return {?} */ getSubTopicName() { return this.subTopicName; } /** * @return {?} */ getAppPopoverType() { return this.appPopoverType; } /** * @return {?} */ getDelay() { return this.delay; } } PhloxAppSwitcher.TYPE_NAME = TYPE_NAME; PhloxAppSwitcher.SUB_TOPIC_NAME = SUB_TOPIC_NAME; PhloxAppSwitcher.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="phx-app-switcher" [phxPopover]="getContentText()" [component-type]="getAppPopoverType()" [delay]="getDelay()" [topicName]="getSubTopicName()" (phxClick)="onPopoverBtnClicked($event)" (phxActive)="onPopoverActived($event)" (phxInactive)="onPopoverInactived($event)"> <div class="box-container"> <div class="inline-boxes"> <div class="square"></div> <div class="square"></div> </div> <div class="inline-boxes"> <div class="square"></div> <div class="square"></div> </div> </div> </div> `, entryComponents: [AppDrawerPopover], // add to resolve factory host: { '(document:click)': '_onDocumentClick($event)' } },] }, ]; /** @nocollapse */ PhloxAppSwitcher.ctorParameters = () => [ { type: PhloxAppService, }, { type: NeedFocusService, }, ]; PhloxAppSwitcher.propDecorators = { "onClick": [{ type: HostListener, args: ['click', ['$event'],] },], }; function PhloxAppSwitcher_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ PhloxAppSwitcher.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ PhloxAppSwitcher.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ PhloxAppSwitcher.propDecorators; /** @type {?} */ PhloxAppSwitcher.TYPE_NAME; /** @type {?} */ PhloxAppSwitcher.SUB_TOPIC_NAME; /** @type {?} */ PhloxAppSwitcher.prototype.contentText; /** @type {?} */ PhloxAppSwitcher.prototype.subTopicName; /** @type {?} */ PhloxAppSwitcher.prototype.appPopoverType; /** @type {?} */ PhloxAppSwitcher.prototype.delay; /** @type {?} */ PhloxAppSwitcher.prototype.source; } export { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component'; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGhsb3hBcHBTd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvcGFnZS9tYWluL1BobG94QXBwU3dpdGNoZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixZQUFZLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBR3pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJckUsdUJBQU0sU0FBUyxHQUFXLGtCQUFrQixDQUFDO0FBRTdDLHVCQUFNLGNBQWMsR0FBVyxjQUFjLENBQUM7QUF3QjlDLE1BQU0sdUJBQXdCLFNBQVEsb0JBQW9COzs7OztJQWF4RCxZQUFZLE1BQXVCLEVBQUUsZ0JBQWtDO1FBQ3JFLEtBQUssQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQztRQUU3RCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLFdBQVc7WUFDaEYsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzNHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQztTQUNyRjtLQUNGOzs7O0lBRU0sUUFBUTs7UUFFYixJQUFJLENBQUMsV0FBVyxHQUFHLDRCQUE0QixDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7Ozs7OztJQUc1QyxPQUFPLENBQUMsTUFBYTtLQUU5Qjs7Ozs7SUFFUyxXQUFXLENBQUMsTUFBYTtLQUVsQzs7Ozs7SUFFTSxtQkFBbUIsQ0FBQyxNQUFrQjtRQUMzQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7Ozs7OztJQUdwQixnQkFBZ0IsQ0FBQyxNQUFXO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7OztJQUc1QyxrQkFBa0IsQ0FBQyxNQUFXO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDOzs7Ozs7SUFJMUMsT0FBTyxDQUFDLEtBQWlCO1FBQzlCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Ozs7OztJQUdoQixPQUFPLENBQUMsS0FBVTs7Ozs7O0lBSWxCLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCOzs7Ozs7SUFHSSxnQkFBZ0IsQ0FBQyxNQUFXO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV6QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjs7Ozs7SUFHSSxjQUFjO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDOzs7OztJQUduQixlQUFlO1FBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDOzs7OztJQUdwQixpQkFBaUI7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7Ozs7O0lBR3RCLFFBQVE7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7OzZCQXZGdUIsU0FBUztrQ0FFSixjQUFjOztZQTFCL0QsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDbkIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztDQWFYO2dCQUNDLGVBQWUsRUFBRSxDQUFDLGdCQUFnQixDQUFDOztnQkFDbkMsSUFBSSxFQUFFO29CQUNKLGtCQUFrQixFQUFFLDBCQUEwQjtpQkFDL0M7YUFDRjs7OztZQWpDUSxlQUFlO1lBQ2YsZ0JBQWdCOzs7d0JBc0Z0QixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3Q25DLGlDQUFjLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBobG94QXBwIH0gZnJvbSAnLi4vLi4vUGhsb3hBcHAuY29tcG9uZW50JztcbmltcG9ydCB7IElOZWVkRm9jdXMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQaGxveEFwcFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL1BobG94QXBwU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lZWRGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL05lZWRGb2N1c1NlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBEcmF3ZXJQb3BvdmVyIH0gZnJvbSAnLi9zd2l0Y2hlci5pbnRlcm5hbC9BcHBEcmF3ZXJQb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdFJpcHBsZUJ1dHRvbiB9IGZyb20gJy4uLy4uL0Fic3RyYWN0UmlwcGxlQnV0dG9uJztcbmltcG9ydCB7IFBobG94QXBwSW5mbyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9tb2RlbC9QaGxveEFwcEluZm8nO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtYXBwLXN3aXRjaGVyXCI7XG5cbmNvbnN0IFNVQl9UT1BJQ19OQU1FOiBzdHJpbmcgPSAnYXBwLXN3aXRjaGVyJztcblxuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBoeC1hcHAtc3dpdGNoZXJcIiBbcGh4UG9wb3Zlcl09XCJnZXRDb250ZW50VGV4dCgpXCIgW2NvbXBvbmVudC10eXBlXT1cImdldEFwcFBvcG92ZXJUeXBlKClcIiBbZGVsYXldPVwiZ2V0RGVsYXkoKVwiIFt0b3BpY05hbWVdPVwiZ2V0U3ViVG9waWNOYW1lKClcIlxuXHQocGh4Q2xpY2spPVwib25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQpXCIgKHBoeEFjdGl2ZSk9XCJvblBvcG92ZXJBY3RpdmVkKCRldmVudClcIiAocGh4SW5hY3RpdmUpPVwib25Qb3BvdmVySW5hY3RpdmVkKCRldmVudClcIj5cblx0PGRpdiBjbGFzcz1cImJveC1jb250YWluZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiaW5saW5lLWJveGVzXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwic3F1YXJlXCI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwic3F1YXJlXCI+PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImlubGluZS1ib3hlc1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuYCxcbiAgZW50cnlDb21wb25lbnRzOiBbQXBwRHJhd2VyUG9wb3Zlcl0sIC8vIGFkZCB0byByZXNvbHZlIGZhY3RvcnlcbiAgaG9zdDoge1xuICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ19vbkRvY3VtZW50Q2xpY2soJGV2ZW50KSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBQaGxveEFwcFN3aXRjaGVyIGV4dGVuZHMgQWJzdHJhY3RSaXBwbGVCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIElOZWVkRm9jdXMge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVUJfVE9QSUNfTkFNRTogc3RyaW5nID0gU1VCX1RPUElDX05BTUU7XG5cbiAgLy8gdXNlIGZvciBhcHAgZHJhd2VyXG4gIHByaXZhdGUgY29udGVudFRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzdWJUb3BpY05hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBhcHBQb3BvdmVyVHlwZTogVHlwZTxhbnk+O1xuICBwcml2YXRlIGRlbGF5OiBudW1iZXI7XG4gIHByaXZhdGUgc291cmNlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoYXBwU3ZjOiBQaGxveEFwcFNlcnZpY2UsIG5lZWRGb2N1c1NlcnZpY2U6IE5lZWRGb2N1c1NlcnZpY2UpIHtcbiAgICBzdXBlcihhcHBTdmMsIG5lZWRGb2N1c1NlcnZpY2UpO1xuXG4gICAgdGhpcy5kZWxheSA9IFBobG94QXBwSW5mby5ERUZBVUxUX0FQUF9TV0lUQ0hFUl9QT1BPVkVSX0RFTEFZO1xuICAgIFxuICAgIGlmICh0aGlzLmdldEFwcGxpY2F0aW9uKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmRlbGF5ID0gdGhpcy5nZXRBcHBsaWNhdGlvbigpLmdldEFwcEluZm8oKS5zZXR0aW5ncy5BUFBfU1dJVENIRVJfUE9QT1ZFUl9ERUxBWTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy9zdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuY29udGVudFRleHQgPSAnPGRpdiBjbGFzcz1cImFuY2hvclwiPjwvZGl2Pic7XG4gICAgdGhpcy5hcHBQb3BvdmVyVHlwZSA9IEFwcERyYXdlclBvcG92ZXI7XG4gICAgdGhpcy5zdWJUb3BpY05hbWUgPSBQaGxveEFwcFN3aXRjaGVyLlNVQl9UT1BJQ19OQU1FO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRvRm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwcm90ZWN0ZWQgZG9Mb3N0Rm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQWN0aXZlZCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc291cmNlID0gJGV2ZW50LnNvdXJjZTtcbiAgICB0aGlzLm5lZWRGb2N1c1NlcnZpY2Uuc2V0Rm9jdXNpbmdDb21wb25lbnQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVySW5hY3RpdmVkKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5zb3VyY2UgPSBudWxsO1xuICAgIHRoaXMubmVlZEZvY3VzU2VydmljZS5yZXNldEZvY3VzaW5nQ29tcG9uZW50KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25DbGljayhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cyhldmVudDogYW55KTogdm9pZCB7XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkxvc3RGb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc291cmNlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc291cmNlLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX29uRG9jdW1lbnRDbGljaygkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNvdXJjZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENvbnRlbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ViVG9waWNOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3ViVG9waWNOYW1lO1xuICB9XG5cbiAgcHVibGljIGdldEFwcFBvcG92ZXJUeXBlKCk6IFR5cGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwUG9wb3ZlclR5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kZWxheTtcbiAgfVxufVxuXG5leHBvcnQgKiBmcm9tICcuL3N3aXRjaGVyLmludGVybmFsL0FwcERyYXdlclBvcG92ZXIuY29tcG9uZW50JztcbiJdfQ==