@norwegian/core-components 7.16.1 → 7.16.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/datepicker/calendar/calendar.component.mjs +1 -1
- package/esm2022/lib/components/phone-number/phone-number.component.mjs +3 -3
- package/esm2022/lib/components/select/select.component.mjs +6 -3
- package/esm2022/lib/components/slider/slider.component.mjs +2 -2
- package/fesm2022/norwegian-core-components.mjs +12 -9
- package/fesm2022/norwegian-core-components.mjs.map +1 -1
- package/lib/components/select/select.component.d.ts +8 -1
- package/package.json +1 -1
|
@@ -106,11 +106,11 @@ export class AccordionComponent extends NasComponentBase {
|
|
|
106
106
|
this.regularHeader = !this.exists(this.small) && !this.exists(this.simple) ? true : false;
|
|
107
107
|
}
|
|
108
108
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AccordionComponent, selector: "nas-accordion", inputs: { expanded: "expanded", title: "title", titleDescription: "titleDescription", description: "description", badge: "badge", icon: "icon", simple: "simple", spaced: "spaced", small: "small", inverted: "inverted", containerOnToggle: "containerOnToggle", nopadding: "nopadding", transparent: "transparent", approve: "approve", primary: "primary", warning: "warning", badgeInfo: "badgeInfo", badgeSuccess: "badgeSuccess", badgeWarning: "badgeWarning", badgeError: "badgeError", cssClass: "cssClass", cssStyle: "cssStyle", htag: "htag" }, outputs: { toggleChange: "toggleChange" }, usesInheritance: true, ngImport: i0, template: "<section [nasClass]=\"getClasses('', getModifiers())\" [ngStyle]=\"cssStyle\" ref=\"element\">\n <div *ngIf=\"exists(containerOnToggle); else toggleTemplate\" class=\"container\">\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\n </div>\n\n <div [nasClass]=\"wrapperClass()\">\n <div [hidden]=\"!exists(expanded)\" [nasClass]=\"getClass('content')\"\n [style.background-color]=\"exists(transparent) && 'inherit'\" [style.padding]=\"exists(transparent) && 'unset'\">\n <ng-content></ng-content>\n </div>\n </div>\n</section>\n\n<ng-template #toggleTemplate>\n <button type=\"button\" [nasClass]=\"getClass('toggle')\" (click)=\"toggle()\">\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon\">\n <nas-icon [icon]=\"icon\"></nas-icon>\n </span>\n <div [nasClass]=\"getClass('breakdown')\">\n <div>\n <div [nasClass]=\"getClass('header')\">\n <ng-container *ngIf=\"regularHeader\">\n <ng-container [ngSwitch]=\"headerLevel\">\n <h1 *ngSwitchCase=\"1\" [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <h2 *ngSwitchCase=\"2\" [nasClass]=\"getClass('title')\">{{ title }}</h2>\n <h3 *ngSwitchCase=\"3\" [nasClass]=\"getClass('title')\">{{ title }}</h3>\n <h4 *ngSwitchCase=\"4\" [nasClass]=\"getClass('title')\">{{ title }}</h4>\n <h5 *ngSwitchCase=\"5\" [nasClass]=\"getClass('title')\">{{ title }}</h5>\n </ng-container>\n </ng-container>\n <h6 *ngIf=\"!regularHeader\" [nasClass]=\"getClass('title', 'small')\">{{title}}</h6>\n <div *ngIf=\"titleDescription\" [nasClass]=\"getClass('title', 'description')\">{{titleDescription}}</div>\n </div>\n <div *ngIf=\"description\" [nasClass]=\"getClass('description')\">{{description}}</div>\n </div>\n <div *ngIf=\"badge\" [nasClass]=\"getClass('badge', exists(badgeInfo) ? 'info' :\n exists(badgeSuccess) ? 'success' : exists(badgeWarning) ? 'warning': exists(badgeError) ? 'error': '')\">\n <span>{{badge}}</span>\n </div>\n </div>\n <nas-icon [icon]=\"'angle-down'\" [type]=\"'small'\"\n [nasClass]=\"getClass('indicator', exists(badge) ? 'no-margin' : '')\"></nas-icon>\n </button>\n</ng-template>", 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-accordion{position:relative;border:1px solid #E9E7E4;background-color:#fff;border-radius:4px;margin-bottom:4px}.nas-accordion:hover,.nas-accordion:focus-visible{border-color:#c3c3c3}@media (min-width: 640px){.nas-accordion{margin-bottom:8px}}.nas-accordion__toggle{display:flex;align-items:center;text-align:left;width:100%;padding:16px;border-radius:4px}.nas-accordion__breakdown{display:flex;flex-direction:column;align-items:normal;width:100%}@media (min-width: 640px){.nas-accordion__breakdown{flex-direction:row;align-items:center}}.nas-accordion__wrapper{overflow:hidden}.nas-accordion__wrapper--enter{perspective:1000px}.nas-accordion__wrapper--enter .nas-accordion__content{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both}.nas-accordion__wrapper--leave{position:absolute;width:100%;perspective:1000px}.nas-accordion__wrapper--leave .nas-accordion__content{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-out .2s ease both}.nas-accordion__header{display:flex;flex-wrap:wrap;gap:4px}.nas-accordion__content{padding:16px;background-color:#fff;border-top:1px solid #E9E7E4;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.nas-accordion__content p:last-child{margin-bottom:0}.nas-accordion__indicator{position:relative;margin-left:auto;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-accordion__indicator--no-margin{margin:0}.nas-accordion__title{margin:0 12px 0 0;font-size:18px;line-height:24px;line-height:normal}.nas-accordion__title--small{font-size:16px;line-height:24px}.nas-accordion__title--description{margin-right:0}.nas-accordion--simple{background-color:transparent;border:none}.nas-accordion--simple .nas-accordion__toggle{padding:0;background-color:transparent;margin-bottom:12px}.nas-accordion--simple .nas-accordion__indicator{margin-left:9px;transform-origin:45% 55%;margin-bottom:3px}.nas-accordion--simple .nas-accordion__content{padding:16px;border-top:0}.nas-accordion--simple .nas-icon-small--angle-down{transform:scale(.9)}.nas-accordion__description{margin-top:4px}.nas-accordion__icon{margin:0 9px 0 0}.nas-accordion__badge{background-color:#f8f8f8;border:1px solid #E9E7E4;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge{margin-left:auto}}.nas-accordion__badge--success{background-color:#f4faf2;border:1px solid #2EB004;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--success{margin-left:auto}}.nas-accordion__badge--info{background-color:#ebf4ff;border:1px solid #15273F;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--info{margin-left:auto}}.nas-accordion__badge--error{background-color:#fff5f3;border:1px solid #CC3A19;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--error{margin-left:auto}}.nas-accordion__badge--warning{background-color:#fff6ec;border:1px solid #FC9E12;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--warning{margin-left:auto}}.nas-accordion--expanded{z-index:20}.nas-accordion--expanded .nas-accordion__indicator{transform:rotate(-180deg)}.nas-accordion--expanded .nas-accordion__toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}@media (min-width: 640px){.nas-accordion--spaced .nas-accordion__toggle{padding:16px 24px}}@media (min-width: 640px){.nas-accordion--spaced .nas-accordion__content{padding:12px 24px 24px}}.nas-accordion--small .nas-accordion__toggle{padding:9px;background-color:#fff}.nas-accordion--small .nas-accordion__content{padding:9px}.nas-accordion--small .nas-accordion__indicator{transform-origin:45% 55%;margin-bottom:3px}.nas-accordion--small .nas-icon-small--angle-down{transform:scale(.9)}.nas-accordion--inverted{border:1px solid #FFFFFF}.nas-accordion--inverted .nas-accordion__toggle{background-color:#e9e7e4}.nas-accordion--inverted .nas-accordion__toggle:hover,.nas-accordion--inverted .nas-accordion__toggle:focus{background-color:#fff}.nas-accordion--inverted .nas-accordion__content,.nas-accordion--inverted.nas-accordion--expanded .nas-accordion__toggle{background-color:#e9e7e4}.nas-accordion--nopadding{padding-bottom:25px}.nas-accordion--nopadding .nas-accordion__toggle,.nas-accordion--nopadding .nas-accordion__content{padding:0}.nas-accordion--approve .nas-accordion__toggle{background-color:#f4faf2;color:#2eb004}.nas-accordion--primary .nas-accordion__toggle{background-color:#fff5f3;color:#b12a0b}.nas-accordion--warning .nas-accordion__toggle,.nas-accordion--warning .nas-accordion__content{background-color:#fff6ec;color:#15273f}.nas-accordion .nas-icon-positive--light,.nas-accordion .nas-icon-negative--light{transform:scale(.85)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AccordionComponent, selector: "nas-accordion", inputs: { expanded: "expanded", title: "title", titleDescription: "titleDescription", description: "description", badge: "badge", icon: "icon", simple: "simple", spaced: "spaced", small: "small", inverted: "inverted", containerOnToggle: "containerOnToggle", nopadding: "nopadding", transparent: "transparent", approve: "approve", primary: "primary", warning: "warning", badgeInfo: "badgeInfo", badgeSuccess: "badgeSuccess", badgeWarning: "badgeWarning", badgeError: "badgeError", cssClass: "cssClass", cssStyle: "cssStyle", htag: "htag" }, outputs: { toggleChange: "toggleChange" }, usesInheritance: true, ngImport: i0, template: "<section [nasClass]=\"getClasses('', getModifiers())\" [ngStyle]=\"cssStyle\" ref=\"element\">\n <div *ngIf=\"exists(containerOnToggle); else toggleTemplate\" class=\"container\">\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\n </div>\n\n <div [nasClass]=\"wrapperClass()\">\n <div [hidden]=\"!exists(expanded)\" [nasClass]=\"getClass('content')\"\n [style.background-color]=\"exists(transparent) && 'inherit'\" [style.padding]=\"exists(transparent) && 'unset'\">\n <ng-content></ng-content>\n </div>\n </div>\n</section>\n\n<ng-template #toggleTemplate>\n <button type=\"button\" [nasClass]=\"getClass('toggle')\" (click)=\"toggle()\">\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon\">\n <nas-icon [icon]=\"icon\"></nas-icon>\n </span>\n <div [nasClass]=\"getClass('breakdown')\">\n <div>\n <div [nasClass]=\"getClass('header')\">\n <ng-container *ngIf=\"regularHeader\">\n <ng-container [ngSwitch]=\"headerLevel\">\n <h1 *ngSwitchCase=\"1\" [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <h2 *ngSwitchCase=\"2\" [nasClass]=\"getClass('title')\">{{ title }}</h2>\n <h3 *ngSwitchCase=\"3\" [nasClass]=\"getClass('title')\">{{ title }}</h3>\n <h4 *ngSwitchCase=\"4\" [nasClass]=\"getClass('title')\">{{ title }}</h4>\n <h5 *ngSwitchCase=\"5\" [nasClass]=\"getClass('title')\">{{ title }}</h5>\n </ng-container>\n </ng-container>\n <h6 *ngIf=\"!regularHeader\" [nasClass]=\"getClass('title', 'small')\">{{title}}</h6>\n <div *ngIf=\"titleDescription\" [nasClass]=\"getClass('title', 'description')\">{{titleDescription}}</div>\n </div>\n <div *ngIf=\"description\" [nasClass]=\"getClass('description')\">{{description}}</div>\n </div>\n <div *ngIf=\"badge\" [nasClass]=\"getClass('badge', exists(badgeInfo) ? 'info' :\n exists(badgeSuccess) ? 'success' : exists(badgeWarning) ? 'warning': exists(badgeError) ? 'error': '')\">\n <span>{{badge}}</span>\n </div>\n </div>\n <nas-icon [icon]=\"'angle-down'\" [type]=\"'small'\"\n [nasClass]=\"getClass('indicator', exists(badge) ? 'no-margin' : '')\"></nas-icon>\n </button>\n</ng-template>", 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-accordion{position:relative;border:1px solid #E9E7E4;background-color:#fff;border-radius:4px;margin-bottom:4px}.nas-accordion:hover,.nas-accordion:focus-visible{border-color:#c3c3c3}@media (min-width: 640px){.nas-accordion{margin-bottom:8px}}.nas-accordion__toggle{display:flex;align-items:center;text-align:left;width:100%;padding:16px;border-radius:4px}.nas-accordion__breakdown{display:flex;flex-direction:column;align-items:normal;width:100%}@media (min-width: 640px){.nas-accordion__breakdown{flex-direction:row;align-items:center}}.nas-accordion__wrapper--enter{perspective:1000px}.nas-accordion__wrapper--enter .nas-accordion__content{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both}.nas-accordion__wrapper--leave{position:absolute;width:100%;perspective:1000px}.nas-accordion__wrapper--leave .nas-accordion__content{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-out .2s ease both}.nas-accordion__header{display:flex;flex-wrap:wrap;gap:4px}.nas-accordion__content{padding:16px;background-color:#fff;border-top:1px solid #E9E7E4;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.nas-accordion__content p:last-child{margin-bottom:0}.nas-accordion__indicator{position:relative;margin-left:auto;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-accordion__indicator--no-margin{margin:0}.nas-accordion__title{margin:0 12px 0 0;font-size:18px;line-height:24px;line-height:normal}.nas-accordion__title--small{font-size:16px;line-height:24px}.nas-accordion__title--description{margin-right:0}.nas-accordion--simple{background-color:transparent;border:none}.nas-accordion--simple .nas-accordion__toggle{padding:0;background-color:transparent;margin-bottom:12px}.nas-accordion--simple .nas-accordion__indicator{margin-left:9px;transform-origin:45% 55%;margin-bottom:3px}.nas-accordion--simple .nas-accordion__content{padding:16px;border-top:0}.nas-accordion--simple .nas-icon-small--angle-down{transform:scale(.9)}.nas-accordion__description{margin-top:4px}.nas-accordion__icon{margin:0 9px 0 0}.nas-accordion__badge{background-color:#f8f8f8;border:1px solid #E9E7E4;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge{margin-left:auto}}.nas-accordion__badge--success{background-color:#f4faf2;border:1px solid #2EB004;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--success{margin-left:auto}}.nas-accordion__badge--info{background-color:#ebf4ff;border:1px solid #15273F;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--info{margin-left:auto}}.nas-accordion__badge--error{background-color:#fff5f3;border:1px solid #CC3A19;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--error{margin-left:auto}}.nas-accordion__badge--warning{background-color:#fff6ec;border:1px solid #FC9E12;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--warning{margin-left:auto}}.nas-accordion--expanded{z-index:20}.nas-accordion--expanded .nas-accordion__indicator{transform:rotate(-180deg)}.nas-accordion--expanded .nas-accordion__toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}@media (min-width: 640px){.nas-accordion--spaced .nas-accordion__toggle{padding:16px 24px}}@media (min-width: 640px){.nas-accordion--spaced .nas-accordion__content{padding:12px 24px 24px}}.nas-accordion--small .nas-accordion__toggle{padding:9px;background-color:#fff}.nas-accordion--small .nas-accordion__content{padding:9px}.nas-accordion--small .nas-accordion__indicator{transform-origin:45% 55%;margin-bottom:3px}.nas-accordion--small .nas-icon-small--angle-down{transform:scale(.9)}.nas-accordion--inverted{border:1px solid #FFFFFF}.nas-accordion--inverted .nas-accordion__toggle{background-color:#e9e7e4}.nas-accordion--inverted .nas-accordion__toggle:hover,.nas-accordion--inverted .nas-accordion__toggle:focus{background-color:#fff}.nas-accordion--inverted .nas-accordion__content,.nas-accordion--inverted.nas-accordion--expanded .nas-accordion__toggle{background-color:#e9e7e4}.nas-accordion--nopadding{padding-bottom:25px}.nas-accordion--nopadding .nas-accordion__toggle,.nas-accordion--nopadding .nas-accordion__content{padding:0}.nas-accordion--approve .nas-accordion__toggle{background-color:#f4faf2;color:#2eb004}.nas-accordion--primary .nas-accordion__toggle{background-color:#fff5f3;color:#b12a0b}.nas-accordion--warning .nas-accordion__toggle,.nas-accordion--warning .nas-accordion__content{background-color:#fff6ec;color:#15273f}.nas-accordion .nas-icon-positive--light,.nas-accordion .nas-icon-negative--light{transform:scale(.85)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
110
110
|
}
|
|
111
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
113
|
-
args: [{ selector: 'nas-accordion', encapsulation: ViewEncapsulation.None, template: "<section [nasClass]=\"getClasses('', getModifiers())\" [ngStyle]=\"cssStyle\" ref=\"element\">\n <div *ngIf=\"exists(containerOnToggle); else toggleTemplate\" class=\"container\">\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\n </div>\n\n <div [nasClass]=\"wrapperClass()\">\n <div [hidden]=\"!exists(expanded)\" [nasClass]=\"getClass('content')\"\n [style.background-color]=\"exists(transparent) && 'inherit'\" [style.padding]=\"exists(transparent) && 'unset'\">\n <ng-content></ng-content>\n </div>\n </div>\n</section>\n\n<ng-template #toggleTemplate>\n <button type=\"button\" [nasClass]=\"getClass('toggle')\" (click)=\"toggle()\">\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon\">\n <nas-icon [icon]=\"icon\"></nas-icon>\n </span>\n <div [nasClass]=\"getClass('breakdown')\">\n <div>\n <div [nasClass]=\"getClass('header')\">\n <ng-container *ngIf=\"regularHeader\">\n <ng-container [ngSwitch]=\"headerLevel\">\n <h1 *ngSwitchCase=\"1\" [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <h2 *ngSwitchCase=\"2\" [nasClass]=\"getClass('title')\">{{ title }}</h2>\n <h3 *ngSwitchCase=\"3\" [nasClass]=\"getClass('title')\">{{ title }}</h3>\n <h4 *ngSwitchCase=\"4\" [nasClass]=\"getClass('title')\">{{ title }}</h4>\n <h5 *ngSwitchCase=\"5\" [nasClass]=\"getClass('title')\">{{ title }}</h5>\n </ng-container>\n </ng-container>\n <h6 *ngIf=\"!regularHeader\" [nasClass]=\"getClass('title', 'small')\">{{title}}</h6>\n <div *ngIf=\"titleDescription\" [nasClass]=\"getClass('title', 'description')\">{{titleDescription}}</div>\n </div>\n <div *ngIf=\"description\" [nasClass]=\"getClass('description')\">{{description}}</div>\n </div>\n <div *ngIf=\"badge\" [nasClass]=\"getClass('badge', exists(badgeInfo) ? 'info' :\n exists(badgeSuccess) ? 'success' : exists(badgeWarning) ? 'warning': exists(badgeError) ? 'error': '')\">\n <span>{{badge}}</span>\n </div>\n </div>\n <nas-icon [icon]=\"'angle-down'\" [type]=\"'small'\"\n [nasClass]=\"getClass('indicator', exists(badge) ? 'no-margin' : '')\"></nas-icon>\n </button>\n</ng-template>", 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-accordion{position:relative;border:1px solid #E9E7E4;background-color:#fff;border-radius:4px;margin-bottom:4px}.nas-accordion:hover,.nas-accordion:focus-visible{border-color:#c3c3c3}@media (min-width: 640px){.nas-accordion{margin-bottom:8px}}.nas-accordion__toggle{display:flex;align-items:center;text-align:left;width:100%;padding:16px;border-radius:4px}.nas-accordion__breakdown{display:flex;flex-direction:column;align-items:normal;width:100%}@media (min-width: 640px){.nas-accordion__breakdown{flex-direction:row;align-items:center}}.nas-accordion__wrapper
|
|
113
|
+
args: [{ selector: 'nas-accordion', encapsulation: ViewEncapsulation.None, template: "<section [nasClass]=\"getClasses('', getModifiers())\" [ngStyle]=\"cssStyle\" ref=\"element\">\n <div *ngIf=\"exists(containerOnToggle); else toggleTemplate\" class=\"container\">\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\n </div>\n\n <div [nasClass]=\"wrapperClass()\">\n <div [hidden]=\"!exists(expanded)\" [nasClass]=\"getClass('content')\"\n [style.background-color]=\"exists(transparent) && 'inherit'\" [style.padding]=\"exists(transparent) && 'unset'\">\n <ng-content></ng-content>\n </div>\n </div>\n</section>\n\n<ng-template #toggleTemplate>\n <button type=\"button\" [nasClass]=\"getClass('toggle')\" (click)=\"toggle()\">\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon\">\n <nas-icon [icon]=\"icon\"></nas-icon>\n </span>\n <div [nasClass]=\"getClass('breakdown')\">\n <div>\n <div [nasClass]=\"getClass('header')\">\n <ng-container *ngIf=\"regularHeader\">\n <ng-container [ngSwitch]=\"headerLevel\">\n <h1 *ngSwitchCase=\"1\" [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <h2 *ngSwitchCase=\"2\" [nasClass]=\"getClass('title')\">{{ title }}</h2>\n <h3 *ngSwitchCase=\"3\" [nasClass]=\"getClass('title')\">{{ title }}</h3>\n <h4 *ngSwitchCase=\"4\" [nasClass]=\"getClass('title')\">{{ title }}</h4>\n <h5 *ngSwitchCase=\"5\" [nasClass]=\"getClass('title')\">{{ title }}</h5>\n </ng-container>\n </ng-container>\n <h6 *ngIf=\"!regularHeader\" [nasClass]=\"getClass('title', 'small')\">{{title}}</h6>\n <div *ngIf=\"titleDescription\" [nasClass]=\"getClass('title', 'description')\">{{titleDescription}}</div>\n </div>\n <div *ngIf=\"description\" [nasClass]=\"getClass('description')\">{{description}}</div>\n </div>\n <div *ngIf=\"badge\" [nasClass]=\"getClass('badge', exists(badgeInfo) ? 'info' :\n exists(badgeSuccess) ? 'success' : exists(badgeWarning) ? 'warning': exists(badgeError) ? 'error': '')\">\n <span>{{badge}}</span>\n </div>\n </div>\n <nas-icon [icon]=\"'angle-down'\" [type]=\"'small'\"\n [nasClass]=\"getClass('indicator', exists(badge) ? 'no-margin' : '')\"></nas-icon>\n </button>\n</ng-template>", 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-accordion{position:relative;border:1px solid #E9E7E4;background-color:#fff;border-radius:4px;margin-bottom:4px}.nas-accordion:hover,.nas-accordion:focus-visible{border-color:#c3c3c3}@media (min-width: 640px){.nas-accordion{margin-bottom:8px}}.nas-accordion__toggle{display:flex;align-items:center;text-align:left;width:100%;padding:16px;border-radius:4px}.nas-accordion__breakdown{display:flex;flex-direction:column;align-items:normal;width:100%}@media (min-width: 640px){.nas-accordion__breakdown{flex-direction:row;align-items:center}}.nas-accordion__wrapper--enter{perspective:1000px}.nas-accordion__wrapper--enter .nas-accordion__content{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both}.nas-accordion__wrapper--leave{position:absolute;width:100%;perspective:1000px}.nas-accordion__wrapper--leave .nas-accordion__content{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-out .2s ease both}.nas-accordion__header{display:flex;flex-wrap:wrap;gap:4px}.nas-accordion__content{padding:16px;background-color:#fff;border-top:1px solid #E9E7E4;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.nas-accordion__content p:last-child{margin-bottom:0}.nas-accordion__indicator{position:relative;margin-left:auto;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-accordion__indicator--no-margin{margin:0}.nas-accordion__title{margin:0 12px 0 0;font-size:18px;line-height:24px;line-height:normal}.nas-accordion__title--small{font-size:16px;line-height:24px}.nas-accordion__title--description{margin-right:0}.nas-accordion--simple{background-color:transparent;border:none}.nas-accordion--simple .nas-accordion__toggle{padding:0;background-color:transparent;margin-bottom:12px}.nas-accordion--simple .nas-accordion__indicator{margin-left:9px;transform-origin:45% 55%;margin-bottom:3px}.nas-accordion--simple .nas-accordion__content{padding:16px;border-top:0}.nas-accordion--simple .nas-icon-small--angle-down{transform:scale(.9)}.nas-accordion__description{margin-top:4px}.nas-accordion__icon{margin:0 9px 0 0}.nas-accordion__badge{background-color:#f8f8f8;border:1px solid #E9E7E4;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge{margin-left:auto}}.nas-accordion__badge--success{background-color:#f4faf2;border:1px solid #2EB004;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--success{margin-left:auto}}.nas-accordion__badge--info{background-color:#ebf4ff;border:1px solid #15273F;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--info{margin-left:auto}}.nas-accordion__badge--error{background-color:#fff5f3;border:1px solid #CC3A19;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--error{margin-left:auto}}.nas-accordion__badge--warning{background-color:#fff6ec;border:1px solid #FC9E12;padding:4px 8px;margin:3px 24px 3px 0;font-size:14px;color:#15273f;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media (min-width: 640px){.nas-accordion__badge--warning{margin-left:auto}}.nas-accordion--expanded{z-index:20}.nas-accordion--expanded .nas-accordion__indicator{transform:rotate(-180deg)}.nas-accordion--expanded .nas-accordion__toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}@media (min-width: 640px){.nas-accordion--spaced .nas-accordion__toggle{padding:16px 24px}}@media (min-width: 640px){.nas-accordion--spaced .nas-accordion__content{padding:12px 24px 24px}}.nas-accordion--small .nas-accordion__toggle{padding:9px;background-color:#fff}.nas-accordion--small .nas-accordion__content{padding:9px}.nas-accordion--small .nas-accordion__indicator{transform-origin:45% 55%;margin-bottom:3px}.nas-accordion--small .nas-icon-small--angle-down{transform:scale(.9)}.nas-accordion--inverted{border:1px solid #FFFFFF}.nas-accordion--inverted .nas-accordion__toggle{background-color:#e9e7e4}.nas-accordion--inverted .nas-accordion__toggle:hover,.nas-accordion--inverted .nas-accordion__toggle:focus{background-color:#fff}.nas-accordion--inverted .nas-accordion__content,.nas-accordion--inverted.nas-accordion--expanded .nas-accordion__toggle{background-color:#e9e7e4}.nas-accordion--nopadding{padding-bottom:25px}.nas-accordion--nopadding .nas-accordion__toggle,.nas-accordion--nopadding .nas-accordion__content{padding:0}.nas-accordion--approve .nas-accordion__toggle{background-color:#f4faf2;color:#2eb004}.nas-accordion--primary .nas-accordion__toggle{background-color:#fff5f3;color:#b12a0b}.nas-accordion--warning .nas-accordion__toggle,.nas-accordion--warning .nas-accordion__content{background-color:#fff6ec;color:#15273f}.nas-accordion .nas-icon-positive--light,.nas-accordion .nas-icon-negative--light{transform:scale(.85)}\n"] }]
|
|
114
114
|
}], ctorParameters: function () { return []; }, propDecorators: { expanded: [{
|
|
115
115
|
type: Input
|
|
116
116
|
}], title: [{
|
|
@@ -524,7 +524,7 @@ export class CalendarComponent extends NasComponentBase {
|
|
|
524
524
|
this.weeks = this.calendarService.getWeeks(this.availableDays, this.weekStart);
|
|
525
525
|
}
|
|
526
526
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.DateHelper }, { token: i2.DatePipe }, { token: i3.CalendarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
527
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarComponent, selector: "nas-calendar", inputs: { id: "id", noAvailableFlightsLabel: "noAvailableFlightsLabel", availableFlightsLabel: "availableFlightsLabel", disablePastSelection: "disablePastSelection", lowerLimitDate: "lowerLimitDate", date: "date", weekStart: "weekStart", displayWeekNumbers: "displayWeekNumbers", availability: "availability", locale: "locale", availableDates: "availableDates", activeDate: "activeDate", selectedDate: "selectedDate", nasFormGroup: "nasFormGroup", nasFormControlName: "nasFormControlName", dateDisplayFormat: "dateDisplayFormat", ariaLabelPreviousMonth: "ariaLabelPreviousMonth", ariaLabelNextMonth: "ariaLabelNextMonth" }, outputs: { monthChange: "monthChange", focusOnNextChange: "focusOnNextChange", selectedDateChange: "selectedDateChange", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "previousMonthRef", first: true, predicate: ["previousMonthRef"], descendants: true }, { propertyName: "nextMonthRef", first: true, predicate: ["nextMonthRef"], descendants: true }, { propertyName: "calendarContent", first: true, predicate: ["calendarContent"], descendants: true }, { propertyName: "monthSelectRef", first: true, predicate: ["monthSelect"], descendants: true }, { propertyName: "tableCells", predicate: ["tableCells"], descendants: true }, { propertyName: "dateButtons", predicate: ["dateButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass()\">\n <div #calendarContent tabindex=\"0\" [nasClass]=\"getClass('content')\">\n <header [nasClass]=\"getClass('header')\">\n <button [id]=\"prevMonthId\" type=\"button\" #previousMonthRef tabindex=\"0\" [attr.aria-label]=\"ariaLabelPreviousMonth\"\n [nasClass]=\"getClass('nav')\" [disabled]=\"isPreviousMonthDisabled === true\"\n (keydown)=\"onPreviousMonthKeydown($event)\" (mousedown)=\"onPreviousMonthMousedown()\">\n <nas-icon tabindex=\"-1\" [type]=\"'arrow-left'\"></nas-icon>\n </button>\n <ng-container *ngIf=\"months?.length > 0; else currentMonthTemplate\">\n <nas-select #monthSelect [cssClass]=\"getClass('month')\" [inline]=\"true\" [simple]=\"true\" [options]=\"months\"\n [(selected)]=\"selectedMonth\" (keydown)=\"onMonthSelectKeydown($event)\"></nas-select>\n </ng-container>\n <ng-template #currentMonthTemplate>\n {{currentMonthModel}}\n </ng-template>\n <button [id]=\"nextMonthId\" type=\"button\" tabindex=\"0\" #nextMonthRef [nasClass]=\"getClass('nav')\"\n [attr.aria-label]=\"ariaLabelNextMonth\" [disabled]=\"nextMonthDisabled\" (keydown)=\"onNextMonthKeydown($event)\"\n (mousedown)=\"onNextMonthMousedown()\">\n <nas-icon [type]=\"'arrow-right'\"></nas-icon>\n </button>\n </header>\n\n <!-- Weekdays + Dates -->\n <table [nasClass]=\"getClass('table')\">\n <thead>\n <tr [nasClass]=\"getClass('week')\">\n <th *ngIf=\"exists(displayWeekNumbers)\" [nasClass]=\"getClass('week-number')\"></th>\n <th [nasClass]=\"getClass('cell')\" *ngFor=\"let weekday of weekdays\">\n <div [nasClass]=\"getClass('item', 'header')\">{{weekday}}</div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let week of weeks\" [nasClass]=\"getClass('row', 'animate')\">\n <td *ngIf=\"exists(displayWeekNumbers)\" [nasClass]=\"getClass('week-number')\">\n <span [nasClass]=\"getClass('date', 'week-number')\">{{week.weekNumber}}</span>\n </td>\n <td [nasClass]=\"getClass('cell')\" *ngFor=\"let day of week?.days\" #tableCells>\n <div [nasClass]=\"getClass('item', 'dummy')\" *ngIf=\"day === null; else dayTemplate\"></div>\n <ng-template #dayTemplate tabindex=\"0\">\n <button id=\"day-{{day.date | date : 'd':'UTC':locale}}\" type=\"button\" #dateButton (keydown)=\"dateKeyDown($event)\" tabIndex=\"0\"\n [nasClass]=\"getCellButtonClass(day)\" (mousedown)=\"onMouseDown(day.date, $event)\"\n (click)=\"onDayClick(day)\" (focus)=\"onDayFocus(day)\">\n <div [nasClass]=\"getClass('date-wrapper')\">\n <span [nasClass]=\"getClass('date')\" [attr.aria-label]=\"day.date | date : 'd':'UTC'\">{{ day.date | date\n : 'd':'UTC':locale }}</span>\n </div>\n </button>\n </ng-template>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div [nasClass]=\"getClass('footer')\">\n <div *ngIf=\"availableDates?.length === 0 && noAvailableFlightsLabel\" [nasClass]=\"getClass('footer', 'item')\">\n <nas-icon [icon]=\"'alert'\"></nas-icon>\n {{noAvailableFlightsLabel}}\n </div>\n <div *ngIf=\"availableDates?.length > 0 && noAvailableFlightsLabel && availableFlightsLabel\"\n [nasClass]=\"getClass('footer', 'item')\">\n <div [nasClass]=\"getClass('item', 'available')\"></div>\n <div [nasClass]=\"getClass('footer', 'label')\">{{availableFlightsLabel}}</div>\n <span [nasClass]=\"getClass('item', 'unavailable')\"></span>\n <div [nasClass]=\"getClass('footer', 'label')\">{{noAvailableFlightsLabel}}</div>\n </div>\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-calendar{z-index:3;width:100%;min-width:300px;float:right;padding:16px 8px;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both;position:relative;border:2px solid #15273F;z-index:4}@media (min-width: 640px){.nas-calendar{max-width:350px}}@media (min-width: 380px){.nas-calendar{min-width:325px}}.nas-calendar__content:active{outline:none;box-shadow:none}.nas-calendar__content:focus{outline:none;box-shadow:none}.nas-calendar__cover{margin-bottom:16px}.nas-calendar__header{height:30px;font-size:16px;line-height:24px;font-weight:700;display:flex;justify-content:space-between}.nas-calendar__month{margin:0 auto 21px}.nas-calendar__months{background-color:#fff;max-width:350px;display:flex;flex-wrap:wrap;gap:15px}.nas-calendar__months--item{text-transform:uppercase}.nas-calendar__table{table-layout:fixed;width:100%}.nas-calendar__week-number{font-size:14px;line-height:20px;position:relative;width:20px;display:none}@media (min-width: 640px){.nas-calendar__week-number{display:table-cell}}.nas-calendar__cell{padding:0;font-weight:400;color:#15273f}.nas-calendar__nav{margin:-3px 2px 12px;width:24px;height:24px;border-radius:50%;transition:transform .2s cubic-bezier(0,0,.1,1),opacity .2s ease-out}.nas-calendar__nav .nas-icon-arrow-left--light,.nas-calendar__nav .nas-icon-arrow-right--light{position:absolute;top:50%;left:50%}.nas-calendar__nav .nas-icon-arrow-left--light{transform:translate(-60%,-50%)}.nas-calendar__nav .nas-icon-arrow-right--light{transform:translate(-40%,-50%)}.nas-calendar__nav:active{transform:translateY(2px)}.nas-calendar__nav[disabled]{pointer-events:none;opacity:.5}.nas-calendar__item{font-size:14px;line-height:20px;display:flex;flex-direction:column;margin-left:5px;cursor:pointer;overflow:hidden;width:100%;height:40px;text-align:left;outline:0;padding:2px;border:1px solid #FFFFFF;transition:transform .17s cubic-bezier(0,0,.1,1);border-radius:0;align-items:center;justify-content:center;pointer-events:none;opacity:.5;background-color:#fff}.nas-calendar__item .nas-calendar__date{color:#0a2033}@media (min-width: 640px){.nas-calendar__item{padding:2px 6px}}@media (min-width: 1000px){.nas-calendar__item{padding:2px 3px}}@media (min-width: 1180px){.nas-calendar__item{padding:2px 6px}}.nas-calendar__item--large{height:40px;width:37px;height:37px;margin-top:8px;margin-left:2px}@media (min-width: 400px){.nas-calendar__item--large{width:39px;height:39px}}@media (min-width: 415px){.nas-calendar__item--large{width:40px;margin-top:8px;margin-left:6px}}.nas-calendar__item--header{pointer-events:none;background-color:transparent;border:0;opacity:1;padding-bottom:9px;margin-left:0!important}.nas-calendar__item--dummy{visibility:hidden}.nas-calendar__item--today .nas-calendar__date{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;color:#15273f}.nas-calendar__item--cheapest{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;color:#b12a0b}.nas-calendar__item--empty{pointer-events:none;opacity:.3;border-color:#fff;background-color:#fff}.nas-calendar__item--empty .nas-calendar__date{color:inherit}.nas-calendar__item--available{pointer-events:all;opacity:1;border-color:#e9e7e4;background-color:#f8f8f8;border-radius:2px}.nas-calendar__item--available .nas-calendar__date{color:#0a2033}.nas-calendar__item--active{border:2px solid #15273F;background-color:#ebf4ff}.nas-calendar__item--within-range{background-color:#ebf4ff}.nas-calendar__item--before{pointer-events:none;color:#a9a9a9;opacity:.55}.nas-calendar__item:hover,.nas-calendar__item:focus{border-color:#e9e7e4;border-width:2px}.nas-calendar__item:hover .nas-calendar__date,.nas-calendar__item:focus .nas-calendar__date{font-weight:700}.nas-calendar__item:active{transform:translateY(3px)}.nas-calendar__item--selected,.nas-calendar__item:active{color:#fff;background-color:#15273f;height:37px;width:37px;margin-left:5px}@media (min-width: 380px){.nas-calendar__item--selected,.nas-calendar__item:active{height:40px;width:40px}}.nas-calendar__item--selected:hover,.nas-calendar__item--selected:focus,.nas-calendar__item:active:hover,.nas-calendar__item:active:focus{border-color:#15273f;border-width:3px}.nas-calendar__item--selected .nas-calendar__date,.nas-calendar__item:active .nas-calendar__date{color:inherit}.nas-calendar__item--sold-out{pointer-events:none;opacity:.8;border-color:#fff;background-color:#fff}.nas-calendar__item--sold-out .nas-calendar__date{color:#0a2033}.nas-calendar__item[disabled]{pointer-events:none}.nas-calendar__week{border-bottom:1px solid #E9E7E4}.nas-calendar__date{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;color:#6f6f6f}.nas-calendar__date--week-number{top:6px;right:6px}.nas-calendar__date:hover,.nas-calendar__date:focus{font-weight:700}.nas-calendar__price{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;color:inherit;letter-spacing:-.04em;font-size:14px}@media (min-width: 640px){.nas-calendar__price{font-size:14px;line-height:1.1}}@media (min-width: 1280px){.nas-calendar__price{font-size:16px}}.nas-calendar__price--before{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;text-decoration:line-through;font-size:.8em;line-height:1}@media (min-width: 1000px){.nas-calendar__price--before{margin-bottom:2px}}.nas-calendar__sold-out{position:absolute;bottom:2px;left:2px;line-height:1;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.015em;color:#8c8c8c;font-size:.75em}@media (min-width: 640px){.nas-calendar__sold-out{font-size:.9em;bottom:6px;left:6px}}@media (min-width: 1000px){.nas-calendar__sold-out{left:3px}}@media (min-width: 1180px){.nas-calendar__sold-out{left:6px}}.nas-calendar__transit{position:relative;display:flex;max-width:3.8em;width:calc(100% - 12px);padding:0 .5em 0 .3em;height:8px;justify-content:space-around;margin-bottom:2px;transform:scale(.85);transform-origin:left;background-color:inherit}@media (min-width: 640px){.nas-calendar__transit{transform:none;padding:0 .5em 0 .3em;margin-bottom:3px}}.nas-calendar__transit:before,.nas-calendar__transit:after{content:\"\";position:absolute}.nas-calendar__transit:before{top:calc(50% - 1px);width:100%;left:0;height:2px;background-color:currentColor}.nas-calendar__transit:after{width:8px;height:8px;right:0;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}.nas-calendar__transit-indicator{position:relative;width:8px;height:8px;flex-shrink:0;border-radius:50%;border:2px solid currentColor;background-color:#fff}.nas-calendar__asterisk{font-size:.67em;top:-.36em;margin-left:.1em}.nas-calendar__footer{display:flex;justify-content:center}.nas-calendar__footer .nas-calendar__item{width:25px;height:25px;margin-right:3px}.nas-calendar__footer .nas-calendar__item--unavailable{border:1px solid #15273F}.nas-calendar__footer--item{margin-bottom:6px}.nas-calendar__footer--label{flex-shrink:0;margin-right:12px;display:flex;flex-direction:column;justify-content:center;font-size:14px;line-height:20px}@keyframes lowfare-item-in{0%{opacity:0;transform:scale(0)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SelectComponent, selector: "nas-select", inputs: ["id", "inline", "label", "block", "spaceless", "stretch", "compact", "simple", "light", "fill", "error", "errorMessage", "disabled", "autogrow", "cssClass", "nasFormControlName", "nasFormGroup", "options", "selectedValue", "selected"], outputs: ["selectedChange", "keyDownEvent"] }, { kind: "component", type: i5.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i6.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
527
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarComponent, selector: "nas-calendar", inputs: { id: "id", noAvailableFlightsLabel: "noAvailableFlightsLabel", availableFlightsLabel: "availableFlightsLabel", disablePastSelection: "disablePastSelection", lowerLimitDate: "lowerLimitDate", date: "date", weekStart: "weekStart", displayWeekNumbers: "displayWeekNumbers", availability: "availability", locale: "locale", availableDates: "availableDates", activeDate: "activeDate", selectedDate: "selectedDate", nasFormGroup: "nasFormGroup", nasFormControlName: "nasFormControlName", dateDisplayFormat: "dateDisplayFormat", ariaLabelPreviousMonth: "ariaLabelPreviousMonth", ariaLabelNextMonth: "ariaLabelNextMonth" }, outputs: { monthChange: "monthChange", focusOnNextChange: "focusOnNextChange", selectedDateChange: "selectedDateChange", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "previousMonthRef", first: true, predicate: ["previousMonthRef"], descendants: true }, { propertyName: "nextMonthRef", first: true, predicate: ["nextMonthRef"], descendants: true }, { propertyName: "calendarContent", first: true, predicate: ["calendarContent"], descendants: true }, { propertyName: "monthSelectRef", first: true, predicate: ["monthSelect"], descendants: true }, { propertyName: "tableCells", predicate: ["tableCells"], descendants: true }, { propertyName: "dateButtons", predicate: ["dateButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getClass()\">\n <div #calendarContent tabindex=\"0\" [nasClass]=\"getClass('content')\">\n <header [nasClass]=\"getClass('header')\">\n <button [id]=\"prevMonthId\" type=\"button\" #previousMonthRef tabindex=\"0\" [attr.aria-label]=\"ariaLabelPreviousMonth\"\n [nasClass]=\"getClass('nav')\" [disabled]=\"isPreviousMonthDisabled === true\"\n (keydown)=\"onPreviousMonthKeydown($event)\" (mousedown)=\"onPreviousMonthMousedown()\">\n <nas-icon tabindex=\"-1\" [type]=\"'arrow-left'\"></nas-icon>\n </button>\n <ng-container *ngIf=\"months?.length > 0; else currentMonthTemplate\">\n <nas-select #monthSelect [cssClass]=\"getClass('month')\" [inline]=\"true\" [simple]=\"true\" [options]=\"months\"\n [(selected)]=\"selectedMonth\" (keydown)=\"onMonthSelectKeydown($event)\"></nas-select>\n </ng-container>\n <ng-template #currentMonthTemplate>\n {{currentMonthModel}}\n </ng-template>\n <button [id]=\"nextMonthId\" type=\"button\" tabindex=\"0\" #nextMonthRef [nasClass]=\"getClass('nav')\"\n [attr.aria-label]=\"ariaLabelNextMonth\" [disabled]=\"nextMonthDisabled\" (keydown)=\"onNextMonthKeydown($event)\"\n (mousedown)=\"onNextMonthMousedown()\">\n <nas-icon [type]=\"'arrow-right'\"></nas-icon>\n </button>\n </header>\n\n <!-- Weekdays + Dates -->\n <table [nasClass]=\"getClass('table')\">\n <thead>\n <tr [nasClass]=\"getClass('week')\">\n <th *ngIf=\"exists(displayWeekNumbers)\" [nasClass]=\"getClass('week-number')\"></th>\n <th [nasClass]=\"getClass('cell')\" *ngFor=\"let weekday of weekdays\">\n <div [nasClass]=\"getClass('item', 'header')\">{{weekday}}</div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let week of weeks\" [nasClass]=\"getClass('row', 'animate')\">\n <td *ngIf=\"exists(displayWeekNumbers)\" [nasClass]=\"getClass('week-number')\">\n <span [nasClass]=\"getClass('date', 'week-number')\">{{week.weekNumber}}</span>\n </td>\n <td [nasClass]=\"getClass('cell')\" *ngFor=\"let day of week?.days\" #tableCells>\n <div [nasClass]=\"getClass('item', 'dummy')\" *ngIf=\"day === null; else dayTemplate\"></div>\n <ng-template #dayTemplate tabindex=\"0\">\n <button id=\"day-{{day.date | date : 'd':'UTC':locale}}\" type=\"button\" #dateButton (keydown)=\"dateKeyDown($event)\" tabIndex=\"0\"\n [nasClass]=\"getCellButtonClass(day)\" (mousedown)=\"onMouseDown(day.date, $event)\"\n (click)=\"onDayClick(day)\" (focus)=\"onDayFocus(day)\">\n <div [nasClass]=\"getClass('date-wrapper')\">\n <span [nasClass]=\"getClass('date')\" [attr.aria-label]=\"day.date | date : 'd':'UTC'\">{{ day.date | date\n : 'd':'UTC':locale }}</span>\n </div>\n </button>\n </ng-template>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div [nasClass]=\"getClass('footer')\">\n <div *ngIf=\"availableDates?.length === 0 && noAvailableFlightsLabel\" [nasClass]=\"getClass('footer', 'item')\">\n <nas-icon [icon]=\"'alert'\"></nas-icon>\n {{noAvailableFlightsLabel}}\n </div>\n <div *ngIf=\"availableDates?.length > 0 && noAvailableFlightsLabel && availableFlightsLabel\"\n [nasClass]=\"getClass('footer', 'item')\">\n <div [nasClass]=\"getClass('item', 'available')\"></div>\n <div [nasClass]=\"getClass('footer', 'label')\">{{availableFlightsLabel}}</div>\n <span [nasClass]=\"getClass('item', 'unavailable')\"></span>\n <div [nasClass]=\"getClass('footer', 'label')\">{{noAvailableFlightsLabel}}</div>\n </div>\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-calendar{z-index:3;width:100%;min-width:300px;float:right;padding:16px 8px;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:flip-in .55s ease both;position:relative;border:2px solid #15273F;z-index:4}@media (min-width: 640px){.nas-calendar{max-width:350px}}@media (min-width: 380px){.nas-calendar{min-width:325px}}.nas-calendar__content:active{outline:none;box-shadow:none}.nas-calendar__content:focus{outline:none;box-shadow:none}.nas-calendar__cover{margin-bottom:16px}.nas-calendar__header{height:30px;font-size:16px;line-height:24px;font-weight:700;display:flex;justify-content:space-between}.nas-calendar__month{margin:0 auto 21px}.nas-calendar__months{background-color:#fff;max-width:350px;display:flex;flex-wrap:wrap;gap:15px}.nas-calendar__months--item{text-transform:uppercase}.nas-calendar__table{table-layout:fixed;width:100%}.nas-calendar__week-number{font-size:14px;line-height:20px;position:relative;width:20px;display:none}@media (min-width: 640px){.nas-calendar__week-number{display:table-cell}}.nas-calendar__cell{padding:0;font-weight:400;color:#15273f}.nas-calendar__nav{margin:-3px 2px 12px;width:24px;height:24px;border-radius:50%;transition:transform .2s cubic-bezier(0,0,.1,1),opacity .2s ease-out}.nas-calendar__nav .nas-icon-arrow-left--light,.nas-calendar__nav .nas-icon-arrow-right--light{position:absolute;top:50%;left:50%}.nas-calendar__nav .nas-icon-arrow-left--light{transform:translate(-60%,-50%)}.nas-calendar__nav .nas-icon-arrow-right--light{transform:translate(-40%,-50%)}.nas-calendar__nav:active{transform:translateY(2px)}.nas-calendar__nav[disabled]{pointer-events:none;opacity:.5}.nas-calendar__item{font-size:14px;line-height:20px;display:flex;flex-direction:column;margin-left:5px;cursor:pointer;overflow:hidden;width:100%;height:40px;text-align:left;outline:0;padding:2px;border:1px solid #FFFFFF;transition:transform .17s cubic-bezier(0,0,.1,1);border-radius:0;align-items:center;justify-content:center;pointer-events:none;opacity:.5;background-color:#fff}.nas-calendar__item .nas-calendar__date{color:#0a2033}@media (min-width: 640px){.nas-calendar__item{padding:2px 6px}}@media (min-width: 1000px){.nas-calendar__item{padding:2px 3px}}@media (min-width: 1180px){.nas-calendar__item{padding:2px 6px}}.nas-calendar__item--large{height:40px;width:37px;height:37px;margin-top:8px;margin-left:2px}@media (min-width: 400px){.nas-calendar__item--large{width:39px;height:39px}}@media (min-width: 415px){.nas-calendar__item--large{width:40px;margin-top:8px;margin-left:6px}}.nas-calendar__item--header{pointer-events:none;background-color:transparent;border:0;opacity:1;padding-bottom:9px;margin-left:0!important}.nas-calendar__item--dummy{visibility:hidden}.nas-calendar__item--today .nas-calendar__date{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;color:#15273f}.nas-calendar__item--cheapest{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;color:#b12a0b}.nas-calendar__item--empty{pointer-events:none;opacity:.3;border-color:#fff;background-color:#fff}.nas-calendar__item--empty .nas-calendar__date{color:inherit}.nas-calendar__item--available{pointer-events:all;opacity:1;border-color:#e9e7e4;background-color:#f8f8f8;border-radius:2px}.nas-calendar__item--available .nas-calendar__date{color:#0a2033}.nas-calendar__item--active{border:2px solid #15273F;background-color:#ebf4ff}.nas-calendar__item--within-range{background-color:#ebf4ff}.nas-calendar__item--before{pointer-events:none;color:#a9a9a9;opacity:.55}.nas-calendar__item:hover,.nas-calendar__item:focus{border-color:#e9e7e4;border-width:2px}.nas-calendar__item:hover .nas-calendar__date,.nas-calendar__item:focus .nas-calendar__date{font-weight:700}.nas-calendar__item:active{transform:translateY(3px)}.nas-calendar__item--selected,.nas-calendar__item:active{color:#fff;background-color:#15273f;height:37px;width:37px;margin-left:5px}@media (min-width: 380px){.nas-calendar__item--selected,.nas-calendar__item:active{height:40px;width:40px}}.nas-calendar__item--selected:hover,.nas-calendar__item--selected:focus,.nas-calendar__item:active:hover,.nas-calendar__item:active:focus{border-color:#15273f;border-width:3px}.nas-calendar__item--selected .nas-calendar__date,.nas-calendar__item:active .nas-calendar__date{color:inherit}.nas-calendar__item--sold-out{pointer-events:none;opacity:.8;border-color:#fff;background-color:#fff}.nas-calendar__item--sold-out .nas-calendar__date{color:#0a2033}.nas-calendar__item[disabled]{pointer-events:none}.nas-calendar__week{border-bottom:1px solid #E9E7E4}.nas-calendar__date{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;color:#6f6f6f}.nas-calendar__date--week-number{top:6px;right:6px}.nas-calendar__date:hover,.nas-calendar__date:focus{font-weight:700}.nas-calendar__price{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;color:inherit;letter-spacing:-.04em;font-size:14px}@media (min-width: 640px){.nas-calendar__price{font-size:14px;line-height:1.1}}@media (min-width: 1280px){.nas-calendar__price{font-size:16px}}.nas-calendar__price--before{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;text-decoration:line-through;font-size:.8em;line-height:1}@media (min-width: 1000px){.nas-calendar__price--before{margin-bottom:2px}}.nas-calendar__sold-out{position:absolute;bottom:2px;left:2px;line-height:1;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.015em;color:#8c8c8c;font-size:.75em}@media (min-width: 640px){.nas-calendar__sold-out{font-size:.9em;bottom:6px;left:6px}}@media (min-width: 1000px){.nas-calendar__sold-out{left:3px}}@media (min-width: 1180px){.nas-calendar__sold-out{left:6px}}.nas-calendar__transit{position:relative;display:flex;max-width:3.8em;width:calc(100% - 12px);padding:0 .5em 0 .3em;height:8px;justify-content:space-around;margin-bottom:2px;transform:scale(.85);transform-origin:left;background-color:inherit}@media (min-width: 640px){.nas-calendar__transit{transform:none;padding:0 .5em 0 .3em;margin-bottom:3px}}.nas-calendar__transit:before,.nas-calendar__transit:after{content:\"\";position:absolute}.nas-calendar__transit:before{top:calc(50% - 1px);width:100%;left:0;height:2px;background-color:currentColor}.nas-calendar__transit:after{width:8px;height:8px;right:0;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}.nas-calendar__transit-indicator{position:relative;width:8px;height:8px;flex-shrink:0;border-radius:50%;border:2px solid currentColor;background-color:#fff}.nas-calendar__asterisk{font-size:.67em;top:-.36em;margin-left:.1em}.nas-calendar__footer{display:flex;justify-content:center}.nas-calendar__footer .nas-calendar__item{width:25px;height:25px;margin-right:3px}.nas-calendar__footer .nas-calendar__item--unavailable{border:1px solid #15273F}.nas-calendar__footer--item{margin-bottom:6px}.nas-calendar__footer--label{flex-shrink:0;margin-right:12px;display:flex;flex-direction:column;justify-content:center;font-size:14px;line-height:20px}@keyframes lowfare-item-in{0%{opacity:0;transform:scale(0)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SelectComponent, selector: "nas-select", inputs: ["id", "inline", "label", "block", "spaceless", "stretch", "compact", "simple", "light", "fill", "error", "errorMessage", "disabled", "autogrow", "presentValue", "cssClass", "nasFormControlName", "nasFormGroup", "options", "selectedValue", "selected"], outputs: ["selectedChange", "keyDownEvent"] }, { kind: "component", type: i5.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i6.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
528
528
|
}
|
|
529
529
|
__decorate([
|
|
530
530
|
Debounce(150)
|
|
@@ -113,11 +113,11 @@ export class PhoneNumberComponent extends NasComponentBase {
|
|
|
113
113
|
this.lastWasTab = false;
|
|
114
114
|
}
|
|
115
115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PhoneNumberComponent, selector: "nas-phone-number", inputs: { options: "options", preferredOptions: "preferredOptions", prefixCountryCode: "prefixCountryCode", label: "label", optionsLabel: "optionsLabel", preferredOptionsLabel: "preferredOptionsLabel", inputLabel: "inputLabel", placeholder: "placeholder", id: "id", type: "type", error: "error", disabled: "disabled", spaceless: "spaceless", errorMessage: "errorMessage", info: "info", icon: "icon", readonly: "readonly", ariaDescribedby: ["aria-describedby", "ariaDescribedby"], required: "required", nasFormControlName: "nasFormControlName", nasFormControlNamePrefix: "nasFormControlNamePrefix", nasFormGroup: "nasFormGroup", model: "model", cssClass: "cssClass", selectedValue: "selectedValue", selected: "selected" }, outputs: { modelChange: "modelChange", selectedChange: "selectedChange" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"mainClass()\">\n <label [nasClass]=\"getClass('label')\" *ngIf=\"label\" [attr.for]=\"id\">{{label}}</label>\n <div [nasClass]=\"getClass('controls')\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCode\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCode>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [(ngModel)]=\"model\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\"/>\n </div>\n </ng-container>\n <ng-template #reactiveForm>\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCodeReactive\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCodeReactive>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\"\n [nasFormGroup]=\"nasFormGroup\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\" [nasFormGroup]=\"nasFormGroup\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\" [formGroup]=\"nasFormGroup\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [formControlName]=\"nasFormControlName\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\" />\n </div>\n </ng-template>\n </div>\n <span *ngIf=\"exists(error)\" [nasClass]=\"getClass('message')\">\n <div [nasClass]=\"getClass('message--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </div>\n <p [nasClass]=\"getClass('message--text')\" [id]=\"errorId\" *ngIf=\"exists(error) && errorMessage\"> {{ errorMessage }}\n </p>\n </span>\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-phone-number{margin-bottom:16px;position:relative}.nas-phone-number__label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin-top:0;margin-bottom:6px}@media (min-width: 640px){.nas-phone-number__label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__label~.nas-phone-number__icon{top:43px}.nas-phone-number__input-label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin:-28px 0 6px 12px}@media (min-width: 640px){.nas-phone-number__input-label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__input-label~.nas-phone-number__icon{top:43px}.nas-phone-number__controls{display:flex}.nas-phone-number__prefix{display:flex;padding:3px 16px 0;justify-content:center;align-items:center;background-color:#fff;border:2px solid #15273F}.nas-phone-number__number{flex:1}.nas-phone-number__text{width:100%;height:52px;border:2px solid #6F6F6F;background-color:#fff}@media (min-width: 640px){.nas-phone-number__text{width:96.5%;margin-left:12px}}.nas-phone-number__info{display:block;margin-top:9px;margin-bottom:24px}.nas-phone-number__message{margin-top:2px;display:flex;gap:8px}.nas-phone-number__message--icon{transform:scale(.9)}.nas-phone-number__message--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-phone-number--error .nas-phone-number__text{background-color:#fff5f3;border:2px solid #E5212D!important}.nas-phone-number--error .nas-phone-number__error{display:block;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;color:#b12a0b}.nas-phone-number--disabled .nas-phone-number__text{color:#6f6f6f;background-color:#e9e7e4;border-color:#e9e7e4}.nas-phone-number--spaceless{margin-bottom:0}.nas-phone-number--active .nas-phone-number__text{border:2px solid #15273F;color:#15273f;background-color:#ebf4ff}.nas-phone-number--valid .nas-phone-number__text{border:2px solid #15273F}.nas-phone-number--focus .nas-phone-number__text{transition:border-color .2s ease,background-color .2s ease;outline:2px solid #0978E8;outline-offset:2px}:host ::ng-deep .nas-select{margin-bottom:3px}:host ::ng-deep .nas-select select{padding:13px 34px 15px 12px;line-height:24px;height:52px;margin-bottom:5px}@media (min-width: 640px){:host ::ng-deep .nas-select select{margin-bottom:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.SelectComponent, selector: "nas-select", inputs: ["id", "inline", "label", "block", "spaceless", "stretch", "compact", "simple", "light", "fill", "error", "errorMessage", "disabled", "autogrow", "cssClass", "nasFormControlName", "nasFormGroup", "options", "selectedValue", "selected"], outputs: ["selectedChange", "keyDownEvent"] }, { kind: "component", type: i4.OptionComponent, selector: "nas-option", inputs: ["option"] }, { kind: "component", type: i5.OptgroupComponent, selector: "nas-optgroup", inputs: ["label"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PhoneNumberComponent, selector: "nas-phone-number", inputs: { options: "options", preferredOptions: "preferredOptions", prefixCountryCode: "prefixCountryCode", label: "label", optionsLabel: "optionsLabel", preferredOptionsLabel: "preferredOptionsLabel", inputLabel: "inputLabel", placeholder: "placeholder", id: "id", type: "type", error: "error", disabled: "disabled", spaceless: "spaceless", errorMessage: "errorMessage", info: "info", icon: "icon", readonly: "readonly", ariaDescribedby: ["aria-describedby", "ariaDescribedby"], required: "required", nasFormControlName: "nasFormControlName", nasFormControlNamePrefix: "nasFormControlNamePrefix", nasFormGroup: "nasFormGroup", model: "model", cssClass: "cssClass", selectedValue: "selectedValue", selected: "selected" }, outputs: { modelChange: "modelChange", selectedChange: "selectedChange" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"mainClass()\">\n <label [nasClass]=\"getClass('label')\" *ngIf=\"label\" [attr.for]=\"id\">{{label}}</label>\n <div [nasClass]=\"getClass('controls')\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCode\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCode>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" presentValue [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" presentValue [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [(ngModel)]=\"model\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\"/>\n </div>\n </ng-container>\n <ng-template #reactiveForm>\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCodeReactive\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCodeReactive>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" presentValue [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\"\n [nasFormGroup]=\"nasFormGroup\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" presentValue [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\" [nasFormGroup]=\"nasFormGroup\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\" [formGroup]=\"nasFormGroup\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [formControlName]=\"nasFormControlName\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\" />\n </div>\n </ng-template>\n </div>\n <span *ngIf=\"exists(error)\" [nasClass]=\"getClass('message')\">\n <div [nasClass]=\"getClass('message--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </div>\n <p [nasClass]=\"getClass('message--text')\" [id]=\"errorId\" *ngIf=\"exists(error) && errorMessage\"> {{ errorMessage }}\n </p>\n </span>\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-phone-number{margin-bottom:16px;position:relative}.nas-phone-number__label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin-top:0;margin-bottom:6px}@media (min-width: 640px){.nas-phone-number__label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__label~.nas-phone-number__icon{top:43px}.nas-phone-number__input-label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin:-28px 0 6px 12px}@media (min-width: 640px){.nas-phone-number__input-label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__input-label~.nas-phone-number__icon{top:43px}.nas-phone-number__controls{display:flex}.nas-phone-number__prefix{display:flex;padding:3px 16px 0;justify-content:center;align-items:center;background-color:#fff;border:2px solid #15273F}.nas-phone-number__number{flex:1}.nas-phone-number__text{width:100%;height:52px;border:2px solid #6F6F6F;background-color:#fff}@media (min-width: 640px){.nas-phone-number__text{width:96.5%;margin-left:12px}}.nas-phone-number__info{display:block;margin-top:9px;margin-bottom:24px}.nas-phone-number__message{margin-top:2px;display:flex;gap:8px}.nas-phone-number__message--icon{transform:scale(.9)}.nas-phone-number__message--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-phone-number--error .nas-phone-number__text{background-color:#fff5f3;border:2px solid #E5212D!important}.nas-phone-number--error .nas-phone-number__error{display:block;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;color:#b12a0b}.nas-phone-number--disabled .nas-phone-number__text{color:#6f6f6f;background-color:#e9e7e4;border-color:#e9e7e4}.nas-phone-number--spaceless{margin-bottom:0}.nas-phone-number--active .nas-phone-number__text{border:2px solid #15273F;color:#15273f;background-color:#ebf4ff}.nas-phone-number--valid .nas-phone-number__text{border:2px solid #15273F}.nas-phone-number--focus .nas-phone-number__text{transition:border-color .2s ease,background-color .2s ease;outline:2px solid #0978E8;outline-offset:2px}:host ::ng-deep .nas-select{margin-bottom:3px}:host ::ng-deep .nas-select select{padding:13px 34px 15px 12px;line-height:24px;height:52px;margin-right:4px;max-width:90px}:host ::ng-deep .nas-select select::-ms-expand{display:none}@media (min-width: 640px){:host ::ng-deep .nas-select select{margin-right:0}}:host ::ng-deep .nas-select option{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.SelectComponent, selector: "nas-select", inputs: ["id", "inline", "label", "block", "spaceless", "stretch", "compact", "simple", "light", "fill", "error", "errorMessage", "disabled", "autogrow", "presentValue", "cssClass", "nasFormControlName", "nasFormGroup", "options", "selectedValue", "selected"], outputs: ["selectedChange", "keyDownEvent"] }, { kind: "component", type: i4.OptionComponent, selector: "nas-option", inputs: ["option"] }, { kind: "component", type: i5.OptgroupComponent, selector: "nas-optgroup", inputs: ["label"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
117
117
|
}
|
|
118
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneNumberComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
|
-
args: [{ selector: 'nas-phone-number', template: "<div [nasClass]=\"mainClass()\">\n <label [nasClass]=\"getClass('label')\" *ngIf=\"label\" [attr.for]=\"id\">{{label}}</label>\n <div [nasClass]=\"getClass('controls')\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCode\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCode>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [(ngModel)]=\"model\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\"/>\n </div>\n </ng-container>\n <ng-template #reactiveForm>\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCodeReactive\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCodeReactive>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\"\n [nasFormGroup]=\"nasFormGroup\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\" [nasFormGroup]=\"nasFormGroup\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\" [formGroup]=\"nasFormGroup\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [formControlName]=\"nasFormControlName\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\" />\n </div>\n </ng-template>\n </div>\n <span *ngIf=\"exists(error)\" [nasClass]=\"getClass('message')\">\n <div [nasClass]=\"getClass('message--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </div>\n <p [nasClass]=\"getClass('message--text')\" [id]=\"errorId\" *ngIf=\"exists(error) && errorMessage\"> {{ errorMessage }}\n </p>\n </span>\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-phone-number{margin-bottom:16px;position:relative}.nas-phone-number__label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin-top:0;margin-bottom:6px}@media (min-width: 640px){.nas-phone-number__label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__label~.nas-phone-number__icon{top:43px}.nas-phone-number__input-label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin:-28px 0 6px 12px}@media (min-width: 640px){.nas-phone-number__input-label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__input-label~.nas-phone-number__icon{top:43px}.nas-phone-number__controls{display:flex}.nas-phone-number__prefix{display:flex;padding:3px 16px 0;justify-content:center;align-items:center;background-color:#fff;border:2px solid #15273F}.nas-phone-number__number{flex:1}.nas-phone-number__text{width:100%;height:52px;border:2px solid #6F6F6F;background-color:#fff}@media (min-width: 640px){.nas-phone-number__text{width:96.5%;margin-left:12px}}.nas-phone-number__info{display:block;margin-top:9px;margin-bottom:24px}.nas-phone-number__message{margin-top:2px;display:flex;gap:8px}.nas-phone-number__message--icon{transform:scale(.9)}.nas-phone-number__message--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-phone-number--error .nas-phone-number__text{background-color:#fff5f3;border:2px solid #E5212D!important}.nas-phone-number--error .nas-phone-number__error{display:block;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;color:#b12a0b}.nas-phone-number--disabled .nas-phone-number__text{color:#6f6f6f;background-color:#e9e7e4;border-color:#e9e7e4}.nas-phone-number--spaceless{margin-bottom:0}.nas-phone-number--active .nas-phone-number__text{border:2px solid #15273F;color:#15273f;background-color:#ebf4ff}.nas-phone-number--valid .nas-phone-number__text{border:2px solid #15273F}.nas-phone-number--focus .nas-phone-number__text{transition:border-color .2s ease,background-color .2s ease;outline:2px solid #0978E8;outline-offset:2px}:host ::ng-deep .nas-select{margin-bottom:3px}:host ::ng-deep .nas-select select{padding:13px 34px 15px 12px;line-height:24px;height:52px;margin-
|
|
120
|
+
args: [{ selector: 'nas-phone-number', template: "<div [nasClass]=\"mainClass()\">\n <label [nasClass]=\"getClass('label')\" *ngIf=\"label\" [attr.for]=\"id\">{{label}}</label>\n <div [nasClass]=\"getClass('controls')\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCode\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCode>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" presentValue [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" presentValue [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [selectedValue]=\"selectedValue\" [(selected)]=\"selected\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [(ngModel)]=\"model\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\"/>\n </div>\n </ng-container>\n <ng-template #reactiveForm>\n <div [nasClass]=\"getClass('prefix')\" *ngIf=\"prefixCountryCode else selectCountryCodeReactive\">\n {{prefixCountryCode}}\n </div>\n <ng-template #selectCountryCodeReactive>\n <div [nasClass]=\"getClass('country-code')\">\n <nas-select *ngIf=\"!preferredOptions\" presentValue [options]=\"options\" [error]=\"error\" [disabled]=\"disabled\"\n [spaceless]=\"spaceless\" [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\"\n [nasFormGroup]=\"nasFormGroup\">\n </nas-select>\n <nas-select *ngIf=\"preferredOptions\" presentValue [error]=\"error\" [disabled]=\"disabled\" [spaceless]=\"spaceless\"\n [cssClass]=\"cssClass\" [nasFormControlName]=\"nasFormControlNamePrefix\" [nasFormGroup]=\"nasFormGroup\">\n <nas-optgroup [label]=\"preferredOptionsLabel\">\n <nas-option *ngFor=\"let option of preferredOptions\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n <nas-optgroup [label]=\"optionsLabel\">\n <nas-option *ngFor=\"let option of options\" [option]=\"option\"></nas-option>\n </nas-optgroup>\n </nas-select>\n </div>\n </ng-template>\n <div [nasClass]=\"getClass('number')\" [formGroup]=\"nasFormGroup\">\n <label [nasClass]=\"getClass('input-label')\" *ngIf=\"inputLabel\" [attr.for]=\"id\">{{inputLabel}}</label>\n <input [nasClass]=\"getClass('text')\" [attr.id]=\"inputId\" [attr.type]=\"type\" [attr.disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\" [attr.readonly]=\"readonly\" [required]=\"required\"\n [attr.aria-describedby]=\"ariaDescribedby\" [attr.aria-invalid]=\"error\" [attr.aria-required]=\"required\"\n [formControlName]=\"nasFormControlName\" (focus)=\"setActiveOnFocus(true)\" (blur)=\"setActiveOnFocus(false)\" />\n </div>\n </ng-template>\n </div>\n <span *ngIf=\"exists(error)\" [nasClass]=\"getClass('message')\">\n <div [nasClass]=\"getClass('message--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </div>\n <p [nasClass]=\"getClass('message--text')\" [id]=\"errorId\" *ngIf=\"exists(error) && errorMessage\"> {{ errorMessage }}\n </p>\n </span>\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-phone-number{margin-bottom:16px;position:relative}.nas-phone-number__label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin-top:0;margin-bottom:6px}@media (min-width: 640px){.nas-phone-number__label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__label~.nas-phone-number__icon{top:43px}.nas-phone-number__input-label{display:flex;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;word-spacing:-.025em;display:block;margin:-28px 0 6px 12px}@media (min-width: 640px){.nas-phone-number__input-label{letter-spacing:inherit;word-spacing:inherit}}.nas-phone-number__input-label~.nas-phone-number__icon{top:43px}.nas-phone-number__controls{display:flex}.nas-phone-number__prefix{display:flex;padding:3px 16px 0;justify-content:center;align-items:center;background-color:#fff;border:2px solid #15273F}.nas-phone-number__number{flex:1}.nas-phone-number__text{width:100%;height:52px;border:2px solid #6F6F6F;background-color:#fff}@media (min-width: 640px){.nas-phone-number__text{width:96.5%;margin-left:12px}}.nas-phone-number__info{display:block;margin-top:9px;margin-bottom:24px}.nas-phone-number__message{margin-top:2px;display:flex;gap:8px}.nas-phone-number__message--icon{transform:scale(.9)}.nas-phone-number__message--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-phone-number--error .nas-phone-number__text{background-color:#fff5f3;border:2px solid #E5212D!important}.nas-phone-number--error .nas-phone-number__error{display:block;font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;color:#b12a0b}.nas-phone-number--disabled .nas-phone-number__text{color:#6f6f6f;background-color:#e9e7e4;border-color:#e9e7e4}.nas-phone-number--spaceless{margin-bottom:0}.nas-phone-number--active .nas-phone-number__text{border:2px solid #15273F;color:#15273f;background-color:#ebf4ff}.nas-phone-number--valid .nas-phone-number__text{border:2px solid #15273F}.nas-phone-number--focus .nas-phone-number__text{transition:border-color .2s ease,background-color .2s ease;outline:2px solid #0978E8;outline-offset:2px}:host ::ng-deep .nas-select{margin-bottom:3px}:host ::ng-deep .nas-select select{padding:13px 34px 15px 12px;line-height:24px;height:52px;margin-right:4px;max-width:90px}:host ::ng-deep .nas-select select::-ms-expand{display:none}@media (min-width: 640px){:host ::ng-deep .nas-select select{margin-right:0}}:host ::ng-deep .nas-select option{white-space:nowrap}\n"] }]
|
|
121
121
|
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
122
122
|
type: Input
|
|
123
123
|
}], preferredOptions: [{
|
|
@@ -179,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
179
179
|
type: HostListener,
|
|
180
180
|
args: ['document:keydown', ['$event']]
|
|
181
181
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcGhvbmUtbnVtYmVyL3Bob25lLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7QUFLdEUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBTUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQXNOeEQsSUFBYSxLQUFLO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUE4QkQ7Ozs7OztNQU1FO0lBQ0YsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUF5QjtRQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FB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YW4gQWlyIFNodXR0bGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9uYXMtY29tcG9uZW50LmJhc2UnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTW9kZWwgfSBmcm9tICcuLi9zZWxlY3QvbW9kZWxzL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ2xhc3NNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL2NsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gUGhvbmUgbnVtYmVyIENvbXBvbmVudCB8IEZvcm0gQ29udHJvbHMgfCBOZXcgZGVzaWduXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1waG9uZS1udW1iZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGhvbmVOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHJlY29yZCBjb250YWluaW5nIGNvdW50cnkgY29kZXMuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtvcHRpb25zXT1cIm9wdGlvbnNcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBQcmVmZXJyZWQgb3B0aW9ucyB3aWxsIGJlIGxpc3RlZCBvbiB0b3AuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtwcmVmZXJyZWQtb3B0aW9uc109XCJwcmVmZXJyZWRPcHRpb25zXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBwcmVmZXJyZWRPcHRpb25zOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2luZ2xlIFBob25lIG51bWJlciBwcmVmaXgvY291bnRyeSBjb2RlLCBpZiBleGlzdHMgd2lsbCByZXBsYWNlIHRoZSBkcm9wZG93biBzZWxlY3RvciBmb3IgY291bnRyeWNvZGVcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW3ByZWZpeENvdW50cnlDb2RlXT1cIicrNDcnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBwcmVmaXhDb3VudHJ5Q29kZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgcmVjb3JkIGNvbnRhaW5pbmcgbGFiZWwgZm9yIHBob25lIG51bWJlci5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW2xhYmVsXT1cInBob25lIG51bWJlclwiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHJlY29yZCBjb250YWluaW5nIGxhYmVsIGZvciBvcHRpb25zLiBPbmx5IGluIHVzZSB3aGVuIHByZWZlcnJlZE9wdGlvbnMgYXJlIHVzZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyPjxuYXMtb3B0Z3JvdXAgW2xhYmVsXT1cIm9wdGlvbnNMYWJlbFwiPi4uLjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgb3B0aW9uc0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSByZWNvcmQgY29udGFpbmluZyBsYWJlbCBmb3IgcHJlZmVycmVkT3B0aW9ucy4gT25seSBpbiB1c2Ugd2hlbiBwcmVmZXJyZWRPcHRpb25zIGFyZSB1c2VkLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlcj48bmFzLW9wdGdyb3VwIFtsYWJlbF09XCJwcmVmZXJyZWRPcHRpb25zTGFiZWxcIj4uLi48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIHByZWZlcnJlZE9wdGlvbnNMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIExhYmVsIG92ZXIgcGhvbmUgbnVtYmVyIGlucHV0IGZpZWxkXG4gKiBAZXhhbXBsZVxuICogPG5hcy1waG9uZS1udW1iZXI+PG5hcy1vcHRncm91cCBbaW5wdXRMYWJlbF09XCJvcHRpb25zTGFiZWxcIj4uLi48L25hcy1waG9uZS1udW1iZXI+XG4qL1xuICBASW5wdXQoKSBpbnB1dExhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSByZWNvcmQgY29udGFpbmluZyBwbGFjZSBob2xkZXIgZm9yIG5hdGl2ZSBpbnB1dCBlbGVtZW50IG9mIHBob25lIG51bWJlci5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW3BsYWNlaG9sZGVyXT1cInBob25lIG51bWJlclwiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgSUQgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtpZF09XCIncGhvbmVOdW1iZXInXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudC4gRGVmYXVsdCB2YWx1ZSBpcyBudW1iZXJcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW3R5cGVdPVwiJ3RleHQnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSB0eXBlID0gJ251bWJlcic7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV2hldGhlciB0aGUgY29udHJvbCBpcyBpbiBhbiBlcnJvciBzdGF0ZS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgZXJyb3I+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBlcnJvcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXaGV0aGVyIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudCBpcyBkaXNhYmxlZCBvciBubywgd2l0aCBkaXNhYmxlZCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciBkaXNhYmxlZD48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldCBzcGFjZWxlc3Mgc3R5bGluZyAocmVtb3Zpbmcgc3BhY2luZylcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgc3BhY2VsZXNzPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgc3BhY2VsZXNzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBlcnJvciBvY2N1ci4gRXJyb3IgYXR0cmlidXRlIG5lZWQgdG8gYmUgdHJ1ZS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW2Vycm9yTWVzc2FnZV09XCIncGxlYXNlIGZpbGwgaW4gdGhlIHBob25lIG51bWJlciBmaWVsZCdcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIGluZm8gdGV4dCByZWxhdGVkIHRvIHRoZSBpbnB1dFxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciBbaW5mb109XCIncGxlYXNlIHdyaXRlIDggZGlnaXQgcGhvbmUgbnVtYmVyIHdpdGhvdXQgc3BhY2VzJ1wiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgaW5mbzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIGljb24gb24gdGhlIGlucHV0XG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtpY29uXT1cIidyZW1vdmUnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV2hldGhlciB0aGUgZWxlbWVudCBpcyByZWFkb25seS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgcmVhZG9ubHk+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGFyaWEgZGVzY3JpYmVkYnkgZm9yIGFjY2Vzc2liaWxpdHlcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW2FyaWEtZGVzY3JpYmVkYnldPVwiJ3Bob25lIG51bWJlciBmaWVsZCdcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgnYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZSBvbiB0aGUgbmF0aXZlIGlucHV0IGVsZW1lbnQuXG4gICAqICBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciByZXF1aXJlZD48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBzZWxlY3QuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwiJ3Bob25lTnVtYmVyJ1wiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIHNlbGVjdC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW25hc0Zvcm1Db250cm9sTmFtZVByZWZpeF09XCIncGhvbmVOdW1iZXJQcmVmaXgnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWVQcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW25hc0Zvcm1Hcm91cF09XCJteUZvcm1cIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbW9kZWwgYmluZGVkIHdpdGggbmF0aXZlIGlucHV0IGVsZW1lbnQgb2YgcGhvbmUgbnVtYmVyIGNvbXBvbmVudC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgWyhtb2RlbCldPVwibW9kZWxcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIHByaXZhdGUgcGhvbmVOdW1iZXI6IHN0cmluZztcbiAgQElucHV0KCkgZ2V0IG1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLnBob25lTnVtYmVyO1xuICB9XG4gIHNldCBtb2RlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5waG9uZU51bWJlciA9IHZhbHVlO1xuICAgIHRoaXMudmFsaWQgPSAhIXZhbHVlO1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLnBob25lTnVtYmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBvdXRwdXQgZXZlbnQgdGhhdCBmaWVzIHdoZW4gaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgKG1vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoKVwiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkIGN1c3RvbSBDU1MgY2xhc3MgdG8gdGhlIHNlbGVjdG9yLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciBbY3NzQ2xhc3NdPVwiY3NzQ2xhc3NcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIGNzc0NsYXNzOiBDbGFzc01vZGVsO1xuXG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGRlZmF1bHQgc2VsZWN0ZWQgdmFsdWUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU6IFNlbGVjdE9wdGlvbk1vZGVsO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEdldHMgb3Igc2V0cyB0aGUgc2VsZWN0ZWQgdmFsdWUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFsoc2VsZWN0ZWQpXT1cInNlbGVjdGVkXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKTogU2VsZWN0T3B0aW9uTW9kZWwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWU7XG4gIH1cbiAgc2V0IHNlbGVjdGVkKG9wdGlvbjogU2VsZWN0T3B0aW9uTW9kZWwpIHtcbiAgICBpZiAoIW9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgc2VsZWN0aW9uIGlzIGRvbmUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIChzZWxlY3RlZENoYW5nZSk9XCJvblNlbGVjdGVkQ2hhbmdlKCRldmVudClcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0T3B0aW9uTW9kZWw+KCk7XG5cbiAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IGAke3RoaXMuaWR9X19udW1iZXJgOiBgbmFzLXBob25lLW51bWJlci0ke3RoaXMuY29tcG9uZW50SWR9X19udW1iZXJgO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuICBwdWJsaWMgYWN0aXZlOiBib29sZWFuO1xuICBwdWJsaWMgdmFsaWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBmb2N1czogYm9vbGVhbjtcbiAgcHVibGljIGxhc3RXYXNUYWI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1waG9uZS1udW1iZXInKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlkb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmxhc3RXYXNUYWIgPSBlLmtleSA9PT0gJ1RhYic7XG4gIH1cbiAgXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICBpZiAodGhpcy5uYXNGb3JtR3JvdXAgJiYgdGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKTtcbiAgICAgIGZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnZhbGlkID0gISF2YWx1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pbnB1dElkKTtcbiAgICAgIGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG5cbiAgbWFpbkNsYXNzKCk6IENsYXNzTW9kZWwge1xuICAgIGNvbnN0IHsgZXJyb3IsIGRpc2FibGVkLCBzcGFjZWxlc3MsIGFjdGl2ZSwgdmFsaWQsIGZvY3VzIH0gPSB0aGlzO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2xhc3MoJycsIFtcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZXJyb3IpICYmICdlcnJvcicsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSAmJiAnZGlzYWJsZWQnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5zcGFjZWxlc3MpICYmICdzcGFjZWxlc3MnLFxuICAgICAgdGhpcy5hY3RpdmUgJiYgJ2FjdGl2ZScsXG4gICAgICB0aGlzLnZhbGlkICYmICd2YWxpZCcsXG4gICAgICB0aGlzLmZvY3VzICYmICdmb2N1cydcbiAgICBdKTtcbiAgfVxuXG4gIHNldEFjdGl2ZU9uRm9jdXMoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7ICAgIFxuICAgIGlmKHRoaXMuZXhpc3RzKHRoaXMuZXJyb3IpIHx8ICB0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9jdXMgPSB0aGlzLmxhc3RXYXNUYWI7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZSA9IGFjdGl2ZTtcbiAgICB0aGlzLmZvY3VzID0gYWN0aXZlICYmIHRoaXMubGFzdFdhc1RhYjtcblxuICAgIHRoaXMubGFzdFdhc1RhYiA9IGZhbHNlO1xuICB9XG5cbn1cbiIsIjxkaXYgW25hc0NsYXNzXT1cIm1haW5DbGFzcygpXCI+XG4gIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIiAqbmdJZj1cImxhYmVsXCIgW2F0dHIuZm9yXT1cImlkXCI+e3tsYWJlbH19PC9sYWJlbD5cbiAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2NvbnRyb2xzJylcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5hc0Zvcm1Hcm91cCB8fCAhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3ByZWZpeCcpXCIgKm5nSWY9XCJwcmVmaXhDb3VudHJ5Q29kZSBlbHNlIHNlbGVjdENvdW50cnlDb2RlXCI+XG4gICAgICAgIHt7cHJlZml4Q291bnRyeUNvZGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdENvdW50cnlDb2RlPlxuICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnY291bnRyeS1jb2RlJylcIj5cbiAgICAgICAgICA8bmFzLXNlbGVjdCAqbmdJZj1cIiFwcmVmZXJyZWRPcHRpb25zXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtlcnJvcl09XCJlcnJvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbc3BhY2VsZXNzXT1cInNwYWNlbGVzc1wiIFtjc3NDbGFzc109XCJjc3NDbGFzc1wiIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIiBbKHNlbGVjdGVkKV09XCJzZWxlY3RlZFwiPlxuICAgICAgICAgIDwvbmFzLXNlbGVjdD5cbiAgICAgICAgICA8bmFzLXNlbGVjdCAqbmdJZj1cInByZWZlcnJlZE9wdGlvbnNcIiBbZXJyb3JdPVwiZXJyb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbc3BhY2VsZXNzXT1cInNwYWNlbGVzc1wiXG4gICAgICAgICAgICBbY3NzQ2xhc3NdPVwiY3NzQ2xhc3NcIiBbc2VsZWN0ZWRWYWx1ZV09XCJzZWxlY3RlZFZhbHVlXCIgWyhzZWxlY3RlZCldPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIDxuYXMtb3B0Z3JvdXAgW2xhYmVsXT1cInByZWZlcnJlZE9wdGlvbnNMYWJlbFwiPlxuICAgICAgICAgICAgICA8bmFzLW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHByZWZlcnJlZE9wdGlvbnNcIiBbb3B0aW9uXT1cIm9wdGlvblwiPjwvbmFzLW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmFzLW9wdGdyb3VwPlxuICAgICAgICAgICAgPG5hcy1vcHRncm91cCBbbGFiZWxdPVwib3B0aW9uc0xhYmVsXCI+XG4gICAgICAgICAgICAgIDxuYXMtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFtvcHRpb25dPVwib3B0aW9uXCI+PC9uYXMtb3B0aW9uPlxuICAgICAgICAgICAgPC9uYXMtb3B0Z3JvdXA+XG4gICAgICAgICAgPC9uYXMtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnbnVtYmVyJylcIj5cbiAgICAgICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5wdXQtbGFiZWwnKVwiICpuZ0lmPVwiaW5wdXRMYWJlbFwiIFthdHRyLmZvcl09XCJpZFwiPnt7aW5wdXRMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgPGlucHV0IFtuYXNDbGFzc109XCJnZXRDbGFzcygndGV4dCcpXCIgW2F0dHIuaWRdPVwiaW5wdXRJZFwiIFthdHRyLnR5cGVdPVwidHlwZVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJlcnJvclwiIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWxcIiAoZm9jdXMpPVwic2V0QWN0aXZlT25Gb2N1cyh0cnVlKVwiIChibHVyKT1cInNldEFjdGl2ZU9uRm9jdXMoZmFsc2UpXCIvPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNyZWFjdGl2ZUZvcm0+XG4gICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygncHJlZml4JylcIiAqbmdJZj1cInByZWZpeENvdW50cnlDb2RlIGVsc2Ugc2VsZWN0Q291bnRyeUNvZGVSZWFjdGl2ZVwiPlxuICAgICAgICB7e3ByZWZpeENvdW50cnlDb2RlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RDb3VudHJ5Q29kZVJlYWN0aXZlPlxuICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnY291bnRyeS1jb2RlJylcIj5cbiAgICAgICAgICA8bmFzLXNlbGVjdCAqbmdJZj1cIiFwcmVmZXJyZWRPcHRpb25zXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtlcnJvcl09XCJlcnJvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbc3BhY2VsZXNzXT1cInNwYWNlbGVzc1wiIFtjc3NDbGFzc109XCJjc3NDbGFzc1wiIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lUHJlZml4XCJcbiAgICAgICAgICAgIFtuYXNGb3JtR3JvdXBdPVwibmFzRm9ybUdyb3VwXCI+XG4gICAgICAgICAgPC9uYXMtc2VsZWN0PlxuICAgICAgICAgIDxuYXMtc2VsZWN0ICpuZ0lmPVwicHJlZmVycmVkT3B0aW9uc1wiIFtlcnJvcl09XCJlcnJvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtzcGFjZWxlc3NdPVwic3BhY2VsZXNzXCJcbiAgICAgICAgICAgIFtjc3NDbGFzc109XCJjc3NDbGFzc1wiIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lUHJlZml4XCIgW25hc0Zvcm1Hcm91cF09XCJuYXNGb3JtR3JvdXBcIj5cbiAgICAgICAgICAgIDxuYXMtb3B0Z3JvdXAgW2xhYmVsXT1cInByZWZlcnJlZE9wdGlvbnNMYWJlbFwiPlxuICAgICAgICAgICAgICA8bmFzLW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHByZWZlcnJlZE9wdGlvbnNcIiBbb3B0aW9uXT1cIm9wdGlvblwiPjwvbmFzLW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmFzLW9wdGdyb3VwPlxuICAgICAgICAgICAgPG5hcy1vcHRncm91cCBbbGFiZWxdPVwib3B0aW9uc0xhYmVsXCI+XG4gICAgICAgICAgICAgIDxuYXMtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFtvcHRpb25dPVwib3B0aW9uXCI+PC9uYXMtb3B0aW9uPlxuICAgICAgICAgICAgPC9uYXMtb3B0Z3JvdXA+XG4gICAgICAgICAgPC9uYXMtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnbnVtYmVyJylcIiBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgICAgICA8bGFiZWwgW25hc0NsYXNzXT1cImdldENsYXNzKCdpbnB1dC1sYWJlbCcpXCIgKm5nSWY9XCJpbnB1dExhYmVsXCIgW2F0dHIuZm9yXT1cImlkXCI+e3tpbnB1dExhYmVsfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXQgW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiBbYXR0ci5pZF09XCJpbnB1dElkXCIgW2F0dHIudHlwZV09XCJ0eXBlXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHlcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImVycm9yXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYXNGb3JtQ29udHJvbE5hbWVcIiAoZm9jdXMpPVwic2V0QWN0aXZlT25Gb2N1cyh0cnVlKVwiIChibHVyKT1cInNldEFjdGl2ZU9uRm9jdXMoZmFsc2UpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8c3BhbiAqbmdJZj1cImV4aXN0cyhlcnJvcilcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ21lc3NhZ2UnKVwiPlxuICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdtZXNzYWdlLS1pY29uJylcIj5cbiAgICAgIDxuYXMtaWNvbiB0eXBlPVwibmVnYXRpdmVcIj48L25hcy1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxwIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbWVzc2FnZS0tdGV4dCcpXCIgW2lkXT1cImVycm9ySWRcIiAqbmdJZj1cImV4aXN0cyhlcnJvcikgJiYgZXJyb3JNZXNzYWdlXCI+IHt7IGVycm9yTWVzc2FnZSB9fVxuICAgIDwvcD5cbiAgPC9zcGFuPlxuPC9kaXY+Il19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcGhvbmUtbnVtYmVyL3Bob25lLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7QUFLdEUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBTUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQXNOeEQsSUFBYSxLQUFLO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUE4QkQ7Ozs7OztNQU1FO0lBQ0YsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUF5QjtRQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FB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YW4gQWlyIFNodXR0bGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9uYXMtY29tcG9uZW50LmJhc2UnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTW9kZWwgfSBmcm9tICcuLi9zZWxlY3QvbW9kZWxzL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ2xhc3NNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL2NsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gUGhvbmUgbnVtYmVyIENvbXBvbmVudCB8IEZvcm0gQ29udHJvbHMgfCBOZXcgZGVzaWduXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1waG9uZS1udW1iZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGhvbmVOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHJlY29yZCBjb250YWluaW5nIGNvdW50cnkgY29kZXMuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtvcHRpb25zXT1cIm9wdGlvbnNcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBQcmVmZXJyZWQgb3B0aW9ucyB3aWxsIGJlIGxpc3RlZCBvbiB0b3AuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtwcmVmZXJyZWQtb3B0aW9uc109XCJwcmVmZXJyZWRPcHRpb25zXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBwcmVmZXJyZWRPcHRpb25zOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2luZ2xlIFBob25lIG51bWJlciBwcmVmaXgvY291bnRyeSBjb2RlLCBpZiBleGlzdHMgd2lsbCByZXBsYWNlIHRoZSBkcm9wZG93biBzZWxlY3RvciBmb3IgY291bnRyeWNvZGVcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW3ByZWZpeENvdW50cnlDb2RlXT1cIicrNDcnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBwcmVmaXhDb3VudHJ5Q29kZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgcmVjb3JkIGNvbnRhaW5pbmcgbGFiZWwgZm9yIHBob25lIG51bWJlci5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW2xhYmVsXT1cInBob25lIG51bWJlclwiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHJlY29yZCBjb250YWluaW5nIGxhYmVsIGZvciBvcHRpb25zLiBPbmx5IGluIHVzZSB3aGVuIHByZWZlcnJlZE9wdGlvbnMgYXJlIHVzZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyPjxuYXMtb3B0Z3JvdXAgW2xhYmVsXT1cIm9wdGlvbnNMYWJlbFwiPi4uLjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgb3B0aW9uc0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSByZWNvcmQgY29udGFpbmluZyBsYWJlbCBmb3IgcHJlZmVycmVkT3B0aW9ucy4gT25seSBpbiB1c2Ugd2hlbiBwcmVmZXJyZWRPcHRpb25zIGFyZSB1c2VkLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlcj48bmFzLW9wdGdyb3VwIFtsYWJlbF09XCJwcmVmZXJyZWRPcHRpb25zTGFiZWxcIj4uLi48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIHByZWZlcnJlZE9wdGlvbnNMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIExhYmVsIG92ZXIgcGhvbmUgbnVtYmVyIGlucHV0IGZpZWxkXG4gKiBAZXhhbXBsZVxuICogPG5hcy1waG9uZS1udW1iZXI+PG5hcy1vcHRncm91cCBbaW5wdXRMYWJlbF09XCJvcHRpb25zTGFiZWxcIj4uLi48L25hcy1waG9uZS1udW1iZXI+XG4qL1xuICBASW5wdXQoKSBpbnB1dExhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSByZWNvcmQgY29udGFpbmluZyBwbGFjZSBob2xkZXIgZm9yIG5hdGl2ZSBpbnB1dCBlbGVtZW50IG9mIHBob25lIG51bWJlci5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW3BsYWNlaG9sZGVyXT1cInBob25lIG51bWJlclwiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgSUQgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtpZF09XCIncGhvbmVOdW1iZXInXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudC4gRGVmYXVsdCB2YWx1ZSBpcyBudW1iZXJcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW3R5cGVdPVwiJ3RleHQnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSB0eXBlID0gJ251bWJlcic7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV2hldGhlciB0aGUgY29udHJvbCBpcyBpbiBhbiBlcnJvciBzdGF0ZS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgZXJyb3I+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBlcnJvcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXaGV0aGVyIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudCBpcyBkaXNhYmxlZCBvciBubywgd2l0aCBkaXNhYmxlZCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciBkaXNhYmxlZD48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldCBzcGFjZWxlc3Mgc3R5bGluZyAocmVtb3Zpbmcgc3BhY2luZylcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgc3BhY2VsZXNzPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgc3BhY2VsZXNzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBlcnJvciBvY2N1ci4gRXJyb3IgYXR0cmlidXRlIG5lZWQgdG8gYmUgdHJ1ZS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW2Vycm9yTWVzc2FnZV09XCIncGxlYXNlIGZpbGwgaW4gdGhlIHBob25lIG51bWJlciBmaWVsZCdcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIGluZm8gdGV4dCByZWxhdGVkIHRvIHRoZSBpbnB1dFxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciBbaW5mb109XCIncGxlYXNlIHdyaXRlIDggZGlnaXQgcGhvbmUgbnVtYmVyIHdpdGhvdXQgc3BhY2VzJ1wiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgaW5mbzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIGljb24gb24gdGhlIGlucHV0XG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtpY29uXT1cIidyZW1vdmUnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV2hldGhlciB0aGUgZWxlbWVudCBpcyByZWFkb25seS5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgcmVhZG9ubHk+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGFyaWEgZGVzY3JpYmVkYnkgZm9yIGFjY2Vzc2liaWxpdHlcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW2FyaWEtZGVzY3JpYmVkYnldPVwiJ3Bob25lIG51bWJlciBmaWVsZCdcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgnYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZSBvbiB0aGUgbmF0aXZlIGlucHV0IGVsZW1lbnQuXG4gICAqICBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciByZXF1aXJlZD48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBzZWxlY3QuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwiJ3Bob25lTnVtYmVyJ1wiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIHNlbGVjdC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW25hc0Zvcm1Db250cm9sTmFtZVByZWZpeF09XCIncGhvbmVOdW1iZXJQcmVmaXgnXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWVQcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgW25hc0Zvcm1Hcm91cF09XCJteUZvcm1cIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbW9kZWwgYmluZGVkIHdpdGggbmF0aXZlIGlucHV0IGVsZW1lbnQgb2YgcGhvbmUgbnVtYmVyIGNvbXBvbmVudC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgWyhtb2RlbCldPVwibW9kZWxcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIHByaXZhdGUgcGhvbmVOdW1iZXI6IHN0cmluZztcbiAgQElucHV0KCkgZ2V0IG1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLnBob25lTnVtYmVyO1xuICB9XG4gIHNldCBtb2RlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5waG9uZU51bWJlciA9IHZhbHVlO1xuICAgIHRoaXMudmFsaWQgPSAhIXZhbHVlO1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLnBob25lTnVtYmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBvdXRwdXQgZXZlbnQgdGhhdCBmaWVzIHdoZW4gaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1waG9uZS1udW1iZXIgKG1vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoKVwiPjwvbmFzLXBob25lLW51bWJlcj5cbiAgKi9cbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkIGN1c3RvbSBDU1MgY2xhc3MgdG8gdGhlIHNlbGVjdG9yLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXBob25lLW51bWJlciBbY3NzQ2xhc3NdPVwiY3NzQ2xhc3NcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIGNzc0NsYXNzOiBDbGFzc01vZGVsO1xuXG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGRlZmF1bHQgc2VsZWN0ZWQgdmFsdWUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU6IFNlbGVjdE9wdGlvbk1vZGVsO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEdldHMgb3Igc2V0cyB0aGUgc2VsZWN0ZWQgdmFsdWUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIFsoc2VsZWN0ZWQpXT1cInNlbGVjdGVkXCI+PC9uYXMtcGhvbmUtbnVtYmVyPlxuICAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKTogU2VsZWN0T3B0aW9uTW9kZWwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWU7XG4gIH1cbiAgc2V0IHNlbGVjdGVkKG9wdGlvbjogU2VsZWN0T3B0aW9uTW9kZWwpIHtcbiAgICBpZiAoIW9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgc2VsZWN0aW9uIGlzIGRvbmUuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtcGhvbmUtbnVtYmVyIChzZWxlY3RlZENoYW5nZSk9XCJvblNlbGVjdGVkQ2hhbmdlKCRldmVudClcIj48L25hcy1waG9uZS1udW1iZXI+XG4gICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0T3B0aW9uTW9kZWw+KCk7XG5cbiAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IGAke3RoaXMuaWR9X19udW1iZXJgOiBgbmFzLXBob25lLW51bWJlci0ke3RoaXMuY29tcG9uZW50SWR9X19udW1iZXJgO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuICBwdWJsaWMgYWN0aXZlOiBib29sZWFuO1xuICBwdWJsaWMgdmFsaWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBmb2N1czogYm9vbGVhbjtcbiAgcHVibGljIGxhc3RXYXNUYWI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1waG9uZS1udW1iZXInKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlkb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmxhc3RXYXNUYWIgPSBlLmtleSA9PT0gJ1RhYic7XG4gIH1cbiAgXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICBpZiAodGhpcy5uYXNGb3JtR3JvdXAgJiYgdGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKTtcbiAgICAgIGZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnZhbGlkID0gISF2YWx1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pbnB1dElkKTtcbiAgICAgIGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG5cbiAgbWFpbkNsYXNzKCk6IENsYXNzTW9kZWwge1xuICAgIGNvbnN0IHsgZXJyb3IsIGRpc2FibGVkLCBzcGFjZWxlc3MsIGFjdGl2ZSwgdmFsaWQsIGZvY3VzIH0gPSB0aGlzO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2xhc3MoJycsIFtcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZXJyb3IpICYmICdlcnJvcicsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSAmJiAnZGlzYWJsZWQnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5zcGFjZWxlc3MpICYmICdzcGFjZWxlc3MnLFxuICAgICAgdGhpcy5hY3RpdmUgJiYgJ2FjdGl2ZScsXG4gICAgICB0aGlzLnZhbGlkICYmICd2YWxpZCcsXG4gICAgICB0aGlzLmZvY3VzICYmICdmb2N1cydcbiAgICBdKTtcbiAgfVxuXG4gIHNldEFjdGl2ZU9uRm9jdXMoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7ICAgIFxuICAgIGlmKHRoaXMuZXhpc3RzKHRoaXMuZXJyb3IpIHx8ICB0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9jdXMgPSB0aGlzLmxhc3RXYXNUYWI7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZSA9IGFjdGl2ZTtcbiAgICB0aGlzLmZvY3VzID0gYWN0aXZlICYmIHRoaXMubGFzdFdhc1RhYjtcblxuICAgIHRoaXMubGFzdFdhc1RhYiA9IGZhbHNlO1xuICB9XG5cbn1cbiIsIjxkaXYgW25hc0NsYXNzXT1cIm1haW5DbGFzcygpXCI+XG4gIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIiAqbmdJZj1cImxhYmVsXCIgW2F0dHIuZm9yXT1cImlkXCI+e3tsYWJlbH19PC9sYWJlbD5cbiAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2NvbnRyb2xzJylcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5hc0Zvcm1Hcm91cCB8fCAhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3ByZWZpeCcpXCIgKm5nSWY9XCJwcmVmaXhDb3VudHJ5Q29kZSBlbHNlIHNlbGVjdENvdW50cnlDb2RlXCI+XG4gICAgICAgIHt7cHJlZml4Q291bnRyeUNvZGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdENvdW50cnlDb2RlPlxuICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnY291bnRyeS1jb2RlJylcIj5cbiAgICAgICAgICA8bmFzLXNlbGVjdCAqbmdJZj1cIiFwcmVmZXJyZWRPcHRpb25zXCIgcHJlc2VudFZhbHVlIFtvcHRpb25zXT1cIm9wdGlvbnNcIiBbZXJyb3JdPVwiZXJyb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW3NwYWNlbGVzc109XCJzcGFjZWxlc3NcIiBbY3NzQ2xhc3NdPVwiY3NzQ2xhc3NcIiBbc2VsZWN0ZWRWYWx1ZV09XCJzZWxlY3RlZFZhbHVlXCIgWyhzZWxlY3RlZCldPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICA8L25hcy1zZWxlY3Q+XG4gICAgICAgICAgPG5hcy1zZWxlY3QgKm5nSWY9XCJwcmVmZXJyZWRPcHRpb25zXCIgcHJlc2VudFZhbHVlIFtlcnJvcl09XCJlcnJvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtzcGFjZWxlc3NdPVwic3BhY2VsZXNzXCJcbiAgICAgICAgICAgIFtjc3NDbGFzc109XCJjc3NDbGFzc1wiIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIiBbKHNlbGVjdGVkKV09XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgPG5hcy1vcHRncm91cCBbbGFiZWxdPVwicHJlZmVycmVkT3B0aW9uc0xhYmVsXCI+XG4gICAgICAgICAgICAgIDxuYXMtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcHJlZmVycmVkT3B0aW9uc1wiIFtvcHRpb25dPVwib3B0aW9uXCI+PC9uYXMtb3B0aW9uPlxuICAgICAgICAgICAgPC9uYXMtb3B0Z3JvdXA+XG4gICAgICAgICAgICA8bmFzLW9wdGdyb3VwIFtsYWJlbF09XCJvcHRpb25zTGFiZWxcIj5cbiAgICAgICAgICAgICAgPG5hcy1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgW29wdGlvbl09XCJvcHRpb25cIj48L25hcy1vcHRpb24+XG4gICAgICAgICAgICA8L25hcy1vcHRncm91cD5cbiAgICAgICAgICA8L25hcy1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdudW1iZXInKVwiPlxuICAgICAgICA8bGFiZWwgW25hc0NsYXNzXT1cImdldENsYXNzKCdpbnB1dC1sYWJlbCcpXCIgKm5nSWY9XCJpbnB1dExhYmVsXCIgW2F0dHIuZm9yXT1cImlkXCI+e3tpbnB1dExhYmVsfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXQgW25hc0NsYXNzXT1cImdldENsYXNzKCd0ZXh0JylcIiBbYXR0ci5pZF09XCJpbnB1dElkXCIgW2F0dHIudHlwZV09XCJ0eXBlXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHlcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImVycm9yXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbFwiIChmb2N1cyk9XCJzZXRBY3RpdmVPbkZvY3VzKHRydWUpXCIgKGJsdXIpPVwic2V0QWN0aXZlT25Gb2N1cyhmYWxzZSlcIi8+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdwcmVmaXgnKVwiICpuZ0lmPVwicHJlZml4Q291bnRyeUNvZGUgZWxzZSBzZWxlY3RDb3VudHJ5Q29kZVJlYWN0aXZlXCI+XG4gICAgICAgIHt7cHJlZml4Q291bnRyeUNvZGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdENvdW50cnlDb2RlUmVhY3RpdmU+XG4gICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdjb3VudHJ5LWNvZGUnKVwiPlxuICAgICAgICAgIDxuYXMtc2VsZWN0ICpuZ0lmPVwiIXByZWZlcnJlZE9wdGlvbnNcIiBwcmVzZW50VmFsdWUgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtlcnJvcl09XCJlcnJvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbc3BhY2VsZXNzXT1cInNwYWNlbGVzc1wiIFtjc3NDbGFzc109XCJjc3NDbGFzc1wiIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lUHJlZml4XCJcbiAgICAgICAgICAgIFtuYXNGb3JtR3JvdXBdPVwibmFzRm9ybUdyb3VwXCI+XG4gICAgICAgICAgPC9uYXMtc2VsZWN0PlxuICAgICAgICAgIDxuYXMtc2VsZWN0ICpuZ0lmPVwicHJlZmVycmVkT3B0aW9uc1wiIHByZXNlbnRWYWx1ZSBbZXJyb3JdPVwiZXJyb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbc3BhY2VsZXNzXT1cInNwYWNlbGVzc1wiXG4gICAgICAgICAgICBbY3NzQ2xhc3NdPVwiY3NzQ2xhc3NcIiBbbmFzRm9ybUNvbnRyb2xOYW1lXT1cIm5hc0Zvcm1Db250cm9sTmFtZVByZWZpeFwiIFtuYXNGb3JtR3JvdXBdPVwibmFzRm9ybUdyb3VwXCI+XG4gICAgICAgICAgICA8bmFzLW9wdGdyb3VwIFtsYWJlbF09XCJwcmVmZXJyZWRPcHRpb25zTGFiZWxcIj5cbiAgICAgICAgICAgICAgPG5hcy1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcmVmZXJyZWRPcHRpb25zXCIgW29wdGlvbl09XCJvcHRpb25cIj48L25hcy1vcHRpb24+XG4gICAgICAgICAgICA8L25hcy1vcHRncm91cD5cbiAgICAgICAgICAgIDxuYXMtb3B0Z3JvdXAgW2xhYmVsXT1cIm9wdGlvbnNMYWJlbFwiPlxuICAgICAgICAgICAgICA8bmFzLW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbb3B0aW9uXT1cIm9wdGlvblwiPjwvbmFzLW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmFzLW9wdGdyb3VwPlxuICAgICAgICAgIDwvbmFzLXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ251bWJlcicpXCIgW2Zvcm1Hcm91cF09XCJuYXNGb3JtR3JvdXBcIj5cbiAgICAgICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5wdXQtbGFiZWwnKVwiICpuZ0lmPVwiaW5wdXRMYWJlbFwiIFthdHRyLmZvcl09XCJpZFwiPnt7aW5wdXRMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgPGlucHV0IFtuYXNDbGFzc109XCJnZXRDbGFzcygndGV4dCcpXCIgW2F0dHIuaWRdPVwiaW5wdXRJZFwiIFthdHRyLnR5cGVdPVwidHlwZVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJlcnJvclwiIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lXCIgKGZvY3VzKT1cInNldEFjdGl2ZU9uRm9jdXModHJ1ZSlcIiAoYmx1cik9XCJzZXRBY3RpdmVPbkZvY3VzKGZhbHNlKVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPHNwYW4gKm5nSWY9XCJleGlzdHMoZXJyb3IpXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdtZXNzYWdlJylcIj5cbiAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnbWVzc2FnZS0taWNvbicpXCI+XG4gICAgICA8bmFzLWljb24gdHlwZT1cIm5lZ2F0aXZlXCI+PC9uYXMtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8cCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ21lc3NhZ2UtLXRleHQnKVwiIFtpZF09XCJlcnJvcklkXCIgKm5nSWY9XCJleGlzdHMoZXJyb3IpICYmIGVycm9yTWVzc2FnZVwiPiB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICA8L3A+XG4gIDwvc3Bhbj5cbjwvZGl2PiJdfQ==
|