@sbb-esta/lyne-elements-experimental-dev 4.12.0-dev.1777535350 → 4.12.0-dev.1777543950
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/custom-elements.json +220 -99
- package/development/seat-reservation/common/types.d.ts +3 -4
- package/development/seat-reservation/common/types.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +38 -7
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +143 -32
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +2 -13
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
- package/development/seat-reservation/seat-reservation-area.js +1 -1
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
- package/development/seat-reservation/seat-reservation-graphic.js +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach.js +1 -1
- package/development/seat-reservation/seat-reservation.js +1 -1
- package/development/seat-reservation-area.component-BWdrKqek.js +96 -0
- package/development/seat-reservation-graphic.component-CN5sWn0I.js +129 -0
- package/development/{seat-reservation-navigation-coach.component-CjoDkcVU.js → seat-reservation-navigation-coach.component-tDZkXl-3.js} +3 -3
- package/development/seat-reservation.component-DyB5FVpD.js +464 -0
- package/development/seat-reservation.js +4 -4
- package/development/seat-reservation.pure.js +4 -4
- package/package.json +2 -2
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +130 -77
- package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
- package/seat-reservation/seat-reservation-area.js +1 -1
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
- package/seat-reservation/seat-reservation-graphic.js +1 -1
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
- package/seat-reservation/seat-reservation-navigation-coach.js +1 -1
- package/seat-reservation/seat-reservation.js +1 -1
- package/{seat-reservation-area.component-CtYawDjE.js → seat-reservation-area.component-B5_N7H_a.js} +1 -1
- package/seat-reservation-graphic.component-Dh1e2Pve.js +102 -0
- package/{seat-reservation-navigation-coach.component-sug9IBTH.js → seat-reservation-navigation-coach.component-BdCUfksf.js} +2 -2
- package/{seat-reservation.component-DajC6fqU.js → seat-reservation.component-DEtsEzex.js} +74 -81
- package/seat-reservation.js +4 -4
- package/seat-reservation.pure.js +4 -4
- package/development/seat-reservation-area.component-DbeuTnXT.js +0 -96
- package/development/seat-reservation-graphic.component-DlrHtlia.js +0 -129
- package/development/seat-reservation.component-DFJVFmrI.js +0 -510
- package/seat-reservation-graphic.component-Cm_pVxaB.js +0 -102
|
@@ -9,7 +9,6 @@ export declare class SbbSeatReservationElement extends SeatReservationBaseElemen
|
|
|
9
9
|
static styles: CSSResultGroup;
|
|
10
10
|
private _language;
|
|
11
11
|
private _coachesHtmlTemplate?;
|
|
12
|
-
private _notFixedRotatableAreaIcons;
|
|
13
12
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
14
13
|
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
15
14
|
protected render(): TemplateResult | null;
|
|
@@ -33,18 +32,8 @@ export declare class SbbSeatReservationElement extends SeatReservationBaseElemen
|
|
|
33
32
|
private _getRenderedCoachBorders;
|
|
34
33
|
private _getRenderedRowPlaces;
|
|
35
34
|
private _getRenderedColumnPlaces;
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
* creates a rendered element with an area component
|
|
39
|
-
* @param graphicalElement
|
|
40
|
-
* @param rotation
|
|
41
|
-
* @param coachDimension
|
|
42
|
-
* @param coachIndex used to generate a unique id for the popover trigger
|
|
43
|
-
* @param coachDeckIndex used to generate a unique id
|
|
44
|
-
* @private
|
|
45
|
-
*/
|
|
46
|
-
private _getRenderElementWithArea;
|
|
47
|
-
private _getRenderElementWithoutArea;
|
|
35
|
+
private _getRenderedCoachElements;
|
|
36
|
+
private _getRenderedAreaElements;
|
|
48
37
|
private _getRenderedServiceElements;
|
|
49
38
|
/**
|
|
50
39
|
* Manages the selected place event triggered from the place
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seat-reservation.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation.component.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"seat-reservation.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation.component.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAoBb,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,mCAAmC,CAAC;AAC3C,OAAO,+CAA+C,CAAC;AACvD,OAAO,oCAAoC,CAAC;AAQ5C;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,0BAA0B;IACvE,gBAAgC,WAAW,EAAE,MAAM,CAA0B;IAC7E,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,oBAAoB,CAAC,CAAiB;cAE3B,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAgBzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAS3D,MAAM,IAAI,cAAc,GAAG,IAAI;IAKlD,OAAO,CAAC,uCAAuC;IAwC/C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,8BAA8B;IAwCtC,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,iBAAiB;IAsCzB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,mBAAmB;IAmC3B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA+BhC,OAAO,CAAC,qBAAqB;IAmC7B,OAAO,CAAC,wBAAwB;IA8DhC,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,wBAAwB;IAyDhC,OAAO,CAAC,2BAA2B;IAmCnC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,gBAAgB;IAUxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,yBAAyB;IAuCjC,OAAO,CAAC,8BAA8B;CAyBvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbSeatReservationElement } from "../../seat-reservation.component-
|
|
1
|
+
import { t as SbbSeatReservationElement } from "../../seat-reservation.component-DyB5FVpD.js";
|
|
2
2
|
export { SbbSeatReservationElement };
|
package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbSeatReservationAreaElement } from "../../seat-reservation-area.component-
|
|
1
|
+
import { t as SbbSeatReservationAreaElement } from "../../seat-reservation-area.component-BWdrKqek.js";
|
|
2
2
|
export { SbbSeatReservationAreaElement };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SbbSeatReservationAreaElement } from "../seat-reservation-area.component-
|
|
1
|
+
import { t as SbbSeatReservationAreaElement } from "../seat-reservation-area.component-BWdrKqek.js";
|
|
2
2
|
//#region src/elements-experimental/seat-reservation/seat-reservation-area.ts
|
|
3
3
|
/** @entrypoint */
|
|
4
4
|
SbbSeatReservationAreaElement.define();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SbbSeatReservationGraphicElement } from "../../seat-reservation-graphic.component-
|
|
1
|
+
import { t as SbbSeatReservationGraphicElement } from "../../seat-reservation-graphic.component-CN5sWn0I.js";
|
|
2
2
|
import { html } from "lit";
|
|
3
3
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
4
4
|
import { mapIconToSvg } from "../common/mapper.js";
|
package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbSeatReservationGraphicElement } from "../../seat-reservation-graphic.component-
|
|
1
|
+
import { t as SbbSeatReservationGraphicElement } from "../../seat-reservation-graphic.component-CN5sWn0I.js";
|
|
2
2
|
export { SbbSeatReservationGraphicElement };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SbbSeatReservationGraphicElement } from "../seat-reservation-graphic.component-
|
|
1
|
+
import { t as SbbSeatReservationGraphicElement } from "../seat-reservation-graphic.component-CN5sWn0I.js";
|
|
2
2
|
//#region src/elements-experimental/seat-reservation/seat-reservation-graphic.ts
|
|
3
3
|
/** @entrypoint */
|
|
4
4
|
SbbSeatReservationGraphicElement.define();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seat-reservation-navigation-coach.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAI3E,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAKb,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,+CAA+C,CAAC;AAIvD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,qBAAa,wCAAyC,SAAQ,UAAU;IACtE,gBAAgC,WAAW,EAAE,MAAM,CAA2C;IAC9F,OAAuB,MAAM,EAAE,cAAc,CAAuC;IACpF,gBAAuB,MAAM;;;MAGlB;IAEX,4BAA4B;IAC5B,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,2BAA2B;IAC3B,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,2BAA2B;IAC3B,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,8FAA8F;IAC9F,SAEgB,iBAAiB,EAAE,OAAO,CAAQ;IAElD,SAEgB,KAAK,EAAE,MAAM,CAAK;IAElC,SACgB,gBAAgB,EAAE,gBAAgB,CAAwB;IAE1E,mCAAmC;IACnC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,6DAA6D;IAC7D,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,+CAA+C;IAC/C,SAEgB,aAAa,EAAE,OAAO,CAAS;IAE/C,OAAO,CAAC,SAAS,CAAmC;cAEjC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA2B5E;;;;OAIG;cACgB,MAAM,IAAI,cAAc;IAwB3C,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,kCAAkC;
|
|
1
|
+
{"version":3,"file":"seat-reservation-navigation-coach.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAI3E,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAKb,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,+CAA+C,CAAC;AAIvD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,qBAAa,wCAAyC,SAAQ,UAAU;IACtE,gBAAgC,WAAW,EAAE,MAAM,CAA2C;IAC9F,OAAuB,MAAM,EAAE,cAAc,CAAuC;IACpF,gBAAuB,MAAM;;;MAGlB;IAEX,4BAA4B;IAC5B,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,2BAA2B;IAC3B,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,2BAA2B;IAC3B,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,8FAA8F;IAC9F,SAEgB,iBAAiB,EAAE,OAAO,CAAQ;IAElD,SAEgB,KAAK,EAAE,MAAM,CAAK;IAElC,SACgB,gBAAgB,EAAE,gBAAgB,CAAwB;IAE1E,mCAAmC;IACnC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,6DAA6D;IAC7D,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,+CAA+C;IAC/C,SAEgB,aAAa,EAAE,OAAO,CAAS;IAE/C,OAAO,CAAC,SAAS,CAAmC;cAEjC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA2B5E;;;;OAIG;cACgB,MAAM,IAAI,cAAc;IAwB3C,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,kCAAkC;IAyC1C,OAAO,CAAC,gCAAgC;IAaxC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,2BAA2B;CAOpC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uCAAuC,EAAE,wCAAwC,CAAC;KACnF;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbSeatReservationNavigationCoachElement } from "../../seat-reservation-navigation-coach.component-
|
|
1
|
+
import { t as SbbSeatReservationNavigationCoachElement } from "../../seat-reservation-navigation-coach.component-tDZkXl-3.js";
|
|
2
2
|
export { SbbSeatReservationNavigationCoachElement };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SbbSeatReservationNavigationCoachElement } from "../seat-reservation-navigation-coach.component-
|
|
1
|
+
import { t as SbbSeatReservationNavigationCoachElement } from "../seat-reservation-navigation-coach.component-tDZkXl-3.js";
|
|
2
2
|
//#region src/elements-experimental/seat-reservation/seat-reservation-navigation-coach.ts
|
|
3
3
|
/** @entrypoint */
|
|
4
4
|
SbbSeatReservationNavigationCoachElement.define();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SeatReservationBaseElement } from "./seat-reservation/seat-reservation-base-element.js";
|
|
2
|
-
import { t as SbbSeatReservationElement } from "../seat-reservation.component-
|
|
2
|
+
import { t as SbbSeatReservationElement } from "../seat-reservation.component-DyB5FVpD.js";
|
|
3
3
|
//#region src/elements-experimental/seat-reservation/seat-reservation.ts
|
|
4
4
|
/** @entrypoint */
|
|
5
5
|
SbbSeatReservationElement.define();
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
|
|
3
|
+
import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
4
|
+
import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
5
|
+
import { html, unsafeCSS } from "lit";
|
|
6
|
+
import { property } from "lit/decorators.js";
|
|
7
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-area/seat-reservation-area.scss?inline
|
|
8
|
+
var seat_reservation_area_default = ":host {\n --sbb-seat-reservation-area-border-radius: var(--sbb-border-width-4x);\n --sbb-seat-reservation-area-rotation: 0;\n --sbb-seat-reservation-area-z-index: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n height: calc(var(--sbb-seat-reservation-area-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n width: calc(var(--sbb-seat-reservation-area-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n border: var(--sbb-border-width-1x) solid var(--sbb-color-graphite);\n border: var(--sbb-border-width-1x) solid light-dark(var(--sbb-color-graphite), var(--sbb-color-granite));\n border-radius: var(--sbb-seat-reservation-area-border-radius);\n position: absolute;\n z-index: var(--sbb-seat-reservation-area-z-index);\n inset-block-start: calc(var(--sbb-seat-reservation-area-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n inset-inline-start: calc(var(--sbb-seat-reservation-area-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n rotate: calc(var(--sbb-seat-reservation-area-rotation) * 1deg);\n line-height: normal;\n background-color: var(--sbb-background-color-2);\n}\n\n:host([background=dark]) {\n background-color: var(--sbb-color-milk);\n background-color: light-dark(var(--sbb-color-milk), var(--sbb-color-iron));\n}\n\n:host([mounting=upper-border]) {\n border-block-start-width: 0;\n border-radius: 0 0 var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius);\n}\n\n:host([mounting=lower-border]) {\n border-block-end-width: 0;\n border-radius: var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius) 0 0;\n}\n\n:host([mounting=upper-to-lower-border]) {\n border-block-start: none;\n border-block-end: none;\n border-radius: 0;\n}\n\n:host(.sbb-seat-reservation-area--cursor-pointer) {\n cursor: var(--sbb-cursor-pointer);\n}";
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-area/seat-reservation-area.component.ts
|
|
11
|
+
/**
|
|
12
|
+
* Visualize an area with a special meaning within a wagon.
|
|
13
|
+
*/
|
|
14
|
+
var SbbSeatReservationAreaElement = (() => {
|
|
15
|
+
let _classSuper = SbbElement;
|
|
16
|
+
let _mounting_decorators;
|
|
17
|
+
let _mounting_initializers = [];
|
|
18
|
+
let _mounting_extraInitializers = [];
|
|
19
|
+
let _background_decorators;
|
|
20
|
+
let _background_initializers = [];
|
|
21
|
+
let _background_extraInitializers = [];
|
|
22
|
+
return class SbbSeatReservationAreaElement extends _classSuper {
|
|
23
|
+
static {
|
|
24
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
25
|
+
_mounting_decorators = [forceType(), property({ reflect: true })];
|
|
26
|
+
_background_decorators = [forceType(), property({ reflect: true })];
|
|
27
|
+
__esDecorate(this, null, _mounting_decorators, {
|
|
28
|
+
kind: "accessor",
|
|
29
|
+
name: "mounting",
|
|
30
|
+
static: false,
|
|
31
|
+
private: false,
|
|
32
|
+
access: {
|
|
33
|
+
has: (obj) => "mounting" in obj,
|
|
34
|
+
get: (obj) => obj.mounting,
|
|
35
|
+
set: (obj, value) => {
|
|
36
|
+
obj.mounting = value;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
metadata: _metadata
|
|
40
|
+
}, _mounting_initializers, _mounting_extraInitializers);
|
|
41
|
+
__esDecorate(this, null, _background_decorators, {
|
|
42
|
+
kind: "accessor",
|
|
43
|
+
name: "background",
|
|
44
|
+
static: false,
|
|
45
|
+
private: false,
|
|
46
|
+
access: {
|
|
47
|
+
has: (obj) => "background" in obj,
|
|
48
|
+
get: (obj) => obj.background,
|
|
49
|
+
set: (obj, value) => {
|
|
50
|
+
obj.background = value;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
metadata: _metadata
|
|
54
|
+
}, _background_initializers, _background_extraInitializers);
|
|
55
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
configurable: true,
|
|
58
|
+
writable: true,
|
|
59
|
+
value: _metadata
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
static {
|
|
63
|
+
this.elementName = "sbb-seat-reservation-area";
|
|
64
|
+
}
|
|
65
|
+
static {
|
|
66
|
+
this.styles = [boxSizingStyles, unsafeCSS(seat_reservation_area_default)];
|
|
67
|
+
}
|
|
68
|
+
#mounting_accessor_storage = __runInitializers(this, _mounting_initializers, "free");
|
|
69
|
+
/** Mounting Prop */
|
|
70
|
+
get mounting() {
|
|
71
|
+
return this.#mounting_accessor_storage;
|
|
72
|
+
}
|
|
73
|
+
set mounting(value) {
|
|
74
|
+
this.#mounting_accessor_storage = value;
|
|
75
|
+
}
|
|
76
|
+
#background_accessor_storage = (__runInitializers(this, _mounting_extraInitializers), __runInitializers(this, _background_initializers, "light"));
|
|
77
|
+
/** the background of the area */
|
|
78
|
+
get background() {
|
|
79
|
+
return this.#background_accessor_storage;
|
|
80
|
+
}
|
|
81
|
+
set background(value) {
|
|
82
|
+
this.#background_accessor_storage = value;
|
|
83
|
+
}
|
|
84
|
+
render() {
|
|
85
|
+
return html`<slot></slot>`;
|
|
86
|
+
}
|
|
87
|
+
constructor() {
|
|
88
|
+
super(...arguments);
|
|
89
|
+
__runInitializers(this, _background_extraInitializers);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
})();
|
|
93
|
+
//#endregion
|
|
94
|
+
export { SbbSeatReservationAreaElement as t };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1hcmVhLmNvbXBvbmVudC1CV2RyS3Flay5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1hcmVhL3NlYXQtcmVzZXJ2YXRpb24tYXJlYS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLWFyZWEvc2VhdC1yZXNlcnZhdGlvbi1hcmVhLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1ib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTR4KTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1hcmVhLXJvdGF0aW9uOiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtei1pbmRleDogMDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICB3aWR0aDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1hcmVhLXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkXG4gICAgbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpLCB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1hcmVhLWJvcmRlci1yYWRpdXMpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtei1pbmRleCk7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtdG9wKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1sZWZ0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICByb3RhdGU6IGNhbGModmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1yb3RhdGlvbikgKiAxZGVnKTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMik7XG59XG5cbjpob3N0KFtiYWNrZ3JvdW5kPSdkYXJrJ10pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItbWlsayksIHZhcigtLXNiYi1jb2xvci1pcm9uKSk7XG59XG5cbjpob3N0KFttb3VudGluZz0ndXBwZXItYm9yZGVyJ10pIHtcbiAgLy8gRm9yIGFyZWFzIHRoYXQgYXJlIG1vdW50ZWQgZGlyZWN0bHkgb24gdGhlIGJvcmRlciBvZiBjb2FjaCxcbiAgLy8gd2UgcmVtb3ZlIHRoZSBib3JkZXIgdG9wIGZyb20gdGhlIGVsZW1lbnQgd2hlcmUgaXQgaXMgbW91bnRlZCxcbiAgLy8gYXMgdGhlIGJvcmRlcnMgYXJlIGFscmVhZHkgdmlzdWFsbHkgZGlzcGxheWVkIGJ5IHRoZSBjb2FjaC5cbiAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1ib3JkZXItcmFkaXVzKVxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KFttb3VudGluZz0nbG93ZXItYm9yZGVyJ10pIHtcbiAgLy8gRm9yIGFyZWFzIHRoYXQgYXJlIG1vdW50ZWQgZGlyZWN0bHkgb24gdGhlIGJvcmRlciBvZiBjb2FjaCxcbiAgLy8gd2UgcmVtb3ZlIHRoZSBib3JkZXIgYm90dG9tIGZyb20gdGhlIGVsZW1lbnQgd2hlcmUgaXQgaXMgbW91bnRlZCxcbiAgLy8gYXMgdGhlIGJvcmRlcnMgYXJlIGFscmVhZHkgdmlzdWFsbHkgZGlzcGxheWVkIGJ5IHRoZSBjb2FjaC5cbiAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1ib3JkZXItcmFkaXVzKVxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG46aG9zdChbbW91bnRpbmc9J3VwcGVyLXRvLWxvd2VyLWJvcmRlciddKSB7XG4gIGJvcmRlci1ibG9jay1zdGFydDogbm9uZTtcbiAgYm9yZGVyLWJsb2NrLWVuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gaG92ZXIgc3RhdGUgd2l0aCBwb2ludGVyIGN1cnNvciBmb3Igc2VydmljZSBpY29ucyBhbmQgcG9wb3ZlclxuOmhvc3QoLnNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtLWN1cnNvci1wb2ludGVyKSB7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZUNTUywgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2VhdC1yZXNlcnZhdGlvbi1hcmVhLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBWaXN1YWxpemUgYW4gYXJlYSB3aXRoIGEgc3BlY2lhbCBtZWFuaW5nIHdpdGhpbiBhIHdhZ29uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uQXJlYUVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogTW91bnRpbmcgUHJvcCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbW91bnRpbmc6ICdmcmVlJyB8ICd1cHBlci1ib3JkZXInIHwgJ2xvd2VyLWJvcmRlcicgfCAndXBwZXItdG8tbG93ZXItYm9yZGVyJyA9XG4gICAgJ2ZyZWUnO1xuXG4gIC8qKiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYXJlYSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYmFja2dyb3VuZDogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdsaWdodCc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEnOiBTYmJTZWF0UmVzZXJ2YXRpb25BcmVhRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0lDV2EsdUNBQTZCO21CQUFTOzs7Ozs7O2NBQXRDLHNDQUFzQyxZQUFVOzs7MkJBSzFELFdBQVcsRUFDWCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTs2QkFLM0IsV0FBVyxFQUNYLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0FBTDVCLGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBO0FBTXhCLGdCQUFBLE1BQUEsTUFBQSx3QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGdCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVUsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFWLGFBQVU7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwwQkFBQSw4QkFBQTs7Ozs7Ozs7O0FBWk0sUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSw4QkFBTSxDQUFDOztFQUtuRiw2QkFBQSxrQkFBQSxNQUFBLHdCQUNFLE9BQU07O0VBRFIsSUFBZ0IsV0FBUTtBQUFBLFVBQUEsTUFBQTs7RUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsU0FBQSw0QkFBQTs7RUFNeEIsZ0NBQUEsa0JBQUEsTUFBQSw0QkFBQSxFQUFBLGtCQUFBLE1BQUEsMEJBQStDLFFBQU87O0VBQXRELElBQWdCLGFBQVU7QUFBQSxVQUFBLE1BQUE7O0VBQTFCLElBQWdCLFdBQVUsT0FBQTtBQUFBLFNBQUEsOEJBQUE7O0VBRVAsU0FBTTtBQUN2QixVQUFPLElBQUkifQ==
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
|
|
3
|
+
import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
4
|
+
import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
5
|
+
import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
6
|
+
import "@sbb-esta/lyne-elements/icon.js";
|
|
7
|
+
import { html, isServer, unsafeCSS } from "lit";
|
|
8
|
+
import { property } from "lit/decorators.js";
|
|
9
|
+
import { mapIconToSvg } from "./seat-reservation/common/mapper.js";
|
|
10
|
+
import { classMap } from "lit/directives/class-map.js";
|
|
11
|
+
import { getI18nSeatReservation } from "./seat-reservation/common/translations.js";
|
|
12
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.scss?inline
|
|
13
|
+
var seat_reservation_graphic_default = ":host {\n --sbb-seat-reservation-graphic-max-width: auto;\n --sbb-seat-reservation-graphic-max-height: auto;\n --sbb-seat-reservation-graphic-width: 16;\n --sbb-seat-reservation-graphic-height: 16;\n --sbb-seat-reservation-graphic-rotation: 0;\n --sbb-seat-reservation-graphic-inverse-rotation: 0;\n --sbb-seat-reservation-graphic-padding-percent: 1;\n --sbb-seat-reservation-graphic-position: initial;\n --sbb-seat-reservation-graphic-z-index: 0;\n --sbb-seat-reservation-graphic-left: 0;\n --sbb-seat-reservation-graphic-top: 0;\n --sbb-icon-svg-width: calc(\n var(--sbb-seat-reservation-graphic-width) *\n var(--sbb-seat-reservation-one-px-rem, 0.0625rem)\n );\n --sbb-icon-svg-height: calc(\n var(--sbb-seat-reservation-graphic-height) *\n var(--sbb-seat-reservation-one-px-rem, 0.0625rem)\n );\n display: flex;\n justify-content: center;\n align-items: center;\n width: calc(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n height: calc(var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n position: var(--sbb-seat-reservation-graphic-position);\n z-index: var(--sbb-seat-reservation-graphic-z-index);\n inset-inline-start: calc(var(--sbb-seat-reservation-graphic-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n inset-block-start: calc(var(--sbb-seat-reservation-graphic-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}\n\n:host(.auto-width) {\n --sbb-icon-svg-width: auto;\n max-width: calc(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n width: auto;\n}\n\n:host(.sbb-sr-graphic__dimension--square-dim) {\n --sbb-icon-svg-width: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));\n --sbb-icon-svg-height: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));\n width: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));\n height: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));\n}\n\n:host(.sbb-seat-reservation-graphic--cursor-pointer) {\n cursor: var(--sbb-cursor-pointer);\n}\n\n.sbb-sr-icon,\n.sbb-sr-graphic {\n width: inherit;\n height: inherit;\n transform-origin: center;\n rotate: calc(var(--sbb-seat-reservation-graphic-rotation) * 1deg);\n}\n\n.sbb-sr-icon {\n color: var(--sbb-color-granite);\n color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));\n}\n\n.sbb-sr-graphic svg {\n width: 100%;\n height: 100%;\n}\n.sbb-sr-graphic svg .fix-rotation-inverse {\n transform-origin: center;\n rotate: calc(var(--sbb-seat-reservation-graphic-inverse-rotation) * 1deg);\n}\n@media (forced-colors: active) {\n .sbb-sr-graphic svg:not(.color-immutable) [fill]:not([fill=none]) {\n fill: currentcolor;\n }\n .sbb-sr-graphic .no-bg {\n fill: transparent;\n }\n}";
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.ts
|
|
16
|
+
/**
|
|
17
|
+
* Output one of the SVG graphics based on its code.
|
|
18
|
+
*/
|
|
19
|
+
var SbbSeatReservationGraphicElement = (() => {
|
|
20
|
+
let _classSuper = SbbElement;
|
|
21
|
+
let _name_decorators;
|
|
22
|
+
let _name_initializers = [];
|
|
23
|
+
let _name_extraInitializers = [];
|
|
24
|
+
let _stretch_decorators;
|
|
25
|
+
let _stretch_initializers = [];
|
|
26
|
+
let _stretch_extraInitializers = [];
|
|
27
|
+
return class SbbSeatReservationGraphicElement extends _classSuper {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.#name_accessor_storage = __runInitializers(this, _name_initializers, "");
|
|
31
|
+
this.#stretch_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _stretch_initializers, false));
|
|
32
|
+
this._language = (__runInitializers(this, _stretch_extraInitializers), new SbbLanguageController(this));
|
|
33
|
+
}
|
|
34
|
+
static {
|
|
35
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
36
|
+
_name_decorators = [forceType(), property({ attribute: "name" })];
|
|
37
|
+
_stretch_decorators = [forceType(), property({
|
|
38
|
+
attribute: "stretch",
|
|
39
|
+
type: Boolean
|
|
40
|
+
})];
|
|
41
|
+
__esDecorate(this, null, _name_decorators, {
|
|
42
|
+
kind: "accessor",
|
|
43
|
+
name: "name",
|
|
44
|
+
static: false,
|
|
45
|
+
private: false,
|
|
46
|
+
access: {
|
|
47
|
+
has: (obj) => "name" in obj,
|
|
48
|
+
get: (obj) => obj.name,
|
|
49
|
+
set: (obj, value) => {
|
|
50
|
+
obj.name = value;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
metadata: _metadata
|
|
54
|
+
}, _name_initializers, _name_extraInitializers);
|
|
55
|
+
__esDecorate(this, null, _stretch_decorators, {
|
|
56
|
+
kind: "accessor",
|
|
57
|
+
name: "stretch",
|
|
58
|
+
static: false,
|
|
59
|
+
private: false,
|
|
60
|
+
access: {
|
|
61
|
+
has: (obj) => "stretch" in obj,
|
|
62
|
+
get: (obj) => obj.stretch,
|
|
63
|
+
set: (obj, value) => {
|
|
64
|
+
obj.stretch = value;
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
metadata: _metadata
|
|
68
|
+
}, _stretch_initializers, _stretch_extraInitializers);
|
|
69
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
configurable: true,
|
|
72
|
+
writable: true,
|
|
73
|
+
value: _metadata
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
static {
|
|
77
|
+
this.elementName = "sbb-seat-reservation-graphic";
|
|
78
|
+
}
|
|
79
|
+
static {
|
|
80
|
+
this.styles = [boxSizingStyles, unsafeCSS(seat_reservation_graphic_default)];
|
|
81
|
+
}
|
|
82
|
+
#name_accessor_storage;
|
|
83
|
+
/** Name of the SVG graphic to be displayed. */
|
|
84
|
+
get name() {
|
|
85
|
+
return this.#name_accessor_storage;
|
|
86
|
+
}
|
|
87
|
+
set name(value) {
|
|
88
|
+
this.#name_accessor_storage = value;
|
|
89
|
+
}
|
|
90
|
+
#stretch_accessor_storage;
|
|
91
|
+
/** if true, scale the graphic content of the given element non-uniformly if necessary */
|
|
92
|
+
get stretch() {
|
|
93
|
+
return this.#stretch_accessor_storage;
|
|
94
|
+
}
|
|
95
|
+
set stretch(value) {
|
|
96
|
+
this.#stretch_accessor_storage = value;
|
|
97
|
+
}
|
|
98
|
+
render() {
|
|
99
|
+
const svgObj = mapIconToSvg[this.name];
|
|
100
|
+
if (!svgObj?.svg && !svgObj?.svgName) return null;
|
|
101
|
+
return html`<span
|
|
102
|
+
class="${classMap({
|
|
103
|
+
"sbb-sr-icon": !!svgObj.svgName,
|
|
104
|
+
"sbb-sr-graphic": !!svgObj.svg
|
|
105
|
+
})}"
|
|
106
|
+
>
|
|
107
|
+
${svgObj.svgName ? html` <sbb-icon
|
|
108
|
+
name="${svgObj.svgName || ""}"
|
|
109
|
+
aria-hidden="false"
|
|
110
|
+
aria-label="${getI18nSeatReservation(svgObj.svgName, this._language.current)}"
|
|
111
|
+
></sbb-icon>` : html`${this._getSvgElement(svgObj.svg)}`}
|
|
112
|
+
</span>`;
|
|
113
|
+
}
|
|
114
|
+
_getSvgElement(svg) {
|
|
115
|
+
if (!isServer) {
|
|
116
|
+
const parser = new DOMParser();
|
|
117
|
+
const svgString = svg || "<svg></svg>";
|
|
118
|
+
const svgElm = parser.parseFromString(svgString, "image/svg+xml").firstElementChild;
|
|
119
|
+
if (this.stretch && svgElm?.nodeName.toLowerCase() === "svg") svgElm.setAttribute("preserveAspectRatio", "none");
|
|
120
|
+
return svgElm;
|
|
121
|
+
}
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
})();
|
|
126
|
+
//#endregion
|
|
127
|
+
export { SbbSeatReservationGraphicElement as t };
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLmNvbXBvbmVudC1DTjVzV24wSS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMvc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1tYXgtd2lkdGg6IGF1dG87XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1tYXgtaGVpZ2h0OiBhdXRvO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtd2lkdGg6IDE2O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0OiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXJvdGF0aW9uOiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaW52ZXJzZS1yb3RhdGlvbjogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXBhZGRpbmctcGVyY2VudDogMTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXBvc2l0aW9uOiBpbml0aWFsO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtei1pbmRleDogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWxlZnQ6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy10b3A6IDA7XG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtd2lkdGgpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gIC0tc2JiLWljb24tc3ZnLWhlaWdodDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWhlaWdodCkgKlxuICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tb25lLXB4LXJlbSwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEpfSlcbiAgKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy13aWR0aCkgKlxuICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tb25lLXB4LXJlbSwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEpfSlcbiAgKTtcbiAgaGVpZ2h0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1wb3NpdGlvbik7XG4gIHotaW5kZXg6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtei1pbmRleCk7XG4gIGluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWxlZnQpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtdG9wKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xufVxuXG4vLyBhdXRvLXdpZHRoIHNldHRpbmdzIGZvciBncmFwaGljc1xuOmhvc3QoLmF1dG8td2lkdGgpIHtcbiAgLS1zYmItaWNvbi1zdmctd2lkdGg6IGF1dG87XG5cbiAgbWF4LXdpZHRoOiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtbWF4LXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICB3aWR0aDogYXV0bztcbn1cblxuLy8gR3JhcGhpYyBzaXplIGZvciBtYXggc3F1YXJlIGRpbWVuc2lvblxuOmhvc3QoLnNiYi1zci1ncmFwaGljX19kaW1lbnNpb24tLXNxdWFyZS1kaW0pIHtcbiAgJHBhZGRpbmctcGVyY2VudDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1wYWRkaW5nLXBlcmNlbnQpO1xuICAkZ3JhcGhpYy1tYXgtd2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1tYXgtd2lkdGgpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gICRncmFwaGljLW1heC1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1tYXgtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICAkZ3JhcGhpYy13aWR0aDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICAkZ3JhcGhpYy1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1oZWlnaHQpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG5cbiAgLy8gY2FsY3VsYXRlIG1heCBhdmFpbGFibGUgYXJlYSBkaW1lbnNpb25cbiAgJHBhcmVudC1kaW06IGNhbGMobWluKCRncmFwaGljLXdpZHRoLCAkZ3JhcGhpYy1oZWlnaHQpICogJHBhZGRpbmctcGVyY2VudCk7XG4gICRtYXgtcGFyZW50LWRpbTogbWluKCRncmFwaGljLW1heC13aWR0aCwgJGdyYXBoaWMtbWF4LWhlaWdodCk7XG4gICRyZXN1bHQtZGltOiBtaW4oJHBhcmVudC1kaW0sICRtYXgtcGFyZW50LWRpbSk7XG5cbiAgLy8gU2V0IG1heCBkaW1lbnNpb24gZm9yIHN2ZyBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiAjeyRyZXN1bHQtZGltfTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiAjeyRyZXN1bHQtZGltfTtcblxuICB3aWR0aDogI3skcmVzdWx0LWRpbX07XG4gIGhlaWdodDogI3skcmVzdWx0LWRpbX07XG59XG5cbi8vIGhvdmVyIHN0YXRlIHdpdGggcG9pbnRlciBjdXJzb3IgZm9yIHNlcnZpY2UgaWNvbnMgYW5kIHBvcG92ZXJcbjpob3N0KC5zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLS1jdXJzb3ItcG9pbnRlcikge1xuICBjdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG59XG5cbi5zYmItc3ItaWNvbixcbi5zYmItc3ItZ3JhcGhpYyB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgcm90YXRlOiBjYWxjKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtcm90YXRpb24pICogMWRlZyk7XG59XG5cbi5zYmItc3ItaWNvbiB7XG4gIC8vIG92ZXJyaWRlIGNvbG9yIGRpcmVjdGx5IHNldCBpbiB0aGUgU1ZHIGZpbGUgY29taW5nIGZyb20gQ0ROXG4gIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG59XG5cbi5zYmItc3ItZ3JhcGhpYyB7XG4gIHN2ZyB7XG4gICAgd2lkdGg6IGNsYW1wKDEwMCUsIDEwMCUsIDEwMCUpO1xuICAgIGhlaWdodDogY2xhbXAoMTAwJSwgMTAwJSwgMTAwJSk7XG5cbiAgICAuZml4LXJvdGF0aW9uLWludmVyc2Uge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgcm90YXRlOiBjYWxjKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaW52ZXJzZS1yb3RhdGlvbikgKiAxZGVnKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgc3ZnOm5vdCguY29sb3ItaW1tdXRhYmxlKSB7XG4gICAgICBbZmlsbF06bm90KFtmaWxsPSdub25lJ10pIHtcbiAgICAgICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1iZyB7XG4gICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgaXNTZXJ2ZXIsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzJztcblxuaW1wb3J0IHsgbWFwSWNvblRvU3ZnIH0gZnJvbSAnLi4vY29tbW9uL21hcHBlci50cyc7XG5pbXBvcnQgeyBnZXRJMThuU2VhdFJlc2VydmF0aW9uIH0gZnJvbSAnLi4vY29tbW9uL3RyYW5zbGF0aW9ucy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5zY3NzP2lubGluZSc7XG5cbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvaWNvbi5qcyc7XG5cbi8qKlxuICogT3V0cHV0IG9uZSBvZiB0aGUgU1ZHIGdyYXBoaWNzIGJhc2VkIG9uIGl0cyBjb2RlLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogTmFtZSBvZiB0aGUgU1ZHIGdyYXBoaWMgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbmFtZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBpZiB0cnVlLCBzY2FsZSB0aGUgZ3JhcGhpYyBjb250ZW50IG9mIHRoZSBnaXZlbiBlbGVtZW50IG5vbi11bmlmb3JtbHkgaWYgbmVjZXNzYXJ5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzdHJldGNoJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc3RyZXRjaDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHwgbnVsbCB7XG4gICAgY29uc3Qgc3ZnT2JqID0gbWFwSWNvblRvU3ZnW3RoaXMubmFtZV07XG5cbiAgICBpZiAoIXN2Z09iaj8uc3ZnICYmICFzdmdPYmo/LnN2Z05hbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYDxzcGFuXG4gICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoe1xuICAgICAgICAnc2JiLXNyLWljb24nOiAhIXN2Z09iai5zdmdOYW1lLFxuICAgICAgICAnc2JiLXNyLWdyYXBoaWMnOiAhIXN2Z09iai5zdmcsXG4gICAgICB9KX1cIlxuICAgID5cbiAgICAgICR7c3ZnT2JqLnN2Z05hbWVcbiAgICAgICAgPyBodG1sYCA8c2JiLWljb25cbiAgICAgICAgICAgIG5hbWU9XCIke3N2Z09iai5zdmdOYW1lIHx8ICcnfVwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCIke2dldEkxOG5TZWF0UmVzZXJ2YXRpb24oc3ZnT2JqLnN2Z05hbWUsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpfVwiXG4gICAgICAgICAgPjwvc2JiLWljb24+YFxuICAgICAgICA6IGh0bWxgJHt0aGlzLl9nZXRTdmdFbGVtZW50KHN2Z09iai5zdmchKX1gfVxuICAgIDwvc3Bhbj5gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3ZnRWxlbWVudChzdmc6IHN0cmluZyk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gICAgICBjb25zdCBzdmdTdHJpbmcgPSBzdmcgfHwgJzxzdmc+PC9zdmc+JztcbiAgICAgIGNvbnN0IHN2Z0VsbSA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoc3ZnU3RyaW5nLCAnaW1hZ2Uvc3ZnK3htbCcpLmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgaWYgKHRoaXMuc3RyZXRjaCAmJiBzdmdFbG0/Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzdmcnKSB7XG4gICAgICAgIHN2Z0VsbS5zZXRBdHRyaWJ1dGUoJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAnbm9uZScpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN2Z0VsbTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYyc6IFNiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2tCYSwwQ0FBZ0M7bUJBQVM7Ozs7Ozs7Y0FBekMseUNBQXlDLFlBQVU7OztBQU85QyxTQUFBLHdCQUFBLGtCQUFBLE1BQUEsb0JBQWUsR0FBRTtBQUtqQixTQUFBLDRCQUFBLGtCQUFBLE1BQUEsd0JBQUEsRUFBQSxrQkFBQSxNQUFBLHVCQUFtQixNQUFLO0FBRWhDLFFBQUEsYUFBUyxrQkFBQSxNQUFBLDJCQUFBLEVBQUcsSUFBSSxzQkFBc0IsS0FBSzs7Ozt1QkFUbEQsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLFFBQVEsQ0FBQyxDQUFBOzBCQUkvQixXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBVyxNQUFNO0lBQVMsQ0FBQyxDQUFBO0FBSmxELGdCQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUosT0FBSTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLG9CQUFBLHdCQUFBO0FBS3BCLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVAsVUFBTzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHVCQUFBLDJCQUFBOzs7Ozs7Ozs7QUFYUyxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGlDQUFNLENBQUM7O0VBS25GOztFQUFBLElBQWdCLE9BQUk7QUFBQSxVQUFBLE1BQUE7O0VBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLFNBQUEsd0JBQUE7O0VBS3BCOztFQUFBLElBQWdCLFVBQU87QUFBQSxVQUFBLE1BQUE7O0VBQXZCLElBQWdCLFFBQU8sT0FBQTtBQUFBLFNBQUEsMkJBQUE7O0VBSUosU0FBTTtHQUN2QixNQUFNLFNBQVMsYUFBYSxLQUFLO0FBRWpDLE9BQUksQ0FBQyxRQUFRLE9BQU8sQ0FBQyxRQUFRLFFBQzNCLFFBQU87QUFHVCxVQUFPLElBQUk7ZUFDQSxTQUFTO0lBQ2hCLGVBQWUsQ0FBQyxDQUFDLE9BQU87SUFDeEIsa0JBQWtCLENBQUMsQ0FBQyxPQUFPO0lBQzVCLENBQUMsQ0FBQTs7UUFFQSxPQUFPLFVBQ0wsSUFBSTtvQkFDTSxPQUFPLFdBQVcsR0FBRTs7MEJBRWQsdUJBQXVCLE9BQU8sU0FBUyxLQUFLLFVBQVUsUUFBUSxDQUFBOzBCQUU5RSxJQUFJLEdBQUcsS0FBSyxlQUFlLE9BQU8sSUFBSyxHQUFBOzs7RUFJdkMsZUFBZSxLQUFXO0FBQ2hDLE9BQUksQ0FBQyxVQUFVO0lBQ2IsTUFBTSxTQUFTLElBQUksV0FBVztJQUM5QixNQUFNLFlBQVksT0FBTztJQUN6QixNQUFNLFNBQVMsT0FBTyxnQkFBZ0IsV0FBVyxnQkFBZ0IsQ0FBQztBQUNsRSxRQUFJLEtBQUssV0FBVyxRQUFRLFNBQVMsYUFBYSxLQUFLLE1BQ3JELFFBQU8sYUFBYSx1QkFBdUIsT0FBTztBQUVwRCxXQUFPOztBQUdULFVBQU8ifQ==
|
|
@@ -381,8 +381,8 @@ var SbbSeatReservationNavigationCoachElement = (() => {
|
|
|
381
381
|
`;
|
|
382
382
|
}
|
|
383
383
|
_getTitleDescriptionNavCoachButton(serviceClassNumber) {
|
|
384
|
-
if (this.coachItemDetails.isDriverArea && !this.coachItemDetails.
|
|
385
|
-
if (this.coachItemDetails.
|
|
384
|
+
if (this.coachItemDetails.isDriverArea && !this.coachItemDetails.isLocomotive) return getI18nSeatReservation("NAVIGATE_COACH_BLOCKED", this._language.current, [this.coachItemDetails.id]);
|
|
385
|
+
if (this.coachItemDetails.isLocomotive) return getI18nSeatReservation("COACH_LOCOMOTIVE", this._language.current);
|
|
386
386
|
let label = getI18nSeatReservation("NAVIGATE_TO_COACH", this._language.current, [this.coachItemDetails.id]);
|
|
387
387
|
if (serviceClassNumber) {
|
|
388
388
|
const serviceClassTranslation = getI18nSeatReservation(serviceClassNumber === 1 ? "SERVICE_CLASS_FIRST" : "SERVICE_CLASS_SECOND", this._language.current);
|
|
@@ -425,4 +425,4 @@ var SbbSeatReservationNavigationCoachElement = (() => {
|
|
|
425
425
|
//#endregion
|
|
426
426
|
export { SbbSeatReservationNavigationCoachElement as t };
|
|
427
427
|
|
|
428
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC1Dam9Ea2NWVS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2gvc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucy5zY3NzJyBhcyBzYmItc3ItbWl4aW5zO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLWZ1bmN0aW9ucycgYXMgc2JiLXNyLWZ1bmN0aW9ucztcblxuJGRpc2FibGVkOiAnW2Rpc2FibGVkXSwgOmRpc2FibGVkJztcblxuOmhvc3Qge1xuICAvLyBmaXhlcyB0aGUga2V5Ym9hcmQgZm9jdXMgYm9yZGVyIHdoaWNoIHdhcyBjdXQgb2ZmIGR1ZSB0byBtaXNzaW5nIG5hdmlnYXRpb24gc2VydmljZSBpY29uc1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKFxuICAgIDQ0XG4gICk7IC8vIGRlZmF1bHQgYnV0dG9uIGhlaWdodCAoMzZweCkgKyAyICogNHB4IGZvY3VzIG91dGxpbmUgb2Zmc2V0XG5cbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXRyYXZlbGNsYXNzLXNwYWNpbmc6IDEwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci13aWR0aC1kZWZhdWx0OiAxO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci13aWR0aDogdmFyKFxuICAgIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLXdpZHRoLWRlZmF1bHRcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1ib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLFxuICAgIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSlcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci13aGl0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKVxuICApO1xuXG4gIC8vIHNlbGVjdGVkIHN0YXRlIHZhcmlhYmxlc1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci13aWR0aC1zZWxlY3RlZDogMjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yLXNlbGVjdGVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1taWxrKSxcbiAgICB2YXIoLS1zYmItY29sb3ItaXJvbilcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1ib3JkZXItY29sb3Itc2VsZWN0ZWQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG5cbiAgLy8gZm9jdXMgc3RhdGUgdmFyaWFibGVzXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tb3V0bGluZS13aWR0aC1mb2N1c2VkOiAxO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLW91dGxpbmUtY29sb3ItZm9jdXNlZDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spLFxuICAgIHZhcigtLXNiYi1jb2xvci13aGl0ZSlcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1vdXRsaW5lLW9mZnNldC1mb2N1c2VkOiA0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJhY2tncm91bmQtY29sb3ItZm9jdXNlZDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpLFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjaylcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1ib3JkZXItd2lkdGgtZm9jdXNlZDogdmFyKFxuICAgIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLXdpZHRoXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLWNvbG9yLWZvY3VzZWQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG5cbiAgLy8gaG92ZXIgc3RhdGUgdmFyaWFibGVzXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLXdpZHRoLWhvdmVyZWQ6IDI7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYmFja2dyb3VuZC1jb2xvci1ob3ZlcmVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1jbG91ZCksXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pZG5pZ2h0KVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci1jb2xvci1ob3ZlcmVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuXG4gIC8vIGRpc2FibGUgc3RhdGUgdmFyaWFibGVzXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYmFja2dyb3VuZC1jb2xvci1kaXNhYmxlZDogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMik7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLWNvbG9yLWRpc2FibGVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1wbGF0aW51bSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLWlyb24pXG4gICk7XG59XG5cbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oOCk7XG4gIHdpZHRoOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg4MCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmLmZpcnN0LWNvYWNoLFxuICAmLmxhc3QtY29hY2gge1xuICAgIC5zYmItc3ItbmF2aWdhdGlvbi0tZmlyc3QtY2xhc3Mge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDE4KSk7XG4gICAgfVxuICB9XG5cbiAgJi5maXJzdC1jb2FjaCB7XG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbjpub3QoLnNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tZHJpdmVyLWFyZWEpIHtcbiAgICAgIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcig4LCAyLCAyLCA4KTtcbiAgICB9XG5cbiAgICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKFxuICAgICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXRyYXZlbGNsYXNzLXNwYWNpbmcpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICYubGFzdC1jb2FjaCB7XG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbjpub3QoLnNiYi1zci1uYXZpZ2F0aW9uLWRyaXZlci1hcmVhKSB7XG4gICAgICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnZpc3VhbGl6ZS1jb2FjaC1ib3JkZXIoMiwgOCwgOCwgMik7XG4gICAgfVxuXG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uX19hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oXG4gICAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tdHJhdmVsY2xhc3Mtc3BhY2luZylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uLS1maXJzdC1jbGFzcyB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oXG4gICAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tdHJhdmVsY2xhc3Mtc3BhY2luZylcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8vIHNhbWUgZm9yIGFsbCBzdGF0ZXNcbi5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmIuYnV0dG9uLXJlc2V0O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDM2KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuXG4gICYuc2JiLXNyLW5hdmlnYXRpb24tZHJpdmVyLWFyZWEge1xuICAgIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcig4LCA4LCA4LCA4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcigyLCAyLCAyLCAyKTtcbn1cblxuLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1mb2N1c2VkIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnN0eWxlLWNvYWNoLWJ5LXN0YXRlKCdmb2N1c2VkJyk7XG5cbiAgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLXRyYXZlbGNsYXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1tZXRhbCksIHZhcigtLXNiYi1jb2xvci1zdG9ybSkpO1xuICB9XG5cbiAgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlciB7XG4gICAgY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWFudGhyYWNpdGUpLCB2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpKTtcbiAgfVxufVxuXG4vLyBzZWxlY3RlZCwgaS5lLiB0aGUgY29hY2ggd2l0aGluIHRoZSB0cmFpbiBpcyBzZWxlY3RlZCAoRklHTUEgU3RhdGU6U2VsZWN0ZWQpXG4uc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLXNlbGVjdGVkIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnN0eWxlLWNvYWNoLWJ5LXN0YXRlKCdzZWxlY3RlZCcpO1xuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItYmxhY2spLCB2YXIoLS1zYmItY29sb3Itd2hpdGUpKTtcbiAgfVxuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC1udW1iZXIge1xuICAgIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ibGFjayksIHZhcigtLXNiYi1jb2xvci13aGl0ZSkpO1xuICB9XG59XG5cbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC0taG92ZXJlZCAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uIHtcbiAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy5zdHlsZS1jb2FjaC1ieS1zdGF0ZSgnaG92ZXJlZCcpO1xufVxuXG4uc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLXNlbGVjdGVkLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1ob3ZlcmVkXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnN0eWxlLWNvYWNoLWJ5LXN0YXRlKCdzZWxlY3RlZCcpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJhY2tncm91bmQtY29sb3ItaG92ZXJlZCkgIWltcG9ydGFudDtcbn1cblxuLy8gc2VsZWN0ZWQgQU5EIGZvY3VzIChGSUdNQSBTdGF0ZTpTZWxlY3RlZCArIEZvY3VzZWQpXG4vLyBiYWNrZ3JvdW5kLWNvbG9yIGZyb20gc2VsZWN0ZWQgU3RhdGUgaGFzIG1vcmUgc3BlY2lmaWNpdHksIHNvIHdlIG5lZWQgdG8gb3ZlcnJpZGUgaXQgaGVyZSAoYWdhaW4pXG4uc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLXNlbGVjdGVkXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b246Zm9jdXMtdmlzaWJsZTpub3QoI3skZGlzYWJsZWR9KSB7XG4gIEBpbmNsdWRlIHNiYi1zci1taXhpbnMuc3R5bGUtY29hY2gtYnktc3RhdGUoJ3NlbGVjdGVkJyk7XG59XG5cbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC0taG92ZXJlZCAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uIHtcbiAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy5zdHlsZS1jb2FjaC1ieS1zdGF0ZSgnaG92ZXJlZCcpO1xufVxuXG4vLyBob3ZlciAoRklHTUEgU3RhdGU6aG92ZXIpXG4uc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uOmhvdmVyOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy5zdHlsZS1jb2FjaC1ieS1zdGF0ZSgnaG92ZXJlZCcpO1xuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgfVxuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC1udW1iZXIge1xuICAgIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1pcm9uKSwgdmFyKC0tc2JiLWNvbG9yLXNpbHZlcikpO1xuICB9XG59XG5cbi8vIGRpc2FibGVkIChGSUdNQSBTdGF0ZTpkaXNhYmxlZClcbi5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b246aXMoI3skZGlzYWJsZWR9KSB7XG4gIEBpbmNsdWRlIHNiYi1zci1taXhpbnMuc3R5bGUtY29hY2gtYnktc3RhdGUoJ2Rpc2FibGVkJyk7XG5cbiAgY3Vyc29yOiB1bnNldDtcbiAgcG9pbnRlci1ldmVudHM6IHVuc2V0O1xuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpLCB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSkpO1xuICB9XG5cbiAgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlciB7XG4gICAgY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpKTtcbiAgfVxufVxuXG4uc2JiLXNyLW5hdmlnYXRpb25fX2FkZGl0aW9uYWwtaW5mb3JtYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDE7XG4gIGNvbHVtbi1nYXA6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDgpO1xuICBwYWRkaW5nLWlubGluZTogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oMTYpO1xuICBmb250LWZhbWlseTogdmFyKC0tc2JiLXR5cG8tZm9udC1mYW1pbHkpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIGNvbG9yOiB2YXIoLS1zYmItY29sb3ItbWlsayk7XG4gIH1cbn1cblxuLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlciB7XG4gIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG4gIH1cblxuICAuc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtdHJhdmVsY2xhc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTItaW52ZXJ0ZWQpO1xuICB9XG59XG5cbi8vIGdyYXBoaWNhbCBvcmllbnRhdGlvbiBvZiBGSVJTVCBjbGFzc1xuLnNiYi1zci1uYXZpZ2F0aW9uLS1maXJzdC1jbGFzcyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg4KSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDMpO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDQpO1xuXG4gIC8vIHVzZSBib3JkZXIgaW5zdGVhZCBvZiBoZWlnaHQgdG8gc3VwcG9ydCBmb3JjZS1jb2xvciBtb2Rlc1xuICBib3JkZXI6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0xeCk7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLWxlbW9uKTtcbn1cblxuLy8gdGV4dHVhbCBvcmllbnRhdGlvbiBvZiB0cmF2ZWwgY2xhc3Ncbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgyMCk7XG4gIG1pbi13aWR0aDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oMjApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0xeCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSkpO1xuICBjb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3Itd2hpdGUpLCB2YXIoLS1zYmItY29sb3ItYmxhY2spKTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZDtcbiAgfVxufVxuXG4vLyAjIyMjIyMjIyMjIyMjIyMjIFZFUlRJQ0FMIE1PREUgc2V0dGluZ3MgIyMjIyMjIyMjIyMjIyMjI1xuOmhvc3QoW3ZlcnRpY2FsXSkgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgaGVpZ2h0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg4MCk7XG4gICAgbWluLXdpZHRoOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgzNik7XG4gIH1cblxuICAuc2JiLXNyLW5hdmlnYXRpb25fX2FkZGl0aW9uYWwtaW5mb3JtYXRpb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLWJsb2NrOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgxNik7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHVuc2V0O1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdW5zZXQ7XG4gIH1cblxuICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDgpKTtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgzKTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oNCk7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBpbml0aWFsO1xuICB9XG5cbiAgJi5maXJzdC1jb2FjaCxcbiAgJi5sYXN0LWNvYWNoIHtcbiAgICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oMTgpKTtcbiAgICB9XG4gIH1cblxuICAvLyBoYW5kbGUgYm9yZGVyLXJhZGl1c1xuICAmLmZpcnN0LWNvYWNoOm5vdCgubGFzdC1jb2FjaCkge1xuICAgIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b246bm90KC5zYmItc3ItbmF2aWdhdGlvbi1kcml2ZXItYXJlYSkge1xuICAgICAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy52aXN1YWxpemUtY29hY2gtYm9yZGVyKDgsIDgsIDIsIDIpO1xuICAgIH1cblxuICAgIC5zYmItc3ItbmF2aWdhdGlvbi0tZmlyc3QtY2xhc3Mge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbShcbiAgICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi10cmF2ZWxjbGFzcy1zcGFjaW5nKVxuICAgICAgKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJi5sYXN0LWNvYWNoOm5vdCguZmlyc3QtY29hY2gpIHtcbiAgICAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uOm5vdCguc2JiLXNyLW5hdmlnYXRpb24tZHJpdmVyLWFyZWEpIHtcbiAgICAgIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcigyLCAyLCA4LCA4KTtcbiAgICB9XG5cbiAgICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKFxuICAgICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXRyYXZlbGNsYXNzLXNwYWNpbmcpXG4gICAgICApO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJpdmVyIGFyZWFcbiAgLnNiYi1zci1uYXZpZ2F0aW9uLWRyaXZlci1hcmVhIHtcbiAgICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDgwKTtcbiAgICBtaW4td2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDM2KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzJztcblxuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdGlvbnMudHMnO1xuaW1wb3J0IHR5cGUgeyBDb2FjaEl0ZW1EZXRhaWxzIH0gZnJvbSAnLi4vY29tbW9uL3R5cGVzLnRzJztcbmltcG9ydCB7IFNiYlNlYXRSZXNlcnZhdGlvbk5hdmlnYXRpb25TZXJ2aWNlc0VsZW1lbnQgfSBmcm9tICcuLi9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXMvc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC5zY3NzP2lubGluZSc7XG5cbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuU2JiU2VhdFJlc2VydmF0aW9uTmF2aWdhdGlvblNlcnZpY2VzRWxlbWVudC5kZWZpbmUoKTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0Q29hY2hFdmVudERldGFpbHMgPSBudW1iZXI7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgd2lsbCBkaXNwbGF5IHRoZSBuYXZpZ2F0aW9uIGNvYWNoIGl0ZW0gZm9yIFNlYXQgcmVzZXJ2YXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uQ29hY2hFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdGNvYWNoOiAnc2VsZWN0Y29hY2gnLFxuICAgIGZvY3VzY29hY2g6ICdmb2N1c2NvYWNoJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogU2VsZWN0IGNvYWNoIHByb3BlcnR5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBGb2N1cyBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIb3ZlciBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBOYXRpdmUgZm9jdXMgZm9yIHRoaXMgbmF2aWdhdGlvbiBjb2FjaCBpcyBhbHNvIHNldCB3aGVuIHRoZSBmb2N1c2VkIHByb3BlcnR5IGlzIGNoYW5nZWQgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIG5hdGl2ZUZvY3VzQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbmRleDogbnVtYmVyID0gMDtcblxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjb2FjaC1pdGVtLWRldGFpbHMnLCB0eXBlOiBPYmplY3QgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSXRlbURldGFpbHM6IENvYWNoSXRlbURldGFpbHMgPSA8Q29hY2hJdGVtRGV0YWlscz57fTtcblxuICAvKiogRGlzYWJsZSB0aGUgY29hY2ggbmF2aWdhdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZScsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSWYgdGhlIGNvYWNoIG5hdmlnYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCB2ZXJ0aWNhbGx5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlLCB1c2VEZWZhdWx0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB2ZXJ0aWNhbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBtb3VzZSBvdmVyIHRpdGxlIGluZm9ybWF0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaG93VGl0bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2VsZWN0ZWQnKSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbicsXG4gICAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgJiYgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzQWN0aXZlKSB7XG4gICAgICAgICAgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgLyoqIEVtaXRzIHdoZW4gYSBuYXYgY29hY2ggaGFzIHRoZSBmb2N1cyAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb2N1c2NvYWNoJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9jdXNlZCcpICYmIHRoaXMuZm9jdXNlZCkge1xuICAgICAgY29uc3QgZm9jdXNlZE5hdkJ1dHRvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uJyxcbiAgICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICAgIGlmIChmb2N1c2VkTmF2QnV0dG9uRWxlbWVudCAmJiB0aGlzLm5hdGl2ZUZvY3VzQWN0aXZlKSB7XG4gICAgICAgIGZvY3VzZWROYXZCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciBhIGxpc3Qgb2Ygc2VydmljZSBpY29ucyBwcm92aWRlZCBieSBhIGNhbGxlclxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgICAnc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gnOiB0cnVlLFxuICAgICAgICAgICdsYXN0LWNvYWNoJzogdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmRyaXZlckFyZWFTaWRlPy5yaWdodCB8fCBmYWxzZSxcbiAgICAgICAgICAnZmlyc3QtY29hY2gnOiB0aGlzLmNvYWNoSXRlbURldGFpbHMuZHJpdmVyQXJlYVNpZGU/LmxlZnQgfHwgZmFsc2UsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1zZWxlY3RlZCc6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1mb2N1c2VkJzogdGhpcy5mb2N1c2VkLFxuICAgICAgICAgICdzYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC0taG92ZXJlZCc6IHRoaXMuaG92ZXJlZCxcbiAgICAgICAgfSl9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9nZXROYXZpZ2F0aW9uQnV0dG9uKCl9XG4gICAgICAgICR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnByb3BlcnR5SWRzPy5sZW5ndGhcbiAgICAgICAgICA/IGh0bWxgPHNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXNcbiAgICAgICAgICAgICAgP3ZlcnRpY2FsPVwiJHt0aGlzLnZlcnRpY2FsfVwiXG4gICAgICAgICAgICAgIC5wcm9wZXJ0eUlkcz1cIiR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnByb3BlcnR5SWRzfVwiXG4gICAgICAgICAgICAgID9zaG93VGl0bGVJbmZvPVwiJHt0aGlzLnNob3dUaXRsZUluZm99XCJcbiAgICAgICAgICAgID48L3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXM+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXROYXZpZ2F0aW9uQnV0dG9uKCk6IFRlbXBsYXRlUmVzdWx0IHwgbnVsbCB7XG4gICAgY29uc3QgY3VyclNlcnZpY2VDbGFzc051bWJlciA9IHRoaXMuX2dldENvYWNoU2VydmljZUNsYXNzTnVtYmVyKCk7XG4gICAgY29uc3QgdGl0bGVEZXNjcmlwdGlvbk5hdkNvYWNoQnV0dG9uID1cbiAgICAgIHRoaXMuX2dldFRpdGxlRGVzY3JpcHRpb25OYXZDb2FjaEJ1dHRvbihjdXJyU2VydmljZUNsYXNzTnVtYmVyKTtcbiAgICBjb25zdCBhcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzID0gdGhpcy5fZ2V0QXJpYURlc2NyaXB0aW9uQ29hY2hTZXJ2aWNlcygpO1xuXG4gICAgcmV0dXJuIGh0bWxgIDxidXR0b25cbiAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX3NlbGVjdE5hdkNvYWNoKHRoaXMuaW5kZXgpfVxuICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbic6IHRydWUsXG4gICAgICAgICdzYmItc3ItbmF2aWdhdGlvbi1kcml2ZXItYXJlYSc6IHRoaXMuY29hY2hJdGVtRGV0YWlscy5pc0RyaXZlckFyZWEsXG4gICAgICB9KX1cIlxuICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGV9XCJcbiAgICAgIHRpdGxlPVwiJHt0aGlzLnNob3dUaXRsZUluZm8gPyB0aXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24gOiBub3RoaW5nfVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJuYXYtY29hY2gtc2VydmljZS1kZXNjcmlwdGlvbnMtJHt0aGlzLmluZGV4fVwiXG4gICAgPlxuICAgICAgJHt0aGlzLl9nZXRCdG5JbmZvcm1hdGlvbihjdXJyU2VydmljZUNsYXNzTnVtYmVyKX1cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwibmF2LWNvYWNoLXNlcnZpY2UtZGVzY3JpcHRpb25zLSR7dGhpcy5pbmRleH1cIj5cbiAgICAgICAgJHshdGhpcy5zaG93VGl0bGVJbmZvID8gaHRtbGA8ZGl2PiR7dGl0bGVEZXNjcmlwdGlvbk5hdkNvYWNoQnV0dG9ufTwvZGl2PmAgOiBub3RoaW5nfVxuICAgICAgICAke2FyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXMgPyBodG1sYDxkaXY+JHthcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzfTwvZGl2PmAgOiBub3RoaW5nfVxuICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIDwvYnV0dG9uPmA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRCdG5JbmZvcm1hdGlvbihzZXJ2aWNlQ2xhc3NOdW1iZXI6IG51bWJlciB8IG51bGwpOiBUZW1wbGF0ZVJlc3VsdCB8IG51bGwge1xuICAgIGlmICh0aGlzLmNvYWNoSXRlbURldGFpbHMuaXNEcml2ZXJBcmVhKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyID09PSAxXG4gICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uLS1maXJzdC1jbGFzc1wiPjwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnRyYXZlbENsYXNzPy5sZW5ndGggPiAwIHx8IHRoaXMuY29hY2hJdGVtRGV0YWlscy5pZFxuICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19hZGRpdGlvbmFsLWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAke3RoaXMuY29hY2hJdGVtRGV0YWlscy5pZFxuICAgICAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLmNvYWNoSXRlbURldGFpbHMuaWR9XG4gICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtdHJhdmVsY2xhc3NcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke3NlcnZpY2VDbGFzc051bWJlcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUaXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24oc2VydmljZUNsYXNzTnVtYmVyOiBudW1iZXIgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvYWNoSXRlbURldGFpbHMuaXNEcml2ZXJBcmVhICYmXG4gICAgICAhdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmRyaXZlckFyZWFFbGVtZW50cz8uZHJpdmVyQXJlYU5vVmVydGljYWxXYWxsXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0STE4blNlYXRSZXNlcnZhdGlvbignTkFWSUdBVEVfQ09BQ0hfQkxPQ0tFRCcsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsIFtcbiAgICAgICAgdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmlkLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29hY2hJdGVtRGV0YWlscy5kcml2ZXJBcmVhRWxlbWVudHM/LmRyaXZlckFyZWFOb1ZlcnRpY2FsV2FsbCkge1xuICAgICAgcmV0dXJuIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ0NPQUNIX0xPQ09NT1RJVkUnLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KTtcbiAgICB9XG5cbiAgICBsZXQgbGFiZWwgPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdOQVZJR0FURV9UT19DT0FDSCcsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsIFtcbiAgICAgIHRoaXMuY29hY2hJdGVtRGV0YWlscy5pZCxcbiAgICBdKTtcblxuICAgIC8vSWYgc2VydmljZSBjbGFzcyBleGlzdCwgdGhlbiBleHBhbmQgbGFiZWwgd2l0aCBzZXJ2aWNlIGNsYXNzIHRyYW5zbGF0aW9uXG4gICAgaWYgKHNlcnZpY2VDbGFzc051bWJlcikge1xuICAgICAgY29uc3Qgc2VydmljZUNsYXNzVHJhbnNsYXRpb25LZXkgPVxuICAgICAgICBzZXJ2aWNlQ2xhc3NOdW1iZXIgPT09IDEgPyAnU0VSVklDRV9DTEFTU19GSVJTVCcgOiAnU0VSVklDRV9DTEFTU19TRUNPTkQnO1xuICAgICAgY29uc3Qgc2VydmljZUNsYXNzVHJhbnNsYXRpb24gPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKFxuICAgICAgICBzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbktleSxcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzZXJ2aWNlQ2xhc3NMYWJlbCA9IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oXG4gICAgICAgICdOQVZJR0FURV9UT19DT0FDSF9TRVJWSUNFX0NMQVNTX1NVQicsXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsXG4gICAgICAgIFtzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbl0sXG4gICAgICApO1xuICAgICAgbGFiZWwgPSBsYWJlbC5jb25jYXQoc2VydmljZUNsYXNzTGFiZWwpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZHMgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgc2VhdHMgYW5kIGJpY3ljbGUgc3BhY2VzIGFzIGluZm9cbiAgICBjb25zdCBmcmVlUGxhY2VzVHh0ID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbihcbiAgICAgICdDT0FDSF9BVkFJTEFCTEVfTlVNQkVSX09GX1BMQUNFUycsXG4gICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LFxuICAgICAgW3RoaXMuY29hY2hJdGVtRGV0YWlscy5mcmVlUGxhY2VzPy5zZWF0cywgdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmZyZWVQbGFjZXM/LmJpY3ljbGVzXSxcbiAgICApO1xuICAgIGxhYmVsID0gbGFiZWwuY29uY2F0KCcuICcpLmNvbmNhdChmcmVlUGxhY2VzVHh0KTtcbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGxldCBhcmlhRGVzY3JpcHRpb24gPSBudWxsO1xuICAgIGlmICh0aGlzLmNvYWNoSXRlbURldGFpbHMucHJvcGVydHlJZHM/Lmxlbmd0aCkge1xuICAgICAgYXJpYURlc2NyaXB0aW9uID1cbiAgICAgICAgZ2V0STE4blNlYXRSZXNlcnZhdGlvbignQ09BQ0hfQVZBSUxBQkxFX1NFUlZJQ0VTJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkgKyAnOiAnO1xuICAgICAgYXJpYURlc2NyaXB0aW9uICs9XG4gICAgICAgIHRoaXMuY29hY2hJdGVtRGV0YWlscy5wcm9wZXJ0eUlkc1xuICAgICAgICAgIC5tYXAoKHByb3BlcnR5SWQpID0+IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24ocHJvcGVydHlJZCwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkpXG4gICAgICAgICAgLmpvaW4oKSArICcuJztcbiAgICB9XG4gICAgcmV0dXJuIGFyaWFEZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBlbWl0cyB0aGUgaW5kZXggb2YgdGhlIGNvYWNoIGFycmF5IGZvciB0aGUgbWFpbiBuYXZpZ2F0aW9uLlxuICAgKiBAcGFyYW0gY29hY2hJbmRleFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc2VsZWN0TmF2Q29hY2goY29hY2hJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogQHR5cGUge0N1c3RvbUV2ZW50PFNlbGVjdENvYWNoRXZlbnREZXRhaWxzPn1cbiAgICAgKiBFbWl0cyB3aGVuIGEgY29hY2ggd2l0aGluIHRoZSBuYXZpZ2F0aW9uIHdhcyBzZWxlY3RlZCBhbmQgcmV0dXJucyB0aGUgY2xpY2tlZCBjb2FjaCBuYXYgaW5kZXguXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50PFNlbGVjdENvYWNoRXZlbnREZXRhaWxzPignc2VsZWN0Y29hY2gnLCB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICBkZXRhaWw6IGNvYWNoSW5kZXgsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29hY2hTZXJ2aWNlQ2xhc3NOdW1iZXIoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29hY2hJdGVtRGV0YWlscy50cmF2ZWxDbGFzcz8uaW5jbHVkZXMoJ0ZJUlNUJylcbiAgICAgID8gMVxuICAgICAgOiB0aGlzLmNvYWNoSXRlbURldGFpbHMudHJhdmVsQ2xhc3M/LmluY2x1ZGVzKCdTRUNPTkQnKVxuICAgICAgICA/IDJcbiAgICAgICAgOiBudWxsO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoJzogU2JiU2VhdFJlc2VydmF0aW9uTmF2aWdhdGlvbkNvYWNoRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUN1QkEsNENBQTRDLFFBQVE7Ozs7SUFPdkMsa0RBQXdDO21CQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBQWpELGlEQUFpRCxZQUFVOzs7QUFXdEQsU0FBQSw0QkFBQSxrQkFBQSxNQUFBLHdCQUFvQixNQUFLO0FBS3pCLFNBQUEsNEJBQUEsa0JBQUEsTUFBQSw0QkFBQSxFQUFBLGtCQUFBLE1BQUEsdUJBQW1CLE1BQUs7QUFLeEIsU0FBQSw0QkFBQSxrQkFBQSxNQUFBLDJCQUFBLEVBQUEsa0JBQUEsTUFBQSx1QkFBbUIsTUFBSztBQUt4QixTQUFBLHNDQUFBLGtCQUFBLE1BQUEsMkJBQUEsRUFBQSxrQkFBQSxNQUFBLGlDQUE2QixLQUFJO0FBSWpDLFNBQUEsMEJBQUEsa0JBQUEsTUFBQSxxQ0FBQSxFQUFBLGtCQUFBLE1BQUEscUJBQWdCLEVBQUM7QUFHakIsU0FBQSxxQ0FBQSxrQkFBQSxNQUFBLHlCQUFBLEVBQUEsa0JBQUEsTUFBQSxnQ0FBdUQsRUFBRSxDQUFBO0FBS3pELFNBQUEsNEJBQUEsa0JBQUEsTUFBQSxvQ0FBQSxFQUFBLGtCQUFBLE1BQUEsdUJBQW1CLE1BQUs7QUFLeEIsU0FBQSw2QkFBQSxrQkFBQSxNQUFBLDJCQUFBLEVBQUEsa0JBQUEsTUFBQSx3QkFBb0IsTUFBSztBQUt6QixTQUFBLGtDQUFBLGtCQUFBLE1BQUEsNEJBQUEsRUFBQSxrQkFBQSxNQUFBLDZCQUF5QixNQUFLO0FBRXRDLFFBQUEsYUFBUyxrQkFBQSxNQUFBLGlDQUFBLEVBQUcsSUFBSSxzQkFBc0IsS0FBSzs7OzsyQkF6Q2xELFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQTswQkFJM0IsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBOzBCQUkzQixXQUFXLEVBQ1gsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUE7b0NBSTNCLFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQTt3QkFHM0IsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQyxDQUFBO21DQUcxQixTQUFTO0lBQUUsV0FBVztJQUFzQixNQUFNO0lBQVEsQ0FBQyxDQUFBOzBCQUkzRCxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBVyxNQUFNO0lBQVMsQ0FBQyxDQUFBOzJCQUlqRCxXQUFXLEVBQ1gsU0FBUztJQUFFLE1BQU07SUFBUyxTQUFTO0lBQU0sWUFBWTtJQUFNLENBQUMsQ0FBQTtnQ0FJNUQsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO0FBcEM1QixnQkFBQSxNQUFBLE1BQUEsc0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxjQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFSLFdBQVE7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx3QkFBQSw0QkFBQTtBQUt4QixnQkFBQSxNQUFBLE1BQUEscUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxhQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU8sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFQLFVBQU87O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx1QkFBQSwyQkFBQTtBQUt2QixnQkFBQSxNQUFBLE1BQUEscUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxhQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU8sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFQLFVBQU87O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx1QkFBQSwyQkFBQTtBQUt2QixnQkFBQSxNQUFBLE1BQUEsK0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSx1QkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFpQixNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWpCLG9CQUFpQjs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLGlDQUFBLHFDQUFBO0FBSWpDLGdCQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBO0FBR3JCLGdCQUFBLE1BQUEsTUFBQSw4QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHNCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWdCLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBaEIsbUJBQWdCOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsZ0NBQUEsb0NBQUE7QUFLaEMsZ0JBQUEsTUFBQSxNQUFBLHFCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsYUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFPLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUCxVQUFPOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsdUJBQUEsMkJBQUE7QUFLdkIsZ0JBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7QUFLeEIsZ0JBQUEsTUFBQSxNQUFBLDJCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsbUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBYSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWIsZ0JBQWE7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSw2QkFBQSxpQ0FBQTs7Ozs7Ozs7O0FBL0NHLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsMENBQU0sQ0FBQzs7O0FBQzVELFFBQUEsU0FBUztJQUM5QixhQUFhO0lBQ2IsWUFBWTtJQUNKOztFQUtWOztFQUFBLElBQWdCLFdBQVE7QUFBQSxVQUFBLE1BQUE7O0VBQXhCLElBQWdCLFNBQVEsT0FBQTtBQUFBLFNBQUEsNEJBQUE7O0VBS3hCOztFQUFBLElBQWdCLFVBQU87QUFBQSxVQUFBLE1BQUE7O0VBQXZCLElBQWdCLFFBQU8sT0FBQTtBQUFBLFNBQUEsMkJBQUE7O0VBS3ZCOztFQUFBLElBQWdCLFVBQU87QUFBQSxVQUFBLE1BQUE7O0VBQXZCLElBQWdCLFFBQU8sT0FBQTtBQUFBLFNBQUEsMkJBQUE7O0VBS3ZCOztFQUFBLElBQWdCLG9CQUFpQjtBQUFBLFVBQUEsTUFBQTs7RUFBakMsSUFBZ0Isa0JBQWlCLE9BQUE7QUFBQSxTQUFBLHFDQUFBOztFQUlqQztFQUFBLElBQWdCLFFBQUs7QUFBQSxVQUFBLE1BQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtBQUFBLFNBQUEseUJBQUE7O0VBR3JCO0VBQUEsSUFBZ0IsbUJBQWdCO0FBQUEsVUFBQSxNQUFBOztFQUFoQyxJQUFnQixpQkFBZ0IsT0FBQTtBQUFBLFNBQUEsb0NBQUE7O0VBS2hDOztFQUFBLElBQWdCLFVBQU87QUFBQSxVQUFBLE1BQUE7O0VBQXZCLElBQWdCLFFBQU8sT0FBQTtBQUFBLFNBQUEsMkJBQUE7O0VBS3ZCOztFQUFBLElBQWdCLFdBQVE7QUFBQSxVQUFBLE1BQUE7O0VBQXhCLElBQWdCLFNBQVEsT0FBQTtBQUFBLFNBQUEsNEJBQUE7O0VBS3hCOztFQUFBLElBQWdCLGdCQUFhO0FBQUEsVUFBQSxNQUFBOztFQUE3QixJQUFnQixjQUFhLE9BQUE7QUFBQSxTQUFBLGlDQUFBOztFQUlWLFdBQVcsbUJBQXVDO0FBQ25FLFNBQU0sV0FBVyxrQkFBa0I7QUFFbkMsT0FBSSxrQkFBa0IsSUFBSSxXQUFXLEVBQUU7SUFDckMsTUFBTSwyQkFBMkIsS0FBSyxZQUFZLGNBQ2hELGtDQUNvQjtBQUN0QixRQUFJLEtBQUssWUFBWSwwQkFBMEI7QUFDN0MsU0FBSSxLQUFLLGtCQUNQLDBCQUF5QixPQUFPOztBQUdsQyxVQUFLLGNBQWMsSUFBSSxNQUFNLGNBQWM7TUFBRSxTQUFTO01BQU0sVUFBVTtNQUFNLENBQUMsQ0FBQzs7O0FBSWxGLE9BQUksa0JBQWtCLElBQUksVUFBVSxJQUFJLEtBQUssU0FBUztJQUNwRCxNQUFNLDBCQUEwQixLQUFLLFlBQVksY0FDL0Msa0NBQ29CO0FBRXRCLFFBQUksMkJBQTJCLEtBQUssa0JBQ2xDLHlCQUF3QixPQUFPOzs7Ozs7OztFQVVsQixTQUFNO0FBQ3ZCLFVBQU8sSUFBSTs7aUJBRUUsU0FBUztJQUNoQixpQ0FBaUM7SUFDakMsY0FBYyxLQUFLLGlCQUFpQixnQkFBZ0IsU0FBUztJQUM3RCxlQUFlLEtBQUssaUJBQWlCLGdCQUFnQixRQUFRO0lBQzdELDJDQUEyQyxLQUFLO0lBQ2hELDBDQUEwQyxLQUFLO0lBQy9DLDBDQUEwQyxLQUFLO0lBQ2hELENBQUMsQ0FBQTs7VUFFQSxLQUFLLHNCQUFzQixDQUFBO1VBQzNCLEtBQUssaUJBQWlCLGFBQWEsU0FDakMsSUFBSTsyQkFDVyxLQUFLLFNBQVE7OEJBQ1YsS0FBSyxpQkFBaUIsWUFBVztnQ0FDL0IsS0FBSyxjQUFhOzREQUV0QyxRQUFBOzs7O0VBS0YsdUJBQW9CO0dBQzFCLE1BQU0seUJBQXlCLEtBQUssNkJBQTZCO0dBQ2pFLE1BQU0saUNBQ0osS0FBSyxtQ0FBbUMsdUJBQXVCO0dBQ2pFLE1BQU0sK0JBQStCLEtBQUssa0NBQWtDO0FBRTVFLFVBQU8sSUFBSTtxQkFDTSxLQUFLLGdCQUFnQixLQUFLLE1BQU0sQ0FBQTtlQUN0QyxTQUFTO0lBQ2hCLGtDQUFrQztJQUNsQyxpQ0FBaUMsS0FBSyxpQkFBaUI7SUFDeEQsQ0FBQyxDQUFBO21CQUNXLEtBQUssUUFBTztlQUNoQixLQUFLLGdCQUFnQixpQ0FBaUMsUUFBTzs7eURBRW5CLEtBQUssTUFBSzs7UUFFM0QsS0FBSyxtQkFBbUIsdUJBQXVCLENBQUE7bUVBQ1ksS0FBSyxNQUFLO1VBQ25FLENBQUMsS0FBSyxnQkFBZ0IsSUFBSSxRQUFRLCtCQUE4QixVQUFXLFFBQUE7VUFDM0UsK0JBQStCLElBQUksUUFBUSw2QkFBNEIsVUFBVyxRQUFBOzs7O0VBS2xGLG1CQUFtQixvQkFBaUM7QUFDMUQsT0FBSSxLQUFLLGlCQUFpQixhQUN4QixRQUFPO0FBR1QsVUFBTyxJQUFJO1FBQ1AsdUJBQXVCLElBQ3JCLElBQUkseURBQ0osUUFBQTtRQUNGLEtBQUssaUJBQWlCLGFBQWEsU0FBUyxLQUFLLEtBQUssaUJBQWlCLEtBQ3JFLElBQUk7Y0FDQSxLQUFLLGlCQUFpQixLQUNwQixJQUFJO29CQUNBLEtBQUssaUJBQWlCLEdBQUE7MEJBRTFCLFFBQUE7O2dCQUVBLHNCQUFzQixRQUFBOzs7O2dCQUl0QixtQkFBQTs7b0JBR04sUUFBQTs7O0VBSUEsbUNBQW1DLG9CQUFpQztBQUMxRSxPQUNFLEtBQUssaUJBQWlCLGdCQUN0QixDQUFDLEtBQUssaUJBQWlCLG9CQUFvQix5QkFFM0MsUUFBTyx1QkFBdUIsMEJBQTBCLEtBQUssVUFBVSxTQUFTLENBQzlFLEtBQUssaUJBQWlCLEdBQ3ZCLENBQUM7QUFHSixPQUFJLEtBQUssaUJBQWlCLG9CQUFvQix5QkFDNUMsUUFBTyx1QkFBdUIsb0JBQW9CLEtBQUssVUFBVSxRQUFRO0dBRzNFLElBQUksUUFBUSx1QkFBdUIscUJBQXFCLEtBQUssVUFBVSxTQUFTLENBQzlFLEtBQUssaUJBQWlCLEdBQ3ZCLENBQUM7QUFHRixPQUFJLG9CQUFvQjtJQUd0QixNQUFNLDBCQUEwQix1QkFEOUIsdUJBQXVCLElBQUksd0JBQXdCLHdCQUduRCxLQUFLLFVBQVUsUUFDaEI7SUFDRCxNQUFNLG9CQUFvQix1QkFDeEIsdUNBQ0EsS0FBSyxVQUFVLFNBQ2YsQ0FBQyx3QkFBd0IsQ0FDMUI7QUFDRCxZQUFRLE1BQU0sT0FBTyxrQkFBa0I7O0dBSXpDLE1BQU0sZ0JBQWdCLHVCQUNwQixvQ0FDQSxLQUFLLFVBQVUsU0FDZixDQUFDLEtBQUssaUJBQWlCLFlBQVksT0FBTyxLQUFLLGlCQUFpQixZQUFZLFNBQVMsQ0FDdEY7QUFDRCxXQUFRLE1BQU0sT0FBTyxLQUFLLENBQUMsT0FBTyxjQUFjO0FBQ2hELFVBQU87O0VBR0QsbUNBQWdDO0dBQ3RDLElBQUksa0JBQWtCO0FBQ3RCLE9BQUksS0FBSyxpQkFBaUIsYUFBYSxRQUFRO0FBQzdDLHNCQUNFLHVCQUF1Qiw0QkFBNEIsS0FBSyxVQUFVLFFBQVEsR0FBRztBQUMvRSx1QkFDRSxLQUFLLGlCQUFpQixZQUNuQixLQUFLLGVBQWUsdUJBQXVCLFlBQVksS0FBSyxVQUFVLFFBQVEsQ0FBQyxDQUMvRSxNQUFNLEdBQUc7O0FBRWhCLFVBQU87Ozs7Ozs7RUFRRCxnQkFBZ0IsWUFBa0I7Ozs7O0FBS3hDLFFBQUssY0FDSCxJQUFJLFlBQXFDLGVBQWU7SUFDdEQsU0FBUztJQUNULFVBQVU7SUFDVixRQUFRO0lBQ1QsQ0FBQyxDQUNIOztFQUdLLDhCQUEyQjtBQUNqQyxVQUFPLEtBQUssaUJBQWlCLGFBQWEsU0FBUyxRQUFRLEdBQ3ZELElBQ0EsS0FBSyxpQkFBaUIsYUFBYSxTQUFTLFNBQVMsR0FDbkQsSUFDQSJ9
|
|
428
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC10RFprWGwtMy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2gvc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucy5zY3NzJyBhcyBzYmItc3ItbWl4aW5zO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLWZ1bmN0aW9ucycgYXMgc2JiLXNyLWZ1bmN0aW9ucztcblxuJGRpc2FibGVkOiAnW2Rpc2FibGVkXSwgOmRpc2FibGVkJztcblxuOmhvc3Qge1xuICAvLyBmaXhlcyB0aGUga2V5Ym9hcmQgZm9jdXMgYm9yZGVyIHdoaWNoIHdhcyBjdXQgb2ZmIGR1ZSB0byBtaXNzaW5nIG5hdmlnYXRpb24gc2VydmljZSBpY29uc1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKFxuICAgIDQ0XG4gICk7IC8vIGRlZmF1bHQgYnV0dG9uIGhlaWdodCAoMzZweCkgKyAyICogNHB4IGZvY3VzIG91dGxpbmUgb2Zmc2V0XG5cbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXRyYXZlbGNsYXNzLXNwYWNpbmc6IDEwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci13aWR0aC1kZWZhdWx0OiAxO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci13aWR0aDogdmFyKFxuICAgIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLXdpZHRoLWRlZmF1bHRcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1ib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLFxuICAgIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSlcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci13aGl0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKVxuICApO1xuXG4gIC8vIHNlbGVjdGVkIHN0YXRlIHZhcmlhYmxlc1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci13aWR0aC1zZWxlY3RlZDogMjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yLXNlbGVjdGVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1taWxrKSxcbiAgICB2YXIoLS1zYmItY29sb3ItaXJvbilcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1ib3JkZXItY29sb3Itc2VsZWN0ZWQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG5cbiAgLy8gZm9jdXMgc3RhdGUgdmFyaWFibGVzXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tb3V0bGluZS13aWR0aC1mb2N1c2VkOiAxO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLW91dGxpbmUtY29sb3ItZm9jdXNlZDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spLFxuICAgIHZhcigtLXNiYi1jb2xvci13aGl0ZSlcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1vdXRsaW5lLW9mZnNldC1mb2N1c2VkOiA0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJhY2tncm91bmQtY29sb3ItZm9jdXNlZDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpLFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjaylcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1ib3JkZXItd2lkdGgtZm9jdXNlZDogdmFyKFxuICAgIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLXdpZHRoXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLWNvbG9yLWZvY3VzZWQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG5cbiAgLy8gaG92ZXIgc3RhdGUgdmFyaWFibGVzXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLXdpZHRoLWhvdmVyZWQ6IDI7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYmFja2dyb3VuZC1jb2xvci1ob3ZlcmVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1jbG91ZCksXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pZG5pZ2h0KVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJvcmRlci1jb2xvci1ob3ZlcmVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuXG4gIC8vIGRpc2FibGUgc3RhdGUgdmFyaWFibGVzXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYmFja2dyb3VuZC1jb2xvci1kaXNhYmxlZDogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMik7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1idG4tYm9yZGVyLWNvbG9yLWRpc2FibGVkOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1wbGF0aW51bSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLWlyb24pXG4gICk7XG59XG5cbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oOCk7XG4gIHdpZHRoOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg4MCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmLmZpcnN0LWNvYWNoLFxuICAmLmxhc3QtY29hY2gge1xuICAgIC5zYmItc3ItbmF2aWdhdGlvbi0tZmlyc3QtY2xhc3Mge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDE4KSk7XG4gICAgfVxuICB9XG5cbiAgJi5maXJzdC1jb2FjaCB7XG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbjpub3QoLnNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tZHJpdmVyLWFyZWEpIHtcbiAgICAgIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcig4LCAyLCAyLCA4KTtcbiAgICB9XG5cbiAgICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKFxuICAgICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXRyYXZlbGNsYXNzLXNwYWNpbmcpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICYubGFzdC1jb2FjaCB7XG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbjpub3QoLnNiYi1zci1uYXZpZ2F0aW9uLWRyaXZlci1hcmVhKSB7XG4gICAgICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnZpc3VhbGl6ZS1jb2FjaC1ib3JkZXIoMiwgOCwgOCwgMik7XG4gICAgfVxuXG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uX19hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oXG4gICAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tdHJhdmVsY2xhc3Mtc3BhY2luZylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLnNiYi1zci1uYXZpZ2F0aW9uLS1maXJzdC1jbGFzcyB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oXG4gICAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tdHJhdmVsY2xhc3Mtc3BhY2luZylcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8vIHNhbWUgZm9yIGFsbCBzdGF0ZXNcbi5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmIuYnV0dG9uLXJlc2V0O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDM2KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuXG4gICYuc2JiLXNyLW5hdmlnYXRpb24tZHJpdmVyLWFyZWEge1xuICAgIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcig4LCA4LCA4LCA4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcigyLCAyLCAyLCAyKTtcbn1cblxuLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1mb2N1c2VkIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnN0eWxlLWNvYWNoLWJ5LXN0YXRlKCdmb2N1c2VkJyk7XG5cbiAgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLXRyYXZlbGNsYXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1tZXRhbCksIHZhcigtLXNiYi1jb2xvci1zdG9ybSkpO1xuICB9XG5cbiAgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlciB7XG4gICAgY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWFudGhyYWNpdGUpLCB2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpKTtcbiAgfVxufVxuXG4vLyBzZWxlY3RlZCwgaS5lLiB0aGUgY29hY2ggd2l0aGluIHRoZSB0cmFpbiBpcyBzZWxlY3RlZCAoRklHTUEgU3RhdGU6U2VsZWN0ZWQpXG4uc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLXNlbGVjdGVkIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnN0eWxlLWNvYWNoLWJ5LXN0YXRlKCdzZWxlY3RlZCcpO1xuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItYmxhY2spLCB2YXIoLS1zYmItY29sb3Itd2hpdGUpKTtcbiAgfVxuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC1udW1iZXIge1xuICAgIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ibGFjayksIHZhcigtLXNiYi1jb2xvci13aGl0ZSkpO1xuICB9XG59XG5cbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC0taG92ZXJlZCAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uIHtcbiAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy5zdHlsZS1jb2FjaC1ieS1zdGF0ZSgnaG92ZXJlZCcpO1xufVxuXG4uc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLXNlbGVjdGVkLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1ob3ZlcmVkXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24ge1xuICBAaW5jbHVkZSBzYmItc3ItbWl4aW5zLnN0eWxlLWNvYWNoLWJ5LXN0YXRlKCdzZWxlY3RlZCcpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tYnRuLWJhY2tncm91bmQtY29sb3ItaG92ZXJlZCkgIWltcG9ydGFudDtcbn1cblxuLy8gc2VsZWN0ZWQgQU5EIGZvY3VzIChGSUdNQSBTdGF0ZTpTZWxlY3RlZCArIEZvY3VzZWQpXG4vLyBiYWNrZ3JvdW5kLWNvbG9yIGZyb20gc2VsZWN0ZWQgU3RhdGUgaGFzIG1vcmUgc3BlY2lmaWNpdHksIHNvIHdlIG5lZWQgdG8gb3ZlcnJpZGUgaXQgaGVyZSAoYWdhaW4pXG4uc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLXNlbGVjdGVkXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b246Zm9jdXMtdmlzaWJsZTpub3QoI3skZGlzYWJsZWR9KSB7XG4gIEBpbmNsdWRlIHNiYi1zci1taXhpbnMuc3R5bGUtY29hY2gtYnktc3RhdGUoJ3NlbGVjdGVkJyk7XG59XG5cbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC0taG92ZXJlZCAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uIHtcbiAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy5zdHlsZS1jb2FjaC1ieS1zdGF0ZSgnaG92ZXJlZCcpO1xufVxuXG4vLyBob3ZlciAoRklHTUEgU3RhdGU6aG92ZXIpXG4uc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uOmhvdmVyOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy5zdHlsZS1jb2FjaC1ieS1zdGF0ZSgnaG92ZXJlZCcpO1xuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgfVxuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC1udW1iZXIge1xuICAgIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1pcm9uKSwgdmFyKC0tc2JiLWNvbG9yLXNpbHZlcikpO1xuICB9XG59XG5cbi8vIGRpc2FibGVkIChGSUdNQSBTdGF0ZTpkaXNhYmxlZClcbi5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b246aXMoI3skZGlzYWJsZWR9KSB7XG4gIEBpbmNsdWRlIHNiYi1zci1taXhpbnMuc3R5bGUtY29hY2gtYnktc3RhdGUoJ2Rpc2FibGVkJyk7XG5cbiAgY3Vyc29yOiB1bnNldDtcbiAgcG9pbnRlci1ldmVudHM6IHVuc2V0O1xuXG4gIC5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpLCB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSkpO1xuICB9XG5cbiAgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlciB7XG4gICAgY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpKTtcbiAgfVxufVxuXG4uc2JiLXNyLW5hdmlnYXRpb25fX2FkZGl0aW9uYWwtaW5mb3JtYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDE7XG4gIGNvbHVtbi1nYXA6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDgpO1xuICBwYWRkaW5nLWlubGluZTogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oMTYpO1xuICBmb250LWZhbWlseTogdmFyKC0tc2JiLXR5cG8tZm9udC1mYW1pbHkpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIGNvbG9yOiB2YXIoLS1zYmItY29sb3ItbWlsayk7XG4gIH1cbn1cblxuLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlciB7XG4gIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG4gIH1cblxuICAuc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtdHJhdmVsY2xhc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTItaW52ZXJ0ZWQpO1xuICB9XG59XG5cbi8vIGdyYXBoaWNhbCBvcmllbnRhdGlvbiBvZiBGSVJTVCBjbGFzc1xuLnNiYi1zci1uYXZpZ2F0aW9uLS1maXJzdC1jbGFzcyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg4KSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDMpO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDQpO1xuXG4gIC8vIHVzZSBib3JkZXIgaW5zdGVhZCBvZiBoZWlnaHQgdG8gc3VwcG9ydCBmb3JjZS1jb2xvciBtb2Rlc1xuICBib3JkZXI6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0xeCk7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLWxlbW9uKTtcbn1cblxuLy8gdGV4dHVhbCBvcmllbnRhdGlvbiBvZiB0cmF2ZWwgY2xhc3Ncbi5zYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgyMCk7XG4gIG1pbi13aWR0aDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oMjApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0xeCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSkpO1xuICBjb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3Itd2hpdGUpLCB2YXIoLS1zYmItY29sb3ItYmxhY2spKTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZDtcbiAgfVxufVxuXG4vLyAjIyMjIyMjIyMjIyMjIyMjIFZFUlRJQ0FMIE1PREUgc2V0dGluZ3MgIyMjIyMjIyMjIyMjIyMjI1xuOmhvc3QoW3ZlcnRpY2FsXSkgLnNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgaGVpZ2h0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg4MCk7XG4gICAgbWluLXdpZHRoOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgzNik7XG4gIH1cblxuICAuc2JiLXNyLW5hdmlnYXRpb25fX2FkZGl0aW9uYWwtaW5mb3JtYXRpb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLWJsb2NrOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgxNik7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHVuc2V0O1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdW5zZXQ7XG4gIH1cblxuICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDgpKTtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSgzKTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oNCk7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBpbml0aWFsO1xuICB9XG5cbiAgJi5maXJzdC1jb2FjaCxcbiAgJi5sYXN0LWNvYWNoIHtcbiAgICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oMTgpKTtcbiAgICB9XG4gIH1cblxuICAvLyBoYW5kbGUgYm9yZGVyLXJhZGl1c1xuICAmLmZpcnN0LWNvYWNoOm5vdCgubGFzdC1jb2FjaCkge1xuICAgIC5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b246bm90KC5zYmItc3ItbmF2aWdhdGlvbi1kcml2ZXItYXJlYSkge1xuICAgICAgQGluY2x1ZGUgc2JiLXNyLW1peGlucy52aXN1YWxpemUtY29hY2gtYm9yZGVyKDgsIDgsIDIsIDIpO1xuICAgIH1cblxuICAgIC5zYmItc3ItbmF2aWdhdGlvbi0tZmlyc3QtY2xhc3Mge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbShcbiAgICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi10cmF2ZWxjbGFzcy1zcGFjaW5nKVxuICAgICAgKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJi5sYXN0LWNvYWNoOm5vdCguZmlyc3QtY29hY2gpIHtcbiAgICAuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uOm5vdCguc2JiLXNyLW5hdmlnYXRpb24tZHJpdmVyLWFyZWEpIHtcbiAgICAgIEBpbmNsdWRlIHNiYi1zci1taXhpbnMudmlzdWFsaXplLWNvYWNoLWJvcmRlcigyLCAyLCA4LCA4KTtcbiAgICB9XG5cbiAgICAuc2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKFxuICAgICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXRyYXZlbGNsYXNzLXNwYWNpbmcpXG4gICAgICApO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJpdmVyIGFyZWFcbiAgLnNiYi1zci1uYXZpZ2F0aW9uLWRyaXZlci1hcmVhIHtcbiAgICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDgwKTtcbiAgICBtaW4td2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDM2KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzJztcblxuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdGlvbnMudHMnO1xuaW1wb3J0IHR5cGUgeyBDb2FjaEl0ZW1EZXRhaWxzIH0gZnJvbSAnLi4vY29tbW9uL3R5cGVzLnRzJztcbmltcG9ydCB7IFNiYlNlYXRSZXNlcnZhdGlvbk5hdmlnYXRpb25TZXJ2aWNlc0VsZW1lbnQgfSBmcm9tICcuLi9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXMvc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC5zY3NzP2lubGluZSc7XG5cbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuU2JiU2VhdFJlc2VydmF0aW9uTmF2aWdhdGlvblNlcnZpY2VzRWxlbWVudC5kZWZpbmUoKTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0Q29hY2hFdmVudERldGFpbHMgPSBudW1iZXI7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgd2lsbCBkaXNwbGF5IHRoZSBuYXZpZ2F0aW9uIGNvYWNoIGl0ZW0gZm9yIFNlYXQgcmVzZXJ2YXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uQ29hY2hFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdGNvYWNoOiAnc2VsZWN0Y29hY2gnLFxuICAgIGZvY3VzY29hY2g6ICdmb2N1c2NvYWNoJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogU2VsZWN0IGNvYWNoIHByb3BlcnR5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBGb2N1cyBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIb3ZlciBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBOYXRpdmUgZm9jdXMgZm9yIHRoaXMgbmF2aWdhdGlvbiBjb2FjaCBpcyBhbHNvIHNldCB3aGVuIHRoZSBmb2N1c2VkIHByb3BlcnR5IGlzIGNoYW5nZWQgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIG5hdGl2ZUZvY3VzQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbmRleDogbnVtYmVyID0gMDtcblxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjb2FjaC1pdGVtLWRldGFpbHMnLCB0eXBlOiBPYmplY3QgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSXRlbURldGFpbHM6IENvYWNoSXRlbURldGFpbHMgPSA8Q29hY2hJdGVtRGV0YWlscz57fTtcblxuICAvKiogRGlzYWJsZSB0aGUgY29hY2ggbmF2aWdhdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZScsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSWYgdGhlIGNvYWNoIG5hdmlnYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCB2ZXJ0aWNhbGx5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlLCB1c2VEZWZhdWx0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB2ZXJ0aWNhbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBtb3VzZSBvdmVyIHRpdGxlIGluZm9ybWF0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaG93VGl0bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2VsZWN0ZWQnKSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbicsXG4gICAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgJiYgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzQWN0aXZlKSB7XG4gICAgICAgICAgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgLyoqIEVtaXRzIHdoZW4gYSBuYXYgY29hY2ggaGFzIHRoZSBmb2N1cyAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb2N1c2NvYWNoJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9jdXNlZCcpICYmIHRoaXMuZm9jdXNlZCkge1xuICAgICAgY29uc3QgZm9jdXNlZE5hdkJ1dHRvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uJyxcbiAgICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICAgIGlmIChmb2N1c2VkTmF2QnV0dG9uRWxlbWVudCAmJiB0aGlzLm5hdGl2ZUZvY3VzQWN0aXZlKSB7XG4gICAgICAgIGZvY3VzZWROYXZCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciBhIGxpc3Qgb2Ygc2VydmljZSBpY29ucyBwcm92aWRlZCBieSBhIGNhbGxlclxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgICAnc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gnOiB0cnVlLFxuICAgICAgICAgICdsYXN0LWNvYWNoJzogdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmRyaXZlckFyZWFTaWRlPy5yaWdodCB8fCBmYWxzZSxcbiAgICAgICAgICAnZmlyc3QtY29hY2gnOiB0aGlzLmNvYWNoSXRlbURldGFpbHMuZHJpdmVyQXJlYVNpZGU/LmxlZnQgfHwgZmFsc2UsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1zZWxlY3RlZCc6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1mb2N1c2VkJzogdGhpcy5mb2N1c2VkLFxuICAgICAgICAgICdzYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC0taG92ZXJlZCc6IHRoaXMuaG92ZXJlZCxcbiAgICAgICAgfSl9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9nZXROYXZpZ2F0aW9uQnV0dG9uKCl9XG4gICAgICAgICR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnByb3BlcnR5SWRzPy5sZW5ndGhcbiAgICAgICAgICA/IGh0bWxgPHNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXNcbiAgICAgICAgICAgICAgP3ZlcnRpY2FsPVwiJHt0aGlzLnZlcnRpY2FsfVwiXG4gICAgICAgICAgICAgIC5wcm9wZXJ0eUlkcz1cIiR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnByb3BlcnR5SWRzfVwiXG4gICAgICAgICAgICAgID9zaG93VGl0bGVJbmZvPVwiJHt0aGlzLnNob3dUaXRsZUluZm99XCJcbiAgICAgICAgICAgID48L3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXM+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXROYXZpZ2F0aW9uQnV0dG9uKCk6IFRlbXBsYXRlUmVzdWx0IHwgbnVsbCB7XG4gICAgY29uc3QgY3VyclNlcnZpY2VDbGFzc051bWJlciA9IHRoaXMuX2dldENvYWNoU2VydmljZUNsYXNzTnVtYmVyKCk7XG4gICAgY29uc3QgdGl0bGVEZXNjcmlwdGlvbk5hdkNvYWNoQnV0dG9uID1cbiAgICAgIHRoaXMuX2dldFRpdGxlRGVzY3JpcHRpb25OYXZDb2FjaEJ1dHRvbihjdXJyU2VydmljZUNsYXNzTnVtYmVyKTtcbiAgICBjb25zdCBhcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzID0gdGhpcy5fZ2V0QXJpYURlc2NyaXB0aW9uQ29hY2hTZXJ2aWNlcygpO1xuXG4gICAgcmV0dXJuIGh0bWxgIDxidXR0b25cbiAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX3NlbGVjdE5hdkNvYWNoKHRoaXMuaW5kZXgpfVxuICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbic6IHRydWUsXG4gICAgICAgICdzYmItc3ItbmF2aWdhdGlvbi1kcml2ZXItYXJlYSc6IHRoaXMuY29hY2hJdGVtRGV0YWlscy5pc0RyaXZlckFyZWEsXG4gICAgICB9KX1cIlxuICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGV9XCJcbiAgICAgIHRpdGxlPVwiJHt0aGlzLnNob3dUaXRsZUluZm8gPyB0aXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24gOiBub3RoaW5nfVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJuYXYtY29hY2gtc2VydmljZS1kZXNjcmlwdGlvbnMtJHt0aGlzLmluZGV4fVwiXG4gICAgPlxuICAgICAgJHt0aGlzLl9nZXRCdG5JbmZvcm1hdGlvbihjdXJyU2VydmljZUNsYXNzTnVtYmVyKX1cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwibmF2LWNvYWNoLXNlcnZpY2UtZGVzY3JpcHRpb25zLSR7dGhpcy5pbmRleH1cIj5cbiAgICAgICAgJHshdGhpcy5zaG93VGl0bGVJbmZvID8gaHRtbGA8ZGl2PiR7dGl0bGVEZXNjcmlwdGlvbk5hdkNvYWNoQnV0dG9ufTwvZGl2PmAgOiBub3RoaW5nfVxuICAgICAgICAke2FyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXMgPyBodG1sYDxkaXY+JHthcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzfTwvZGl2PmAgOiBub3RoaW5nfVxuICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIDwvYnV0dG9uPmA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRCdG5JbmZvcm1hdGlvbihzZXJ2aWNlQ2xhc3NOdW1iZXI6IG51bWJlciB8IG51bGwpOiBUZW1wbGF0ZVJlc3VsdCB8IG51bGwge1xuICAgIGlmICh0aGlzLmNvYWNoSXRlbURldGFpbHMuaXNEcml2ZXJBcmVhKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyID09PSAxXG4gICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uLS1maXJzdC1jbGFzc1wiPjwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnRyYXZlbENsYXNzPy5sZW5ndGggPiAwIHx8IHRoaXMuY29hY2hJdGVtRGV0YWlscy5pZFxuICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19hZGRpdGlvbmFsLWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAke3RoaXMuY29hY2hJdGVtRGV0YWlscy5pZFxuICAgICAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLmNvYWNoSXRlbURldGFpbHMuaWR9XG4gICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtdHJhdmVsY2xhc3NcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke3NlcnZpY2VDbGFzc051bWJlcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUaXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24oc2VydmljZUNsYXNzTnVtYmVyOiBudW1iZXIgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmlzRHJpdmVyQXJlYSAmJiAhdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmlzTG9jb21vdGl2ZSkge1xuICAgICAgcmV0dXJuIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ05BVklHQVRFX0NPQUNIX0JMT0NLRUQnLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LCBbXG4gICAgICAgIHRoaXMuY29hY2hJdGVtRGV0YWlscy5pZCxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvYWNoSXRlbURldGFpbHMuaXNMb2NvbW90aXZlKSB7XG4gICAgICByZXR1cm4gZ2V0STE4blNlYXRSZXNlcnZhdGlvbignQ09BQ0hfTE9DT01PVElWRScsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIGxldCBsYWJlbCA9IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ05BVklHQVRFX1RPX0NPQUNIJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCwgW1xuICAgICAgdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmlkLFxuICAgIF0pO1xuXG4gICAgLy9JZiBzZXJ2aWNlIGNsYXNzIGV4aXN0LCB0aGVuIGV4cGFuZCBsYWJlbCB3aXRoIHNlcnZpY2UgY2xhc3MgdHJhbnNsYXRpb25cbiAgICBpZiAoc2VydmljZUNsYXNzTnVtYmVyKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbktleSA9XG4gICAgICAgIHNlcnZpY2VDbGFzc051bWJlciA9PT0gMSA/ICdTRVJWSUNFX0NMQVNTX0ZJUlNUJyA6ICdTRVJWSUNFX0NMQVNTX1NFQ09ORCc7XG4gICAgICBjb25zdCBzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbiA9IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oXG4gICAgICAgIHNlcnZpY2VDbGFzc1RyYW5zbGF0aW9uS2V5LFxuICAgICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHNlcnZpY2VDbGFzc0xhYmVsID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbihcbiAgICAgICAgJ05BVklHQVRFX1RPX0NPQUNIX1NFUlZJQ0VfQ0xBU1NfU1VCJyxcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgICAgW3NlcnZpY2VDbGFzc1RyYW5zbGF0aW9uXSxcbiAgICAgICk7XG4gICAgICBsYWJlbCA9IGxhYmVsLmNvbmNhdChzZXJ2aWNlQ2xhc3NMYWJlbCk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kcyB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBzZWF0cyBhbmQgYmljeWNsZSBzcGFjZXMgYXMgaW5mb1xuICAgIGNvbnN0IGZyZWVQbGFjZXNUeHQgPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKFxuICAgICAgJ0NPQUNIX0FWQUlMQUJMRV9OVU1CRVJfT0ZfUExBQ0VTJyxcbiAgICAgIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsXG4gICAgICBbdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmZyZWVQbGFjZXM/LnNlYXRzLCB0aGlzLmNvYWNoSXRlbURldGFpbHMuZnJlZVBsYWNlcz8uYmljeWNsZXNdLFxuICAgICk7XG4gICAgbGFiZWwgPSBsYWJlbC5jb25jYXQoJy4gJykuY29uY2F0KGZyZWVQbGFjZXNUeHQpO1xuICAgIHJldHVybiBsYWJlbDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXMoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IGFyaWFEZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgaWYgKHRoaXMuY29hY2hJdGVtRGV0YWlscy5wcm9wZXJ0eUlkcz8ubGVuZ3RoKSB7XG4gICAgICBhcmlhRGVzY3JpcHRpb24gPVxuICAgICAgICBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdDT0FDSF9BVkFJTEFCTEVfU0VSVklDRVMnLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KSArICc6ICc7XG4gICAgICBhcmlhRGVzY3JpcHRpb24gKz1cbiAgICAgICAgdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnByb3BlcnR5SWRzXG4gICAgICAgICAgLm1hcCgocHJvcGVydHlJZCkgPT4gZ2V0STE4blNlYXRSZXNlcnZhdGlvbihwcm9wZXJ0eUlkLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KSlcbiAgICAgICAgICAuam9pbigpICsgJy4nO1xuICAgIH1cbiAgICByZXR1cm4gYXJpYURlc2NyaXB0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIGVtaXRzIHRoZSBpbmRleCBvZiB0aGUgY29hY2ggYXJyYXkgZm9yIHRoZSBtYWluIG5hdmlnYXRpb24uXG4gICAqIEBwYXJhbSBjb2FjaEluZGV4XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9zZWxlY3ROYXZDb2FjaChjb2FjaEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2VsZWN0Q29hY2hFdmVudERldGFpbHM+fVxuICAgICAqIEVtaXRzIHdoZW4gYSBjb2FjaCB3aXRoaW4gdGhlIG5hdmlnYXRpb24gd2FzIHNlbGVjdGVkIGFuZCByZXR1cm5zIHRoZSBjbGlja2VkIGNvYWNoIG5hdiBpbmRleC5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2VsZWN0Q29hY2hFdmVudERldGFpbHM+KCdzZWxlY3Rjb2FjaCcsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIGRldGFpbDogY29hY2hJbmRleCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb2FjaFNlcnZpY2VDbGFzc051bWJlcigpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnRyYXZlbENsYXNzPy5pbmNsdWRlcygnRklSU1QnKVxuICAgICAgPyAxXG4gICAgICA6IHRoaXMuY29hY2hJdGVtRGV0YWlscy50cmF2ZWxDbGFzcz8uaW5jbHVkZXMoJ1NFQ09ORCcpXG4gICAgICAgID8gMlxuICAgICAgICA6IG51bGw7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2gnOiBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uQ29hY2hFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQ3VCQSw0Q0FBNEMsUUFBUTs7OztJQU92QyxrREFBd0M7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBakQsaURBQWlELFlBQVU7OztBQVd0RCxTQUFBLDRCQUFBLGtCQUFBLE1BQUEsd0JBQW9CLE1BQUs7QUFLekIsU0FBQSw0QkFBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSx1QkFBbUIsTUFBSztBQUt4QixTQUFBLDRCQUFBLGtCQUFBLE1BQUEsMkJBQUEsRUFBQSxrQkFBQSxNQUFBLHVCQUFtQixNQUFLO0FBS3hCLFNBQUEsc0NBQUEsa0JBQUEsTUFBQSwyQkFBQSxFQUFBLGtCQUFBLE1BQUEsaUNBQTZCLEtBQUk7QUFJakMsU0FBQSwwQkFBQSxrQkFBQSxNQUFBLHFDQUFBLEVBQUEsa0JBQUEsTUFBQSxxQkFBZ0IsRUFBQztBQUdqQixTQUFBLHFDQUFBLGtCQUFBLE1BQUEseUJBQUEsRUFBQSxrQkFBQSxNQUFBLGdDQUF1RCxFQUFFLENBQUE7QUFLekQsU0FBQSw0QkFBQSxrQkFBQSxNQUFBLG9DQUFBLEVBQUEsa0JBQUEsTUFBQSx1QkFBbUIsTUFBSztBQUt4QixTQUFBLDZCQUFBLGtCQUFBLE1BQUEsMkJBQUEsRUFBQSxrQkFBQSxNQUFBLHdCQUFvQixNQUFLO0FBS3pCLFNBQUEsa0NBQUEsa0JBQUEsTUFBQSw0QkFBQSxFQUFBLGtCQUFBLE1BQUEsNkJBQXlCLE1BQUs7QUFFdEMsUUFBQSxhQUFTLGtCQUFBLE1BQUEsaUNBQUEsRUFBRyxJQUFJLHNCQUFzQixLQUFLOzs7OzJCQXpDbEQsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBOzBCQUkzQixXQUFXLEVBQ1gsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUE7MEJBSTNCLFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQTtvQ0FJM0IsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO3dCQUczQixXQUFXLEVBQ1gsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDLENBQUE7bUNBRzFCLFNBQVM7SUFBRSxXQUFXO0lBQXNCLE1BQU07SUFBUSxDQUFDLENBQUE7MEJBSTNELFdBQVcsRUFDWCxTQUFTO0lBQUUsV0FBVztJQUFXLE1BQU07SUFBUyxDQUFDLENBQUE7MkJBSWpELFdBQVcsRUFDWCxTQUFTO0lBQUUsTUFBTTtJQUFTLFNBQVM7SUFBTSxZQUFZO0lBQU0sQ0FBQyxDQUFBO2dDQUk1RCxXQUFXLEVBQ1gsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUE7QUFwQzVCLGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBO0FBS3hCLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVAsVUFBTzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHVCQUFBLDJCQUFBO0FBS3ZCLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVAsVUFBTzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHVCQUFBLDJCQUFBO0FBS3ZCLGdCQUFBLE1BQUEsTUFBQSwrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHVCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWlCLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBakIsb0JBQWlCOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsaUNBQUEscUNBQUE7QUFJakMsZ0JBQUEsTUFBQSxNQUFBLG1CQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFLLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBTCxRQUFLOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEscUJBQUEseUJBQUE7QUFHckIsZ0JBQUEsTUFBQSxNQUFBLDhCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsc0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBZ0IsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFoQixtQkFBZ0I7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxnQ0FBQSxvQ0FBQTtBQUtoQyxnQkFBQSxNQUFBLE1BQUEscUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxhQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU8sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFQLFVBQU87O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx1QkFBQSwyQkFBQTtBQUt2QixnQkFBQSxNQUFBLE1BQUEsc0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxjQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFSLFdBQVE7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx3QkFBQSw0QkFBQTtBQUt4QixnQkFBQSxNQUFBLE1BQUEsMkJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxtQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFhLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBYixnQkFBYTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDZCQUFBLGlDQUFBOzs7Ozs7Ozs7QUEvQ0csUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSwwQ0FBTSxDQUFDOzs7QUFDNUQsUUFBQSxTQUFTO0lBQzlCLGFBQWE7SUFDYixZQUFZO0lBQ0o7O0VBS1Y7O0VBQUEsSUFBZ0IsV0FBUTtBQUFBLFVBQUEsTUFBQTs7RUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsU0FBQSw0QkFBQTs7RUFLeEI7O0VBQUEsSUFBZ0IsVUFBTztBQUFBLFVBQUEsTUFBQTs7RUFBdkIsSUFBZ0IsUUFBTyxPQUFBO0FBQUEsU0FBQSwyQkFBQTs7RUFLdkI7O0VBQUEsSUFBZ0IsVUFBTztBQUFBLFVBQUEsTUFBQTs7RUFBdkIsSUFBZ0IsUUFBTyxPQUFBO0FBQUEsU0FBQSwyQkFBQTs7RUFLdkI7O0VBQUEsSUFBZ0Isb0JBQWlCO0FBQUEsVUFBQSxNQUFBOztFQUFqQyxJQUFnQixrQkFBaUIsT0FBQTtBQUFBLFNBQUEscUNBQUE7O0VBSWpDO0VBQUEsSUFBZ0IsUUFBSztBQUFBLFVBQUEsTUFBQTs7RUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEsU0FBQSx5QkFBQTs7RUFHckI7RUFBQSxJQUFnQixtQkFBZ0I7QUFBQSxVQUFBLE1BQUE7O0VBQWhDLElBQWdCLGlCQUFnQixPQUFBO0FBQUEsU0FBQSxvQ0FBQTs7RUFLaEM7O0VBQUEsSUFBZ0IsVUFBTztBQUFBLFVBQUEsTUFBQTs7RUFBdkIsSUFBZ0IsUUFBTyxPQUFBO0FBQUEsU0FBQSwyQkFBQTs7RUFLdkI7O0VBQUEsSUFBZ0IsV0FBUTtBQUFBLFVBQUEsTUFBQTs7RUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsU0FBQSw0QkFBQTs7RUFLeEI7O0VBQUEsSUFBZ0IsZ0JBQWE7QUFBQSxVQUFBLE1BQUE7O0VBQTdCLElBQWdCLGNBQWEsT0FBQTtBQUFBLFNBQUEsaUNBQUE7O0VBSVYsV0FBVyxtQkFBdUM7QUFDbkUsU0FBTSxXQUFXLGtCQUFrQjtBQUVuQyxPQUFJLGtCQUFrQixJQUFJLFdBQVcsRUFBRTtJQUNyQyxNQUFNLDJCQUEyQixLQUFLLFlBQVksY0FDaEQsa0NBQ29CO0FBQ3RCLFFBQUksS0FBSyxZQUFZLDBCQUEwQjtBQUM3QyxTQUFJLEtBQUssa0JBQ1AsMEJBQXlCLE9BQU87O0FBR2xDLFVBQUssY0FBYyxJQUFJLE1BQU0sY0FBYztNQUFFLFNBQVM7TUFBTSxVQUFVO01BQU0sQ0FBQyxDQUFDOzs7QUFJbEYsT0FBSSxrQkFBa0IsSUFBSSxVQUFVLElBQUksS0FBSyxTQUFTO0lBQ3BELE1BQU0sMEJBQTBCLEtBQUssWUFBWSxjQUMvQyxrQ0FDb0I7QUFFdEIsUUFBSSwyQkFBMkIsS0FBSyxrQkFDbEMseUJBQXdCLE9BQU87Ozs7Ozs7O0VBVWxCLFNBQU07QUFDdkIsVUFBTyxJQUFJOztpQkFFRSxTQUFTO0lBQ2hCLGlDQUFpQztJQUNqQyxjQUFjLEtBQUssaUJBQWlCLGdCQUFnQixTQUFTO0lBQzdELGVBQWUsS0FBSyxpQkFBaUIsZ0JBQWdCLFFBQVE7SUFDN0QsMkNBQTJDLEtBQUs7SUFDaEQsMENBQTBDLEtBQUs7SUFDL0MsMENBQTBDLEtBQUs7SUFDaEQsQ0FBQyxDQUFBOztVQUVBLEtBQUssc0JBQXNCLENBQUE7VUFDM0IsS0FBSyxpQkFBaUIsYUFBYSxTQUNqQyxJQUFJOzJCQUNXLEtBQUssU0FBUTs4QkFDVixLQUFLLGlCQUFpQixZQUFXO2dDQUMvQixLQUFLLGNBQWE7NERBRXRDLFFBQUE7Ozs7RUFLRix1QkFBb0I7R0FDMUIsTUFBTSx5QkFBeUIsS0FBSyw2QkFBNkI7R0FDakUsTUFBTSxpQ0FDSixLQUFLLG1DQUFtQyx1QkFBdUI7R0FDakUsTUFBTSwrQkFBK0IsS0FBSyxrQ0FBa0M7QUFFNUUsVUFBTyxJQUFJO3FCQUNNLEtBQUssZ0JBQWdCLEtBQUssTUFBTSxDQUFBO2VBQ3RDLFNBQVM7SUFDaEIsa0NBQWtDO0lBQ2xDLGlDQUFpQyxLQUFLLGlCQUFpQjtJQUN4RCxDQUFDLENBQUE7bUJBQ1csS0FBSyxRQUFPO2VBQ2hCLEtBQUssZ0JBQWdCLGlDQUFpQyxRQUFPOzt5REFFbkIsS0FBSyxNQUFLOztRQUUzRCxLQUFLLG1CQUFtQix1QkFBdUIsQ0FBQTttRUFDWSxLQUFLLE1BQUs7VUFDbkUsQ0FBQyxLQUFLLGdCQUFnQixJQUFJLFFBQVEsK0JBQThCLFVBQVcsUUFBQTtVQUMzRSwrQkFBK0IsSUFBSSxRQUFRLDZCQUE0QixVQUFXLFFBQUE7Ozs7RUFLbEYsbUJBQW1CLG9CQUFpQztBQUMxRCxPQUFJLEtBQUssaUJBQWlCLGFBQ3hCLFFBQU87QUFHVCxVQUFPLElBQUk7UUFDUCx1QkFBdUIsSUFDckIsSUFBSSx5REFDSixRQUFBO1FBQ0YsS0FBSyxpQkFBaUIsYUFBYSxTQUFTLEtBQUssS0FBSyxpQkFBaUIsS0FDckUsSUFBSTtjQUNBLEtBQUssaUJBQWlCLEtBQ3BCLElBQUk7b0JBQ0EsS0FBSyxpQkFBaUIsR0FBQTswQkFFMUIsUUFBQTs7Z0JBRUEsc0JBQXNCLFFBQUE7Ozs7Z0JBSXRCLG1CQUFBOztvQkFHTixRQUFBOzs7RUFJQSxtQ0FBbUMsb0JBQWlDO0FBQzFFLE9BQUksS0FBSyxpQkFBaUIsZ0JBQWdCLENBQUMsS0FBSyxpQkFBaUIsYUFDL0QsUUFBTyx1QkFBdUIsMEJBQTBCLEtBQUssVUFBVSxTQUFTLENBQzlFLEtBQUssaUJBQWlCLEdBQ3ZCLENBQUM7QUFHSixPQUFJLEtBQUssaUJBQWlCLGFBQ3hCLFFBQU8sdUJBQXVCLG9CQUFvQixLQUFLLFVBQVUsUUFBUTtHQUczRSxJQUFJLFFBQVEsdUJBQXVCLHFCQUFxQixLQUFLLFVBQVUsU0FBUyxDQUM5RSxLQUFLLGlCQUFpQixHQUN2QixDQUFDO0FBR0YsT0FBSSxvQkFBb0I7SUFHdEIsTUFBTSwwQkFBMEIsdUJBRDlCLHVCQUF1QixJQUFJLHdCQUF3Qix3QkFHbkQsS0FBSyxVQUFVLFFBQ2hCO0lBQ0QsTUFBTSxvQkFBb0IsdUJBQ3hCLHVDQUNBLEtBQUssVUFBVSxTQUNmLENBQUMsd0JBQXdCLENBQzFCO0FBQ0QsWUFBUSxNQUFNLE9BQU8sa0JBQWtCOztHQUl6QyxNQUFNLGdCQUFnQix1QkFDcEIsb0NBQ0EsS0FBSyxVQUFVLFNBQ2YsQ0FBQyxLQUFLLGlCQUFpQixZQUFZLE9BQU8sS0FBSyxpQkFBaUIsWUFBWSxTQUFTLENBQ3RGO0FBQ0QsV0FBUSxNQUFNLE9BQU8sS0FBSyxDQUFDLE9BQU8sY0FBYztBQUNoRCxVQUFPOztFQUdELG1DQUFnQztHQUN0QyxJQUFJLGtCQUFrQjtBQUN0QixPQUFJLEtBQUssaUJBQWlCLGFBQWEsUUFBUTtBQUM3QyxzQkFDRSx1QkFBdUIsNEJBQTRCLEtBQUssVUFBVSxRQUFRLEdBQUc7QUFDL0UsdUJBQ0UsS0FBSyxpQkFBaUIsWUFDbkIsS0FBSyxlQUFlLHVCQUF1QixZQUFZLEtBQUssVUFBVSxRQUFRLENBQUMsQ0FDL0UsTUFBTSxHQUFHOztBQUVoQixVQUFPOzs7Ozs7O0VBUUQsZ0JBQWdCLFlBQWtCOzs7OztBQUt4QyxRQUFLLGNBQ0gsSUFBSSxZQUFxQyxlQUFlO0lBQ3RELFNBQVM7SUFDVCxVQUFVO0lBQ1YsUUFBUTtJQUNULENBQUMsQ0FDSDs7RUFHSyw4QkFBMkI7QUFDakMsVUFBTyxLQUFLLGlCQUFpQixhQUFhLFNBQVMsUUFBUSxHQUN2RCxJQUNBLEtBQUssaUJBQWlCLGFBQWEsU0FBUyxTQUFTLEdBQ25ELElBQ0EifQ==
|