oasys-lib 1.90.0-rc.0 → 2.0.0-rc.2
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/alert/alert-cancel.directive.mjs +3 -2
- package/esm2022/lib/components/alert/alert-confirm.directive.mjs +3 -2
- package/esm2022/lib/components/alert/alert-content.directive.mjs +3 -2
- package/esm2022/lib/components/alert/alert-title.directive.mjs +3 -2
- package/esm2022/lib/components/alert/alert.component.mjs +23 -11
- package/esm2022/lib/components/alert/alert.module.mjs +7 -31
- package/esm2022/lib/components/banner/banner.component.mjs +19 -10
- package/esm2022/lib/components/banner/banner.module.mjs +4 -13
- package/esm2022/lib/components/banner/index.mjs +1 -1
- package/esm2022/lib/components/button/button.component.mjs +14 -17
- package/esm2022/lib/components/button/button.module.mjs +4 -9
- package/esm2022/lib/components/button-group/button-group.component.mjs +11 -9
- package/esm2022/lib/components/button-group/button-group.module.mjs +4 -9
- package/esm2022/lib/components/card/card.component.mjs +10 -9
- package/esm2022/lib/components/card/card.mjs +1 -1
- package/esm2022/lib/components/card/card.module.mjs +4 -12
- package/esm2022/lib/components/carousel/carousel.component.mjs +41 -33
- package/esm2022/lib/components/carousel/carousel.module.mjs +6 -19
- package/esm2022/lib/components/divider/divider.component.mjs +8 -6
- package/esm2022/lib/components/divider/divider.mjs +1 -1
- package/esm2022/lib/components/divider/divider.module.mjs +4 -8
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +12 -9
- package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +4 -11
- package/esm2022/lib/components/form/chip/chip.component.mjs +10 -11
- package/esm2022/lib/components/form/chip/chip.module.mjs +4 -33
- package/esm2022/lib/components/form/combobox/combobox.component.mjs +26 -17
- package/esm2022/lib/components/form/combobox/combobox.mjs +1 -1
- package/esm2022/lib/components/form/combobox/combobox.module.mjs +5 -42
- package/esm2022/lib/components/form/errors/form-errors.component.mjs +1 -1
- package/esm2022/lib/components/form/errors/form-errors.module.mjs +5 -25
- package/esm2022/lib/components/form/form-group/form-group.component.mjs +5 -5
- package/esm2022/lib/components/form/form-group/form-group.module.mjs +4 -33
- package/esm2022/lib/components/form/forms.mjs +1 -1
- package/esm2022/lib/components/form/radio/radio.component.mjs +10 -11
- package/esm2022/lib/components/form/radio/radio.module.mjs +4 -11
- package/esm2022/lib/components/form/text-input/text-input.component.mjs +23 -16
- package/esm2022/lib/components/form/text-input/text-input.mjs +1 -1
- package/esm2022/lib/components/form/text-input/text-input.module.mjs +4 -33
- package/esm2022/lib/components/heading/heading.component.mjs +9 -6
- package/esm2022/lib/components/heading/heading.mjs +1 -1
- package/esm2022/lib/components/heading/heading.module.mjs +4 -10
- package/esm2022/lib/components/hero/hero.component.mjs +21 -10
- package/esm2022/lib/components/hero/hero.module.mjs +4 -13
- package/esm2022/lib/components/icon/icon.component.mjs +7 -8
- package/esm2022/lib/components/icon/icon.module.mjs +4 -9
- package/esm2022/lib/components/image/image.component.mjs +4 -4
- package/esm2022/lib/components/image/image.mjs +1 -1
- package/esm2022/lib/components/image/image.module.mjs +4 -21
- package/esm2022/lib/components/label/label.component.mjs +10 -11
- package/esm2022/lib/components/label/label.module.mjs +4 -20
- package/esm2022/lib/components/layout/Layout.mjs +1 -1
- package/esm2022/lib/components/layout/box/box.component.mjs +12 -15
- package/esm2022/lib/components/layout/box/box.mjs +1 -1
- package/esm2022/lib/components/layout/container/container.component.mjs +12 -12
- package/esm2022/lib/components/layout/grid/grid-column.component.mjs +10 -11
- package/esm2022/lib/components/layout/grid/grid.component.mjs +6 -6
- package/esm2022/lib/components/layout/layout.module.mjs +5 -9
- package/esm2022/lib/components/layout/stack/stack.component.mjs +6 -6
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.component.mjs +15 -8
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +5 -25
- package/esm2022/lib/components/navigation/tabs/tab/tab.component.mjs +3 -3
- package/esm2022/lib/components/navigation/tabs/tab-active/tab-active.component.mjs +2 -2
- package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.component.mjs +4 -11
- package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.module.mjs +4 -5
- package/esm2022/lib/components/navigation/tabs/tab-header/tab-header.component.mjs +1 -1
- package/esm2022/lib/components/pill/pill.component.mjs +3 -3
- package/esm2022/lib/components/pill/pill.mjs +1 -1
- package/esm2022/lib/components/pill/pill.module.mjs +5 -9
- package/esm2022/lib/components/pill-group/pill-group.component.mjs +10 -8
- package/esm2022/lib/components/pill-group/pill-group.module.mjs +4 -9
- package/esm2022/lib/components/price/price.component.mjs +5 -5
- package/esm2022/lib/components/price/price.module.mjs +5 -9
- package/esm2022/lib/components/promo-card/promo-card.component.mjs +19 -11
- package/esm2022/lib/components/promo-card/promo-card.module.mjs +4 -15
- package/esm2022/lib/components/section/index.mjs +1 -1
- package/esm2022/lib/components/section/section.component.mjs +22 -11
- package/esm2022/lib/components/section/section.module.mjs +4 -12
- package/esm2022/lib/components/select-card/select-card.component.mjs +20 -9
- package/esm2022/lib/components/select-card/select-card.module.mjs +4 -17
- package/esm2022/lib/components/seo-block/seo-block.component.mjs +22 -12
- package/esm2022/lib/components/seo-block/seo-block.module.mjs +4 -26
- package/esm2022/lib/components/text/text.component.mjs +6 -7
- package/esm2022/lib/components/text/text.mjs +1 -1
- package/esm2022/lib/components/text/text.module.mjs +4 -7
- package/esm2022/lib/directives/autofocus/autofocus.directive.mjs +3 -2
- package/esm2022/lib/directives/emphasis/emphasis.directive.mjs +3 -3
- package/esm2022/lib/directives/href/href.directive.mjs +10 -17
- package/esm2022/lib/services/breakpoint.service.mjs +3 -3
- package/esm2022/lib/services/image.service.mjs +12 -20
- package/esm2022/lib/services/index.mjs +4 -0
- package/esm2022/lib/services/media-base-url.provider.mjs +3 -0
- package/esm2022/lib/services/routing-handler.provider.mjs +3 -0
- package/esm2022/lib/services/swiper.provider.mjs +13 -0
- package/esm2022/lib/services/token.service.mjs +4 -7
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/oasys-lib.mjs +824 -989
- package/fesm2022/oasys-lib.mjs.map +1 -1
- package/lib/components/alert/alert-cancel.directive.d.ts +1 -1
- package/lib/components/alert/alert-cancel.directive.d.ts.map +1 -1
- package/lib/components/alert/alert-confirm.directive.d.ts +1 -1
- package/lib/components/alert/alert-confirm.directive.d.ts.map +1 -1
- package/lib/components/alert/alert-content.directive.d.ts +1 -1
- package/lib/components/alert/alert-content.directive.d.ts.map +1 -1
- package/lib/components/alert/alert-title.directive.d.ts +1 -1
- package/lib/components/alert/alert-title.directive.d.ts.map +1 -1
- package/lib/components/alert/alert.component.d.ts +1 -1
- package/lib/components/alert/alert.component.d.ts.map +1 -1
- package/lib/components/alert/alert.module.d.ts +1 -7
- package/lib/components/alert/alert.module.d.ts.map +1 -1
- package/lib/components/banner/banner.component.d.ts +1 -1
- package/lib/components/banner/banner.component.d.ts.map +1 -1
- package/lib/components/banner/banner.module.d.ts +1 -7
- package/lib/components/banner/banner.module.d.ts.map +1 -1
- package/lib/components/button/button.component.d.ts +5 -5
- package/lib/components/button/button.component.d.ts.map +1 -1
- package/lib/components/button/button.module.d.ts +1 -5
- package/lib/components/button/button.module.d.ts.map +1 -1
- package/lib/components/button-group/button-group.component.d.ts +1 -1
- package/lib/components/button-group/button-group.component.d.ts.map +1 -1
- package/lib/components/button-group/button-group.module.d.ts +1 -5
- package/lib/components/button-group/button-group.module.d.ts.map +1 -1
- package/lib/components/card/card.component.d.ts +1 -1
- package/lib/components/card/card.component.d.ts.map +1 -1
- package/lib/components/card/card.d.ts.map +1 -1
- package/lib/components/card/card.module.d.ts +1 -6
- package/lib/components/card/card.module.d.ts.map +1 -1
- package/lib/components/carousel/carousel.component.d.ts +1 -1
- package/lib/components/carousel/carousel.component.d.ts.map +1 -1
- package/lib/components/carousel/carousel.module.d.ts +1 -6
- package/lib/components/carousel/carousel.module.d.ts.map +1 -1
- package/lib/components/divider/divider.component.d.ts +1 -1
- package/lib/components/divider/divider.component.d.ts.map +1 -1
- package/lib/components/divider/divider.d.ts.map +1 -1
- package/lib/components/divider/divider.module.d.ts +1 -4
- package/lib/components/divider/divider.module.d.ts.map +1 -1
- package/lib/components/form/checkbox/checkbox.component.d.ts +1 -1
- package/lib/components/form/checkbox/checkbox.component.d.ts.map +1 -1
- package/lib/components/form/checkbox/checkbox.module.d.ts +1 -5
- package/lib/components/form/checkbox/checkbox.module.d.ts.map +1 -1
- package/lib/components/form/chip/chip.component.d.ts +1 -2
- package/lib/components/form/chip/chip.component.d.ts.map +1 -1
- package/lib/components/form/chip/chip.module.d.ts +1 -7
- package/lib/components/form/chip/chip.module.d.ts.map +1 -1
- package/lib/components/form/combobox/combobox.component.d.ts +1 -1
- package/lib/components/form/combobox/combobox.component.d.ts.map +1 -1
- package/lib/components/form/combobox/combobox.d.ts.map +1 -1
- package/lib/components/form/combobox/combobox.module.d.ts +1 -9
- package/lib/components/form/combobox/combobox.module.d.ts.map +1 -1
- package/lib/components/form/errors/form-errors.module.d.ts +2 -5
- package/lib/components/form/errors/form-errors.module.d.ts.map +1 -1
- package/lib/components/form/form-group/form-group.component.d.ts +1 -1
- package/lib/components/form/form-group/form-group.component.d.ts.map +1 -1
- package/lib/components/form/form-group/form-group.module.d.ts +1 -7
- package/lib/components/form/form-group/form-group.module.d.ts.map +1 -1
- package/lib/components/form/radio/radio.component.d.ts +1 -2
- package/lib/components/form/radio/radio.component.d.ts.map +1 -1
- package/lib/components/form/radio/radio.module.d.ts +1 -5
- package/lib/components/form/radio/radio.module.d.ts.map +1 -1
- package/lib/components/form/text-input/text-input.component.d.ts +1 -1
- package/lib/components/form/text-input/text-input.component.d.ts.map +1 -1
- package/lib/components/form/text-input/text-input.d.ts.map +1 -1
- package/lib/components/form/text-input/text-input.module.d.ts +1 -7
- package/lib/components/form/text-input/text-input.module.d.ts.map +1 -1
- package/lib/components/heading/heading.component.d.ts +1 -1
- package/lib/components/heading/heading.component.d.ts.map +1 -1
- package/lib/components/heading/heading.d.ts.map +1 -1
- package/lib/components/heading/heading.module.d.ts +1 -4
- package/lib/components/heading/heading.module.d.ts.map +1 -1
- package/lib/components/hero/hero.component.d.ts +1 -1
- package/lib/components/hero/hero.component.d.ts.map +1 -1
- package/lib/components/hero/hero.module.d.ts +1 -7
- package/lib/components/hero/hero.module.d.ts.map +1 -1
- package/lib/components/icon/icon.component.d.ts +1 -1
- package/lib/components/icon/icon.component.d.ts.map +1 -1
- package/lib/components/icon/icon.module.d.ts +1 -3
- package/lib/components/icon/icon.module.d.ts.map +1 -1
- package/lib/components/image/image.component.d.ts.map +1 -1
- package/lib/components/image/image.d.ts.map +1 -1
- package/lib/components/image/image.module.d.ts +2 -8
- package/lib/components/image/image.module.d.ts.map +1 -1
- package/lib/components/label/label.component.d.ts +1 -1
- package/lib/components/label/label.component.d.ts.map +1 -1
- package/lib/components/label/label.module.d.ts +1 -5
- package/lib/components/label/label.module.d.ts.map +1 -1
- package/lib/components/layout/Layout.d.ts.map +1 -1
- package/lib/components/layout/box/box.component.d.ts +1 -1
- package/lib/components/layout/box/box.component.d.ts.map +1 -1
- package/lib/components/layout/box/box.d.ts.map +1 -1
- package/lib/components/layout/container/container.component.d.ts +1 -1
- package/lib/components/layout/container/container.component.d.ts.map +1 -1
- package/lib/components/layout/grid/grid-column.component.d.ts +1 -1
- package/lib/components/layout/grid/grid-column.component.d.ts.map +1 -1
- package/lib/components/layout/grid/grid.component.d.ts +1 -1
- package/lib/components/layout/grid/grid.component.d.ts.map +1 -1
- package/lib/components/layout/layout.module.d.ts +1 -2
- package/lib/components/layout/layout.module.d.ts.map +1 -1
- package/lib/components/layout/stack/stack.component.d.ts +1 -1
- package/lib/components/layout/stack/stack.component.d.ts.map +1 -1
- package/lib/components/navigation/breadcrumbs/breadcrumbs.component.d.ts +1 -1
- package/lib/components/navigation/breadcrumbs/breadcrumbs.component.d.ts.map +1 -1
- package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +1 -6
- package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts.map +1 -1
- package/lib/components/navigation/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/lib/components/navigation/tabs/tab-header/tab-header.component.d.ts.map +1 -1
- package/lib/components/pill/pill.component.d.ts +1 -1
- package/lib/components/pill/pill.component.d.ts.map +1 -1
- package/lib/components/pill/pill.module.d.ts +1 -4
- package/lib/components/pill/pill.module.d.ts.map +1 -1
- package/lib/components/pill-group/pill-group.component.d.ts +1 -1
- package/lib/components/pill-group/pill-group.component.d.ts.map +1 -1
- package/lib/components/pill-group/pill-group.module.d.ts +1 -5
- package/lib/components/pill-group/pill-group.module.d.ts.map +1 -1
- package/lib/components/price/price.component.d.ts +1 -1
- package/lib/components/price/price.component.d.ts.map +1 -1
- package/lib/components/price/price.module.d.ts +1 -4
- package/lib/components/price/price.module.d.ts.map +1 -1
- package/lib/components/promo-card/promo-card.component.d.ts +1 -1
- package/lib/components/promo-card/promo-card.component.d.ts.map +1 -1
- package/lib/components/promo-card/promo-card.module.d.ts +1 -9
- package/lib/components/promo-card/promo-card.module.d.ts.map +1 -1
- package/lib/components/section/index.d.ts.map +1 -1
- package/lib/components/section/section.component.d.ts +1 -1
- package/lib/components/section/section.component.d.ts.map +1 -1
- package/lib/components/section/section.module.d.ts +1 -6
- package/lib/components/section/section.module.d.ts.map +1 -1
- package/lib/components/select-card/select-card.component.d.ts +1 -1
- package/lib/components/select-card/select-card.component.d.ts.map +1 -1
- package/lib/components/select-card/select-card.module.d.ts +1 -11
- package/lib/components/select-card/select-card.module.d.ts.map +1 -1
- package/lib/components/seo-block/seo-block.component.d.ts +1 -2
- package/lib/components/seo-block/seo-block.component.d.ts.map +1 -1
- package/lib/components/seo-block/seo-block.module.d.ts +1 -6
- package/lib/components/seo-block/seo-block.module.d.ts.map +1 -1
- package/lib/components/text/text.component.d.ts +1 -2
- package/lib/components/text/text.component.d.ts.map +1 -1
- package/lib/components/text/text.module.d.ts +1 -3
- package/lib/components/text/text.module.d.ts.map +1 -1
- package/lib/directives/autofocus/autofocus.directive.d.ts +1 -1
- package/lib/directives/autofocus/autofocus.directive.d.ts.map +1 -1
- package/lib/directives/emphasis/emphasis.directive.d.ts.map +1 -1
- package/lib/directives/href/href.directive.d.ts +4 -9
- package/lib/directives/href/href.directive.d.ts.map +1 -1
- package/lib/services/breakpoint.service.d.ts.map +1 -1
- package/lib/services/image.service.d.ts +2 -5
- package/lib/services/image.service.d.ts.map +1 -1
- package/lib/services/index.d.ts +4 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/media-base-url.provider.d.ts +6 -0
- package/lib/services/media-base-url.provider.d.ts.map +1 -0
- package/lib/services/routing-handler.provider.d.ts +7 -0
- package/lib/services/routing-handler.provider.d.ts.map +1 -0
- package/lib/services/swiper.provider.d.ts +9 -0
- package/lib/services/swiper.provider.d.ts.map +1 -0
- package/lib/services/token.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/public-api.d.ts.map +1 -1
- package/src/assets/bloomandwild/variables.css +1 -1
- package/src/assets/bloomon/variables.css +1 -1
- package/src/assets/global/scss-breakpoints.scss +1 -1
- package/esm2022/lib/directives/directives.module.mjs +0 -23
- package/esm2022/lib/injection-tokens/frontend-app-injection.tokens.mjs +0 -3
- package/esm2022/lib/services/href.service.mjs +0 -17
- package/lib/directives/directives.module.d.ts +0 -11
- package/lib/directives/directives.module.d.ts.map +0 -1
- package/lib/injection-tokens/frontend-app-injection.tokens.d.ts +0 -4
- package/lib/injection-tokens/frontend-app-injection.tokens.d.ts.map +0 -1
- package/lib/services/href.service.d.ts +0 -9
- package/lib/services/href.service.d.ts.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
1
|
+
import { DOCUMENT, NgIf, NgClass, NgFor } from '@angular/common';
|
|
2
2
|
import { Component, EventEmitter, Input, Output, forwardRef, ElementRef, Inject, ViewChild, ViewChildren, HostListener, } from '@angular/core';
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule, } from '@angular/forms';
|
|
4
|
+
import { LayoutStackComponent } from '../../layout/stack/stack.component';
|
|
5
|
+
import { LayoutBoxComponent } from '../../layout/box/box.component';
|
|
6
|
+
import { OasysAutofocusDirective } from '../../../directives/autofocus/autofocus.directive';
|
|
7
|
+
import { IconComponent } from '../../icon/icon.component';
|
|
8
|
+
import { EmphasisDirective } from '../../../directives/emphasis/emphasis.directive';
|
|
9
|
+
import { OasysButtonComponent } from '../../button';
|
|
4
10
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/
|
|
6
|
-
import * as i2 from "../../layout/box/box.component";
|
|
7
|
-
import * as i3 from "../../layout/stack/stack.component";
|
|
8
|
-
import * as i4 from "@angular/forms";
|
|
9
|
-
import * as i5 from "../../icon/icon.component";
|
|
10
|
-
import * as i6 from "../../../directives/autofocus/autofocus.directive";
|
|
11
|
-
import * as i7 from "../../../directives/emphasis/emphasis.directive";
|
|
11
|
+
import * as i1 from "@angular/forms";
|
|
12
12
|
export class ComboboxComponent {
|
|
13
13
|
document;
|
|
14
14
|
label;
|
|
@@ -304,10 +304,7 @@ export class ComboboxComponent {
|
|
|
304
304
|
* @returns
|
|
305
305
|
*/
|
|
306
306
|
checkIncludesSubstring(option, key) {
|
|
307
|
-
return option[key]
|
|
308
|
-
?.toString()
|
|
309
|
-
.toLowerCase()
|
|
310
|
-
.includes(this.textValue.toLowerCase());
|
|
307
|
+
return option[key]?.toString().toLowerCase().includes(this.textValue.toLowerCase());
|
|
311
308
|
}
|
|
312
309
|
/**
|
|
313
310
|
* Set Input Validators
|
|
@@ -380,13 +377,13 @@ export class ComboboxComponent {
|
|
|
380
377
|
this.displayOptions = this.options;
|
|
381
378
|
}
|
|
382
379
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
383
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ComboboxComponent, selector: "ui-combobox", inputs: { label: "label", type: "type", options: "options", optional: "optional", hint: "hint", header: "header", footer: "footer", autofocus: "autofocus", disabled: "disabled", selected: "selected", displayKey: "displayKey", iconNameKey: "iconNameKey", valueKey: "valueKey", subtextKey: "subtextKey", placeholder: "placeholder", showOptions: "showOptions" }, outputs: { didChange: "didChange", didSearch: "didSearch", didEdit: "didEdit" }, host: { listeners: { "document:click": "onClick($event.target)" } }, providers: [
|
|
380
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ComboboxComponent, isStandalone: true, selector: "ui-combobox", inputs: { label: "label", type: "type", options: "options", optional: "optional", hint: "hint", header: "header", footer: "footer", autofocus: "autofocus", disabled: "disabled", selected: "selected", displayKey: "displayKey", iconNameKey: "iconNameKey", valueKey: "valueKey", subtextKey: "subtextKey", placeholder: "placeholder", showOptions: "showOptions" }, outputs: { didChange: "didChange", didSearch: "didSearch", didEdit: "didEdit" }, host: { listeners: { "document:click": "onClick($event.target)" } }, providers: [
|
|
384
381
|
{
|
|
385
382
|
provide: NG_VALUE_ACCESSOR,
|
|
386
383
|
useExisting: forwardRef(() => ComboboxComponent),
|
|
387
384
|
multi: true,
|
|
388
385
|
},
|
|
389
|
-
], viewQueries: [{ propertyName: "textInput", first: true, predicate: ["textinput"], descendants: true, read: ElementRef }, { propertyName: "combobox", first: true, predicate: ["combobox"], descendants: true, read: ElementRef }, { propertyName: "optionsList", predicate: ["option"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ui-stack class=\"ui-combobox-container\" stack_gap=\"tight\">\n <div class=\"ui-combobox text-body--default text-body--regular\">\n <!-- Compbobox Options Input -->\n <div\n *ngIf=\"type === 'options'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"togglePanel()\"\n (focus)=\"openPanel($event)\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"onModelChange(textValue)\"\n [ngClass]=\"\n inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\n \"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'on'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"selectedOption\"\n [placeholder]=\"placeholder || ''\"\n readonly=\"readonly\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n <!-- Select Icon Chevron Area -->\n <div class=\"icon-container\" [ngClass]=\"{ expand: panelOpen }\">\n <ui-icon icon_name=\"chevron-down\"></ui-icon>\n <!-- <ui-icon *ngIf=\"panelOpen\" icon_name=\"chevron-up\"></ui-icon> -->\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Autocomplete Input -->\n <div\n *ngIf=\"type === 'autocomplete'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocusInput()\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChangeAutocomplete($event)\"\n [ngClass]=\"\n inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\n \"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'list'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"textValue\"\n [placeholder]=\"placeholder || ''\"\n role=\"combobox\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n\n <!-- Combobox Icon Clear Area -->\n <div\n class=\"icon-container\"\n [aria-label]=\"'clean'\"\n (click)=\"cleanInput()\"\n >\n <ui-icon *ngIf=\"textValue\" icon_name=\"close\"></ui-icon>\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Options Panel -->\n <div\n *ngIf=\"panelOpen\"\n class=\"ui-combobox-options\"\n [ngClass]=\"{ expand: panelOpen }\"\n [attr.aria-expanded]=\"panelOpen\"\n role=\"listbox\"\n id=\"activedescendent-list\"\n >\n <!-- Autocomplete Options Panel Header -->\n <div\n *ngIf=\"header && type === 'autocomplete'\"\n class=\"ui-combobox-header text-body--supporting\"\n >\n <span>{{ header }}</span>\n </div>\n\n <!-- Options list -->\n <div\n #option\n *ngFor=\"let option of displayOptions; index as i\"\n class=\"ui-combobox-option\"\n [ngClass]=\"{\n selected: selectedOption === option,\n focus: focusedOption === option\n }\"\n (click)=\"selectOption(option, i)\"\n (keydown)=\"onKeyDown($event)\"\n [id]=\"'activedescendent-opt-' + i\"\n [attr.aria-label]=\"\n selectedOption === option\n ? option[displayOptionKey] + ' is selected'\n : option[displayOptionKey]\n \"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <!-- Option display -->\n <div\n [value]=\"valueKey ? option[valueKey] : option.value\"\n [ngValue]=\"displayKey ? option[displayKey] : option.label\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-icon\n *ngIf=\"option.icon_name || (iconNameKey && option[iconNameKey])\"\n [icon_name]=\"\n iconNameKey ? option[iconNameKey] : option.icon_name\n \"\n ></ui-icon>\n\n <!-- Display options label -->\n <span *ngIf=\"type === 'options'\">{{\n option[displayOptionKey]\n }}</span>\n\n <!-- Display autocomplete option information and emphasis-->\n <ui-stack stack_gap=\"tiny\" *ngIf=\"type === 'autocomplete'\">\n <span\n ui-emphasis\n [searchText]=\"textValue\"\n [displayParagraph]=\"option[displayOptionKey]\"\n >\n </span>\n <p\n class=\"foreground-secondary-text\"\n *ngIf=\"type === 'autocomplete'\"\n >\n {{ option[subtextOptionKey] }}\n </p>\n </ui-stack>\n </ui-stack>\n </div>\n\n <!-- Selected icon -->\n <ui-icon *ngIf=\"selectedOption === option\" icon_name=\"tick\"></ui-icon>\n </ui-stack>\n </div>\n\n <!-- Autocomplete Options Panel Footer -->\n <div *ngIf=\"footer && type === 'autocomplete'\" class=\"ui-combobox-footer\">\n <ui-button button_type=\"tertiary\" (click)=\"onFooterAction()\">\n {{ footer }}\n </ui-button>\n </div>\n </div>\n </div>\n <ui-stack stack_gap=\"none\">\n <div class=\"input-errors\">\n <div class=\"input-errors-content\">\n <ng-content select=\"ui-form-errors\"></ng-content>\n </div>\n </div>\n <ui-box\n class=\"hint-container\"\n *ngIf=\"hint\"\n box_background=\"transparent\"\n box_space=\"none\"\n box_space_left=\"near\"\n box_space_right=\"near\"\n box_space_bottom=\"near\"\n >\n <div\n class=\"ui-text-input-hint text-body--supporting text-color--supporting\"\n >\n {{ hint }}\n </div>\n </ui-box>\n </ui-stack>\n</ui-stack>\n", styles: ["html{font-size:62.5%}html,html body{font-family:var(--oasys-typography-body-body-font-family);font-weight:var(--oasys-typography-body-body-font-weight);font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);color:var(--oasys-color-brand-foreground-primary)}html b,html bold,html strong,html body b,html body bold,html body strong{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}html i,html body i{font-style:normal}h1,h2,h3,.text-heading,.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-family:var(--oasys-typography-heading-hero-desktop-font-family)}h4,h5,h6,.text-heading--functional,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2{font-family:var(--oasys-typography-heading-func-primary-desktop-font-family)}ui-container h1,ui-container h2,ui-container h3,ui-container h4,ui-container h5,ui-container h6,ui-container p,ui-box h1,ui-box h2,ui-box h3,ui-box h4,ui-box h5,ui-box h6,ui-box p,ui-stack h1,ui-stack h2,ui-stack h3,ui-stack h4,ui-stack h5,ui-stack h6,ui-stack p,ui-grid h1,ui-grid h2,ui-grid h3,ui-grid h4,ui-grid h5,ui-grid h6,ui-grid p{margin:0}h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-desktop-font-size);line-height:var(--oasys-typography-heading-hero-desktop-line-height);font-weight:var(--oasys-typography-heading-hero-desktop-font-weight)}@media only screen and (max-width: 767px){h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-mobile-font-size);line-height:var(--oasys-typography-heading-hero-mobile-line-height);font-weight:var(--oasys-typography-heading-hero-mobile-font-weight)}}h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-desktop-font-size);line-height:var(--oasys-typography-heading-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-mobile-font-size);line-height:var(--oasys-typography-heading-primary-mobile-line-height);font-weight:var(--oasys-typography-heading-primary-mobile-font-weight)}}h3,.text-heading--secondary{font-size:var(--oasys-typography-heading-secondary-font-size);line-height:var(--oasys-typography-heading-secondary-line-height);font-weight:var(--oasys-typography-heading-secondary-font-weight)}h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-desktop-font-size);line-height:var(--oasys-typography-heading-func-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-mobile-font-size);line-height:var(--oasys-typography-heading-func-primary-mobile-line-height)}}h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-desktop-font-size);line-height:var(--oasys-typography-heading-func-secondary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-secondary-desktop-font-weight)}@media only screen and (max-width: 767px){h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-mobile-font-size);line-height:var(--oasys-typography-heading-func-secondary-mobile-line-height);font-weight:var(--oasys-typography-heading-func-secondary-mobile-font-weight)}}label{-webkit-user-select:none;user-select:none;cursor:pointer}label,.text-label--primary{font-size:var(--oasys-typography-heading-label-primary-font-size);line-height:var(--oasys-typography-heading-label-primary-line-height);font-weight:var(--oasys-typography-heading-label-primary-font-weight)}.text-label--secondary{font-size:var(--oasys-typography-heading-label-secondary-font-size);line-height:var(--oasys-typography-heading-label-secondary-line-height);font-weight:var(--oasys-typography-heading-label-secondary-font-weight)}.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-size:var(--oasys-typography-body-expressive-font-size);line-height:var(--oasys-typography-body-expressive-line-height);font-weight:var(--oasys-typography-body-expressive-font-weight)}.text-body--hero,.ui-combobox input:-webkit-autofill:first-line,.ui-combobox .select:-webkit-autofill:first-line,.ui-rce h6,.ui-prose h6,article h6{font-size:var(--oasys-typography-body-hero-font-size);line-height:var(--oasys-typography-body-hero-line-height);font-weight:var(--oasys-typography-body-hero-font-weight)}.text-body--default,.ui-rce p{font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--supporting{font-size:var(--oasys-typography-body-supporting-font-size);line-height:var(--oasys-typography-body-supporting-line-height);font-weight:var(--oasys-typography-body-supporting-body-weight)}.text-body--micro{font-size:var(--oasys-typography-body-micro-font-size);line-height:var(--oasys-typography-body-micro-line-height);font-weight:var(--oasys-typography-body-micro-body-weight)}.text-body--regular,.ui-rce h6,.ui-prose h6,article h6{font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--line-through{text-decoration:var(--oasys-typography-body-line-through-body-text-decoration)}.text-body--emphasis,.ui-combobox input,.ui-combobox .select,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2,a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}.text-color--on-light{color:var(--oasys-color-brand-foreground-primary)}.text-color--on-light.text-color--supporting,.text-color--on-light .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--on-dark{color:var(--oasys-color-brand-foreground-primary-on-dark)}.text-color--on-dark.text-color--supporting,.text-color--on-dark .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary-on-dark)}.text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--error{color:var(--oasys-color-system-foreground-negative)}.text-color--highlight{color:var(--oasys-color-brand-foreground-highlight)}a{color:inherit;text-decoration:none}.text--readable-width,.ui-rce blockquote,.ui-prose blockquote,article blockquote{max-width:70ch}a,.text-link,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:none;cursor:pointer}a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{text-decoration:underline}a--paragraph,.text-link--paragraph,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:underline;font-weight:inherit}.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-small-bottom)}}.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-small-bottom)}}.ui-rce p,.ui-rce ul,.ui-rce ol,.ui-prose p,.ui-prose ul,.ui-prose ol,article p,article ul,article ol{margin-bottom:var(--oasys-prose-vertical-adjustment-paragraph-bottom)}.ui-rce p:empty,.ui-rce ul:empty,.ui-rce ol:empty,.ui-prose p:empty,.ui-prose ul:empty,.ui-prose ol:empty,article p:empty,article ul:empty,article ol:empty{display:none}.ui-rce blockquote,.ui-prose blockquote,article blockquote{padding-top:var(--oasys-prose-vertical-adjustment-blockquote-top);margin-bottom:var(--oasys-prose-vertical-adjustment-blockquote-bottom);text-align:center;margin:0 auto}.ui-rce hr,.ui-prose hr,article hr{display:block;width:100%;border:0;padding:0;margin:0;height:var(--oasys-size-unit-8);background:var(--oasys-color-brand-background-secondary);margin-top:var(--oasys-spacing-expanded);margin-bottom:var(--oasys-spacing-expanded)}.ui-rce ol,.ui-prose ol,article ol{list-style-type:decimal;list-style-position:inside}.ui-rce ul,.ui-prose ul,article ul{list-style:initial;list-style-position:inside}.ui-rce .ui-rce-embed,.ui-prose .ui-rce-embed,article .ui-rce-embed{padding-top:var(--oasys-prose-vertical-adjustment-component-top-bottom);margin-bottom:var(--oasys-prose-vertical-adjustment-component-top-bottom)}.ui-rce .ui-rce-embed ui-button a,.ui-rce .ui-rce-embed ui-button a:hover,.ui-prose .ui-rce-embed ui-button a,.ui-prose .ui-rce-embed ui-button a:hover,article .ui-rce-embed ui-button a,article .ui-rce-embed ui-button a:hover{text-decoration:none}.ui-rce>ui-box .ui-box-content>*:first-child{padding-top:0}.ui-rce>ui-box .ui-box-content>*:last-child{margin-bottom:0}.ui-rce .ui-rce-instance:last-of-type{padding-bottom:var(--oasys-spacing-expanded)}.ui-rce ui-button,.ui-rce img{display:inline-block;margin:0;margin-top:var(--oasys-spacing-near);margin-right:var(--oasys-spacing-near);vertical-align:top}.ui-rce ui-button:last-child,.ui-rce img:last-child{margin-right:0}.ui-rce img{width:100%}.ui-rce ol p,.ui-rce ul p{display:inline;margin:0}form fieldset legend{margin-bottom:var(--oasys-spacing-near)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container{display:none!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-combobox,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors .input-errors-content,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .hint-container,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .hint-container{display:none!important}.ui-checkbox input,.ui-radio input,.ui-text-input input,.ui-combobox input{appearance:none;margin:0;border:none}.ui-checkbox input,.ui-radio input{cursor:pointer}.ui-checkbox,.ui-radio{--_inset: var(--oasys-spacing-near);--_radius: var(--oasys-radius-soften);--_transition_duration: calc(var(--oasys-animation-duration) * 1ms)}.ui-checkbox input,.ui-radio input{position:absolute;inset:0;border-radius:var(--oasys-radius-soften)}.ui-checkbox input.secondary,.ui-radio input.secondary{inset:unset;top:var(--_inset);--_focusSize: var(--oasys-typography-heading-label-secondary-line-height);width:var(--_focusSize);height:var(--_focusSize)}.ui-checkbox input+label,.ui-radio input+label{width:inherit;display:flex;align-items:center;gap:var(--oasys-spacing-tight)}.ui-checkbox input+label .icon-container,.ui-radio input+label .icon-container{align-self:flex-start;padding:var(--oasys-component-checkbox-icon-inset);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected);border-radius:var(--_radius)}.ui-checkbox input+label .input-hint:empty,.ui-radio input+label .input-hint:empty{display:none}.ui-checkbox input+label.primary,.ui-radio input+label.primary{padding:var(--_inset);border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-checkbox input+label.secondary,.ui-radio input+label.secondary{padding:var(--_inset) 0}.ui-checkbox input+label.secondary .icon-container,.ui-radio input+label.secondary .icon-container{background:transparent;border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)}.ui-checkbox input+label,.ui-checkbox input+label .icon-container,.ui-radio input+label,.ui-radio input+label .icon-container{transition:background-color calc(var(--_transition_duration) * 1ms),border-color calc(var(--_transition_duration) * 1ms)}.ui-checkbox input:hover+label.primary,.ui-checkbox input:checked+label.primary,.ui-radio input:hover+label.primary,.ui-radio input:checked+label.primary{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:hover+label.secondary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:hover+label.secondary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:checked+label.primary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:checked+label.primary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-border-selected);border-color:var(--oasys-color-interaction-border-selected);color:var(--oasys-color-brand-foreground-primary-on-dark)}.ui-checkbox input:checked+label.primary,.ui-radio input:checked+label.primary{border-color:var(--oasys-color-interaction-border-selected)!important}.ui-checkbox input.ng-touched.ng-invalid+label,.ui-radio input.ng-touched.ng-invalid+label{color:var(--oasys-color-system-foreground-negative)}.ui-checkbox input.ng-touched.ng-invalid+label .icon-container,.ui-radio input.ng-touched.ng-invalid+label .icon-container{border-color:var(--oasys-color-system-foreground-negative)}.ui-chip .ui-checkbox input+label .icon-container.icon--hidden,.ui-chip .ui-radio input+label .icon-container.icon--hidden{display:none}.ui-chip .ui-checkbox input+label .label--center,.ui-chip .ui-radio input+label .label--center{margin:0 auto}.ui-chip .ui-checkbox input:checked+label.primary,.ui-chip .ui-radio input:checked+label.primary{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)!important}.oasys-focus-style,.ui-combobox div[name=combobox]:focus,.ui-combobox div[name=combobox]:focus-visible,.ui-combobox div[name=combobox]:focus-within,[tabindex]:focus-visible,[tabindex]:focus,select:focus-visible,select:focus,textarea:focus-visible,textarea:focus,input:focus-visible,input:focus,button:focus-visible,button:focus,a:focus-visible,a:focus{outline:var(--oasys-border-width-focus) solid var(--oasys-color-interaction-border-focus);outline-offset:var(--oasys-border-width-focus-offset)}a:focus:not(:focus-visible){outline:none}button:focus:not(:focus-visible){outline:none}input:focus:not(:focus-visible){outline:none}textarea:focus:not(:focus-visible){outline:none}select:focus:not(:focus-visible){outline:none}[tabindex]:focus:not(:focus-visible){outline:none}:host{display:block;width:100%}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-text-input,:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors .input-errors-content{visibility:visible!important}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .hint-container{display:none!important}.foreground-secondary-text{color:var(--oasys-color-brand-foreground-secondary)}.ui-combobox{background-color:var(--oasys-color-white);--_label-height: var(--oasys-typography-body-supporting-line-height);--_label-input-gap: var(--oasys-spacing-tiny);--_label-top-inset: var(--oasys-spacing-near);--_input-inset-top: calc( var(--_label-height) + var(--_label-input-gap) + var(--_label-top-inset) );--_preface-width: var(--oasys-component-text-input-preface-width);position:relative;transition:border calc(var(--oasys-animation-duration-long) * 1ms);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-footer,.ui-combobox-header{padding:var(--oasys-spacing-tight) var(--oasys-spacing-near);text-align:center}.ui-combobox-footer{cursor:pointer;border-top:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-header{color:var(--oasys-color-brand-foreground-secondary);border-bottom:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-options{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);background-color:var(--oasys-color-white);box-shadow:0 24px 36px #2626261a;border-radius:var(--oasys-radius-soften);box-sizing:border-box;width:100%;height:auto;margin-top:var(--oasys-spacing-near);position:absolute;pointer-events:auto;outline:0;overflow:auto;transform-origin:top center;grid-template-rows:0fr;opacity:0;transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));transition:opacity var(--_ad);will-change:opacity;z-index:1000}.ui-combobox-options.expand{opacity:1}.ui-combobox-option{cursor:pointer;border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) transparent;padding:var(--oasys-spacing-near);outline:none;outline-offset:none}.ui-combobox-option:hover,.ui-combobox-option.selected{background-color:var(--oasys-color-interaction-background-selected);border-radius:var(--oasys-radius-soften)}.ui-combobox-option.focus{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-option:focus-visible{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-container .input-errors{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transform:translateY(-33%);transition:grid-template-rows var(--_ad),opacity var(--_ad),transform var(--_ad);transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));will-change:grid-template-rows,transform,opacity}.ui-combobox-container .input-errors .input-errors-content{min-height:0;visibility:hidden;transition:visibility var(--_ad)}.ui-combobox-container .input-errors .hint-container{display:block!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .hint-container{display:none!important}.ui-combobox-container:has(input:disabled) input,.ui-combobox-container:has(input:disabled) .select{background-color:none;color:var(--oasys-component-text-input-color-disabled-foreground)}.ui-combobox-container:has(input:disabled) .ui-combobox-input{background-color:var(--oasys-component-text-input-color-disabled-background)}.ui-combobox{border-radius:var(--oasys-radius-soften);width:100%}.ui-combobox input{border:none;width:100%;background-color:transparent;cursor:pointer}.ui-combobox input:focus{outline:none}.ui-combobox input,.ui-combobox .select{padding:var(--oasys-spacing-near);padding-top:var(--oasys-spacing-tiny)}.ui-combobox .label-container{padding-top:var(--oasys-spacing-near);padding-left:var(--oasys-spacing-near);width:calc(100% - var(--oasys-spacing-near) - var(--oasys-spacing-near))}.ui-combobox .label-container,.ui-combobox .label-container label{pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-combobox .icon-container{transition:all calc(var(--oasys-animation-duration-long) * 1ms) ease;transform-origin:center}.ui-combobox .icon-container:hover{transform:scale(1.1)}.ui-combobox .icon-container.expand{transform:rotate(-179.999deg)}.ui-combobox:has(.input-preface:not(:empty)){--_left-inset: calc(var(--oasys-spacing-near) + var(--_preface-width))}.ui-combobox:has(.input-preface:not(:empty)) .label-container{left:var(--_left-inset);width:calc(100% - var(--_left-inset) - var(--oasys-spacing-near))}.ui-combobox:has(.input-preface:not(:empty)) input,.ui-combobox:has(.input-preface:not(:empty)) .select{padding-left:var(--_left-inset)}.ui-combobox .input-preface{width:var(--_preface-width);height:100%;position:absolute;display:flex;justify-content:center;align-items:center;pointer-events:none;flex-direction:column;text-align:center;border-right:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox .input-preface:empty{visibility:hidden}.ui-combobox div[name=combobox]{cursor:pointer;padding-right:var(--oasys-spacing-near)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "component", type: i3.LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.IconComponent, selector: "ui-icon", inputs: ["icon_size", "icon_size_override", "icon_name", "icon_context", "alt_text", "icon_class"] }, { kind: "directive", type: i6.OasysAutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i7.EmphasisDirective, selector: "[ui-emphasis]", inputs: ["searchText", "displayParagraph"] }] });
|
|
386
|
+
], viewQueries: [{ propertyName: "textInput", first: true, predicate: ["textinput"], descendants: true, read: ElementRef }, { propertyName: "combobox", first: true, predicate: ["combobox"], descendants: true, read: ElementRef }, { propertyName: "optionsList", predicate: ["option"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ui-stack class=\"ui-combobox-container\" stack_gap=\"tight\">\n <div class=\"ui-combobox text-body--default text-body--regular\">\n <!-- Compbobox Options Input -->\n <div\n *ngIf=\"type === 'options'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"togglePanel()\"\n (focus)=\"openPanel($event)\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"onModelChange(textValue)\"\n [ngClass]=\"inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'on'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"selectedOption\"\n [placeholder]=\"placeholder || ''\"\n readonly=\"readonly\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n <!-- Select Icon Chevron Area -->\n <div class=\"icon-container\" [ngClass]=\"{ expand: panelOpen }\">\n <ui-icon icon_name=\"chevron-down\"></ui-icon>\n <!-- <ui-icon *ngIf=\"panelOpen\" icon_name=\"chevron-up\"></ui-icon> -->\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Autocomplete Input -->\n <div\n *ngIf=\"type === 'autocomplete'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocusInput()\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChangeAutocomplete($event)\"\n [ngClass]=\"inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'list'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"textValue\"\n [placeholder]=\"placeholder || ''\"\n role=\"combobox\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n\n <!-- Combobox Icon Clear Area -->\n <div class=\"icon-container\" [attr.aria-label]=\"'clean'\" (click)=\"cleanInput()\">\n <ui-icon *ngIf=\"textValue\" icon_name=\"close\"></ui-icon>\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Options Panel -->\n <div\n *ngIf=\"panelOpen\"\n class=\"ui-combobox-options\"\n [ngClass]=\"{ expand: panelOpen }\"\n [attr.aria-expanded]=\"panelOpen\"\n role=\"listbox\"\n id=\"activedescendent-list\"\n >\n <!-- Autocomplete Options Panel Header -->\n <div\n *ngIf=\"header && type === 'autocomplete'\"\n class=\"ui-combobox-header text-body--supporting\"\n >\n <span>{{ header }}</span>\n </div>\n\n <!-- Options list -->\n <div\n #option\n *ngFor=\"let option of displayOptions; index as i\"\n class=\"ui-combobox-option\"\n [ngClass]=\"{\n selected: selectedOption === option,\n focus: focusedOption === option,\n }\"\n (click)=\"selectOption(option, i)\"\n (keydown)=\"onKeyDown($event)\"\n [id]=\"'activedescendent-opt-' + i\"\n [attr.aria-label]=\"\n selectedOption === option\n ? option[displayOptionKey] + ' is selected'\n : option[displayOptionKey]\n \"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <!-- Option display -->\n <div\n [attr.value]=\"valueKey ? option[valueKey] : option.value\"\n [attr.ngValue]=\"displayKey ? option[displayKey] : option.label\"\n >\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_gap=\"tight\">\n <ui-icon\n *ngIf=\"option.icon_name || (iconNameKey && option[iconNameKey])\"\n [icon_name]=\"iconNameKey ? option[iconNameKey] : option.icon_name\"\n ></ui-icon>\n\n <!-- Display options label -->\n <span *ngIf=\"type === 'options'\">{{ option[displayOptionKey] }}</span>\n\n <!-- Display autocomplete option information and emphasis-->\n <ui-stack stack_gap=\"tiny\" *ngIf=\"type === 'autocomplete'\">\n <span\n ui-emphasis\n [searchText]=\"textValue\"\n [displayParagraph]=\"option[displayOptionKey]\"\n >\n </span>\n <p class=\"foreground-secondary-text\" *ngIf=\"type === 'autocomplete'\">\n {{ option[subtextOptionKey] }}\n </p>\n </ui-stack>\n </ui-stack>\n </div>\n\n <!-- Selected icon -->\n <ui-icon *ngIf=\"selectedOption === option\" icon_name=\"tick\"></ui-icon>\n </ui-stack>\n </div>\n\n <!-- Autocomplete Options Panel Footer -->\n <div *ngIf=\"footer && type === 'autocomplete'\" class=\"ui-combobox-footer\">\n <ui-button button_type=\"tertiary\" (click)=\"onFooterAction()\">\n {{ footer }}\n </ui-button>\n </div>\n </div>\n </div>\n <ui-stack stack_gap=\"none\">\n <div class=\"input-errors\">\n <div class=\"input-errors-content\">\n <ng-content select=\"ui-form-errors\"></ng-content>\n </div>\n </div>\n <ui-box\n class=\"hint-container\"\n *ngIf=\"hint\"\n box_background=\"transparent\"\n box_space=\"none\"\n box_space_left=\"near\"\n box_space_right=\"near\"\n box_space_bottom=\"near\"\n >\n <div class=\"ui-text-input-hint text-body--supporting text-color--supporting\">\n {{ hint }}\n </div>\n </ui-box>\n </ui-stack>\n</ui-stack>\n", styles: ["html{font-size:62.5%}html,html body{font-family:var(--oasys-typography-body-body-font-family);font-weight:var(--oasys-typography-body-body-font-weight);font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);color:var(--oasys-color-brand-foreground-primary)}html b,html bold,html strong,html body b,html body bold,html body strong{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}html i,html body i{font-style:normal}h1,h2,h3,.text-heading,.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-family:var(--oasys-typography-heading-hero-desktop-font-family)}h4,h5,h6,.text-heading--functional,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2{font-family:var(--oasys-typography-heading-func-primary-desktop-font-family)}ui-container h1,ui-container h2,ui-container h3,ui-container h4,ui-container h5,ui-container h6,ui-container p,ui-box h1,ui-box h2,ui-box h3,ui-box h4,ui-box h5,ui-box h6,ui-box p,ui-stack h1,ui-stack h2,ui-stack h3,ui-stack h4,ui-stack h5,ui-stack h6,ui-stack p,ui-grid h1,ui-grid h2,ui-grid h3,ui-grid h4,ui-grid h5,ui-grid h6,ui-grid p{margin:0}h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-desktop-font-size);line-height:var(--oasys-typography-heading-hero-desktop-line-height);font-weight:var(--oasys-typography-heading-hero-desktop-font-weight)}@media only screen and (max-width: 767px){h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-mobile-font-size);line-height:var(--oasys-typography-heading-hero-mobile-line-height);font-weight:var(--oasys-typography-heading-hero-mobile-font-weight)}}h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-desktop-font-size);line-height:var(--oasys-typography-heading-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-mobile-font-size);line-height:var(--oasys-typography-heading-primary-mobile-line-height);font-weight:var(--oasys-typography-heading-primary-mobile-font-weight)}}h3,.text-heading--secondary{font-size:var(--oasys-typography-heading-secondary-font-size);line-height:var(--oasys-typography-heading-secondary-line-height);font-weight:var(--oasys-typography-heading-secondary-font-weight)}h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-desktop-font-size);line-height:var(--oasys-typography-heading-func-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-mobile-font-size);line-height:var(--oasys-typography-heading-func-primary-mobile-line-height)}}h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-desktop-font-size);line-height:var(--oasys-typography-heading-func-secondary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-secondary-desktop-font-weight)}@media only screen and (max-width: 767px){h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-mobile-font-size);line-height:var(--oasys-typography-heading-func-secondary-mobile-line-height);font-weight:var(--oasys-typography-heading-func-secondary-mobile-font-weight)}}label{-webkit-user-select:none;user-select:none;cursor:pointer}label,.text-label--primary{font-size:var(--oasys-typography-heading-label-primary-font-size);line-height:var(--oasys-typography-heading-label-primary-line-height);font-weight:var(--oasys-typography-heading-label-primary-font-weight)}.text-label--secondary{font-size:var(--oasys-typography-heading-label-secondary-font-size);line-height:var(--oasys-typography-heading-label-secondary-line-height);font-weight:var(--oasys-typography-heading-label-secondary-font-weight)}.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-size:var(--oasys-typography-body-expressive-font-size);line-height:var(--oasys-typography-body-expressive-line-height);font-weight:var(--oasys-typography-body-expressive-font-weight)}.text-body--hero,.ui-combobox input:-webkit-autofill:first-line,.ui-combobox .select:-webkit-autofill:first-line,.ui-rce h6,.ui-prose h6,article h6{font-size:var(--oasys-typography-body-hero-font-size);line-height:var(--oasys-typography-body-hero-line-height);font-weight:var(--oasys-typography-body-hero-font-weight)}.text-body--default,.ui-rce p{font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--supporting{font-size:var(--oasys-typography-body-supporting-font-size);line-height:var(--oasys-typography-body-supporting-line-height);font-weight:var(--oasys-typography-body-supporting-body-weight)}.text-body--micro{font-size:var(--oasys-typography-body-micro-font-size);line-height:var(--oasys-typography-body-micro-line-height);font-weight:var(--oasys-typography-body-micro-body-weight)}.text-body--regular,.ui-rce h6,.ui-prose h6,article h6{font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--line-through{text-decoration:var(--oasys-typography-body-line-through-body-text-decoration)}.text-body--emphasis,.ui-combobox input,.ui-combobox .select,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2,a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}.text-color--on-light{color:var(--oasys-color-brand-foreground-primary)}.text-color--on-light.text-color--supporting,.text-color--on-light .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--on-dark{color:var(--oasys-color-brand-foreground-primary-on-dark)}.text-color--on-dark.text-color--supporting,.text-color--on-dark .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary-on-dark)}.text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--error{color:var(--oasys-color-system-foreground-negative)}.text-color--highlight{color:var(--oasys-color-brand-foreground-highlight)}a{color:inherit;text-decoration:none}.text--readable-width,.ui-rce blockquote,.ui-prose blockquote,article blockquote{max-width:70ch}a,.text-link,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:none;cursor:pointer}a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{text-decoration:underline}a--paragraph,.text-link--paragraph,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:underline;font-weight:inherit}.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-small-bottom)}}.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-small-bottom)}}.ui-rce p,.ui-rce ul,.ui-rce ol,.ui-prose p,.ui-prose ul,.ui-prose ol,article p,article ul,article ol{margin-bottom:var(--oasys-prose-vertical-adjustment-paragraph-bottom)}.ui-rce p:empty,.ui-rce ul:empty,.ui-rce ol:empty,.ui-prose p:empty,.ui-prose ul:empty,.ui-prose ol:empty,article p:empty,article ul:empty,article ol:empty{display:none}.ui-rce blockquote,.ui-prose blockquote,article blockquote{padding-top:var(--oasys-prose-vertical-adjustment-blockquote-top);margin-bottom:var(--oasys-prose-vertical-adjustment-blockquote-bottom);text-align:center;margin:0 auto}.ui-rce hr,.ui-prose hr,article hr{display:block;width:100%;border:0;padding:0;margin:0;height:var(--oasys-size-unit-8);background:var(--oasys-color-brand-background-secondary);margin-top:var(--oasys-spacing-expanded);margin-bottom:var(--oasys-spacing-expanded)}.ui-rce ol,.ui-prose ol,article ol{list-style-type:decimal;list-style-position:inside}.ui-rce ul,.ui-prose ul,article ul{list-style:initial;list-style-position:inside}.ui-rce .ui-rce-embed,.ui-prose .ui-rce-embed,article .ui-rce-embed{padding-top:var(--oasys-prose-vertical-adjustment-component-top-bottom);margin-bottom:var(--oasys-prose-vertical-adjustment-component-top-bottom)}.ui-rce .ui-rce-embed ui-button a,.ui-rce .ui-rce-embed ui-button a:hover,.ui-prose .ui-rce-embed ui-button a,.ui-prose .ui-rce-embed ui-button a:hover,article .ui-rce-embed ui-button a,article .ui-rce-embed ui-button a:hover{text-decoration:none}.ui-rce>ui-box .ui-box-content>*:first-child{padding-top:0}.ui-rce>ui-box .ui-box-content>*:last-child{margin-bottom:0}.ui-rce .ui-rce-instance:last-of-type{padding-bottom:var(--oasys-spacing-expanded)}.ui-rce ui-button,.ui-rce img{display:inline-block;margin:0;margin-top:var(--oasys-spacing-near);margin-right:var(--oasys-spacing-near);vertical-align:top}.ui-rce ui-button:last-child,.ui-rce img:last-child{margin-right:0}.ui-rce img{width:100%}.ui-rce ol p,.ui-rce ul p{display:inline;margin:0}form fieldset legend{margin-bottom:var(--oasys-spacing-near)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container{display:none!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-combobox,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors .input-errors-content,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .hint-container,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .hint-container{display:none!important}.ui-checkbox input,.ui-radio input,.ui-text-input input,.ui-combobox input{appearance:none;margin:0;border:none}.ui-checkbox input,.ui-radio input{cursor:pointer}.ui-checkbox,.ui-radio{--_inset: var(--oasys-spacing-near);--_radius: var(--oasys-radius-soften);--_transition_duration: calc(var(--oasys-animation-duration) * 1ms)}.ui-checkbox input,.ui-radio input{position:absolute;inset:0;border-radius:var(--oasys-radius-soften)}.ui-checkbox input.secondary,.ui-radio input.secondary{inset:unset;top:var(--_inset);--_focusSize: var(--oasys-typography-heading-label-secondary-line-height);width:var(--_focusSize);height:var(--_focusSize)}.ui-checkbox input+label,.ui-radio input+label{width:inherit;display:flex;align-items:center;gap:var(--oasys-spacing-tight)}.ui-checkbox input+label .icon-container,.ui-radio input+label .icon-container{align-self:flex-start;padding:var(--oasys-component-checkbox-icon-inset);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected);border-radius:var(--_radius)}.ui-checkbox input+label .input-hint:empty,.ui-radio input+label .input-hint:empty{display:none}.ui-checkbox input+label.primary,.ui-radio input+label.primary{padding:var(--_inset);border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-checkbox input+label.secondary,.ui-radio input+label.secondary{padding:var(--_inset) 0}.ui-checkbox input+label.secondary .icon-container,.ui-radio input+label.secondary .icon-container{background:transparent;border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)}.ui-checkbox input+label,.ui-checkbox input+label .icon-container,.ui-radio input+label,.ui-radio input+label .icon-container{transition:background-color calc(var(--_transition_duration) * 1ms),border-color calc(var(--_transition_duration) * 1ms)}.ui-checkbox input:hover+label.primary,.ui-checkbox input:checked+label.primary,.ui-radio input:hover+label.primary,.ui-radio input:checked+label.primary{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:hover+label.secondary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:hover+label.secondary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:checked+label.primary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:checked+label.primary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-border-selected);border-color:var(--oasys-color-interaction-border-selected);color:var(--oasys-color-brand-foreground-primary-on-dark)}.ui-checkbox input:checked+label.primary,.ui-radio input:checked+label.primary{border-color:var(--oasys-color-interaction-border-selected)!important}.ui-checkbox input.ng-touched.ng-invalid+label,.ui-radio input.ng-touched.ng-invalid+label{color:var(--oasys-color-system-foreground-negative)}.ui-checkbox input.ng-touched.ng-invalid+label .icon-container,.ui-radio input.ng-touched.ng-invalid+label .icon-container{border-color:var(--oasys-color-system-foreground-negative)}.ui-chip .ui-checkbox input+label .icon-container.icon--hidden,.ui-chip .ui-radio input+label .icon-container.icon--hidden{display:none}.ui-chip .ui-checkbox input+label .label--center,.ui-chip .ui-radio input+label .label--center{margin:0 auto}.ui-chip .ui-checkbox input:checked+label.primary,.ui-chip .ui-radio input:checked+label.primary{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)!important}.oasys-focus-style,.ui-combobox div[name=combobox]:focus,.ui-combobox div[name=combobox]:focus-visible,.ui-combobox div[name=combobox]:focus-within,[tabindex]:focus-visible,[tabindex]:focus,select:focus-visible,select:focus,textarea:focus-visible,textarea:focus,input:focus-visible,input:focus,button:focus-visible,button:focus,a:focus-visible,a:focus{outline:var(--oasys-border-width-focus) solid var(--oasys-color-interaction-border-focus);outline-offset:var(--oasys-border-width-focus-offset)}a:focus:not(:focus-visible){outline:none}button:focus:not(:focus-visible){outline:none}input:focus:not(:focus-visible){outline:none}textarea:focus:not(:focus-visible){outline:none}select:focus:not(:focus-visible){outline:none}[tabindex]:focus:not(:focus-visible){outline:none}:host{display:block;width:100%}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-text-input,:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors .input-errors-content{visibility:visible!important}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .hint-container{display:none!important}.foreground-secondary-text{color:var(--oasys-color-brand-foreground-secondary)}.ui-combobox{background-color:var(--oasys-color-white);--_label-height: var(--oasys-typography-body-supporting-line-height);--_label-input-gap: var(--oasys-spacing-tiny);--_label-top-inset: var(--oasys-spacing-near);--_input-inset-top: calc( var(--_label-height) + var(--_label-input-gap) + var(--_label-top-inset) );--_preface-width: var(--oasys-component-text-input-preface-width);position:relative;transition:border calc(var(--oasys-animation-duration-long) * 1ms);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-footer,.ui-combobox-header{padding:var(--oasys-spacing-tight) var(--oasys-spacing-near);text-align:center}.ui-combobox-footer{cursor:pointer;border-top:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-header{color:var(--oasys-color-brand-foreground-secondary);border-bottom:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-options{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);background-color:var(--oasys-color-white);box-shadow:0 24px 36px #2626261a;border-radius:var(--oasys-radius-soften);box-sizing:border-box;width:100%;height:auto;margin-top:var(--oasys-spacing-near);position:absolute;pointer-events:auto;outline:0;overflow:auto;transform-origin:top center;grid-template-rows:0fr;opacity:0;transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));transition:opacity var(--_ad);will-change:opacity;z-index:1000}.ui-combobox-options.expand{opacity:1}.ui-combobox-option{cursor:pointer;border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) transparent;padding:var(--oasys-spacing-near);outline:none;outline-offset:none}.ui-combobox-option:hover,.ui-combobox-option.selected{background-color:var(--oasys-color-interaction-background-selected);border-radius:var(--oasys-radius-soften)}.ui-combobox-option.focus{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-option:focus-visible{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-container .input-errors{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transform:translateY(-33%);transition:grid-template-rows var(--_ad),opacity var(--_ad),transform var(--_ad);transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));will-change:grid-template-rows,transform,opacity}.ui-combobox-container .input-errors .input-errors-content{min-height:0;visibility:hidden;transition:visibility var(--_ad)}.ui-combobox-container .input-errors .hint-container{display:block!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .hint-container{display:none!important}.ui-combobox-container:has(input:disabled) input,.ui-combobox-container:has(input:disabled) .select{background-color:none;color:var(--oasys-component-text-input-color-disabled-foreground)}.ui-combobox-container:has(input:disabled) .ui-combobox-input{background-color:var(--oasys-component-text-input-color-disabled-background)}.ui-combobox{border-radius:var(--oasys-radius-soften);width:100%}.ui-combobox input{border:none;width:100%;background-color:transparent;cursor:pointer}.ui-combobox input:focus{outline:none}.ui-combobox input,.ui-combobox .select{padding:var(--oasys-spacing-near);padding-top:var(--oasys-spacing-tiny)}.ui-combobox .label-container{padding-top:var(--oasys-spacing-near);padding-left:var(--oasys-spacing-near);width:calc(100% - var(--oasys-spacing-near) - var(--oasys-spacing-near))}.ui-combobox .label-container,.ui-combobox .label-container label{pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-combobox .icon-container{transition:all calc(var(--oasys-animation-duration-long) * 1ms) ease;transform-origin:center}.ui-combobox .icon-container:hover{transform:scale(1.1)}.ui-combobox .icon-container.expand{transform:rotate(-179.999deg)}.ui-combobox:has(.input-preface:not(:empty)){--_left-inset: calc(var(--oasys-spacing-near) + var(--_preface-width))}.ui-combobox:has(.input-preface:not(:empty)) .label-container{left:var(--_left-inset);width:calc(100% - var(--_left-inset) - var(--oasys-spacing-near))}.ui-combobox:has(.input-preface:not(:empty)) input,.ui-combobox:has(.input-preface:not(:empty)) .select{padding-left:var(--_left-inset)}.ui-combobox .input-preface{width:var(--_preface-width);height:100%;position:absolute;display:flex;justify-content:center;align-items:center;pointer-events:none;flex-direction:column;text-align:center;border-right:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox .input-preface:empty{visibility:hidden}.ui-combobox div[name=combobox]{cursor:pointer;padding-right:var(--oasys-spacing-near)}\n"], dependencies: [{ kind: "component", type: LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: OasysAutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["icon_size", "icon_size_override", "icon_name", "icon_context", "alt_text", "icon_class"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: EmphasisDirective, selector: "[ui-emphasis]", inputs: ["searchText", "displayParagraph"] }, { kind: "component", type: OasysButtonComponent, selector: "ui-button", inputs: ["button_icon", "button_icon_placement", "button_size", "button_type", "button_full_width", "button_event_type", "button_disabled", "button_selected", "button_text_nowrap", "aria_label", "aria_role", "href"], outputs: ["clicked"] }] });
|
|
390
387
|
}
|
|
391
388
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, decorators: [{
|
|
392
389
|
type: Component,
|
|
@@ -396,7 +393,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
396
393
|
useExisting: forwardRef(() => ComboboxComponent),
|
|
397
394
|
multi: true,
|
|
398
395
|
},
|
|
399
|
-
], template: "<ui-stack class=\"ui-combobox-container\" stack_gap=\"tight\">\n <div class=\"ui-combobox text-body--default text-body--regular\">\n <!-- Compbobox Options Input -->\n <div\n *ngIf=\"type === 'options'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"togglePanel()\"\n (focus)=\"openPanel($event)\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"onModelChange(textValue)\"\n [ngClass]=\"\n inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\n \"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'on'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"selectedOption\"\n [placeholder]=\"placeholder || ''\"\n readonly=\"readonly\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n <!-- Select Icon Chevron Area -->\n <div class=\"icon-container\" [ngClass]=\"{ expand: panelOpen }\">\n <ui-icon icon_name=\"chevron-down\"></ui-icon>\n <!-- <ui-icon *ngIf=\"panelOpen\" icon_name=\"chevron-up\"></ui-icon> -->\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Autocomplete Input -->\n <div\n *ngIf=\"type === 'autocomplete'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocusInput()\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChangeAutocomplete($event)\"\n [ngClass]=\"\n inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\n \"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'list'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"textValue\"\n [placeholder]=\"placeholder || ''\"\n role=\"combobox\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n\n <!-- Combobox Icon Clear Area -->\n <div\n class=\"icon-container\"\n [aria-label]=\"'clean'\"\n (click)=\"cleanInput()\"\n >\n <ui-icon *ngIf=\"textValue\" icon_name=\"close\"></ui-icon>\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Options Panel -->\n <div\n *ngIf=\"panelOpen\"\n class=\"ui-combobox-options\"\n [ngClass]=\"{ expand: panelOpen }\"\n [attr.aria-expanded]=\"panelOpen\"\n role=\"listbox\"\n id=\"activedescendent-list\"\n >\n <!-- Autocomplete Options Panel Header -->\n <div\n *ngIf=\"header && type === 'autocomplete'\"\n class=\"ui-combobox-header text-body--supporting\"\n >\n <span>{{ header }}</span>\n </div>\n\n <!-- Options list -->\n <div\n #option\n *ngFor=\"let option of displayOptions; index as i\"\n class=\"ui-combobox-option\"\n [ngClass]=\"{\n selected: selectedOption === option,\n focus: focusedOption === option\n }\"\n (click)=\"selectOption(option, i)\"\n (keydown)=\"onKeyDown($event)\"\n [id]=\"'activedescendent-opt-' + i\"\n [attr.aria-label]=\"\n selectedOption === option\n ? option[displayOptionKey] + ' is selected'\n : option[displayOptionKey]\n \"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <!-- Option display -->\n <div\n [value]=\"valueKey ? option[valueKey] : option.value\"\n [ngValue]=\"displayKey ? option[displayKey] : option.label\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-icon\n *ngIf=\"option.icon_name || (iconNameKey && option[iconNameKey])\"\n [icon_name]=\"\n iconNameKey ? option[iconNameKey] : option.icon_name\n \"\n ></ui-icon>\n\n <!-- Display options label -->\n <span *ngIf=\"type === 'options'\">{{\n option[displayOptionKey]\n }}</span>\n\n <!-- Display autocomplete option information and emphasis-->\n <ui-stack stack_gap=\"tiny\" *ngIf=\"type === 'autocomplete'\">\n <span\n ui-emphasis\n [searchText]=\"textValue\"\n [displayParagraph]=\"option[displayOptionKey]\"\n >\n </span>\n <p\n class=\"foreground-secondary-text\"\n *ngIf=\"type === 'autocomplete'\"\n >\n {{ option[subtextOptionKey] }}\n </p>\n </ui-stack>\n </ui-stack>\n </div>\n\n <!-- Selected icon -->\n <ui-icon *ngIf=\"selectedOption === option\" icon_name=\"tick\"></ui-icon>\n </ui-stack>\n </div>\n\n <!-- Autocomplete Options Panel Footer -->\n <div *ngIf=\"footer && type === 'autocomplete'\" class=\"ui-combobox-footer\">\n <ui-button button_type=\"tertiary\" (click)=\"onFooterAction()\">\n {{ footer }}\n </ui-button>\n </div>\n </div>\n </div>\n <ui-stack stack_gap=\"none\">\n <div class=\"input-errors\">\n <div class=\"input-errors-content\">\n <ng-content select=\"ui-form-errors\"></ng-content>\n </div>\n </div>\n <ui-box\n class=\"hint-container\"\n *ngIf=\"hint\"\n box_background=\"transparent\"\n box_space=\"none\"\n box_space_left=\"near\"\n box_space_right=\"near\"\n box_space_bottom=\"near\"\n >\n <div\n class=\"ui-text-input-hint text-body--supporting text-color--supporting\"\n >\n {{ hint }}\n </div>\n </ui-box>\n </ui-stack>\n</ui-stack>\n", styles: ["html{font-size:62.5%}html,html body{font-family:var(--oasys-typography-body-body-font-family);font-weight:var(--oasys-typography-body-body-font-weight);font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);color:var(--oasys-color-brand-foreground-primary)}html b,html bold,html strong,html body b,html body bold,html body strong{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}html i,html body i{font-style:normal}h1,h2,h3,.text-heading,.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-family:var(--oasys-typography-heading-hero-desktop-font-family)}h4,h5,h6,.text-heading--functional,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2{font-family:var(--oasys-typography-heading-func-primary-desktop-font-family)}ui-container h1,ui-container h2,ui-container h3,ui-container h4,ui-container h5,ui-container h6,ui-container p,ui-box h1,ui-box h2,ui-box h3,ui-box h4,ui-box h5,ui-box h6,ui-box p,ui-stack h1,ui-stack h2,ui-stack h3,ui-stack h4,ui-stack h5,ui-stack h6,ui-stack p,ui-grid h1,ui-grid h2,ui-grid h3,ui-grid h4,ui-grid h5,ui-grid h6,ui-grid p{margin:0}h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-desktop-font-size);line-height:var(--oasys-typography-heading-hero-desktop-line-height);font-weight:var(--oasys-typography-heading-hero-desktop-font-weight)}@media only screen and (max-width: 767px){h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-mobile-font-size);line-height:var(--oasys-typography-heading-hero-mobile-line-height);font-weight:var(--oasys-typography-heading-hero-mobile-font-weight)}}h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-desktop-font-size);line-height:var(--oasys-typography-heading-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-mobile-font-size);line-height:var(--oasys-typography-heading-primary-mobile-line-height);font-weight:var(--oasys-typography-heading-primary-mobile-font-weight)}}h3,.text-heading--secondary{font-size:var(--oasys-typography-heading-secondary-font-size);line-height:var(--oasys-typography-heading-secondary-line-height);font-weight:var(--oasys-typography-heading-secondary-font-weight)}h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-desktop-font-size);line-height:var(--oasys-typography-heading-func-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-mobile-font-size);line-height:var(--oasys-typography-heading-func-primary-mobile-line-height)}}h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-desktop-font-size);line-height:var(--oasys-typography-heading-func-secondary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-secondary-desktop-font-weight)}@media only screen and (max-width: 767px){h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-mobile-font-size);line-height:var(--oasys-typography-heading-func-secondary-mobile-line-height);font-weight:var(--oasys-typography-heading-func-secondary-mobile-font-weight)}}label{-webkit-user-select:none;user-select:none;cursor:pointer}label,.text-label--primary{font-size:var(--oasys-typography-heading-label-primary-font-size);line-height:var(--oasys-typography-heading-label-primary-line-height);font-weight:var(--oasys-typography-heading-label-primary-font-weight)}.text-label--secondary{font-size:var(--oasys-typography-heading-label-secondary-font-size);line-height:var(--oasys-typography-heading-label-secondary-line-height);font-weight:var(--oasys-typography-heading-label-secondary-font-weight)}.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-size:var(--oasys-typography-body-expressive-font-size);line-height:var(--oasys-typography-body-expressive-line-height);font-weight:var(--oasys-typography-body-expressive-font-weight)}.text-body--hero,.ui-combobox input:-webkit-autofill:first-line,.ui-combobox .select:-webkit-autofill:first-line,.ui-rce h6,.ui-prose h6,article h6{font-size:var(--oasys-typography-body-hero-font-size);line-height:var(--oasys-typography-body-hero-line-height);font-weight:var(--oasys-typography-body-hero-font-weight)}.text-body--default,.ui-rce p{font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--supporting{font-size:var(--oasys-typography-body-supporting-font-size);line-height:var(--oasys-typography-body-supporting-line-height);font-weight:var(--oasys-typography-body-supporting-body-weight)}.text-body--micro{font-size:var(--oasys-typography-body-micro-font-size);line-height:var(--oasys-typography-body-micro-line-height);font-weight:var(--oasys-typography-body-micro-body-weight)}.text-body--regular,.ui-rce h6,.ui-prose h6,article h6{font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--line-through{text-decoration:var(--oasys-typography-body-line-through-body-text-decoration)}.text-body--emphasis,.ui-combobox input,.ui-combobox .select,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2,a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}.text-color--on-light{color:var(--oasys-color-brand-foreground-primary)}.text-color--on-light.text-color--supporting,.text-color--on-light .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--on-dark{color:var(--oasys-color-brand-foreground-primary-on-dark)}.text-color--on-dark.text-color--supporting,.text-color--on-dark .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary-on-dark)}.text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--error{color:var(--oasys-color-system-foreground-negative)}.text-color--highlight{color:var(--oasys-color-brand-foreground-highlight)}a{color:inherit;text-decoration:none}.text--readable-width,.ui-rce blockquote,.ui-prose blockquote,article blockquote{max-width:70ch}a,.text-link,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:none;cursor:pointer}a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{text-decoration:underline}a--paragraph,.text-link--paragraph,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:underline;font-weight:inherit}.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-small-bottom)}}.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-small-bottom)}}.ui-rce p,.ui-rce ul,.ui-rce ol,.ui-prose p,.ui-prose ul,.ui-prose ol,article p,article ul,article ol{margin-bottom:var(--oasys-prose-vertical-adjustment-paragraph-bottom)}.ui-rce p:empty,.ui-rce ul:empty,.ui-rce ol:empty,.ui-prose p:empty,.ui-prose ul:empty,.ui-prose ol:empty,article p:empty,article ul:empty,article ol:empty{display:none}.ui-rce blockquote,.ui-prose blockquote,article blockquote{padding-top:var(--oasys-prose-vertical-adjustment-blockquote-top);margin-bottom:var(--oasys-prose-vertical-adjustment-blockquote-bottom);text-align:center;margin:0 auto}.ui-rce hr,.ui-prose hr,article hr{display:block;width:100%;border:0;padding:0;margin:0;height:var(--oasys-size-unit-8);background:var(--oasys-color-brand-background-secondary);margin-top:var(--oasys-spacing-expanded);margin-bottom:var(--oasys-spacing-expanded)}.ui-rce ol,.ui-prose ol,article ol{list-style-type:decimal;list-style-position:inside}.ui-rce ul,.ui-prose ul,article ul{list-style:initial;list-style-position:inside}.ui-rce .ui-rce-embed,.ui-prose .ui-rce-embed,article .ui-rce-embed{padding-top:var(--oasys-prose-vertical-adjustment-component-top-bottom);margin-bottom:var(--oasys-prose-vertical-adjustment-component-top-bottom)}.ui-rce .ui-rce-embed ui-button a,.ui-rce .ui-rce-embed ui-button a:hover,.ui-prose .ui-rce-embed ui-button a,.ui-prose .ui-rce-embed ui-button a:hover,article .ui-rce-embed ui-button a,article .ui-rce-embed ui-button a:hover{text-decoration:none}.ui-rce>ui-box .ui-box-content>*:first-child{padding-top:0}.ui-rce>ui-box .ui-box-content>*:last-child{margin-bottom:0}.ui-rce .ui-rce-instance:last-of-type{padding-bottom:var(--oasys-spacing-expanded)}.ui-rce ui-button,.ui-rce img{display:inline-block;margin:0;margin-top:var(--oasys-spacing-near);margin-right:var(--oasys-spacing-near);vertical-align:top}.ui-rce ui-button:last-child,.ui-rce img:last-child{margin-right:0}.ui-rce img{width:100%}.ui-rce ol p,.ui-rce ul p{display:inline;margin:0}form fieldset legend{margin-bottom:var(--oasys-spacing-near)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container{display:none!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-combobox,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors .input-errors-content,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .hint-container,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .hint-container{display:none!important}.ui-checkbox input,.ui-radio input,.ui-text-input input,.ui-combobox input{appearance:none;margin:0;border:none}.ui-checkbox input,.ui-radio input{cursor:pointer}.ui-checkbox,.ui-radio{--_inset: var(--oasys-spacing-near);--_radius: var(--oasys-radius-soften);--_transition_duration: calc(var(--oasys-animation-duration) * 1ms)}.ui-checkbox input,.ui-radio input{position:absolute;inset:0;border-radius:var(--oasys-radius-soften)}.ui-checkbox input.secondary,.ui-radio input.secondary{inset:unset;top:var(--_inset);--_focusSize: var(--oasys-typography-heading-label-secondary-line-height);width:var(--_focusSize);height:var(--_focusSize)}.ui-checkbox input+label,.ui-radio input+label{width:inherit;display:flex;align-items:center;gap:var(--oasys-spacing-tight)}.ui-checkbox input+label .icon-container,.ui-radio input+label .icon-container{align-self:flex-start;padding:var(--oasys-component-checkbox-icon-inset);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected);border-radius:var(--_radius)}.ui-checkbox input+label .input-hint:empty,.ui-radio input+label .input-hint:empty{display:none}.ui-checkbox input+label.primary,.ui-radio input+label.primary{padding:var(--_inset);border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-checkbox input+label.secondary,.ui-radio input+label.secondary{padding:var(--_inset) 0}.ui-checkbox input+label.secondary .icon-container,.ui-radio input+label.secondary .icon-container{background:transparent;border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)}.ui-checkbox input+label,.ui-checkbox input+label .icon-container,.ui-radio input+label,.ui-radio input+label .icon-container{transition:background-color calc(var(--_transition_duration) * 1ms),border-color calc(var(--_transition_duration) * 1ms)}.ui-checkbox input:hover+label.primary,.ui-checkbox input:checked+label.primary,.ui-radio input:hover+label.primary,.ui-radio input:checked+label.primary{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:hover+label.secondary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:hover+label.secondary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:checked+label.primary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:checked+label.primary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-border-selected);border-color:var(--oasys-color-interaction-border-selected);color:var(--oasys-color-brand-foreground-primary-on-dark)}.ui-checkbox input:checked+label.primary,.ui-radio input:checked+label.primary{border-color:var(--oasys-color-interaction-border-selected)!important}.ui-checkbox input.ng-touched.ng-invalid+label,.ui-radio input.ng-touched.ng-invalid+label{color:var(--oasys-color-system-foreground-negative)}.ui-checkbox input.ng-touched.ng-invalid+label .icon-container,.ui-radio input.ng-touched.ng-invalid+label .icon-container{border-color:var(--oasys-color-system-foreground-negative)}.ui-chip .ui-checkbox input+label .icon-container.icon--hidden,.ui-chip .ui-radio input+label .icon-container.icon--hidden{display:none}.ui-chip .ui-checkbox input+label .label--center,.ui-chip .ui-radio input+label .label--center{margin:0 auto}.ui-chip .ui-checkbox input:checked+label.primary,.ui-chip .ui-radio input:checked+label.primary{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)!important}.oasys-focus-style,.ui-combobox div[name=combobox]:focus,.ui-combobox div[name=combobox]:focus-visible,.ui-combobox div[name=combobox]:focus-within,[tabindex]:focus-visible,[tabindex]:focus,select:focus-visible,select:focus,textarea:focus-visible,textarea:focus,input:focus-visible,input:focus,button:focus-visible,button:focus,a:focus-visible,a:focus{outline:var(--oasys-border-width-focus) solid var(--oasys-color-interaction-border-focus);outline-offset:var(--oasys-border-width-focus-offset)}a:focus:not(:focus-visible){outline:none}button:focus:not(:focus-visible){outline:none}input:focus:not(:focus-visible){outline:none}textarea:focus:not(:focus-visible){outline:none}select:focus:not(:focus-visible){outline:none}[tabindex]:focus:not(:focus-visible){outline:none}:host{display:block;width:100%}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-text-input,:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors .input-errors-content{visibility:visible!important}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .hint-container{display:none!important}.foreground-secondary-text{color:var(--oasys-color-brand-foreground-secondary)}.ui-combobox{background-color:var(--oasys-color-white);--_label-height: var(--oasys-typography-body-supporting-line-height);--_label-input-gap: var(--oasys-spacing-tiny);--_label-top-inset: var(--oasys-spacing-near);--_input-inset-top: calc( var(--_label-height) + var(--_label-input-gap) + var(--_label-top-inset) );--_preface-width: var(--oasys-component-text-input-preface-width);position:relative;transition:border calc(var(--oasys-animation-duration-long) * 1ms);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-footer,.ui-combobox-header{padding:var(--oasys-spacing-tight) var(--oasys-spacing-near);text-align:center}.ui-combobox-footer{cursor:pointer;border-top:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-header{color:var(--oasys-color-brand-foreground-secondary);border-bottom:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-options{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);background-color:var(--oasys-color-white);box-shadow:0 24px 36px #2626261a;border-radius:var(--oasys-radius-soften);box-sizing:border-box;width:100%;height:auto;margin-top:var(--oasys-spacing-near);position:absolute;pointer-events:auto;outline:0;overflow:auto;transform-origin:top center;grid-template-rows:0fr;opacity:0;transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));transition:opacity var(--_ad);will-change:opacity;z-index:1000}.ui-combobox-options.expand{opacity:1}.ui-combobox-option{cursor:pointer;border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) transparent;padding:var(--oasys-spacing-near);outline:none;outline-offset:none}.ui-combobox-option:hover,.ui-combobox-option.selected{background-color:var(--oasys-color-interaction-background-selected);border-radius:var(--oasys-radius-soften)}.ui-combobox-option.focus{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-option:focus-visible{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-container .input-errors{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transform:translateY(-33%);transition:grid-template-rows var(--_ad),opacity var(--_ad),transform var(--_ad);transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));will-change:grid-template-rows,transform,opacity}.ui-combobox-container .input-errors .input-errors-content{min-height:0;visibility:hidden;transition:visibility var(--_ad)}.ui-combobox-container .input-errors .hint-container{display:block!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .hint-container{display:none!important}.ui-combobox-container:has(input:disabled) input,.ui-combobox-container:has(input:disabled) .select{background-color:none;color:var(--oasys-component-text-input-color-disabled-foreground)}.ui-combobox-container:has(input:disabled) .ui-combobox-input{background-color:var(--oasys-component-text-input-color-disabled-background)}.ui-combobox{border-radius:var(--oasys-radius-soften);width:100%}.ui-combobox input{border:none;width:100%;background-color:transparent;cursor:pointer}.ui-combobox input:focus{outline:none}.ui-combobox input,.ui-combobox .select{padding:var(--oasys-spacing-near);padding-top:var(--oasys-spacing-tiny)}.ui-combobox .label-container{padding-top:var(--oasys-spacing-near);padding-left:var(--oasys-spacing-near);width:calc(100% - var(--oasys-spacing-near) - var(--oasys-spacing-near))}.ui-combobox .label-container,.ui-combobox .label-container label{pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-combobox .icon-container{transition:all calc(var(--oasys-animation-duration-long) * 1ms) ease;transform-origin:center}.ui-combobox .icon-container:hover{transform:scale(1.1)}.ui-combobox .icon-container.expand{transform:rotate(-179.999deg)}.ui-combobox:has(.input-preface:not(:empty)){--_left-inset: calc(var(--oasys-spacing-near) + var(--_preface-width))}.ui-combobox:has(.input-preface:not(:empty)) .label-container{left:var(--_left-inset);width:calc(100% - var(--_left-inset) - var(--oasys-spacing-near))}.ui-combobox:has(.input-preface:not(:empty)) input,.ui-combobox:has(.input-preface:not(:empty)) .select{padding-left:var(--_left-inset)}.ui-combobox .input-preface{width:var(--_preface-width);height:100%;position:absolute;display:flex;justify-content:center;align-items:center;pointer-events:none;flex-direction:column;text-align:center;border-right:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox .input-preface:empty{visibility:hidden}.ui-combobox div[name=combobox]{cursor:pointer;padding-right:var(--oasys-spacing-near)}\n"] }]
|
|
396
|
+
], standalone: true, imports: [
|
|
397
|
+
LayoutStackComponent,
|
|
398
|
+
NgIf,
|
|
399
|
+
LayoutBoxComponent,
|
|
400
|
+
ReactiveFormsModule,
|
|
401
|
+
FormsModule,
|
|
402
|
+
NgClass,
|
|
403
|
+
OasysAutofocusDirective,
|
|
404
|
+
IconComponent,
|
|
405
|
+
NgFor,
|
|
406
|
+
EmphasisDirective,
|
|
407
|
+
OasysButtonComponent,
|
|
408
|
+
], template: "<ui-stack class=\"ui-combobox-container\" stack_gap=\"tight\">\n <div class=\"ui-combobox text-body--default text-body--regular\">\n <!-- Compbobox Options Input -->\n <div\n *ngIf=\"type === 'options'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"togglePanel()\"\n (focus)=\"openPanel($event)\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"onModelChange(textValue)\"\n [ngClass]=\"inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'on'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"selectedOption\"\n [placeholder]=\"placeholder || ''\"\n readonly=\"readonly\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n <!-- Select Icon Chevron Area -->\n <div class=\"icon-container\" [ngClass]=\"{ expand: panelOpen }\">\n <ui-icon icon_name=\"chevron-down\"></ui-icon>\n <!-- <ui-icon *ngIf=\"panelOpen\" icon_name=\"chevron-up\"></ui-icon> -->\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Autocomplete Input -->\n <div\n *ngIf=\"type === 'autocomplete'\"\n #combobox\n name=\"combobox\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocusInput()\"\n role=\"combobox\"\n id=\"activedescendent-edit\"\n [attr.aria-label]=\"label\"\n [attr.aria-activedescendant]=\"'activedescendent-opt-' + focusedId\"\n aria-readonly=\"true\"\n aria-owns=\"activedescendent-list\"\n aria-autocomplete=\"list\"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <!-- Select Label Area -->\n <div class=\"label-container\" stack_direction=\"x\">\n <label\n class=\"text-body--supporting text-body--regular\"\n role=\"combobox-label\"\n [for]=\"id\"\n >{{ label }}</label\n >\n </div>\n <input\n #textinput\n [id]=\"id\"\n [name]=\"id\"\n [ngModel]=\"textValue\"\n (ngModelChange)=\"onModelChangeAutocomplete($event)\"\n [ngClass]=\"inputDidChange ? 'ng-input-did-change' : 'ng-input-did-not-change'\"\n [attr.autocorrect]=\"'on'\"\n [attr.disabled]=\"disabled || null\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"'list'\"\n [required]=\"!optional\"\n [spellcheck]=\"'on'\"\n [type]=\"'text'\"\n [value]=\"textValue\"\n [placeholder]=\"placeholder || ''\"\n role=\"combobox\"\n class=\"text-body--default text-body--regular\"\n />\n </ui-box>\n\n <!-- Combobox Icon Clear Area -->\n <div class=\"icon-container\" [attr.aria-label]=\"'clean'\" (click)=\"cleanInput()\">\n <ui-icon *ngIf=\"textValue\" icon_name=\"close\"></ui-icon>\n </div>\n </ui-stack>\n </div>\n\n <!-- Combobox Options Panel -->\n <div\n *ngIf=\"panelOpen\"\n class=\"ui-combobox-options\"\n [ngClass]=\"{ expand: panelOpen }\"\n [attr.aria-expanded]=\"panelOpen\"\n role=\"listbox\"\n id=\"activedescendent-list\"\n >\n <!-- Autocomplete Options Panel Header -->\n <div\n *ngIf=\"header && type === 'autocomplete'\"\n class=\"ui-combobox-header text-body--supporting\"\n >\n <span>{{ header }}</span>\n </div>\n\n <!-- Options list -->\n <div\n #option\n *ngFor=\"let option of displayOptions; index as i\"\n class=\"ui-combobox-option\"\n [ngClass]=\"{\n selected: selectedOption === option,\n focus: focusedOption === option,\n }\"\n (click)=\"selectOption(option, i)\"\n (keydown)=\"onKeyDown($event)\"\n [id]=\"'activedescendent-opt-' + i\"\n [attr.aria-label]=\"\n selectedOption === option\n ? option[displayOptionKey] + ' is selected'\n : option[displayOptionKey]\n \"\n >\n <ui-stack\n stack_direction=\"x\"\n stack_distribute=\"space-between\"\n stack_align=\"center\"\n stack_gap=\"tight\"\n >\n <!-- Option display -->\n <div\n [attr.value]=\"valueKey ? option[valueKey] : option.value\"\n [attr.ngValue]=\"displayKey ? option[displayKey] : option.label\"\n >\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_gap=\"tight\">\n <ui-icon\n *ngIf=\"option.icon_name || (iconNameKey && option[iconNameKey])\"\n [icon_name]=\"iconNameKey ? option[iconNameKey] : option.icon_name\"\n ></ui-icon>\n\n <!-- Display options label -->\n <span *ngIf=\"type === 'options'\">{{ option[displayOptionKey] }}</span>\n\n <!-- Display autocomplete option information and emphasis-->\n <ui-stack stack_gap=\"tiny\" *ngIf=\"type === 'autocomplete'\">\n <span\n ui-emphasis\n [searchText]=\"textValue\"\n [displayParagraph]=\"option[displayOptionKey]\"\n >\n </span>\n <p class=\"foreground-secondary-text\" *ngIf=\"type === 'autocomplete'\">\n {{ option[subtextOptionKey] }}\n </p>\n </ui-stack>\n </ui-stack>\n </div>\n\n <!-- Selected icon -->\n <ui-icon *ngIf=\"selectedOption === option\" icon_name=\"tick\"></ui-icon>\n </ui-stack>\n </div>\n\n <!-- Autocomplete Options Panel Footer -->\n <div *ngIf=\"footer && type === 'autocomplete'\" class=\"ui-combobox-footer\">\n <ui-button button_type=\"tertiary\" (click)=\"onFooterAction()\">\n {{ footer }}\n </ui-button>\n </div>\n </div>\n </div>\n <ui-stack stack_gap=\"none\">\n <div class=\"input-errors\">\n <div class=\"input-errors-content\">\n <ng-content select=\"ui-form-errors\"></ng-content>\n </div>\n </div>\n <ui-box\n class=\"hint-container\"\n *ngIf=\"hint\"\n box_background=\"transparent\"\n box_space=\"none\"\n box_space_left=\"near\"\n box_space_right=\"near\"\n box_space_bottom=\"near\"\n >\n <div class=\"ui-text-input-hint text-body--supporting text-color--supporting\">\n {{ hint }}\n </div>\n </ui-box>\n </ui-stack>\n</ui-stack>\n", styles: ["html{font-size:62.5%}html,html body{font-family:var(--oasys-typography-body-body-font-family);font-weight:var(--oasys-typography-body-body-font-weight);font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);color:var(--oasys-color-brand-foreground-primary)}html b,html bold,html strong,html body b,html body bold,html body strong{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}html i,html body i{font-style:normal}h1,h2,h3,.text-heading,.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-family:var(--oasys-typography-heading-hero-desktop-font-family)}h4,h5,h6,.text-heading--functional,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2{font-family:var(--oasys-typography-heading-func-primary-desktop-font-family)}ui-container h1,ui-container h2,ui-container h3,ui-container h4,ui-container h5,ui-container h6,ui-container p,ui-box h1,ui-box h2,ui-box h3,ui-box h4,ui-box h5,ui-box h6,ui-box p,ui-stack h1,ui-stack h2,ui-stack h3,ui-stack h4,ui-stack h5,ui-stack h6,ui-stack p,ui-grid h1,ui-grid h2,ui-grid h3,ui-grid h4,ui-grid h5,ui-grid h6,ui-grid p{margin:0}h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-desktop-font-size);line-height:var(--oasys-typography-heading-hero-desktop-line-height);font-weight:var(--oasys-typography-heading-hero-desktop-font-weight)}@media only screen and (max-width: 767px){h1:not(.seo-h1),.text-heading--hero{font-size:var(--oasys-typography-heading-hero-mobile-font-size);line-height:var(--oasys-typography-heading-hero-mobile-line-height);font-weight:var(--oasys-typography-heading-hero-mobile-font-weight)}}h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-desktop-font-size);line-height:var(--oasys-typography-heading-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h2,.text-heading--primary{font-size:var(--oasys-typography-heading-primary-mobile-font-size);line-height:var(--oasys-typography-heading-primary-mobile-line-height);font-weight:var(--oasys-typography-heading-primary-mobile-font-weight)}}h3,.text-heading--secondary{font-size:var(--oasys-typography-heading-secondary-font-size);line-height:var(--oasys-typography-heading-secondary-line-height);font-weight:var(--oasys-typography-heading-secondary-font-weight)}h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-desktop-font-size);line-height:var(--oasys-typography-heading-func-primary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-primary-desktop-font-weight)}@media only screen and (max-width: 767px){h4,.text-heading--functional--primary,.ui-rce h2,.ui-prose h2,article h2{font-size:var(--oasys-typography-heading-func-primary-mobile-font-size);line-height:var(--oasys-typography-heading-func-primary-mobile-line-height)}}h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-desktop-font-size);line-height:var(--oasys-typography-heading-func-secondary-desktop-line-height);font-weight:var(--oasys-typography-heading-func-secondary-desktop-font-weight)}@media only screen and (max-width: 767px){h5,.text-heading--functional--secondary,.ui-rce h3,.ui-prose h3,article h3{font-size:var(--oasys-typography-heading-func-secondary-mobile-font-size);line-height:var(--oasys-typography-heading-func-secondary-mobile-line-height);font-weight:var(--oasys-typography-heading-func-secondary-mobile-font-weight)}}label{-webkit-user-select:none;user-select:none;cursor:pointer}label,.text-label--primary{font-size:var(--oasys-typography-heading-label-primary-font-size);line-height:var(--oasys-typography-heading-label-primary-line-height);font-weight:var(--oasys-typography-heading-label-primary-font-weight)}.text-label--secondary{font-size:var(--oasys-typography-heading-label-secondary-font-size);line-height:var(--oasys-typography-heading-label-secondary-line-height);font-weight:var(--oasys-typography-heading-label-secondary-font-weight)}.text-body--expressive,.ui-rce blockquote,.ui-prose blockquote,article blockquote,.text-heading--body--expressive{font-size:var(--oasys-typography-body-expressive-font-size);line-height:var(--oasys-typography-body-expressive-line-height);font-weight:var(--oasys-typography-body-expressive-font-weight)}.text-body--hero,.ui-combobox input:-webkit-autofill:first-line,.ui-combobox .select:-webkit-autofill:first-line,.ui-rce h6,.ui-prose h6,article h6{font-size:var(--oasys-typography-body-hero-font-size);line-height:var(--oasys-typography-body-hero-line-height);font-weight:var(--oasys-typography-body-hero-font-weight)}.text-body--default,.ui-rce p{font-size:var(--oasys-typography-body-body-font-size);line-height:var(--oasys-typography-body-body-line-height);font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--supporting{font-size:var(--oasys-typography-body-supporting-font-size);line-height:var(--oasys-typography-body-supporting-line-height);font-weight:var(--oasys-typography-body-supporting-body-weight)}.text-body--micro{font-size:var(--oasys-typography-body-micro-font-size);line-height:var(--oasys-typography-body-micro-line-height);font-weight:var(--oasys-typography-body-micro-body-weight)}.text-body--regular,.ui-rce h6,.ui-prose h6,article h6{font-weight:var(--oasys-typography-body-body-font-weight)}.text-body--line-through{text-decoration:var(--oasys-typography-body-line-through-body-text-decoration)}.text-body--emphasis,.ui-combobox input,.ui-combobox .select,.ui-rce h3,.ui-prose h3,article h3,.ui-rce h2,.ui-prose h2,article h2,a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{font-weight:var(--oasys-typography-body-emphasis-hero-font-weight)}.text-color--on-light{color:var(--oasys-color-brand-foreground-primary)}.text-color--on-light.text-color--supporting,.text-color--on-light .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--on-dark{color:var(--oasys-color-brand-foreground-primary-on-dark)}.text-color--on-dark.text-color--supporting,.text-color--on-dark .text-color--supporting{color:var(--oasys-color-brand-foreground-secondary-on-dark)}.text-color--supporting{color:var(--oasys-color-brand-foreground-secondary)}.text-color--error{color:var(--oasys-color-system-foreground-negative)}.text-color--highlight{color:var(--oasys-color-brand-foreground-highlight)}a{color:inherit;text-decoration:none}.text--readable-width,.ui-rce blockquote,.ui-prose blockquote,article blockquote{max-width:70ch}a,.text-link,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:none;cursor:pointer}a--standalone,.text-link--standalone,.ui-rce .ui-rce-embed a,.ui-rce .ui-rce-embed a:hover,.ui-prose .ui-rce-embed a,.ui-prose .ui-rce-embed a:hover,article .ui-rce-embed a,article .ui-rce-embed a:hover{text-decoration:underline}a--paragraph,.text-link--paragraph,.ui-rce a,.ui-rce a:hover,.ui-prose a,.ui-prose a:hover,article a,article a:hover{text-decoration:underline;font-weight:inherit}.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h2,.ui-prose h2,article h2{padding-top:var(--oasys-prose-vertical-adjustment-heading-primary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-primary-small-bottom)}}.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-large-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-large-bottom)}@media only screen and (max-width: 767px){.ui-rce h3,.ui-prose h3,article h3{padding-top:var(--oasys-prose-vertical-adjustment-heading-secondary-small-top);margin-bottom:var(--oasys-prose-vertical-adjustment-heading-secondary-small-bottom)}}.ui-rce p,.ui-rce ul,.ui-rce ol,.ui-prose p,.ui-prose ul,.ui-prose ol,article p,article ul,article ol{margin-bottom:var(--oasys-prose-vertical-adjustment-paragraph-bottom)}.ui-rce p:empty,.ui-rce ul:empty,.ui-rce ol:empty,.ui-prose p:empty,.ui-prose ul:empty,.ui-prose ol:empty,article p:empty,article ul:empty,article ol:empty{display:none}.ui-rce blockquote,.ui-prose blockquote,article blockquote{padding-top:var(--oasys-prose-vertical-adjustment-blockquote-top);margin-bottom:var(--oasys-prose-vertical-adjustment-blockquote-bottom);text-align:center;margin:0 auto}.ui-rce hr,.ui-prose hr,article hr{display:block;width:100%;border:0;padding:0;margin:0;height:var(--oasys-size-unit-8);background:var(--oasys-color-brand-background-secondary);margin-top:var(--oasys-spacing-expanded);margin-bottom:var(--oasys-spacing-expanded)}.ui-rce ol,.ui-prose ol,article ol{list-style-type:decimal;list-style-position:inside}.ui-rce ul,.ui-prose ul,article ul{list-style:initial;list-style-position:inside}.ui-rce .ui-rce-embed,.ui-prose .ui-rce-embed,article .ui-rce-embed{padding-top:var(--oasys-prose-vertical-adjustment-component-top-bottom);margin-bottom:var(--oasys-prose-vertical-adjustment-component-top-bottom)}.ui-rce .ui-rce-embed ui-button a,.ui-rce .ui-rce-embed ui-button a:hover,.ui-prose .ui-rce-embed ui-button a,.ui-prose .ui-rce-embed ui-button a:hover,article .ui-rce-embed ui-button a,article .ui-rce-embed ui-button a:hover{text-decoration:none}.ui-rce>ui-box .ui-box-content>*:first-child{padding-top:0}.ui-rce>ui-box .ui-box-content>*:last-child{margin-bottom:0}.ui-rce .ui-rce-instance:last-of-type{padding-bottom:var(--oasys-spacing-expanded)}.ui-rce ui-button,.ui-rce img{display:inline-block;margin:0;margin-top:var(--oasys-spacing-near);margin-right:var(--oasys-spacing-near);vertical-align:top}.ui-rce ui-button:last-child,.ui-rce img:last-child{margin-right:0}.ui-rce img{width:100%}.ui-rce ol p,.ui-rce ul p{display:inline;margin:0}form fieldset legend{margin-bottom:var(--oasys-spacing-near)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-text-input,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty .ui-text-input-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container,form.ng-dirty .ui-combobox-container:has(input.ng-invalid.ng-input-did-change:not(:focus-within)) .hint-container{display:none!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .ui-combobox,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-text-input,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .input-errors .input-errors-content,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .input-errors .input-errors-content{visibility:visible!important}form.ng-dirty.ng-submitted .ui-text-input-container:has(input.ng-invalid) .hint-container,form.ng-dirty.ng-submitted .ui-combobox-container:has(input.ng-invalid) .hint-container{display:none!important}.ui-checkbox input,.ui-radio input,.ui-text-input input,.ui-combobox input{appearance:none;margin:0;border:none}.ui-checkbox input,.ui-radio input{cursor:pointer}.ui-checkbox,.ui-radio{--_inset: var(--oasys-spacing-near);--_radius: var(--oasys-radius-soften);--_transition_duration: calc(var(--oasys-animation-duration) * 1ms)}.ui-checkbox input,.ui-radio input{position:absolute;inset:0;border-radius:var(--oasys-radius-soften)}.ui-checkbox input.secondary,.ui-radio input.secondary{inset:unset;top:var(--_inset);--_focusSize: var(--oasys-typography-heading-label-secondary-line-height);width:var(--_focusSize);height:var(--_focusSize)}.ui-checkbox input+label,.ui-radio input+label{width:inherit;display:flex;align-items:center;gap:var(--oasys-spacing-tight)}.ui-checkbox input+label .icon-container,.ui-radio input+label .icon-container{align-self:flex-start;padding:var(--oasys-component-checkbox-icon-inset);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected);border-radius:var(--_radius)}.ui-checkbox input+label .input-hint:empty,.ui-radio input+label .input-hint:empty{display:none}.ui-checkbox input+label.primary,.ui-radio input+label.primary{padding:var(--_inset);border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-checkbox input+label.secondary,.ui-radio input+label.secondary{padding:var(--_inset) 0}.ui-checkbox input+label.secondary .icon-container,.ui-radio input+label.secondary .icon-container{background:transparent;border-radius:var(--_radius);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)}.ui-checkbox input+label,.ui-checkbox input+label .icon-container,.ui-radio input+label,.ui-radio input+label .icon-container{transition:background-color calc(var(--_transition_duration) * 1ms),border-color calc(var(--_transition_duration) * 1ms)}.ui-checkbox input:hover+label.primary,.ui-checkbox input:checked+label.primary,.ui-radio input:hover+label.primary,.ui-radio input:checked+label.primary{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:hover+label.secondary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:hover+label.secondary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-background-selected)}.ui-checkbox input:checked+label.primary .icon-container,.ui-checkbox input:checked+label.secondary .icon-container,.ui-radio input:checked+label.primary .icon-container,.ui-radio input:checked+label.secondary .icon-container{background:var(--oasys-color-interaction-border-selected);border-color:var(--oasys-color-interaction-border-selected);color:var(--oasys-color-brand-foreground-primary-on-dark)}.ui-checkbox input:checked+label.primary,.ui-radio input:checked+label.primary{border-color:var(--oasys-color-interaction-border-selected)!important}.ui-checkbox input.ng-touched.ng-invalid+label,.ui-radio input.ng-touched.ng-invalid+label{color:var(--oasys-color-system-foreground-negative)}.ui-checkbox input.ng-touched.ng-invalid+label .icon-container,.ui-radio input.ng-touched.ng-invalid+label .icon-container{border-color:var(--oasys-color-system-foreground-negative)}.ui-chip .ui-checkbox input+label .icon-container.icon--hidden,.ui-chip .ui-radio input+label .icon-container.icon--hidden{display:none}.ui-chip .ui-checkbox input+label .label--center,.ui-chip .ui-radio input+label .label--center{margin:0 auto}.ui-chip .ui-checkbox input:checked+label.primary,.ui-chip .ui-radio input:checked+label.primary{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selected)!important}.oasys-focus-style,.ui-combobox div[name=combobox]:focus,.ui-combobox div[name=combobox]:focus-visible,.ui-combobox div[name=combobox]:focus-within,[tabindex]:focus-visible,[tabindex]:focus,select:focus-visible,select:focus,textarea:focus-visible,textarea:focus,input:focus-visible,input:focus,button:focus-visible,button:focus,a:focus-visible,a:focus{outline:var(--oasys-border-width-focus) solid var(--oasys-color-interaction-border-focus);outline-offset:var(--oasys-border-width-focus-offset)}a:focus:not(:focus-visible){outline:none}button:focus:not(:focus-visible){outline:none}input:focus:not(:focus-visible){outline:none}textarea:focus:not(:focus-visible){outline:none}select:focus:not(:focus-visible){outline:none}[tabindex]:focus:not(:focus-visible){outline:none}:host{display:block;width:100%}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-text-input,:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .input-errors .input-errors-content{visibility:visible!important}:host.ng-touched.ng-dirty.ng-invalid:not(:focus-within) .ui-combobox-container .hint-container{display:none!important}.foreground-secondary-text{color:var(--oasys-color-brand-foreground-secondary)}.ui-combobox{background-color:var(--oasys-color-white);--_label-height: var(--oasys-typography-body-supporting-line-height);--_label-input-gap: var(--oasys-spacing-tiny);--_label-top-inset: var(--oasys-spacing-near);--_input-inset-top: calc( var(--_label-height) + var(--_label-input-gap) + var(--_label-top-inset) );--_preface-width: var(--oasys-component-text-input-preface-width);position:relative;transition:border calc(var(--oasys-animation-duration-long) * 1ms);border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-footer,.ui-combobox-header{padding:var(--oasys-spacing-tight) var(--oasys-spacing-near);text-align:center}.ui-combobox-footer{cursor:pointer;border-top:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-header{color:var(--oasys-color-brand-foreground-secondary);border-bottom:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox-options{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);background-color:var(--oasys-color-white);box-shadow:0 24px 36px #2626261a;border-radius:var(--oasys-radius-soften);box-sizing:border-box;width:100%;height:auto;margin-top:var(--oasys-spacing-near);position:absolute;pointer-events:auto;outline:0;overflow:auto;transform-origin:top center;grid-template-rows:0fr;opacity:0;transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));transition:opacity var(--_ad);will-change:opacity;z-index:1000}.ui-combobox-options.expand{opacity:1}.ui-combobox-option{cursor:pointer;border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) transparent;padding:var(--oasys-spacing-near);outline:none;outline-offset:none}.ui-combobox-option:hover,.ui-combobox-option.selected{background-color:var(--oasys-color-interaction-background-selected);border-radius:var(--oasys-radius-soften)}.ui-combobox-option.focus{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-option:focus-visible{border-left:var(--oasys-border-width-focus-offset) var(--oasys-component-box-border-style-solid) var(--oasys-color-interaction-border-focus)}.ui-combobox-container .input-errors{--_ad: calc(var(--oasys-animation-duration-long) * 1ms);display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transform:translateY(-33%);transition:grid-template-rows var(--_ad),opacity var(--_ad),transform var(--_ad);transition-timing-function:cubic-bezier(var(--oasys-animation-timing-function-soft));will-change:grid-template-rows,transform,opacity}.ui-combobox-container .input-errors .input-errors-content{min-height:0;visibility:hidden;transition:visibility var(--_ad)}.ui-combobox-container .input-errors .hint-container{display:block!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .ui-combobox,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-text-input,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .ui-combobox{border:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-danger)}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors{grid-template-rows:1fr;transform:translateY(0);opacity:1}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .input-errors .input-errors-content,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .input-errors .input-errors-content{visibility:visible!important}.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty.ng-input-did-change:not(:focus-within)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched.ng-dirty:not(:focus)) .hint-container,.ui-combobox-container:has(.ng-invalid.ng-touched:not(:focus-within)) .hint-container{display:none!important}.ui-combobox-container:has(input:disabled) input,.ui-combobox-container:has(input:disabled) .select{background-color:none;color:var(--oasys-component-text-input-color-disabled-foreground)}.ui-combobox-container:has(input:disabled) .ui-combobox-input{background-color:var(--oasys-component-text-input-color-disabled-background)}.ui-combobox{border-radius:var(--oasys-radius-soften);width:100%}.ui-combobox input{border:none;width:100%;background-color:transparent;cursor:pointer}.ui-combobox input:focus{outline:none}.ui-combobox input,.ui-combobox .select{padding:var(--oasys-spacing-near);padding-top:var(--oasys-spacing-tiny)}.ui-combobox .label-container{padding-top:var(--oasys-spacing-near);padding-left:var(--oasys-spacing-near);width:calc(100% - var(--oasys-spacing-near) - var(--oasys-spacing-near))}.ui-combobox .label-container,.ui-combobox .label-container label{pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-combobox .icon-container{transition:all calc(var(--oasys-animation-duration-long) * 1ms) ease;transform-origin:center}.ui-combobox .icon-container:hover{transform:scale(1.1)}.ui-combobox .icon-container.expand{transform:rotate(-179.999deg)}.ui-combobox:has(.input-preface:not(:empty)){--_left-inset: calc(var(--oasys-spacing-near) + var(--_preface-width))}.ui-combobox:has(.input-preface:not(:empty)) .label-container{left:var(--_left-inset);width:calc(100% - var(--_left-inset) - var(--oasys-spacing-near))}.ui-combobox:has(.input-preface:not(:empty)) input,.ui-combobox:has(.input-preface:not(:empty)) .select{padding-left:var(--_left-inset)}.ui-combobox .input-preface{width:var(--_preface-width);height:100%;position:absolute;display:flex;justify-content:center;align-items:center;pointer-events:none;flex-direction:column;text-align:center;border-right:var(--oasys-border-width-primary) solid var(--oasys-color-interaction-border-selectable)}.ui-combobox .input-preface:empty{visibility:hidden}.ui-combobox div[name=combobox]{cursor:pointer;padding-right:var(--oasys-spacing-near)}\n"] }]
|
|
400
409
|
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
401
410
|
type: Inject,
|
|
402
411
|
args: [DOCUMENT]
|
|
@@ -463,4 +472,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
463
472
|
type: HostListener,
|
|
464
473
|
args: ['document:click', ['$event.target']]
|
|
465
474
|
}] } });
|
|
466
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFFTixTQUFTLEVBRVQsWUFBWSxFQUdaLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWV6RSxNQUFNLE9BQU8saUJBQWlCO0lBc0ZVO0lBbkY3QixLQUFLLENBQVU7SUFDZixJQUFJLEdBQWlCLFNBQVMsQ0FBQztJQUMvQixPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUMvQixRQUFRLEdBQVksSUFBSSxDQUFDO0lBRU4sSUFBSSxDQUFVO0lBQ2QsTUFBTSxDQUFVO0lBQ2hCLE1BQU0sQ0FBVTtJQUNoQixTQUFTLEdBQWEsS0FBSyxDQUFDO0lBQzVCLFFBQVEsR0FBYSxLQUFLLENBQUM7SUFDM0IsUUFBUSxDQUE0QjtJQUNoRSx5REFBeUQ7SUFDN0IsVUFBVSxDQUFVO0lBQ2hELDREQUE0RDtJQUNoQyxXQUFXLENBQVU7SUFDakQscUNBQXFDO0lBQ1QsUUFBUSxDQUFVO0lBQzlDLDZCQUE2QjtJQUNELFVBQVUsQ0FBVTtJQUNwQixXQUFXLENBQVU7SUFDakQsd0NBQXdD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LFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBRUUsV0FBVztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBRWhCLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQW1EUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJNUMsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBR25CLFdBQVc7c0JBQWxDLFlBQVk7dUJBQUMsUUFBUTtnQkFZZixPQUFPO3NCQUxiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBmb3J3YXJkUmVmLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIEFmdGVyVmlld0luaXQsXG4gIFZpZXdDaGlsZCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW4sXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgSG9zdExpc3RlbmVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbWJvYm94T3B0aW9uLCBDb21ib2JveFR5cGUgfSBmcm9tICcuL2NvbWJvYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY29tYm9ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tYm9ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21ib2JveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvbWJvYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlOiBDb21ib2JveFR5cGUgPSAnb3B0aW9ucyc7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IENvbWJvYm94T3B0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgb3B0aW9uYWw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBoaW50Pzogc3RyaW5nO1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgaGVhZGVyPzogc3RyaW5nO1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgZm9vdGVyPzogc3RyaW5nO1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgYXV0b2ZvY3VzPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBzZWxlY3RlZD86IENvbWJvYm94T3B0aW9uIHwgdW5rbm93bjtcbiAgLy8gS2V5IHZhbHVlIGZyb20gb3B0aW9ucyB0byBiZSBkaXNwbGF5ZWQgYXMgb3B0aW9uIGxhYmVsXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBkaXNwbGF5S2V5Pzogc3RyaW5nO1xuICAvLyBLZXkgdmFsdWUgZnJvbSBvcHRpb25zIHRvIGJlIHVzZWQgYXMgaWNvbiBpbiBvcHRpb24gbGFiZWxcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGljb25OYW1lS2V5Pzogc3RyaW5nO1xuICAvLyBLZXkgdmFsdWUgZnJvbSBvcHRpb25zIGJlIGJlIHZhbHVlXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSB2YWx1ZUtleT86IHN0cmluZztcbiAgLy8gQXZhaWxhYmxlIGZvciBBdXRvY29tcGxldGVcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHN1YnRleHRLZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLy8gV2lsbCBvcGVuIHRoZSBsaXN0IG9mIG9wdGlvbnMgb24gaW5pdFxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgc2hvd09wdGlvbnMgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgZGlkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8dW5rbm93bj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkaWRTZWFyY2g6IEV2ZW50RW1pdHRlcjx1bmtub3duPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRpZEVkaXQ6IEV2ZW50RW1pdHRlcjx1bmtub3duPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB0ZXh0VmFsdWU6IHN0cmluZyA9ICcnO1xuICBpbnB1dERpZENoYW5nZTogYm9vbGVhbiA9IGZhbHNlOyAvLyBvbmx5IHNob3cgdmFsZGlhdGlvbiBhZnRlciBhIGNoYW5nZSBldmVudCAoaWUuIGJsdXIpXG4gIGRpc3BsYXlPcHRpb25zOiBDb21ib2JveE9wdGlvbltdID0gW107XG4gIHByaXZhdGUgX3BhbmVsT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9zZWxlY3RlZE9wdGlvbjogQ29tYm9ib3hPcHRpb24gfCB1bmtub3duO1xuICBwcml2YXRlIF9mb2N1c2VkT3B0aW9uOiBDb21ib2JveE9wdGlvbiB8IHVua25vd247XG4gIHByaXZhdGUgX2ZvY3VzZWRPcHRpb25JZDogbnVtYmVyO1xuXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBvdmVybGF5IHBhbmVsIGlzIG9wZW4uICovXG4gIGdldCBwYW5lbE9wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhbmVsT3BlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RlZCBvcHRpb25cbiAgICovXG4gIGdldCBzZWxlY3RlZE9wdGlvbigpOiBDb21ib2JveE9wdGlvbiB8IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZE9wdGlvbiB8fCBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZWQgT3B0aW9uXG4gICAqL1xuICBnZXQgZm9jdXNlZE9wdGlvbigpOiBDb21ib2JveE9wdGlvbiB8IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2VkT3B0aW9uIHx8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBpZCBvZiB0aGUgZm9jdXNlZCBvcHRpb25cbiAgICovXG4gIGdldCBmb2N1c2VkSWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZE9wdGlvbklkO1xuICB9XG5cbiAgZ2V0IHZhbHVlT3B0aW9uS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVLZXkgPyB0aGlzLnZhbHVlS2V5IDogJ3ZhbHVlJztcbiAgfVxuXG4gIGdldCBkaXNwbGF5T3B0aW9uS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUtleSA/IHRoaXMuZGlzcGxheUtleSA6ICdsYWJlbCc7XG4gIH1cblxuICBnZXQgc3VidGV4dE9wdGlvbktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN1YnRleHRLZXkgPyB0aGlzLnN1YnRleHRLZXkgOiAnc3VidGV4dCc7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0ZXh0aW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgdGV4dElucHV0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdjb21ib2JveCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBjb21ib2JveDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZHJlbignb3B0aW9uJykgb3B0aW9uc0xpc3Q6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQpIHt9XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG5cbiAgLyoqXG4gICAqIENsaWNrIG91dHNpZGUgY29tYm9ib3ggY2xvc2UgdGhlIHBhbmVsXG4gICAqL1xuICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50OiBOb2RlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFuZWxPcGVuKSB7XG4gICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5jb21ib2JveC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xuICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBDaGFuZ2VcbiAgICogQHBhcmFtIGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBEZXRlY3RzIGlmIHRoZSBhdXRvY29tcGxldGUgb3B0aW9ucyBsaXN0IGlzIGNobmFnZWQgYWZ0ZXIgYSBzZWxlY3Rpb24gb2YgYW4gb3B0aW9uLlxuICAgIC8vIEV4YW1wbGU6IEFkZHJlc3Mgc2VhcmNoIGNhbiBoYXZlIG9wdGlvbnMgYXNzaWduZWQgdG8gYSBncm91cCBvZiBvcHRpb25zLiBPbmUgcG9zdGNvZGUgdG8gaGF2ZSB4IG51bWJlciBvZiBhZGRyZXNlc1xuICAgIC8vIElmIE9wdGlvbnMgbGlzdCBpcyBDaGFuZ2VkIGFzIHBhcnQgb2YgZ3JvdXAgb3B0aW9uIHdlIGxldCB0aGUgb3B0aW9ucyBwYW5lbCBvcGVuIHRvIGxldCB1c2VyIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24uIFRoaXMgaXMgY29uc2lkZXJlZCBhcyBjaGFuZ2UgaW5wdXQgdmFsdWUoc2ltaWxhciB3aXRoIHR5cGUgdmFsdWUpXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F1dG9jb21wbGV0ZScgJiYgY2hhbmdlc1snb3B0aW9ucyddKSB7XG4gICAgICBjb25zdCBvcHRpb25jaGFuZ2VzID0gY2hhbmdlc1snb3B0aW9ucyddO1xuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIG9wdGlvbmNoYW5nZXNbJ2N1cnJlbnRWYWx1ZSddICE9PSBvcHRpb25jaGFuZ2VzWydwcmV2aW91c1ZhbHVlJ10gJiZcbiAgICAgICAgdGhpcy5vcHRpb25zPy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgIW9wdGlvbmNoYW5nZXNbJ2ZpcnN0Q2hhbmdlJ11cbiAgICAgICkge1xuICAgICAgICB0aGlzLnJlc2V0T3B0aW9uc0xpc3QoKTtcbiAgICAgICAgdGhpcy5vcGVuUGFuZWwoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT24gSW5pdFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IHRoaXMubGFiZWwgKyBNYXRoLnJhbmRvbSgpO1xuICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKTtcbiAgICB0aGlzLnJlc2V0T3B0aW9uc0xpc3QoKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdGhpcy5vcHRpb25zLmZpbmRJbmRleChcbiAgICAgICAgKG9wdGlvbjogQ29tYm9ib3hPcHRpb24gfCB1bmtub3duKSA9PlxuICAgICAgICAgIG9wdGlvblt0aGlzLnZhbHVlT3B0aW9uS2V5XSA9PT0gdGhpcy5zZWxlY3RlZFt0aGlzLnZhbHVlT3B0aW9uS2V5XSxcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbih0aGlzLm9wdGlvbnNbc2VsZWN0ZWRJbmRleF0sIHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zaG93T3B0aW9ucykge1xuICAgICAgdGhpcy5vcGVuUGFuZWwoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWZ0ZXIgVmlldyBJbml0XG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cFZhbGlkYXRpb25MaXN0ZW5lcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBPcHRpb25cbiAgICogQHBhcmFtIG9wdGlvblxuICAgKi9cbiAgcHVibGljIHNlbGVjdE9wdGlvbihvcHRpb246IENvbWJvYm94T3B0aW9uIHwgdW5rbm93biwgaW5kZXg/OiBudW1iZXIpIHtcbiAgICB0aGlzLl9zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjtcbiAgICB0aGlzLl9mb2N1c2VkT3B0aW9uSWQgPSBpbmRleDtcbiAgICB0aGlzLl9mb2N1c2VkT3B0aW9uID0gb3B0aW9uO1xuICAgIHRoaXMudGV4dFZhbHVlID0gdGhpcy5fc2VsZWN0ZWRPcHRpb25bdGhpcy5kaXNwbGF5T3B0aW9uS2V5XTtcblxuICAgIHRoaXMub25DaGFuZ2UodGhpcy50ZXh0VmFsdWUpO1xuICAgIHRoaXMuZGlkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbik7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBLZXkgTmF2aWdhdGlvblxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnByZXNzRW50ZXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAodGhpcy5wYW5lbE9wZW4pIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3Blbikge1xuICAgICAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIExvZ2ljIGZvciBvcGVuIHBhbmVsXG4gICAgaWYgKHRoaXMucGFuZWxPcGVuKSB7XG4gICAgICB0aGlzLnByZXNzQXJyb3dzKGV2ZW50KTtcbiAgICAgIHRoaXMub3B0aW9uc0xpc3QuZ2V0KHRoaXMuX2ZvY3VzZWRPcHRpb25JZCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlIE9wdGlvbnMgUGFuZWxcbiAgICovXG4gIHRvZ2dsZVBhbmVsKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsT3BlbiA9IHRoaXMucGFuZWxPcGVuID8gZmFsc2UgOiB0cnVlO1xuICAgIHRoaXMuaW5pdFNlbGVjdGVkRm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFzZSBPcHRpb25zIFBhbmVsXG4gICAqL1xuICBvcGVuUGFuZWwoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5fcGFuZWxPcGVuKSB7XG4gICAgICB0aGlzLl9wYW5lbE9wZW4gPSB0cnVlO1xuICAgICAgdGhpcy5pbml0U2VsZWN0ZWRGb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSBPcHRpb25zIFBhbmVsXG4gICAqL1xuICBjbG9zZVBhbmVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9wYW5lbE9wZW4pIHtcbiAgICAgIHRoaXMuX3BhbmVsT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgSW5wdXQgZGlzcGxheSB2YWx1ZVxuICAgKiBAcGFyYW0gdGV4dFZhbHVlXG4gICAqL1xuICB3cml0ZVZhbHVlKHRleHRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLnNlbGVjdGVkICYmIHR5cGVvZiB0ZXh0VmFsdWUgIT09ICdzdHJpbmcnKSB8fCB0ZXh0VmFsdWUgPT09ICcnKSB7XG4gICAgICB0aGlzLnRleHRWYWx1ZSA9IHRoaXMuX3NlbGVjdGVkT3B0aW9uW3RoaXMuZGlzcGxheU9wdGlvbktleV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGV4dFZhbHVlID0gdGV4dFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBGb3JtIGlucHV0IGNobmFnZVxuICAgKiBAcGFyYW0gZm5cbiAgICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBmb3JtIGlucHV0IHRvdWNoXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKipcbiAgICogT24gTW9kZWwgQ2hhbmdlXG4gICAqIEBwYXJhbSB0ZXh0VmFsdWVcbiAgICovXG4gIG9uTW9kZWxDaGFuZ2UodGV4dFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHRWYWx1ZSA9IHRleHRWYWx1ZTtcbiAgICB0aGlzLmlucHV0RGlkQ2hhbmdlID0gdHJ1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRleHRWYWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmRpZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIE1vZGVsIENoYW5nZVxuICAgKiBAcGFyYW0gdGV4dFZhbHVlXG4gICAqL1xuICBvbk1vZGVsQ2hhbmdlQXV0b2NvbXBsZXRlKHRleHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0VmFsdWUgPSB0ZXh0VmFsdWU7XG4gICAgdGhpcy5pbnB1dERpZENoYW5nZSA9IHRydWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0ZXh0VmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5kaWRDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9uKTtcblxuICAgIHRoaXMub25BdXRvY29tcGxldGVMaXN0U2VhcmNoKHRleHRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxpbmcgZm9yIElucHV0IHZhbHVlXG4gICAqL1xuICBoYW5kbGVFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0RGlkQ2hhbmdlID0gdHJ1ZTtcblxuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZC50b1N0cmluZygpKTtcbiAgICBpbnB1dEVsZW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIElucHV0XG4gICAqL1xuICBjbGVhbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMudGV4dFZhbHVlID0gJyc7XG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbigpO1xuICAgIHRoaXMucmVzZXRPcHRpb25zTGlzdCgpO1xuICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgIHRoaXMuZGlkU2VhcmNoLmVtaXQodGhpcy50ZXh0VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIGZvb3RlciBhY3Rpb25cbiAgICovXG4gIG9uRm9vdGVyQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlkRWRpdC5lbWl0KCk7XG4gIH1cblxuICAvKipcbiAgICogT24gRm9jdXMgSW5wdXRcbiAgICovXG4gIG9uRm9jdXNJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnRleHRJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGluIEF1dG9jb21wbGV0ZVxuICAgKiBAcGFyYW0gdGV4dFZhbHVlXG4gICAqL1xuICBwcml2YXRlIG9uQXV0b2NvbXBsZXRlTGlzdFNlYXJjaCh0ZXh0VmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdGV4dFZhbHVlKSB7XG4gICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuUGFuZWwoKTtcbiAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAob3B0aW9uOiBDb21ib2JveE9wdGlvbjx1bmtub3duPikgPT4ge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNoZWNrSW5jbHVkZXNTdWJzdHJpbmcob3B0aW9uLCB0aGlzLmRpc3BsYXlPcHRpb25LZXkpIHx8XG4gICAgICAgICAgICB0aGlzLmNoZWNrSW5jbHVkZXNTdWJzdHJpbmcob3B0aW9uLCB0aGlzLnN1YnRleHRPcHRpb25LZXkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgICBpZiAodGhpcy5kaXNwbGF5T3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB0aGlzLmRpZFNlYXJjaC5lbWl0KHRoaXMudGV4dFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBhIHN1c2JjcmluZyBpcyBpbmNsdWRlZCBpbiBvcHRpb24gdmFsdWVcbiAgICogQHBhcmFtIG9wdGlvblxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0luY2x1ZGVzU3Vic3RyaW5nKFxuICAgIG9wdGlvbjogQ29tYm9ib3hPcHRpb248dW5rbm93bj4sXG4gICAga2V5OiBzdHJpbmcsXG4gICk6IHVua25vd24ge1xuICAgIHJldHVybiBvcHRpb25ba2V5XVxuICAgICAgPy50b1N0cmluZygpXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLmluY2x1ZGVzKHRoaXMudGV4dFZhbHVlLnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBJbnB1dCBWYWxpZGF0b3JzXG4gICAqL1xuICBwcml2YXRlIHNldHVwVmFsaWRhdGlvbkxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZC50b1N0cmluZygpKTtcbiAgICBpbnB1dEVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXQgZm9jdXMgbW9kZSBvciBzZXQgdGhlIHNlbGVjdGVkIG9wdGlvbiBhcyBmb2N1c2VkXG4gICAqL1xuICBwcml2YXRlIGluaXRTZWxlY3RlZEZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9wYW5lbE9wZW4pIHtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZE9wdGlvbikge1xuICAgICAgICB0aGlzLl9mb2N1c2VkT3B0aW9uID0gdGhpcy5fc2VsZWN0ZWRPcHRpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9mb2N1c2VkT3B0aW9uSWQgPSAwO1xuICAgICAgICB0aGlzLl9mb2N1c2VkT3B0aW9uID0gdGhpcy5vcHRpb25zW3RoaXMuX2ZvY3VzZWRPcHRpb25JZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFycm93cyBVcC9Eb3duIG5hdmlnYXRpb24gaW5zaWRlIE9wdGlvbnMgUGFuZWxcbiAgICovXG4gIHByaXZhdGUgcHJlc3NBcnJvd3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5fZm9jdXNlZE9wdGlvbklkID0gTWF0aC5taW4oXG4gICAgICAgICAgdGhpcy5fZm9jdXNlZE9wdGlvbklkICsgMSxcbiAgICAgICAgICB0aGlzLmRpc3BsYXlPcHRpb25zLmxlbmd0aCAtIDEsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb24gPSB0aGlzLmRpc3BsYXlPcHRpb25zW3RoaXMuX2ZvY3VzZWRPcHRpb25JZF07XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9uVGV4dFByZXZpZXcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5fZm9jdXNlZE9wdGlvbklkID0gTWF0aC5tYXgodGhpcy5fZm9jdXNlZE9wdGlvbklkIC0gMSwgMCk7XG4gICAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb24gPSB0aGlzLmRpc3BsYXlPcHRpb25zW3RoaXMuX2ZvY3VzZWRPcHRpb25JZF07XG5cbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVPcHRpb25UZXh0UHJldmlldygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHRleHRWYWx1ZSB0byBwcmV2aWV3IHRoZSBvcHRpb24gaW4gYXV0b2NvbXBsZXRlXG4gICAqL1xuICBwcml2YXRlIGF1dG9jb21wbGV0ZU9wdGlvblRleHRQcmV2aWV3KCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICB0aGlzLnRleHRWYWx1ZSA9IHRoaXMuX2ZvY3VzZWRPcHRpb25bdGhpcy5kaXNwbGF5T3B0aW9uS2V5XTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHJlc3MgRW50ZXIgaW5zaWRlIE9wdGlvbnMgUGFuZWxcbiAgICovXG4gIHByaXZhdGUgcHJlc3NFbnRlcigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnBhbmVsT3BlbiAmJlxuICAgICAgdGhpcy5fZm9jdXNlZE9wdGlvbklkIDwgdGhpcy5vcHRpb25zLmxlbmd0aCAmJlxuICAgICAgdGhpcy5fZm9jdXNlZE9wdGlvbklkID49IDBcbiAgICApIHtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKHRoaXMuX2ZvY3VzZWRPcHRpb24sIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHNlbGVjdGVkIG9wdGlvblxuICAgKi9cbiAgcHJpdmF0ZSByZXNldFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZE9wdGlvbiA9IG51bGw7XG4gICAgdGhpcy5fZm9jdXNlZE9wdGlvbiA9IG51bGw7XG4gICAgdGhpcy5fZm9jdXNlZE9wdGlvbklkID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0byBvcmlnaW5hbCBvciB1bmZpbHRlcmVkIG9wdGlvbiBsaXN0XG4gICAqL1xuICBwcml2YXRlIHJlc2V0T3B0aW9uc0xpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5T3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgfVxufVxuIiwiPHVpLXN0YWNrIGNsYXNzPVwidWktY29tYm9ib3gtY29udGFpbmVyXCIgc3RhY2tfZ2FwPVwidGlnaHRcIj5cbiAgPGRpdiBjbGFzcz1cInVpLWNvbWJvYm94IHRleHQtYm9keS0tZGVmYXVsdCB0ZXh0LWJvZHktLXJlZ3VsYXJcIj5cbiAgICA8IS0tIENvbXBib2JveCBPcHRpb25zIElucHV0IC0tPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ29wdGlvbnMnXCJcbiAgICAgICNjb21ib2JveFxuICAgICAgbmFtZT1cImNvbWJvYm94XCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICAobW91c2Vkb3duKT1cInRvZ2dsZVBhbmVsKClcIlxuICAgICAgKGZvY3VzKT1cIm9wZW5QYW5lbCgkZXZlbnQpXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBpZD1cImFjdGl2ZWRlc2NlbmRlbnQtZWRpdFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCInYWN0aXZlZGVzY2VuZGVudC1vcHQtJyArIGZvY3VzZWRJZFwiXG4gICAgICBhcmlhLXJlYWRvbmx5PVwidHJ1ZVwiXG4gICAgICBhcmlhLW93bnM9XCJhY3RpdmVkZXNjZW5kZW50LWxpc3RcIlxuICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICA+XG4gICAgICA8dWktc3RhY2tcbiAgICAgICAgc3RhY2tfZGlyZWN0aW9uPVwieFwiXG4gICAgICAgIHN0YWNrX2Rpc3RyaWJ1dGU9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgc3RhY2tfYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICBzdGFja19nYXA9XCJ0aWdodFwiXG4gICAgICA+XG4gICAgICAgIDx1aS1ib3ggYm94X3NwYWNlPVwibm9uZVwiIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICA8IS0tIFNlbGVjdCBMYWJlbCBBcmVhIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1jb250YWluZXJcIiBzdGFja19kaXJlY3Rpb249XCJ4XCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktLXN1cHBvcnRpbmcgdGV4dC1ib2R5LS1yZWd1bGFyXCJcbiAgICAgICAgICAgICAgcm9sZT1cImNvbWJvYm94LWxhYmVsXCJcbiAgICAgICAgICAgICAgW2Zvcl09XCJpZFwiXG4gICAgICAgICAgICAgID57eyBsYWJlbCB9fTwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICN0ZXh0aW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICBbbmFtZV09XCJpZFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ0ZXh0VmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChibHVyKT1cIm9uTW9kZWxDaGFuZ2UodGV4dFZhbHVlKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgaW5wdXREaWRDaGFuZ2UgPyAnbmctaW5wdXQtZGlkLWNoYW5nZScgOiAnbmctaW5wdXQtZGlkLW5vdC1jaGFuZ2UnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2F0dHIuYXV0b2NvcnJlY3RdPVwiJ29uJ1wiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ29uJ1wiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwiIW9wdGlvbmFsXCJcbiAgICAgICAgICAgIFtzcGVsbGNoZWNrXT1cIidvbidcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZE9wdGlvblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJydcIlxuICAgICAgICAgICAgcmVhZG9ubHk9XCJyZWFkb25seVwiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtYm9keS0tZGVmYXVsdCB0ZXh0LWJvZHktLXJlZ3VsYXJcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvdWktYm94PlxuICAgICAgICA8IS0tIFNlbGVjdCBJY29uIENoZXZyb24gQXJlYSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyBleHBhbmQ6IHBhbmVsT3BlbiB9XCI+XG4gICAgICAgICAgPHVpLWljb24gaWNvbl9uYW1lPVwiY2hldnJvbi1kb3duXCI+PC91aS1pY29uPlxuICAgICAgICAgIDwhLS0gPHVpLWljb24gKm5nSWY9XCJwYW5lbE9wZW5cIiBpY29uX25hbWU9XCJjaGV2cm9uLXVwXCI+PC91aS1pY29uPiAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3VpLXN0YWNrPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDb21ib2JveCBBdXRvY29tcGxldGUgSW5wdXQgLS0+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJ0eXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiXG4gICAgICAjY29tYm9ib3hcbiAgICAgIG5hbWU9XCJjb21ib2JveFwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgKGZvY3VzKT1cIm9uRm9jdXNJbnB1dCgpXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBpZD1cImFjdGl2ZWRlc2NlbmRlbnQtZWRpdFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCInYWN0aXZlZGVzY2VuZGVudC1vcHQtJyArIGZvY3VzZWRJZFwiXG4gICAgICBhcmlhLXJlYWRvbmx5PVwidHJ1ZVwiXG4gICAgICBhcmlhLW93bnM9XCJhY3RpdmVkZXNjZW5kZW50LWxpc3RcIlxuICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICA+XG4gICAgICA8dWktc3RhY2tcbiAgICAgICAgc3RhY2tfZGlyZWN0aW9uPVwieFwiXG4gICAgICAgIHN0YWNrX2Rpc3RyaWJ1dGU9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgc3RhY2tfYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICBzdGFja19nYXA9XCJ0aWdodFwiXG4gICAgICA+XG4gICAgICAgIDx1aS1ib3ggYm94X3NwYWNlPVwibm9uZVwiIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICA8IS0tIFNlbGVjdCBMYWJlbCBBcmVhIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1jb250YWluZXJcIiBzdGFja19kaXJlY3Rpb249XCJ4XCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktLXN1cHBvcnRpbmcgdGV4dC1ib2R5LS1yZWd1bGFyXCJcbiAgICAgICAgICAgICAgcm9sZT1cImNvbWJvYm94LWxhYmVsXCJcbiAgICAgICAgICAgICAgW2Zvcl09XCJpZFwiXG4gICAgICAgICAgICAgID57eyBsYWJlbCB9fTwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICN0ZXh0aW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICBbbmFtZV09XCJpZFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ0ZXh0VmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZUF1dG9jb21wbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICBpbnB1dERpZENoYW5nZSA/ICduZy1pbnB1dC1kaWQtY2hhbmdlJyA6ICduZy1pbnB1dC1kaWQtbm90LWNoYW5nZSdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYXR0ci5hdXRvY29ycmVjdF09XCInb24nXCJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIlxuICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInbGlzdCdcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiFvcHRpb25hbFwiXG4gICAgICAgICAgICBbc3BlbGxjaGVja109XCInb24nXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwidGV4dFZhbHVlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktLWRlZmF1bHQgdGV4dC1ib2R5LS1yZWd1bGFyXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3VpLWJveD5cblxuICAgICAgICA8IS0tIENvbWJvYm94IEljb24gQ2xlYXIgQXJlYSAtLT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIlxuICAgICAgICAgIFthcmlhLWxhYmVsXT1cIidjbGVhbidcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhbklucHV0KClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWljb24gKm5nSWY9XCJ0ZXh0VmFsdWVcIiBpY29uX25hbWU9XCJjbG9zZVwiPjwvdWktaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3VpLXN0YWNrPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDb21ib2JveCBPcHRpb25zIFBhbmVsIC0tPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwicGFuZWxPcGVuXCJcbiAgICAgIGNsYXNzPVwidWktY29tYm9ib3gtb3B0aW9uc1wiXG4gICAgICBbbmdDbGFzc109XCJ7IGV4cGFuZDogcGFuZWxPcGVuIH1cIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJwYW5lbE9wZW5cIlxuICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgaWQ9XCJhY3RpdmVkZXNjZW5kZW50LWxpc3RcIlxuICAgID5cbiAgICAgIDwhLS0gQXV0b2NvbXBsZXRlIE9wdGlvbnMgUGFuZWwgSGVhZGVyICAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJoZWFkZXIgJiYgdHlwZSA9PT0gJ2F1dG9jb21wbGV0ZSdcIlxuICAgICAgICBjbGFzcz1cInVpLWNvbWJvYm94LWhlYWRlciB0ZXh0LWJvZHktLXN1cHBvcnRpbmdcIlxuICAgICAgPlxuICAgICAgICA8c3Bhbj57eyBoZWFkZXIgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBPcHRpb25zIGxpc3QgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICNvcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkaXNwbGF5T3B0aW9uczsgaW5kZXggYXMgaVwiXG4gICAgICAgIGNsYXNzPVwidWktY29tYm9ib3gtb3B0aW9uXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uLFxuICAgICAgICAgIGZvY3VzOiBmb2N1c2VkT3B0aW9uID09PSBvcHRpb25cbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uLCBpKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgW2lkXT1cIidhY3RpdmVkZXNjZW5kZW50LW9wdC0nICsgaVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvblxuICAgICAgICAgICAgPyBvcHRpb25bZGlzcGxheU9wdGlvbktleV0gKyAnIGlzIHNlbGVjdGVkJ1xuICAgICAgICAgICAgOiBvcHRpb25bZGlzcGxheU9wdGlvbktleV1cbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPHVpLXN0YWNrXG4gICAgICAgICAgc3RhY2tfZGlyZWN0aW9uPVwieFwiXG4gICAgICAgICAgc3RhY2tfZGlzdHJpYnV0ZT1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICAgIHN0YWNrX2FsaWduPVwiY2VudGVyXCJcbiAgICAgICAgICBzdGFja19nYXA9XCJ0aWdodFwiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIE9wdGlvbiBkaXNwbGF5IC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUtleSA/IG9wdGlvblt2YWx1ZUtleV0gOiBvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwiZGlzcGxheUtleSA/IG9wdGlvbltkaXNwbGF5S2V5XSA6IG9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHVpLXN0YWNrXG4gICAgICAgICAgICAgIHN0YWNrX2RpcmVjdGlvbj1cInhcIlxuICAgICAgICAgICAgICBzdGFja19hbGlnbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgIHN0YWNrX2dhcD1cInRpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi5pY29uX25hbWUgfHwgKGljb25OYW1lS2V5ICYmIG9wdGlvbltpY29uTmFtZUtleV0pXCJcbiAgICAgICAgICAgICAgICBbaWNvbl9uYW1lXT1cIlxuICAgICAgICAgICAgICAgICAgaWNvbk5hbWVLZXkgPyBvcHRpb25baWNvbk5hbWVLZXldIDogb3B0aW9uLmljb25fbmFtZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L3VpLWljb24+XG5cbiAgICAgICAgICAgICAgPCEtLSBEaXNwbGF5IG9wdGlvbnMgbGFiZWwgLS0+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0gJ29wdGlvbnMnXCI+e3tcbiAgICAgICAgICAgICAgICBvcHRpb25bZGlzcGxheU9wdGlvbktleV1cbiAgICAgICAgICAgICAgfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgPCEtLSBEaXNwbGF5IGF1dG9jb21wbGV0ZSBvcHRpb24gaW5mb3JtYXRpb24gYW5kIGVtcGhhc2lzLS0+XG4gICAgICAgICAgICAgIDx1aS1zdGFjayBzdGFja19nYXA9XCJ0aW55XCIgKm5nSWY9XCJ0eXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICB1aS1lbXBoYXNpc1xuICAgICAgICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwidGV4dFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNwbGF5UGFyYWdyYXBoXT1cIm9wdGlvbltkaXNwbGF5T3B0aW9uS2V5XVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JlZ3JvdW5kLXNlY29uZGFyeS10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2F1dG9jb21wbGV0ZSdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbltzdWJ0ZXh0T3B0aW9uS2V5XSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC91aS1zdGFjaz5cbiAgICAgICAgICAgIDwvdWktc3RhY2s+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIFNlbGVjdGVkIGljb24gLS0+XG4gICAgICAgICAgPHVpLWljb24gKm5nSWY9XCJzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uXCIgaWNvbl9uYW1lPVwidGlja1wiPjwvdWktaWNvbj5cbiAgICAgICAgPC91aS1zdGFjaz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEF1dG9jb21wbGV0ZSBPcHRpb25zIFBhbmVsIEZvb3RlciAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb290ZXIgJiYgdHlwZSA9PT0gJ2F1dG9jb21wbGV0ZSdcIiBjbGFzcz1cInVpLWNvbWJvYm94LWZvb3RlclwiPlxuICAgICAgICA8dWktYnV0dG9uIGJ1dHRvbl90eXBlPVwidGVydGlhcnlcIiAoY2xpY2spPVwib25Gb290ZXJBY3Rpb24oKVwiPlxuICAgICAgICAgIHt7IGZvb3RlciB9fVxuICAgICAgICA8L3VpLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHVpLXN0YWNrIHN0YWNrX2dhcD1cIm5vbmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZXJyb3JzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZXJyb3JzLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidWktZm9ybS1lcnJvcnNcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dWktYm94XG4gICAgICBjbGFzcz1cImhpbnQtY29udGFpbmVyXCJcbiAgICAgICpuZ0lmPVwiaGludFwiXG4gICAgICBib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCJcbiAgICAgIGJveF9zcGFjZT1cIm5vbmVcIlxuICAgICAgYm94X3NwYWNlX2xlZnQ9XCJuZWFyXCJcbiAgICAgIGJveF9zcGFjZV9yaWdodD1cIm5lYXJcIlxuICAgICAgYm94X3NwYWNlX2JvdHRvbT1cIm5lYXJcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ1aS10ZXh0LWlucHV0LWhpbnQgdGV4dC1ib2R5LS1zdXBwb3J0aW5nIHRleHQtY29sb3ItLXN1cHBvcnRpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBoaW50IH19XG4gICAgICA8L2Rpdj5cbiAgICA8L3VpLWJveD5cbiAgPC91aS1zdGFjaz5cbjwvdWktc3RhY2s+XG4iXX0=
|
|
475
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFFTixTQUFTLEVBRVQsWUFBWSxFQUdaLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixXQUFXLEdBQ1osTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUE0QnBELE1BQU0sT0FBTyxpQkFBaUI7SUFvRlU7SUFuRjdCLEtBQUssQ0FBVTtJQUNmLElBQUksR0FBaUIsU0FBUyxD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QUFZO3VCQUFDLFFBQVE7Z0JBWWYsT0FBTztzQkFMYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIE5nSWYsIE5nQ2xhc3MsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIGZvcndhcmRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgVmlld0NoaWxkLFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlbixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBIb3N0TGlzdGVuZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tYm9ib3hPcHRpb24sIENvbWJvYm94VHlwZSB9IGZyb20gJy4vY29tYm9ib3gnO1xuaW1wb3J0IHsgTGF5b3V0U3RhY2tDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYXlvdXQvc3RhY2svc3RhY2suY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dEJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheW91dC9ib3gvYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYXN5c0F1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1waGFzaXNEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2VtcGhhc2lzL2VtcGhhc2lzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPYXN5c0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWNvbWJvYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbWJvYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tYm9ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDb21ib2JveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTGF5b3V0U3RhY2tDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBMYXlvdXRCb3hDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIE9hc3lzQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgRW1waGFzaXNEaXJlY3RpdmUsXG4gICAgT2FzeXNCdXR0b25Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6IENvbWJvYm94VHlwZSA9ICdvcHRpb25zJztcbiAgQElucHV0KCkgb3B0aW9uczogQ29tYm9ib3hPcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBvcHRpb25hbDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGhpbnQ/OiBzdHJpbmc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBoZWFkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBmb290ZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBhdXRvZm9jdXM/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHNlbGVjdGVkPzogQ29tYm9ib3hPcHRpb24gfCB1bmtub3duO1xuICAvLyBLZXkgdmFsdWUgZnJvbSBvcHRpb25zIHRvIGJlIGRpc3BsYXllZCBhcyBvcHRpb24gbGFiZWxcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGRpc3BsYXlLZXk/OiBzdHJpbmc7XG4gIC8vIEtleSB2YWx1ZSBmcm9tIG9wdGlvbnMgdG8gYmUgdXNlZCBhcyBpY29uIGluIG9wdGlvbiBsYWJlbFxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgaWNvbk5hbWVLZXk/OiBzdHJpbmc7XG4gIC8vIEtleSB2YWx1ZSBmcm9tIG9wdGlvbnMgYmUgYmUgdmFsdWVcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHZhbHVlS2V5Pzogc3RyaW5nO1xuICAvLyBBdmFpbGFibGUgZm9yIEF1dG9jb21wbGV0ZVxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgc3VidGV4dEtleT86IHN0cmluZztcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvLyBXaWxsIG9wZW4gdGhlIGxpc3Qgb2Ygb3B0aW9ucyBvbiBpbml0XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBzaG93T3B0aW9ucyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBkaWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjx1bmtub3duPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRpZFNlYXJjaDogRXZlbnRFbWl0dGVyPHVua25vd24+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGlkRWRpdDogRXZlbnRFbWl0dGVyPHVua25vd24+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHRleHRWYWx1ZTogc3RyaW5nID0gJyc7XG4gIGlucHV0RGlkQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7IC8vIG9ubHkgc2hvdyB2YWxkaWF0aW9uIGFmdGVyIGEgY2hhbmdlIGV2ZW50IChpZS4gYmx1cilcbiAgZGlzcGxheU9wdGlvbnM6IENvbWJvYm94T3B0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfcGFuZWxPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3NlbGVjdGVkT3B0aW9uOiBDb21ib2JveE9wdGlvbiB8IHVua25vd247XG4gIHByaXZhdGUgX2ZvY3VzZWRPcHRpb246IENvbWJvYm94T3B0aW9uIHwgdW5rbm93bjtcbiAgcHJpdmF0ZSBfZm9jdXNlZE9wdGlvbklkOiBudW1iZXI7XG5cbiAgaWQ6IHN0cmluZztcblxuICAvKiogV2hldGhlciBvciBub3QgdGhlIG92ZXJsYXkgcGFuZWwgaXMgb3Blbi4gKi9cbiAgZ2V0IHBhbmVsT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGFuZWxPcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdGVkIG9wdGlvblxuICAgKi9cbiAgZ2V0IHNlbGVjdGVkT3B0aW9uKCk6IENvbWJvYm94T3B0aW9uIHwgdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkT3B0aW9uIHx8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlZCBPcHRpb25cbiAgICovXG4gIGdldCBmb2N1c2VkT3B0aW9uKCk6IENvbWJvYm94T3B0aW9uIHwgdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRPcHRpb24gfHwgbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGlkIG9mIHRoZSBmb2N1c2VkIG9wdGlvblxuICAgKi9cbiAgZ2V0IGZvY3VzZWRJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2VkT3B0aW9uSWQ7XG4gIH1cblxuICBnZXQgdmFsdWVPcHRpb25LZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUtleSA/IHRoaXMudmFsdWVLZXkgOiAndmFsdWUnO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlPcHRpb25LZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5S2V5ID8gdGhpcy5kaXNwbGF5S2V5IDogJ2xhYmVsJztcbiAgfVxuXG4gIGdldCBzdWJ0ZXh0T3B0aW9uS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3VidGV4dEtleSA/IHRoaXMuc3VidGV4dEtleSA6ICdzdWJ0ZXh0JztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RleHRpbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICB0ZXh0SW5wdXQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbWJvYm94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGNvbWJvYm94OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkcmVuKCdvcHRpb24nKSBvcHRpb25zTGlzdDogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge31cblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcblxuICAvKipcbiAgICogQ2xpY2sgb3V0c2lkZSBjb21ib2JveCBjbG9zZSB0aGUgcGFuZWxcbiAgICovXG4gIHB1YmxpYyBvbkNsaWNrKHRhcmdldEVsZW1lbnQ6IE5vZGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYW5lbE9wZW4pIHtcbiAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmNvbWJvYm94Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9uIENoYW5nZVxuICAgKiBAcGFyYW0gY2hhbmdlc1xuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIERldGVjdHMgaWYgdGhlIGF1dG9jb21wbGV0ZSBvcHRpb25zIGxpc3QgaXMgY2huYWdlZCBhZnRlciBhIHNlbGVjdGlvbiBvZiBhbiBvcHRpb24uXG4gICAgLy8gRXhhbXBsZTogQWRkcmVzcyBzZWFyY2ggY2FuIGhhdmUgb3B0aW9ucyBhc3NpZ25lZCB0byBhIGdyb3VwIG9mIG9wdGlvbnMuIE9uZSBwb3N0Y29kZSB0byBoYXZlIHggbnVtYmVyIG9mIGFkZHJlc2VzXG4gICAgLy8gSWYgT3B0aW9ucyBsaXN0IGlzIENoYW5nZWQgYXMgcGFydCBvZiBncm91cCBvcHRpb24gd2UgbGV0IHRoZSBvcHRpb25zIHBhbmVsIG9wZW4gdG8gbGV0IHVzZXIgc2VsZWN0IGEgc2luZ2xlIG9wdGlvbi4gVGhpcyBpcyBjb25zaWRlcmVkIGFzIGNoYW5nZSBpbnB1dCB2YWx1ZShzaW1pbGFyIHdpdGggdHlwZSB2YWx1ZSlcbiAgICBpZiAodGhpcy50eXBlID09PSAnYXV0b2NvbXBsZXRlJyAmJiBjaGFuZ2VzWydvcHRpb25zJ10pIHtcbiAgICAgIGNvbnN0IG9wdGlvbmNoYW5nZXMgPSBjaGFuZ2VzWydvcHRpb25zJ107XG4gICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xuICAgICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgb3B0aW9uY2hhbmdlc1snY3VycmVudFZhbHVlJ10gIT09IG9wdGlvbmNoYW5nZXNbJ3ByZXZpb3VzVmFsdWUnXSAmJlxuICAgICAgICB0aGlzLm9wdGlvbnM/Lmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAhb3B0aW9uY2hhbmdlc1snZmlyc3RDaGFuZ2UnXVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmVzZXRPcHRpb25zTGlzdCgpO1xuICAgICAgICB0aGlzLm9wZW5QYW5lbCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBJbml0XG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gdGhpcy5sYWJlbCArIE1hdGgucmFuZG9tKCk7XG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbigpO1xuICAgIHRoaXMucmVzZXRPcHRpb25zTGlzdCgpO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSB0aGlzLm9wdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAob3B0aW9uOiBDb21ib2JveE9wdGlvbiB8IHVua25vd24pID0+XG4gICAgICAgICAgb3B0aW9uW3RoaXMudmFsdWVPcHRpb25LZXldID09PSB0aGlzLnNlbGVjdGVkW3RoaXMudmFsdWVPcHRpb25LZXldLFxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKHRoaXMub3B0aW9uc1tzZWxlY3RlZEluZGV4XSwgc2VsZWN0ZWRJbmRleCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dPcHRpb25zKSB7XG4gICAgICB0aGlzLm9wZW5QYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZnRlciBWaWV3IEluaXRcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwVmFsaWRhdGlvbkxpc3RlbmVyKCk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IE9wdGlvblxuICAgKiBAcGFyYW0gb3B0aW9uXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0T3B0aW9uKG9wdGlvbjogQ29tYm9ib3hPcHRpb24gfCB1bmtub3duLCBpbmRleD86IG51bWJlcikge1xuICAgIHRoaXMuX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uO1xuICAgIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCA9IGluZGV4O1xuICAgIHRoaXMuX2ZvY3VzZWRPcHRpb24gPSBvcHRpb247XG4gICAgdGhpcy50ZXh0VmFsdWUgPSB0aGlzLl9zZWxlY3RlZE9wdGlvblt0aGlzLmRpc3BsYXlPcHRpb25LZXldO1xuXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRleHRWYWx1ZSk7XG4gICAgdGhpcy5kaWRDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9uKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIEtleSBOYXZpZ2F0aW9uXG4gICAqIEBwYXJhbSBldmVudFxuICAgKi9cbiAgcHVibGljIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIHRoaXMucHJlc3NFbnRlcigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3Blbikge1xuICAgICAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gTG9naWMgZm9yIG9wZW4gcGFuZWxcbiAgICBpZiAodGhpcy5wYW5lbE9wZW4pIHtcbiAgICAgIHRoaXMucHJlc3NBcnJvd3MoZXZlbnQpO1xuICAgICAgdGhpcy5vcHRpb25zTGlzdC5nZXQodGhpcy5fZm9jdXNlZE9wdGlvbklkKT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgT3B0aW9ucyBQYW5lbFxuICAgKi9cbiAgdG9nZ2xlUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy5fcGFuZWxPcGVuID0gdGhpcy5wYW5lbE9wZW4gPyBmYWxzZSA6IHRydWU7XG4gICAgdGhpcy5pbml0U2VsZWN0ZWRGb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsYXNlIE9wdGlvbnMgUGFuZWxcbiAgICovXG4gIG9wZW5QYW5lbChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLl9wYW5lbE9wZW4pIHtcbiAgICAgIHRoaXMuX3BhbmVsT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmluaXRTZWxlY3RlZEZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIE9wdGlvbnMgUGFuZWxcbiAgICovXG4gIGNsb3NlUGFuZWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3BhbmVsT3Blbikge1xuICAgICAgdGhpcy5fcGFuZWxPcGVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBJbnB1dCBkaXNwbGF5IHZhbHVlXG4gICAqIEBwYXJhbSB0ZXh0VmFsdWVcbiAgICovXG4gIHdyaXRlVmFsdWUodGV4dFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuc2VsZWN0ZWQgJiYgdHlwZW9mIHRleHRWYWx1ZSAhPT0gJ3N0cmluZycpIHx8IHRleHRWYWx1ZSA9PT0gJycpIHtcbiAgICAgIHRoaXMudGV4dFZhbHVlID0gdGhpcy5fc2VsZWN0ZWRPcHRpb25bdGhpcy5kaXNwbGF5T3B0aW9uS2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXh0VmFsdWUgPSB0ZXh0VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIEZvcm0gaW5wdXQgY2huYWdlXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGZvcm0gaW5wdXQgdG91Y2hcbiAgICogQHBhcmFtIGZuXG4gICAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBNb2RlbCBDaGFuZ2VcbiAgICogQHBhcmFtIHRleHRWYWx1ZVxuICAgKi9cbiAgb25Nb2RlbENoYW5nZSh0ZXh0VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudGV4dFZhbHVlID0gdGV4dFZhbHVlO1xuICAgIHRoaXMuaW5wdXREaWRDaGFuZ2UgPSB0cnVlO1xuICAgIHRoaXMub25DaGFuZ2UodGV4dFZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuZGlkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogT24gTW9kZWwgQ2hhbmdlXG4gICAqIEBwYXJhbSB0ZXh0VmFsdWVcbiAgICovXG4gIG9uTW9kZWxDaGFuZ2VBdXRvY29tcGxldGUodGV4dFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHRWYWx1ZSA9IHRleHRWYWx1ZTtcbiAgICB0aGlzLmlucHV0RGlkQ2hhbmdlID0gdHJ1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRleHRWYWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmRpZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb24pO1xuXG4gICAgdGhpcy5vbkF1dG9jb21wbGV0ZUxpc3RTZWFyY2godGV4dFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGluZyBmb3IgSW5wdXQgdmFsdWVcbiAgICovXG4gIGhhbmRsZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXREaWRDaGFuZ2UgPSB0cnVlO1xuXG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkLnRvU3RyaW5nKCkpO1xuICAgIGlucHV0RWxlbWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gSW5wdXRcbiAgICovXG4gIGNsZWFuSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy50ZXh0VmFsdWUgPSAnJztcbiAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5yZXNldE9wdGlvbnNMaXN0KCk7XG4gICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgdGhpcy5kaWRTZWFyY2guZW1pdCh0aGlzLnRleHRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogT24gZm9vdGVyIGFjdGlvblxuICAgKi9cbiAgb25Gb290ZXJBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5kaWRFZGl0LmVtaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBGb2N1cyBJbnB1dFxuICAgKi9cbiAgb25Gb2N1c0lucHV0KCk6IHZvaWQge1xuICAgIHRoaXMudGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggaW4gQXV0b2NvbXBsZXRlXG4gICAqIEBwYXJhbSB0ZXh0VmFsdWVcbiAgICovXG4gIHByaXZhdGUgb25BdXRvY29tcGxldGVMaXN0U2VhcmNoKHRleHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0ZXh0VmFsdWUpIHtcbiAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgICAgdGhpcy5yZXNldFNlbGVjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5QYW5lbCgpO1xuICAgICAgdGhpcy5kaXNwbGF5T3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKG9wdGlvbjogQ29tYm9ib3hPcHRpb248dW5rbm93bj4pID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLmNoZWNrSW5jbHVkZXNTdWJzdHJpbmcob3B0aW9uLCB0aGlzLmRpc3BsYXlPcHRpb25LZXkpIHx8XG4gICAgICAgICAgdGhpcy5jaGVja0luY2x1ZGVzU3Vic3RyaW5nKG9wdGlvbiwgdGhpcy5zdWJ0ZXh0T3B0aW9uS2V5KVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5kaXNwbGF5T3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB0aGlzLmRpZFNlYXJjaC5lbWl0KHRoaXMudGV4dFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBhIHN1c2JjcmluZyBpcyBpbmNsdWRlZCBpbiBvcHRpb24gdmFsdWVcbiAgICogQHBhcmFtIG9wdGlvblxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0luY2x1ZGVzU3Vic3RyaW5nKG9wdGlvbjogQ29tYm9ib3hPcHRpb248dW5rbm93bj4sIGtleTogc3RyaW5nKTogdW5rbm93biB7XG4gICAgcmV0dXJuIG9wdGlvbltrZXldPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy50ZXh0VmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IElucHV0IFZhbGlkYXRvcnNcbiAgICovXG4gIHByaXZhdGUgc2V0dXBWYWxpZGF0aW9uTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkLnRvU3RyaW5nKCkpO1xuICAgIGlucHV0RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdCBmb2N1cyBtb2RlIG9yIHNldCB0aGUgc2VsZWN0ZWQgb3B0aW9uIGFzIGZvY3VzZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdFNlbGVjdGVkRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3BhbmVsT3Blbikge1xuICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb24gPSB0aGlzLl9zZWxlY3RlZE9wdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCA9IDA7XG4gICAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb24gPSB0aGlzLm9wdGlvbnNbdGhpcy5fZm9jdXNlZE9wdGlvbklkXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXJyb3dzIFVwL0Rvd24gbmF2aWdhdGlvbiBpbnNpZGUgT3B0aW9ucyBQYW5lbFxuICAgKi9cbiAgcHJpdmF0ZSBwcmVzc0Fycm93cyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLl9mb2N1c2VkT3B0aW9uSWQgPSBNYXRoLm1pbih0aGlzLl9mb2N1c2VkT3B0aW9uSWQgKyAxLCB0aGlzLmRpc3BsYXlPcHRpb25zLmxlbmd0aCAtIDEpO1xuICAgICAgICB0aGlzLl9mb2N1c2VkT3B0aW9uID0gdGhpcy5kaXNwbGF5T3B0aW9uc1t0aGlzLl9mb2N1c2VkT3B0aW9uSWRdO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZU9wdGlvblRleHRQcmV2aWV3KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCA9IE1hdGgubWF4KHRoaXMuX2ZvY3VzZWRPcHRpb25JZCAtIDEsIDApO1xuICAgICAgICB0aGlzLl9mb2N1c2VkT3B0aW9uID0gdGhpcy5kaXNwbGF5T3B0aW9uc1t0aGlzLl9mb2N1c2VkT3B0aW9uSWRdO1xuXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9uVGV4dFByZXZpZXcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSB0ZXh0VmFsdWUgdG8gcHJldmlldyB0aGUgb3B0aW9uIGluIGF1dG9jb21wbGV0ZVxuICAgKi9cbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVPcHRpb25UZXh0UHJldmlldygpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgdGhpcy50ZXh0VmFsdWUgPSB0aGlzLl9mb2N1c2VkT3B0aW9uW3RoaXMuZGlzcGxheU9wdGlvbktleV07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByZXNzIEVudGVyIGluc2lkZSBPcHRpb25zIFBhbmVsXG4gICAqL1xuICBwcml2YXRlIHByZXNzRW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5wYW5lbE9wZW4gJiZcbiAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCA8IHRoaXMub3B0aW9ucy5sZW5ndGggJiZcbiAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCA+PSAwXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbih0aGlzLl9mb2N1c2VkT3B0aW9uLCB0aGlzLl9mb2N1c2VkT3B0aW9uSWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBzZWxlY3RlZCBvcHRpb25cbiAgICovXG4gIHByaXZhdGUgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuICAgIHRoaXMuX2ZvY3VzZWRPcHRpb24gPSBudWxsO1xuICAgIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCA9IDA7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdG8gb3JpZ2luYWwgb3IgdW5maWx0ZXJlZCBvcHRpb24gbGlzdFxuICAgKi9cbiAgcHJpdmF0ZSByZXNldE9wdGlvbnNMaXN0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheU9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gIH1cbn1cbiIsIjx1aS1zdGFjayBjbGFzcz1cInVpLWNvbWJvYm94LWNvbnRhaW5lclwiIHN0YWNrX2dhcD1cInRpZ2h0XCI+XG4gIDxkaXYgY2xhc3M9XCJ1aS1jb21ib2JveCB0ZXh0LWJvZHktLWRlZmF1bHQgdGV4dC1ib2R5LS1yZWd1bGFyXCI+XG4gICAgPCEtLSBDb21wYm9ib3ggT3B0aW9ucyBJbnB1dCAtLT5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInR5cGUgPT09ICdvcHRpb25zJ1wiXG4gICAgICAjY29tYm9ib3hcbiAgICAgIG5hbWU9XCJjb21ib2JveFwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgKG1vdXNlZG93bik9XCJ0b2dnbGVQYW5lbCgpXCJcbiAgICAgIChmb2N1cyk9XCJvcGVuUGFuZWwoJGV2ZW50KVwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgaWQ9XCJhY3RpdmVkZXNjZW5kZW50LWVkaXRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiJ2FjdGl2ZWRlc2NlbmRlbnQtb3B0LScgKyBmb2N1c2VkSWRcIlxuICAgICAgYXJpYS1yZWFkb25seT1cInRydWVcIlxuICAgICAgYXJpYS1vd25zPVwiYWN0aXZlZGVzY2VuZGVudC1saXN0XCJcbiAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgPlxuICAgICAgPHVpLXN0YWNrXG4gICAgICAgIHN0YWNrX2RpcmVjdGlvbj1cInhcIlxuICAgICAgICBzdGFja19kaXN0cmlidXRlPVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIHN0YWNrX2FsaWduPVwiY2VudGVyXCJcbiAgICAgICAgc3RhY2tfZ2FwPVwidGlnaHRcIlxuICAgICAgPlxuICAgICAgICA8dWktYm94IGJveF9zcGFjZT1cIm5vbmVcIiBib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgICAgPCEtLSBTZWxlY3QgTGFiZWwgQXJlYSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtY29udGFpbmVyXCIgc3RhY2tfZGlyZWN0aW9uPVwieFwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LS1zdXBwb3J0aW5nIHRleHQtYm9keS0tcmVndWxhclwiXG4gICAgICAgICAgICAgIHJvbGU9XCJjb21ib2JveC1sYWJlbFwiXG4gICAgICAgICAgICAgIFtmb3JdPVwiaWRcIlxuICAgICAgICAgICAgICA+e3sgbGFiZWwgfX08L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjdGV4dGlucHV0XG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiaWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwidGV4dFZhbHVlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbk1vZGVsQ2hhbmdlKHRleHRWYWx1ZSlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaW5wdXREaWRDaGFuZ2UgPyAnbmctaW5wdXQtZGlkLWNoYW5nZScgOiAnbmctaW5wdXQtZGlkLW5vdC1jaGFuZ2UnXCJcbiAgICAgICAgICAgIFthdHRyLmF1dG9jb3JyZWN0XT1cIidvbidcIlxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbnVsbFwiXG4gICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvbidcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiFvcHRpb25hbFwiXG4gICAgICAgICAgICBbc3BlbGxjaGVja109XCInb24nXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRPcHRpb25cIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIHJlYWRvbmx5PVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktLWRlZmF1bHQgdGV4dC1ib2R5LS1yZWd1bGFyXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3VpLWJveD5cbiAgICAgICAgPCEtLSBTZWxlY3QgSWNvbiBDaGV2cm9uIEFyZWEgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgZXhwYW5kOiBwYW5lbE9wZW4gfVwiPlxuICAgICAgICAgIDx1aS1pY29uIGljb25fbmFtZT1cImNoZXZyb24tZG93blwiPjwvdWktaWNvbj5cbiAgICAgICAgICA8IS0tIDx1aS1pY29uICpuZ0lmPVwicGFuZWxPcGVuXCIgaWNvbl9uYW1lPVwiY2hldnJvbi11cFwiPjwvdWktaWNvbj4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC91aS1zdGFjaz5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ29tYm9ib3ggQXV0b2NvbXBsZXRlIElucHV0IC0tPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2F1dG9jb21wbGV0ZSdcIlxuICAgICAgI2NvbWJvYm94XG4gICAgICBuYW1lPVwiY29tYm9ib3hcIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJvbkZvY3VzSW5wdXQoKVwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgaWQ9XCJhY3RpdmVkZXNjZW5kZW50LWVkaXRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiJ2FjdGl2ZWRlc2NlbmRlbnQtb3B0LScgKyBmb2N1c2VkSWRcIlxuICAgICAgYXJpYS1yZWFkb25seT1cInRydWVcIlxuICAgICAgYXJpYS1vd25zPVwiYWN0aXZlZGVzY2VuZGVudC1saXN0XCJcbiAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgPlxuICAgICAgPHVpLXN0YWNrXG4gICAgICAgIHN0YWNrX2RpcmVjdGlvbj1cInhcIlxuICAgICAgICBzdGFja19kaXN0cmlidXRlPVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIHN0YWNrX2FsaWduPVwiY2VudGVyXCJcbiAgICAgICAgc3RhY2tfZ2FwPVwidGlnaHRcIlxuICAgICAgPlxuICAgICAgICA8dWktYm94IGJveF9zcGFjZT1cIm5vbmVcIiBib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgICAgPCEtLSBTZWxlY3QgTGFiZWwgQXJlYSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtY29udGFpbmVyXCIgc3RhY2tfZGlyZWN0aW9uPVwieFwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LS1zdXBwb3J0aW5nIHRleHQtYm9keS0tcmVndWxhclwiXG4gICAgICAgICAgICAgIHJvbGU9XCJjb21ib2JveC1sYWJlbFwiXG4gICAgICAgICAgICAgIFtmb3JdPVwiaWRcIlxuICAgICAgICAgICAgICA+e3sgbGFiZWwgfX08L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjdGV4dGlucHV0XG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiaWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwidGV4dFZhbHVlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2VBdXRvY29tcGxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpbnB1dERpZENoYW5nZSA/ICduZy1pbnB1dC1kaWQtY2hhbmdlJyA6ICduZy1pbnB1dC1kaWQtbm90LWNoYW5nZSdcIlxuICAgICAgICAgICAgW2F0dHIuYXV0b2NvcnJlY3RdPVwiJ29uJ1wiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ2xpc3QnXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCIhb3B0aW9uYWxcIlxuICAgICAgICAgICAgW3NwZWxsY2hlY2tdPVwiJ29uJ1wiXG4gICAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInRleHRWYWx1ZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJydcIlxuICAgICAgICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LS1kZWZhdWx0IHRleHQtYm9keS0tcmVndWxhclwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC91aS1ib3g+XG5cbiAgICAgICAgPCEtLSBDb21ib2JveCBJY29uIENsZWFyIEFyZWEgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NsZWFuJ1wiIChjbGljayk9XCJjbGVhbklucHV0KClcIj5cbiAgICAgICAgICA8dWktaWNvbiAqbmdJZj1cInRleHRWYWx1ZVwiIGljb25fbmFtZT1cImNsb3NlXCI+PC91aS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdWktc3RhY2s+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIENvbWJvYm94IE9wdGlvbnMgUGFuZWwgLS0+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJwYW5lbE9wZW5cIlxuICAgICAgY2xhc3M9XCJ1aS1jb21ib2JveC1vcHRpb25zXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgZXhwYW5kOiBwYW5lbE9wZW4gfVwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInBhbmVsT3BlblwiXG4gICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICBpZD1cImFjdGl2ZWRlc2NlbmRlbnQtbGlzdFwiXG4gICAgPlxuICAgICAgPCEtLSBBdXRvY29tcGxldGUgT3B0aW9ucyBQYW5lbCBIZWFkZXIgIC0tPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImhlYWRlciAmJiB0eXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiXG4gICAgICAgIGNsYXNzPVwidWktY29tYm9ib3gtaGVhZGVyIHRleHQtYm9keS0tc3VwcG9ydGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt7IGhlYWRlciB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIE9wdGlvbnMgbGlzdCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgI29wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRpc3BsYXlPcHRpb25zOyBpbmRleCBhcyBpXCJcbiAgICAgICAgY2xhc3M9XCJ1aS1jb21ib2JveC1vcHRpb25cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgc2VsZWN0ZWQ6IHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24sXG4gICAgICAgICAgZm9jdXM6IGZvY3VzZWRPcHRpb24gPT09IG9wdGlvbixcbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uLCBpKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgW2lkXT1cIidhY3RpdmVkZXNjZW5kZW50LW9wdC0nICsgaVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvblxuICAgICAgICAgICAgPyBvcHRpb25bZGlzcGxheU9wdGlvbktleV0gKyAnIGlzIHNlbGVjdGVkJ1xuICAgICAgICAgICAgOiBvcHRpb25bZGlzcGxheU9wdGlvbktleV1cbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPHVpLXN0YWNrXG4gICAgICAgICAgc3RhY2tfZGlyZWN0aW9uPVwieFwiXG4gICAgICAgICAgc3RhY2tfZGlzdHJpYnV0ZT1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICAgIHN0YWNrX2FsaWduPVwiY2VudGVyXCJcbiAgICAgICAgICBzdGFja19nYXA9XCJ0aWdodFwiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIE9wdGlvbiBkaXNwbGF5IC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cInZhbHVlS2V5ID8gb3B0aW9uW3ZhbHVlS2V5XSA6IG9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgICBbYXR0ci5uZ1ZhbHVlXT1cImRpc3BsYXlLZXkgPyBvcHRpb25bZGlzcGxheUtleV0gOiBvcHRpb24ubGFiZWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx1aS1zdGFjayBzdGFja19kaXJlY3Rpb249XCJ4XCIgc3RhY2tfYWxpZ249XCJjZW50ZXJcIiBzdGFja19nYXA9XCJ0aWdodFwiPlxuICAgICAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwib3B0aW9uLmljb25fbmFtZSB8fCAoaWNvbk5hbWVLZXkgJiYgb3B0aW9uW2ljb25OYW1lS2V5XSlcIlxuICAgICAgICAgICAgICAgIFtpY29uX25hbWVdPVwiaWNvbk5hbWVLZXkgPyBvcHRpb25baWNvbk5hbWVLZXldIDogb3B0aW9uLmljb25fbmFtZVwiXG4gICAgICAgICAgICAgID48L3VpLWljb24+XG5cbiAgICAgICAgICAgICAgPCEtLSBEaXNwbGF5IG9wdGlvbnMgbGFiZWwgLS0+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0gJ29wdGlvbnMnXCI+e3sgb3B0aW9uW2Rpc3BsYXlPcHRpb25LZXldIH19PC9zcGFuPlxuXG4gICAgICAgICAgICAgIDwhLS0gRGlzcGxheSBhdXRvY29tcGxldGUgb3B0aW9uIGluZm9ybWF0aW9uIGFuZCBlbXBoYXNpcy0tPlxuICAgICAgICAgICAgICA8dWktc3RhY2sgc3RhY2tfZ2FwPVwidGlueVwiICpuZ0lmPVwidHlwZSA9PT0gJ2F1dG9jb21wbGV0ZSdcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgdWktZW1waGFzaXNcbiAgICAgICAgICAgICAgICAgIFtzZWFyY2hUZXh0XT1cInRleHRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICBbZGlzcGxheVBhcmFncmFwaF09XCJvcHRpb25bZGlzcGxheU9wdGlvbktleV1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmb3JlZ3JvdW5kLXNlY29uZGFyeS10ZXh0XCIgKm5nSWY9XCJ0eXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiPlxuICAgICAgICAgICAgICAgICAge3sgb3B0aW9uW3N1YnRleHRPcHRpb25LZXldIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8L3VpLXN0YWNrPlxuICAgICAgICAgICAgPC91aS1zdGFjaz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gU2VsZWN0ZWQgaWNvbiAtLT5cbiAgICAgICAgICA8dWktaWNvbiAqbmdJZj1cInNlbGVjdGVkT3B0aW9uID09PSBvcHRpb25cIiBpY29uX25hbWU9XCJ0aWNrXCI+PC91aS1pY29uPlxuICAgICAgICA8L3VpLXN0YWNrPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQXV0b2NvbXBsZXRlIE9wdGlvbnMgUGFuZWwgRm9vdGVyIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cImZvb3RlciAmJiB0eXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiIGNsYXNzPVwidWktY29tYm9ib3gtZm9vdGVyXCI+XG4gICAgICAgIDx1aS1idXR0b24gYnV0dG9uX3R5cGU9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJvbkZvb3RlckFjdGlvbigpXCI+XG4gICAgICAgICAge3sgZm9vdGVyIH19XG4gICAgICAgIDwvdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8dWktc3RhY2sgc3RhY2tfZ2FwPVwibm9uZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1lcnJvcnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1lcnJvcnMtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ1aS1mb3JtLWVycm9yc1wiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDx1aS1ib3hcbiAgICAgIGNsYXNzPVwiaGludC1jb250YWluZXJcIlxuICAgICAgKm5nSWY9XCJoaW50XCJcbiAgICAgIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIlxuICAgICAgYm94X3NwYWNlPVwibm9uZVwiXG4gICAgICBib3hfc3BhY2VfbGVmdD1cIm5lYXJcIlxuICAgICAgYm94X3NwYWNlX3JpZ2h0PVwibmVhclwiXG4gICAgICBib3hfc3BhY2VfYm90dG9tPVwibmVhclwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInVpLXRleHQtaW5wdXQtaGludCB0ZXh0LWJvZHktLXN1cHBvcnRpbmcgdGV4dC1jb2xvci0tc3VwcG9ydGluZ1wiPlxuICAgICAgICB7eyBoaW50IH19XG4gICAgICA8L2Rpdj5cbiAgICA8L3VpLWJveD5cbiAgPC91aS1zdGFjaz5cbjwvdWktc3RhY2s+XG4iXX0=
|