@norwegian/core-components 7.17.1 → 7.17.3
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/components/accordion/accordion.component.mjs +2 -2
- package/esm2022/lib/components/checkbox/checkbox.module.mjs +1 -1
- package/esm2022/lib/components/icon-list/models/icon-list.model.mjs +1 -1
- package/esm2022/lib/components/page-header/models/wallet.model.mjs +1 -1
- package/esm2022/lib/components/page-header/page-header.component.mjs +4 -4
- package/esm2022/lib/components/page-header/wallet/wallet.component.mjs +4 -4
- package/fesm2022/norwegian-core-components.mjs +6 -6
- package/fesm2022/norwegian-core-components.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/2__generic/_fonts.scss +1 -1
- package/styles/_helpers.scss +1 -1
- package/styles/_index.scss +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright Norwegian Air Shuttle. All Rights Reserved.
|
|
4
4
|
*/
|
|
5
|
-
import { Component, Input, ViewEncapsulation
|
|
5
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
6
6
|
import { NasComponentBase } from '../../../core';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/common";
|
|
@@ -46,12 +46,12 @@ export class WalletComponent extends NasComponentBase {
|
|
|
46
46
|
return this.getCurrentHref().includes(this.walletModel?.urls?.myTravelsUrl?.href) ? true : false;
|
|
47
47
|
}
|
|
48
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WalletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WalletComponent, selector: "nas-wallet", inputs: { walletModel: "walletModel" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass('')\">\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('backdrop')\" (click)=\"onClickToggleContent()\"></div>\n <div [nasClass]=\"getClass('header')\">\n <div *ngIf=\"walletModel?.rewardNumber\" [nasClass]=\"getClass('header-points')\">\n <div
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WalletComponent, selector: "nas-wallet", inputs: { walletModel: "walletModel" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass('')\">\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('backdrop')\" (click)=\"onClickToggleContent()\"></div>\n <div [nasClass]=\"getClass('header')\">\n <div *ngIf=\"walletModel?.rewardNumber\" [nasClass]=\"getClass('header-points')\">\n <div\n *ngIf=\"pointsBalance >= 0 && (walletModel?.cashpointsBalance != null || walletModel?.spennBalance != null); else showTag\">\n <p>{{pointsBalance}}</p>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag--header')\" neutral [text]=\"'--'\"></nas-tag>\n </ng-template>\n <div *ngIf=\"!spennAndCashpointUnavailable\" [nasClass]=\"getClass('points-logo', icon)\">\n <nas-icon [nasClass]=\"getClass('icon')\" [type]=\"icon\"></nas-icon>\n </div>\n </div>\n </div>\n <button [nasClass]=\"getClass('dropdown')\" (click)=\"onClickToggleContent()\">\n <div [nasClass]=\"getClass('dropdown-icon', this.showContent && 'rotate')\">\n <nas-icon [icon]=\"'arrow-right'\" [type]=\"'chevron-down'\"></nas-icon>\n </div>\n </button>\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('content')\">\n <div *ngIf=\"walletModel?.rewardNumber\">\n <div [nasClass]=\"getClass('title')\">{{walletModel?.texts?.rewardPoints}}</div>\n <div *ngIf=\"!showNotAvailableMessage; else showAlert\">\n <div *ngIf=\"walletModel?.spennEnabled\" [nasClass]=\"getClass('spenn')\">\n <nas-icon [type]=\"'spenn'\"></nas-icon>\n <div *ngIf=\"walletModel?.spennBalance != null; else showTag\">\n <p>{{walletModel?.spennBalance}}</p>\n </div>\n </div>\n <div [nasClass]=\"getClass('cashpoints')\">\n <nas-icon [type]=\"'cashpoints-logo'\"></nas-icon>\n <div *ngIf=\"walletModel?.cashpointsBalance != null; else showTag\">\n <p>{{walletModel?.cashpointsBalance}}</p>\n </div>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag')\" neutral [text]=\"walletModel?.texts?.notAvailable\"></nas-tag>\n </ng-template>\n </div>\n <ng-template #showAlert>\n <div [nasClass]=\"getClass('info-box')\">\n <nas-alert neutral [text]=\"walletModel?.texts?.notAvailableMessage\"></nas-alert>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('info')\">{{pointsDescription}}</div>\n <div [nasClass]=\"getClass('reward')\">{{walletModel?.texts?.rewardNumber}} {{walletModel?.rewardNumber}}\n </div>\n </div>\n <div [nasClass]=\"getClass('button')\">\n <nas-button *ngIf=\"!myTravelsPage() && walletModel?.urls?.myTravelsUrl?.href\" light block\n [href]=\"walletModel?.urls?.myTravelsUrl?.href\" [nasClass]=\"getClass('button--mytravel')\">\n {{walletModel?.urls?.myTravelsUrl.text}}\n </nas-button>\n <nas-button *ngIf=\"walletModel?.urls?.signOutUrl?.href\" buttonlink block\n [href]=\"walletModel?.urls?.signOutUrl?.href\">\n {{walletModel?.urls?.signOutUrl?.text}}\n </nas-button>\n </div>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-wallet{display:inline-flex;position:unset;background-color:#fff}@media (min-width: 640px){.nas-wallet{position:relative;margin-left:16px}}.nas-wallet__header{display:flex;align-items:center}.nas-wallet__header-points,.nas-wallet__icon{display:none}@media (min-width: 640px){.nas-wallet__header-points,.nas-wallet__icon{display:flex}}.nas-wallet__points-logo{padding-top:0}.nas-wallet__points-logo--spenn{padding-top:5px}.nas-wallet__profile-name{padding-right:24px;color:#15273f}.nas-wallet__dropdown{padding:0 12px 0 16px}@media (min-width: 640px){.nas-wallet__dropdown{padding:0 16px}}.nas-wallet__dropdown-icon{transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-wallet__dropdown-icon--rotate{transform:rotate(180deg)}.nas-wallet__content{z-index:50;background:linear-gradient(180deg,#fff,#f8f8f8);box-shadow:0 0 14px #00325126;border-top:2px solid #15273F;position:absolute;padding:16px;top:70px;left:0}@media (min-width: 640px){.nas-wallet__content{width:334px;right:0;top:48px;left:unset}}.nas-wallet__profile-user{display:none;font-size:16px;color:#15273f;padding-bottom:16px}@media (min-width: 640px){.nas-wallet__profile-user{display:block}}.nas-wallet__profile-icon{transform:scale(.75)}.nas-wallet__title{font-weight:700;font-size:18px;line-height:24px;color:#15273f;padding-bottom:16px}.nas-wallet__spenn{display:flex;justify-content:space-between}.nas-wallet__cashpoints{display:flex;justify-content:space-between;padding-bottom:16px}.nas-wallet__info{padding-bottom:12px;border-bottom:solid 1px #E9E7E4}.nas-wallet__reward{padding:12px 0;text-align:center}.nas-wallet__info-box{margin-bottom:12px}.nas-wallet__button{display:flex;flex-direction:column}.nas-wallet__button--mytravel{margin-bottom:16px}.nas-wallet__tag--header{margin-right:12px}.nas-wallet__tag--wallet{padding-bottom:6px}.nas-wallet__backdrop{z-index:10;display:block;position:fixed;top:70px;left:0;width:100%;height:100%;color:transparent;background:var(--Color-UI-Overlay-40, rgba(21, 39, 63, .4));opacity:.2;animation:fade-in .3s ease-out both}.nas-wallet p{margin:0;padding-right:8px;color:#15273f;font-weight:700;font-size:21px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i4.ButtonComponent, selector: "nas-button", inputs: ["primary", "secondary", "tertiary", "link", "light", "large", "block", "flex", "compact", "right", "spaceless", "href", "trackingvalue", "canContinueOnDisabled", "disabled", "type", "cssClass", "ariaLabel", "cssStyle", "tabindex", "overrideBaseCssClass", "useRouterLink", "id", "target", "icon", "iconLeft", "iconType", "buttonlink"], outputs: ["clickChange", "focusOnNext"] }, { kind: "component", type: i5.TagComponent, selector: "nas-tag", inputs: ["info", "warning", "error", "success", "neutral", "text", "icon", "iconType"] }, { kind: "component", type: i6.AlertComponent, selector: "nas-alert", inputs: ["timestamp", "title", "info", "warning", "error", "success", "neutral", "text", "stackTraceLabel", "show", "removable", "removeIcon", "trustTextHtml", "allowAutoScroll", "server", "correlation", "alert"], outputs: ["showChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
50
50
|
}
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WalletComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
|
-
args: [{ selector: 'nas-wallet', encapsulation: ViewEncapsulation.None, template: "<div [nasClass]=\"getClass('')\">\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('backdrop')\" (click)=\"onClickToggleContent()\"></div>\n <div [nasClass]=\"getClass('header')\">\n <div *ngIf=\"walletModel?.rewardNumber\" [nasClass]=\"getClass('header-points')\">\n <div
|
|
53
|
+
args: [{ selector: 'nas-wallet', encapsulation: ViewEncapsulation.None, template: "<div [nasClass]=\"getClass('')\">\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('backdrop')\" (click)=\"onClickToggleContent()\"></div>\n <div [nasClass]=\"getClass('header')\">\n <div *ngIf=\"walletModel?.rewardNumber\" [nasClass]=\"getClass('header-points')\">\n <div\n *ngIf=\"pointsBalance >= 0 && (walletModel?.cashpointsBalance != null || walletModel?.spennBalance != null); else showTag\">\n <p>{{pointsBalance}}</p>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag--header')\" neutral [text]=\"'--'\"></nas-tag>\n </ng-template>\n <div *ngIf=\"!spennAndCashpointUnavailable\" [nasClass]=\"getClass('points-logo', icon)\">\n <nas-icon [nasClass]=\"getClass('icon')\" [type]=\"icon\"></nas-icon>\n </div>\n </div>\n </div>\n <button [nasClass]=\"getClass('dropdown')\" (click)=\"onClickToggleContent()\">\n <div [nasClass]=\"getClass('dropdown-icon', this.showContent && 'rotate')\">\n <nas-icon [icon]=\"'arrow-right'\" [type]=\"'chevron-down'\"></nas-icon>\n </div>\n </button>\n <div *ngIf=\"this.showContent\" [nasClass]=\"getClass('content')\">\n <div *ngIf=\"walletModel?.rewardNumber\">\n <div [nasClass]=\"getClass('title')\">{{walletModel?.texts?.rewardPoints}}</div>\n <div *ngIf=\"!showNotAvailableMessage; else showAlert\">\n <div *ngIf=\"walletModel?.spennEnabled\" [nasClass]=\"getClass('spenn')\">\n <nas-icon [type]=\"'spenn'\"></nas-icon>\n <div *ngIf=\"walletModel?.spennBalance != null; else showTag\">\n <p>{{walletModel?.spennBalance}}</p>\n </div>\n </div>\n <div [nasClass]=\"getClass('cashpoints')\">\n <nas-icon [type]=\"'cashpoints-logo'\"></nas-icon>\n <div *ngIf=\"walletModel?.cashpointsBalance != null; else showTag\">\n <p>{{walletModel?.cashpointsBalance}}</p>\n </div>\n </div>\n <ng-template #showTag>\n <nas-tag [nasClass]=\"getClass('tag')\" neutral [text]=\"walletModel?.texts?.notAvailable\"></nas-tag>\n </ng-template>\n </div>\n <ng-template #showAlert>\n <div [nasClass]=\"getClass('info-box')\">\n <nas-alert neutral [text]=\"walletModel?.texts?.notAvailableMessage\"></nas-alert>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('info')\">{{pointsDescription}}</div>\n <div [nasClass]=\"getClass('reward')\">{{walletModel?.texts?.rewardNumber}} {{walletModel?.rewardNumber}}\n </div>\n </div>\n <div [nasClass]=\"getClass('button')\">\n <nas-button *ngIf=\"!myTravelsPage() && walletModel?.urls?.myTravelsUrl?.href\" light block\n [href]=\"walletModel?.urls?.myTravelsUrl?.href\" [nasClass]=\"getClass('button--mytravel')\">\n {{walletModel?.urls?.myTravelsUrl.text}}\n </nas-button>\n <nas-button *ngIf=\"walletModel?.urls?.signOutUrl?.href\" buttonlink block\n [href]=\"walletModel?.urls?.signOutUrl?.href\">\n {{walletModel?.urls?.signOutUrl?.text}}\n </nas-button>\n </div>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-wallet{display:inline-flex;position:unset;background-color:#fff}@media (min-width: 640px){.nas-wallet{position:relative;margin-left:16px}}.nas-wallet__header{display:flex;align-items:center}.nas-wallet__header-points,.nas-wallet__icon{display:none}@media (min-width: 640px){.nas-wallet__header-points,.nas-wallet__icon{display:flex}}.nas-wallet__points-logo{padding-top:0}.nas-wallet__points-logo--spenn{padding-top:5px}.nas-wallet__profile-name{padding-right:24px;color:#15273f}.nas-wallet__dropdown{padding:0 12px 0 16px}@media (min-width: 640px){.nas-wallet__dropdown{padding:0 16px}}.nas-wallet__dropdown-icon{transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-wallet__dropdown-icon--rotate{transform:rotate(180deg)}.nas-wallet__content{z-index:50;background:linear-gradient(180deg,#fff,#f8f8f8);box-shadow:0 0 14px #00325126;border-top:2px solid #15273F;position:absolute;padding:16px;top:70px;left:0}@media (min-width: 640px){.nas-wallet__content{width:334px;right:0;top:48px;left:unset}}.nas-wallet__profile-user{display:none;font-size:16px;color:#15273f;padding-bottom:16px}@media (min-width: 640px){.nas-wallet__profile-user{display:block}}.nas-wallet__profile-icon{transform:scale(.75)}.nas-wallet__title{font-weight:700;font-size:18px;line-height:24px;color:#15273f;padding-bottom:16px}.nas-wallet__spenn{display:flex;justify-content:space-between}.nas-wallet__cashpoints{display:flex;justify-content:space-between;padding-bottom:16px}.nas-wallet__info{padding-bottom:12px;border-bottom:solid 1px #E9E7E4}.nas-wallet__reward{padding:12px 0;text-align:center}.nas-wallet__info-box{margin-bottom:12px}.nas-wallet__button{display:flex;flex-direction:column}.nas-wallet__button--mytravel{margin-bottom:16px}.nas-wallet__tag--header{margin-right:12px}.nas-wallet__tag--wallet{padding-bottom:6px}.nas-wallet__backdrop{z-index:10;display:block;position:fixed;top:70px;left:0;width:100%;height:100%;color:transparent;background:var(--Color-UI-Overlay-40, rgba(21, 39, 63, .4));opacity:.2;animation:fade-in .3s ease-out both}.nas-wallet p{margin:0;padding-right:8px;color:#15273f;font-weight:700;font-size:21px}\n"] }]
|
|
54
54
|
}], ctorParameters: function () { return []; }, propDecorators: { walletModel: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcGFnZS1oZWFkZXIvd2FsbGV0L3dhbGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3dhbGxldC93YWxsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVNqRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUFVbkQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDO0lBQ3ZILENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLElBQUksSUFBSTtZQUNoRCxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksSUFBSSxJQUFJO1lBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLG1CQUFtQixJQUFJLEVBQUU7WUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLElBQUksSUFBSTtZQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsSUFBSSxTQUFTLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksNEJBQTRCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsSUFBSSxJQUFJO1lBQ2hELElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQTtJQUMxQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUM3SSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFDOUUsQ0FBQztJQUVEO1FBQ0UsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBNUJmLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBNkIzQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25HLENBQUM7K0dBakRVLGVBQWU7bUdBQWYsZUFBZSxpSENkNUIsbzdHQTZETTs7NEZEL0NPLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJOzBFQVM1QixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IFdhbGxldE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3dhbGxldC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy13YWxsZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2FsbGV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2FsbGV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFdhbGxldENvbXBvbmVudCBleHRlbmRzIE5hc0NvbXBvbmVudEJhc2Uge1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIE1vZGVsIHRvIGRlZmluZSB0aGUgd2FsbGV0IGluIHRoZSBoZWFkZXJcbiAgICovXG4gIEBJbnB1dCgpIHdhbGxldE1vZGVsOiBXYWxsZXRNb2RlbDtcbiAgcHVibGljIHNob3dDb250ZW50ID0gZmFsc2U7XG5cbiAgZ2V0IHBvaW50c0JhbGFuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXRNb2RlbD8uc3Blbm5CYWxhbmNlICE9IG51bGwgPyB0aGlzLndhbGxldE1vZGVsPy5zcGVubkJhbGFuY2UgOiB0aGlzLndhbGxldE1vZGVsPy5jYXNocG9pbnRzQmFsYW5jZTtcbiAgfVxuXG4gIGdldCBzaG93Tm90QXZhaWxhYmxlTWVzc2FnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXRNb2RlbD8uY2FzaHBvaW50c0JhbGFuY2UgPT0gbnVsbCAmJlxuICAgICAgdGhpcy53YWxsZXRNb2RlbD8uc3Blbm5CYWxhbmNlID09IG51bGwgJiZcbiAgICAgIHRoaXMud2FsbGV0TW9kZWwudGV4dHM/Lm5vdEF2YWlsYWJsZU1lc3NhZ2UgIT0gJycgJiZcbiAgICAgIHRoaXMud2FsbGV0TW9kZWwudGV4dHM/Lm5vdEF2YWlsYWJsZU1lc3NhZ2UgIT0gbnVsbCAmJlxuICAgICAgdGhpcy53YWxsZXRNb2RlbC50ZXh0cz8ubm90QXZhaWxhYmxlTWVzc2FnZSAhPSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc3Blbm5BbmRDYXNocG9pbnRVbmF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXRNb2RlbD8uY2FzaHBvaW50c0JhbGFuY2UgPT0gbnVsbCAmJlxuICAgICAgdGhpcy53YWxsZXRNb2RlbD8uc3Blbm5CYWxhbmNlID09IG51bGxcbiAgfVxuXG4gIGdldCBwb2ludHNEZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndhbGxldE1vZGVsPy5zcGVubkJhbGFuY2UgIT0gbnVsbCA/IHRoaXMud2FsbGV0TW9kZWw/LnRleHRzPy5zcGVubkRlc2NyaXB0aW9uIDogdGhpcy53YWxsZXRNb2RlbD8udGV4dHM/LmNhc2hQb2ludHNEZXNjcmlwdGlvbjtcbiAgfVxuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMud2FsbGV0TW9kZWw/LnNwZW5uQmFsYW5jZSAhPSBudWxsID8gJ3NwZW5uJyA6ICdjYXNocG9pbnRzLWxvZ28nO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy13YWxsZXQnKTtcbiAgfVxuXG4gIG9uQ2xpY2tUb2dnbGVDb250ZW50KCkge1xuICAgIHRoaXMuc2hvd0NvbnRlbnQgPSAhdGhpcy5zaG93Q29udGVudDtcbiAgfVxuXG4gIGdldEN1cnJlbnRIcmVmKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICB9XG5cbiAgbXlUcmF2ZWxzUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50SHJlZigpLmluY2x1ZGVzKHRoaXMud2FsbGV0TW9kZWw/LnVybHM/Lm15VHJhdmVsc1VybD8uaHJlZikgPyB0cnVlIDogZmFsc2U7XG4gIH1cbn0iLCI8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnJylcIj5cbiAgICA8ZGl2ICpuZ0lmPVwidGhpcy5zaG93Q29udGVudFwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnYmFja2Ryb3AnKVwiIChjbGljayk9XCJvbkNsaWNrVG9nZ2xlQ29udGVudCgpXCI+PC9kaXY+XG4gICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2hlYWRlcicpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ3YWxsZXRNb2RlbD8ucmV3YXJkTnVtYmVyXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdoZWFkZXItcG9pbnRzJylcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInBvaW50c0JhbGFuY2UgPj0gMCAmJiAod2FsbGV0TW9kZWw/LmNhc2hwb2ludHNCYWxhbmNlICE9IG51bGwgfHwgd2FsbGV0TW9kZWw/LnNwZW5uQmFsYW5jZSAhPSBudWxsKTsgZWxzZSBzaG93VGFnXCI+XG4gICAgICAgICAgICAgICAgPHA+e3twb2ludHNCYWxhbmNlfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1RhZz5cbiAgICAgICAgICAgICAgICA8bmFzLXRhZyBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RhZy0taGVhZGVyJylcIiBuZXV0cmFsIFt0ZXh0XT1cIictLSdcIj48L25hcy10YWc+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzcGVubkFuZENhc2hwb2ludFVuYXZhaWxhYmxlXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdwb2ludHMtbG9nbycsIGljb24pXCI+XG4gICAgICAgICAgICAgICAgPG5hcy1pY29uIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaWNvbicpXCIgW3R5cGVdPVwiaWNvblwiPjwvbmFzLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Ryb3Bkb3duJylcIiAoY2xpY2spPVwib25DbGlja1RvZ2dsZUNvbnRlbnQoKVwiPlxuICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnZHJvcGRvd24taWNvbicsIHRoaXMuc2hvd0NvbnRlbnQgJiYgJ3JvdGF0ZScpXCI+XG4gICAgICAgICAgICA8bmFzLWljb24gW2ljb25dPVwiJ2Fycm93LXJpZ2h0J1wiIFt0eXBlXT1cIidjaGV2cm9uLWRvd24nXCI+PC9uYXMtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cInRoaXMuc2hvd0NvbnRlbnRcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2NvbnRlbnQnKVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwid2FsbGV0TW9kZWw/LnJld2FyZE51bWJlclwiPlxuICAgICAgICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RpdGxlJylcIj57e3dhbGxldE1vZGVsPy50ZXh0cz8ucmV3YXJkUG9pbnRzfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd05vdEF2YWlsYWJsZU1lc3NhZ2U7IGVsc2Ugc2hvd0FsZXJ0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIndhbGxldE1vZGVsPy5zcGVubkVuYWJsZWRcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3NwZW5uJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5hcy1pY29uIFt0eXBlXT1cIidzcGVubidcIj48L25hcy1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwid2FsbGV0TW9kZWw/LnNwZW5uQmFsYW5jZSAhPSBudWxsOyBlbHNlIHNob3dUYWdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7d2FsbGV0TW9kZWw/LnNwZW5uQmFsYW5jZX19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnY2FzaHBvaW50cycpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuYXMtaWNvbiBbdHlwZV09XCInY2FzaHBvaW50cy1sb2dvJ1wiPjwvbmFzLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3YWxsZXRNb2RlbD8uY2FzaHBvaW50c0JhbGFuY2UgIT0gbnVsbDsgZWxzZSBzaG93VGFnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD57e3dhbGxldE1vZGVsPy5jYXNocG9pbnRzQmFsYW5jZX19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dUYWc+XG4gICAgICAgICAgICAgICAgICAgIDxuYXMtdGFnIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGFnJylcIiBuZXV0cmFsIFt0ZXh0XT1cIndhbGxldE1vZGVsPy50ZXh0cz8ubm90QXZhaWxhYmxlXCI+PC9uYXMtdGFnPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0FsZXJ0PlxuICAgICAgICAgICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdpbmZvLWJveCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuYXMtYWxlcnQgbmV1dHJhbCBbdGV4dF09XCJ3YWxsZXRNb2RlbD8udGV4dHM/Lm5vdEF2YWlsYWJsZU1lc3NhZ2VcIj48L25hcy1hbGVydD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5mbycpXCI+e3twb2ludHNEZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygncmV3YXJkJylcIj57e3dhbGxldE1vZGVsPy50ZXh0cz8ucmV3YXJkTnVtYmVyfX0ge3t3YWxsZXRNb2RlbD8ucmV3YXJkTnVtYmVyfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2J1dHRvbicpXCI+XG4gICAgICAgICAgICA8bmFzLWJ1dHRvbiAqbmdJZj1cIiFteVRyYXZlbHNQYWdlKCkgJiYgd2FsbGV0TW9kZWw/LnVybHM/Lm15VHJhdmVsc1VybD8uaHJlZlwiIGxpZ2h0IGJsb2NrXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwid2FsbGV0TW9kZWw/LnVybHM/Lm15VHJhdmVsc1VybD8uaHJlZlwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnYnV0dG9uLS1teXRyYXZlbCcpXCI+XG4gICAgICAgICAgICAgICAge3t3YWxsZXRNb2RlbD8udXJscz8ubXlUcmF2ZWxzVXJsLnRleHR9fVxuICAgICAgICAgICAgPC9uYXMtYnV0dG9uPlxuICAgICAgICAgICAgPG5hcy1idXR0b24gKm5nSWY9XCJ3YWxsZXRNb2RlbD8udXJscz8uc2lnbk91dFVybD8uaHJlZlwiIGJ1dHRvbmxpbmsgYmxvY2tcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJ3YWxsZXRNb2RlbD8udXJscz8uc2lnbk91dFVybD8uaHJlZlwiPlxuICAgICAgICAgICAgICAgIHt7d2FsbGV0TW9kZWw/LnVybHM/LnNpZ25PdXRVcmw/LnRleHR9fVxuICAgICAgICAgICAgPC9uYXMtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|