UNPKG

cookie-service-banner

Version:

[![npm version](https://badge.fury.io/js/cookie-service-banner.svg)](https://badge.fury.io/js/cookie-service-banner) [![Build Status](https://travis-ci.org/liyokuna/cookie-consent.svg?branch=master)](https://travis-ci.org/liyokuna/cookie-consent) [![depen

118 lines 22.6 kB
import { __decorate, __metadata } from "tslib"; import { Component, Output, EventEmitter } from '@angular/core'; import { CookieServiceService } from './service/cookie-service.service'; import { ConfigService } from './service/config.service'; let CookieServiceComponent = class CookieServiceComponent { constructor(cookiemanager, cookieconfig) { this.cookiemanager = cookiemanager; this.cookieconfig = cookieconfig; this.isOpened = new EventEmitter(); } ngOnInit() { this.getValues(); this.getColors(); if (!this.cookiemanager.isAnalytics(this.GA_ID)) { this.GA_ID = '0000'; console.log('Your Google Analytics ID seems to have a problem'); return; } if (!this.cookiemanager.getCookie('consent')) { this.showAlertCookie = true; this.isOpened.emit(this.showAlertCookie); } if (this.cookiemanager.getCookie('consent') && !this.showAlertCookie) { const TrackNavigator = navigator.doNotTrack; if ((TrackNavigator === '1' || TrackNavigator === 'yes')) { this.cookiemanager.rejectCookie(this.GA_ID); this.showAlertCookie = false; this.isOpened.emit(false); return; } if (this.cookiemanager.getCookie('consent') === 'false' && ((TrackNavigator === '1' || TrackNavigator === 'yes'))) { this.cookiemanager.rejectCookie(this.GA_ID); this.showAlertCookie = false; this.isOpened.emit(this.showAlertCookie); return; } if (this.cookiemanager.getCookie('consent') === 'false') { this.cookiemanager.rejectCookie(this.GA_ID); this.showAlertCookie = false; this.isOpened.emit(this.showAlertCookie); return; } } } getValues() { this.cookieconfig.getHeader().subscribe(val => this.header = val); this.cookieconfig.getMessage().subscribe(val => this.message = val); this.cookieconfig.getAcceptMessage().subscribe(val => this.AcceptMessage = val); this.cookieconfig.getAcceptEnable().subscribe(val => this.AcceptEnable = val); this.cookieconfig.getLinkMessage().subscribe(val => this.LearnMoreMessage = val); this.cookieconfig.getLinkEnable().subscribe(val => this.LearnMoreEnable = val); this.cookieconfig.getLinkLink().subscribe(val => this.LearnMoreLink = val); this.cookieconfig.getDenyMessage().subscribe(val => this.DenyMessage = val); this.cookieconfig.getDenyEnable().subscribe(val => this.DenyEnable = val); this.cookieconfig.getAllowMessage().subscribe(val => this.AllowMessage = val); this.cookieconfig.getAllowEnable().subscribe(val => this.AllowEnable = val); this.cookieconfig.getDomain().subscribe(val => this.domain = val); this.cookieconfig.getGA_id().subscribe(val => this.GA_ID = val); this.cookieconfig.getReviewEnable().subscribe(val => this.ReviewEnable = val); this.cookieconfig.getReviewMessage().subscribe(val => this.Review = val); } getColors() { this.cookieconfig.getHeaderColor().subscribe(val => this.HeaderColor = val); this.cookieconfig.getHeaderBackgroundColor().subscribe(val => this.HeaderBackgroundColor = val); this.cookieconfig.getAcceptColor().subscribe(val => this.AcceptColor = val); this.cookieconfig.getAcceptBackgroundColor().subscribe(val => this.AcceptBackgroundColor = val); this.cookieconfig.getDenyColor().subscribe(val => this.DenyColor = val); this.cookieconfig.getDenyBackgroundColor().subscribe(val => this.DenyBackgroundColor = val); this.cookieconfig.getAllowColor().subscribe(val => this.AllowColor = val); this.cookieconfig.getAllowBackgroundColor().subscribe(val => this.AllowBackgroundColor = val); this.cookieconfig.getLinkColor().subscribe(val => this.LearnMoreColor = val); this.cookieconfig.getReviewColor().subscribe(val => this.ReviewColor = val); this.cookieconfig.getReviewBackgroundColor().subscribe(val => this.ReviewBcolor = val); } cssClass(color, bcolor) { return { 'color': color, 'background-color': bcolor, 'border-color': bcolor, }; } deny() { this.cookiemanager.rejectCookie(this.GA_ID); this.cookiemanager.setCookie('consent', true, this.domain); this.showAlertCookie = false; this.isOpened.emit(this.showAlertCookie); return; } allow() { this.cookiemanager.setCookie('consent', true, this.domain); this.showAlertCookie = false; this.isOpened.emit(this.showAlertCookie); return; } review() { this.cookiemanager.rejectCookie(this.GA_ID); location.reload(); } }; CookieServiceComponent.ctorParameters = () => [ { type: CookieServiceService }, { type: ConfigService } ]; __decorate([ Output(), __metadata("design:type", EventEmitter) ], CookieServiceComponent.prototype, "isOpened", void 0); CookieServiceComponent = __decorate([ Component({ selector: 'lib-cookie-service', template: "<section id=\"cookie-alert\">\n <div class=\"alert-cookie bottom\" *ngIf=\"showAlertCookie\" attr.aria-label=\"{{ header }}\" attr.title= \"{{ header }}\" [ngStyle]=\"cssClass(HeaderColor, HeaderBackgroundColor )\">\n <div class=\"row\">\n <div class=\"col-sm-10\">\n <p>\n <b>{{ message }}</b>\n <a *ngIf=\"LearnMoreEnable \" href=\"{{ LearnMoreLink }}\" attr.aria-label=\"{{ LearnMoreMessage }}\" attr.title= \"{{ LearnMoreMessage }}\" >{{ LearnMoreMessage }}</a>\n </p>\n </div>\n <div class=\"col-sm-2\">\n <button *ngIf=\"DenyEnable \" type=\"button\" class=\"cbtn\" (click)=\"this.deny()\" attr.aria-label=\"{{ DenyMessage }}\" attr.title= \"{{ DenyMessage }}\" [ngStyle]=\"cssClass(AcceptColor, 'transparent' )\">{{ DenyMessage }}</button>\n <button *ngIf=\"AllowEnable \" type=\"button\" class=\"cbtn\" (click)=\"this.allow()\" attr.aria-label=\"{{ AllowMessage }}\" attr.title= \"{{ AllowMessage }}\" [ngStyle]=\"cssClass(AllowColor, AllowBackgroundColor)\">{{ AllowMessage }}</button>\n <button *ngIf=\"AcceptEnable \" type=\"button\" class=\"cbtn\" (click)=\"this.allow()\" attr.aria-label=\"{{ AcceptMessage }}\" attr.title= \"{{ AcceptMessage }}\" [ngStyle]=\"cssClass(AcceptColor, AcceptBackgroundColor)\">{{ AcceptMessage }}</button>\n </div>\n </div>\n </div>\n\n <div class=\"bottom\" *ngIf=\"!showAlertCookie && ReviewEnable\">\n <button class=\"btn btn-dark btn-sm\" (click)=\"this.review()\" href=\"#\" [ngStyle]=\"cssClass(ReviewColor, ReviewBcolor )\" attr.aria-label=\"{{ Review }}\" attr.title= \"{{ Review }}\" >{{Review}}</button>\n </div>\n</section>", providers: [CookieServiceService, ConfigService], styles: [".alert-cookie{position:fixed;width:100%;padding:.75rem 1.25rem}.bottom{bottom:0;left:0;position:fixed;right:0}.cbtn{border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}"] }), __metadata("design:paramtypes", [CookieServiceService, ConfigService]) ], CookieServiceComponent); export { CookieServiceComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXNlcnZpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29va2llLXNlcnZpY2UtYmFubmVyLyIsInNvdXJjZXMiOlsibGliL2Nvb2tpZS1zZXJ2aWNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVF6RCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQXdDakMsWUFBb0IsYUFBbUMsRUFBVSxZQUEyQjtRQUF4RSxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUZsRixhQUFRLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFaUMsQ0FBQztJQUVqRyxRQUFRO1FBRU4sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUksTUFBTSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0RBQWtELENBQUMsQ0FBQztZQUNoRSxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsSUFBSSxJQUFJLENBQUMs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O0FBdENwRCxzQkFBc0I7SUFObEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLG9CQUFvQjtRQUM5QixvdkRBQThDO1FBRTlDLFNBQVMsRUFBRSxDQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBRTs7S0FDbkQsQ0FBQztxQ0F5Q21DLG9CQUFvQixFQUF3QixhQUFhO0dBeENqRixzQkFBc0IsQ0F5SmxDO1NBekpZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvY29va2llLXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2NvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvb2tpZS1zZXJ2aWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvb2tpZS1zZXJ2aWNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29va2llLXNlcnZpY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbIENvb2tpZVNlcnZpY2VTZXJ2aWNlLCBDb25maWdTZXJ2aWNlIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgR0FfSUQ6IHN0cmluZztcblxuICBoZWFkZXI6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBIZWFkZXJDb2xvcjogc3RyaW5nO1xuICBIZWFkZXJCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICBkb21haW46IHN0cmluZztcblxuICBBY2NlcHRNZXNzYWdlOiBzdHJpbmc7XG4gIEFjY2VwdEVuYWJsZTogYm9vbGVhbjtcbiAgQWNjZXB0Q29sb3I6IHN0cmluZztcbiAgQWNjZXB0QmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG5cbiAgRGVueU1lc3NhZ2U6IHN0cmluZztcbiAgRGVueUVuYWJsZTogYm9vbGVhbjtcbiAgRGVueUNvbG9yOiBzdHJpbmc7XG4gIERlbnlCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICBBbGxvd01lc3NhZ2U6IHN0cmluZztcbiAgQWxsb3dFbmFibGU6IGJvb2xlYW47XG4gIEFsbG93Q29sb3I6IHN0cmluZztcbiAgQWxsb3dCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICBMZWFybk1vcmVNZXNzYWdlOiBzdHJpbmc7XG4gIExlYXJuTW9yZUVuYWJsZTogYm9vbGVhbjtcbiAgTGVhcm5Nb3JlTGluazogc3RyaW5nO1xuICBMZWFybk1vcmVDb2xvcjogc3RyaW5nO1xuXG4gIFJldmlld0VuYWJsZTogYm9vbGVhbjtcbiAgUmV2aWV3OiBzdHJpbmc7XG4gIFJldmlld0NvbG9yOiBzdHJpbmc7XG4gIFJldmlld0Jjb2xvcjogc3RyaW5nO1xuXG4gIHNob3dBbGVydENvb2tpZTogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgaXNPcGVuZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZW1hbmFnZXI6IENvb2tpZVNlcnZpY2VTZXJ2aWNlLCBwcml2YXRlIGNvb2tpZWNvbmZpZzogQ29uZmlnU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmdldFZhbHVlcygpO1xuICAgIHRoaXMuZ2V0Q29sb3JzKCk7XG5cbiAgICBpZiAoIXRoaXMuY29va2llbWFuYWdlci5pc0FuYWx5dGljcyh0aGlzLkdBX0lEKSkge1xuICAgICAgdGhpcy5HQV9JRCA9ICAnMDAwMCc7XG4gICAgICBjb25zb2xlLmxvZygnWW91ciBHb29nbGUgQW5hbHl0aWNzIElEIHNlZW1zIHRvIGhhdmUgYSBwcm9ibGVtJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNvb2tpZW1hbmFnZXIuZ2V0Q29va2llKCdjb25zZW50JykpIHtcbiAgICAgIHRoaXMuc2hvd0FsZXJ0Q29va2llID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNPcGVuZWQuZW1pdCh0aGlzLnNob3dBbGVydENvb2tpZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29va2llbWFuYWdlci5nZXRDb29raWUoJ2NvbnNlbnQnKSAmJiAhdGhpcy5zaG93QWxlcnRDb29raWUpIHtcbiAgICAgICAgY29uc3QgVHJhY2tOYXZpZ2F0b3IgPSBuYXZpZ2F0b3IuZG9Ob3RUcmFjaztcbiAgICAgICAgaWYgKCAoVHJhY2tOYXZpZ2F0b3IgPT09ICcxJyB8fCBUcmFja05hdmlnYXRvciA9PT0gJ3llcycgKSApIHtcbiAgICAgICAgICB0aGlzLmNvb2tpZW1hbmFnZXIucmVqZWN0Q29va2llKHRoaXMuR0FfSUQpO1xuICAgICAgICAgIHRoaXMuc2hvd0FsZXJ0Q29va2llID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc09wZW5lZC5lbWl0KGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCB0aGlzLmNvb2tpZW1hbmFnZXIuZ2V0Q29va2llKCdjb25zZW50JykgPT09ICdmYWxzZScgJiYgKCAoVHJhY2tOYXZpZ2F0b3IgPT09ICcxJyB8fCBUcmFja05hdmlnYXRvciA9PT0gJ3llcycgKSApKSB7XG4gICAgICAgICAgdGhpcy5jb29raWVtYW5hZ2VyLnJlamVjdENvb2tpZSh0aGlzLkdBX0lEKTtcbiAgICAgICAgICB0aGlzLnNob3dBbGVydENvb2tpZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuZWQuZW1pdCh0aGlzLnNob3dBbGVydENvb2tpZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICggdGhpcy5jb29raWVtYW5hZ2VyLmdldENvb2tpZSgnY29uc2VudCcpID09PSAnZmFsc2UnICkge1xuICAgICAgICAgIHRoaXMuY29va2llbWFuYWdlci5yZWplY3RDb29raWUodGhpcy5HQV9JRCk7XG4gICAgICAgICAgdGhpcy5zaG93QWxlcnRDb29raWUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzT3BlbmVkLmVtaXQodGhpcy5zaG93QWxlcnRDb29raWUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFZhbHVlcygpIHtcbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRIZWFkZXIoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuaGVhZGVyID0gdmFsKTtcblxuICAgIHRoaXMuY29va2llY29uZmlnLmdldE1lc3NhZ2UoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMubWVzc2FnZSA9IHZhbCk7XG5cbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRBY2NlcHRNZXNzYWdlKCkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLkFjY2VwdE1lc3NhZ2UgPSB2YWwpO1xuICAgIHRoaXMuY29va2llY29uZmlnLmdldEFjY2VwdEVuYWJsZSgpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5BY2NlcHRFbmFibGUgPSB2YWwpO1xuXG4gICAgdGhpcy5jb29raWVjb25maWcuZ2V0TGlua01lc3NhZ2UoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuTGVhcm5Nb3JlTWVzc2FnZSA9IHZhbCk7XG4gICAgdGhpcy5jb29raWVjb25maWcuZ2V0TGlua0VuYWJsZSgpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5MZWFybk1vcmVFbmFibGUgPSB2YWwpO1xuICAgIHRoaXMuY29va2llY29uZmlnLmdldExpbmtMaW5rKCkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLkxlYXJuTW9yZUxpbmsgPSB2YWwpO1xuXG4gICAgdGhpcy5jb29raWVjb25maWcuZ2V0RGVueU1lc3NhZ2UoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuRGVueU1lc3NhZ2UgPSB2YWwpO1xuICAgIHRoaXMuY29va2llY29uZmlnLmdldERlbnlFbmFibGUoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuRGVueUVuYWJsZSA9IHZhbCk7XG5cbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRBbGxvd01lc3NhZ2UoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuQWxsb3dNZXNzYWdlID0gdmFsKTtcbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRBbGxvd0VuYWJsZSgpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5BbGxvd0VuYWJsZSA9IHZhbCk7XG5cbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXREb21haW4oKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuZG9tYWluID0gdmFsKTtcbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRHQV9pZCgpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5HQV9JRCA9IHZhbCk7XG5cbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRSZXZpZXdFbmFibGUoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuUmV2aWV3RW5hYmxlID0gdmFsKTtcbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRSZXZpZXdNZXNzYWdlKCkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLlJldmlldyA9IHZhbCk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbG9ycygpIHtcbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRIZWFkZXJDb2xvcigpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5IZWFkZXJDb2xvciA9IHZhbCk7XG4gICAgdGhpcy5jb29raWVjb25maWcuZ2V0SGVhZGVyQmFja2dyb3VuZENvbG9yKCkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLkhlYWRlckJhY2tncm91bmRDb2xvciA9IHZhbCk7XG5cbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRBY2NlcHRDb2xvcigpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5BY2NlcHRDb2xvciA9IHZhbCk7XG4gICAgdGhpcy5jb29raWVjb25maWcuZ2V0QWNjZXB0QmFja2dyb3VuZENvbG9yKCkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLkFjY2VwdEJhY2tncm91bmRDb2xvciA9IHZhbCk7XG5cbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXREZW55Q29sb3IoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuRGVueUNvbG9yID0gdmFsKTtcbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXREZW55QmFja2dyb3VuZENvbG9yKCkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLkRlbnlCYWNrZ3JvdW5kQ29sb3IgPSB2YWwpO1xuXG4gICAgdGhpcy5jb29raWVjb25maWcuZ2V0QWxsb3dDb2xvcigpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5BbGxvd0NvbG9yID0gdmFsKTtcbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRBbGxvd0JhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5BbGxvd0JhY2tncm91bmRDb2xvciA9IHZhbCk7XG5cbiAgICB0aGlzLmNvb2tpZWNvbmZpZy5nZXRMaW5rQ29sb3IoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuTGVhcm5Nb3JlQ29sb3IgPSB2YWwpO1xuXG4gICAgdGhpcy5jb29raWVjb25maWcuZ2V0UmV2aWV3Q29sb3IoKS5zdWJzY3JpYmUodmFsID0+IHRoaXMuUmV2aWV3Q29sb3IgPSB2YWwpO1xuICAgIHRoaXMuY29va2llY29uZmlnLmdldFJldmlld0JhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5SZXZpZXdCY29sb3IgPSB2YWwpO1xuICB9XG5cbiAgcHVibGljIGNzc0NsYXNzKGNvbG9yOiBzdHJpbmcsIGJjb2xvcjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjb2xvcic6IGNvbG9yLFxuICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBiY29sb3IsXG4gICAgICAnYm9yZGVyLWNvbG9yJzogYmNvbG9yLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZGVueSgpIHtcbiAgICB0aGlzLmNvb2tpZW1hbmFnZXIucmVqZWN0Q29va2llKHRoaXMuR0FfSUQpO1xuICAgIHRoaXMuY29va2llbWFuYWdlci5zZXRDb29raWUoJ2NvbnNlbnQnLCB0cnVlLCB0aGlzLmRvbWFpbik7XG4gICAgdGhpcy5zaG93QWxlcnRDb29raWUgPSBmYWxzZTtcbiAgICB0aGlzLmlzT3BlbmVkLmVtaXQodGhpcy5zaG93QWxlcnRDb29raWUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHB1YmxpYyBhbGxvdygpIHtcbiAgICB0aGlzLmNvb2tpZW1hbmFnZXIuc2V0Q29va2llKCdjb25zZW50JywgdHJ1ZSwgdGhpcy5kb21haW4pO1xuICAgIHRoaXMuc2hvd0FsZXJ0Q29va2llID0gZmFsc2U7XG4gICAgdGhpcy5pc09wZW5lZC5lbWl0KHRoaXMuc2hvd0FsZXJ0Q29va2llKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmV2aWV3KCkge1xuICAgIHRoaXMuY29va2llbWFuYWdlci5yZWplY3RDb29raWUodGhpcy5HQV9JRCk7XG4gICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gIH1cblxufVxuIl19