@universal-material/web 3.0.149 → 3.1.0
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/README.md +4 -0
- package/badge/badge.d.ts +12 -0
- package/badge/badge.d.ts.map +1 -0
- package/badge/badge.js +22 -0
- package/badge/badge.js.map +1 -0
- package/badge/badge.styles.d.ts +2 -0
- package/badge/badge.styles.d.ts.map +1 -0
- package/badge/badge.styles.js +35 -0
- package/badge/badge.styles.js.map +1 -0
- package/button/button.d.ts +1 -0
- package/button/button.d.ts.map +1 -1
- package/button/button.js +15 -3
- package/button/button.js.map +1 -1
- package/button/button.styles.d.ts.map +1 -1
- package/button/button.styles.js +2 -0
- package/button/button.styles.js.map +1 -1
- package/css/universal-material.css +1 -1
- package/css/universal-material.min.css +4593 -2
- package/custom-elements.json +3953 -3639
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -1
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/navigation/drawer.js +1 -1
- package/navigation/drawer.js.map +1 -1
- package/navigation/drawer.styles.js +1 -1
- package/navigation/drawer.styles.js.map +1 -1
- package/overflow-menu/overflow-menu-item.d.ts +8 -0
- package/overflow-menu/overflow-menu-item.d.ts.map +1 -0
- package/overflow-menu/overflow-menu-item.js +31 -0
- package/overflow-menu/overflow-menu-item.js.map +1 -0
- package/overflow-menu/overflow-menu.d.ts +12 -0
- package/overflow-menu/overflow-menu.d.ts.map +1 -0
- package/overflow-menu/overflow-menu.js +99 -0
- package/overflow-menu/overflow-menu.js.map +1 -0
- package/overflow-menu/overflow-menu.styles.d.ts +2 -0
- package/overflow-menu/overflow-menu.styles.d.ts.map +1 -0
- package/overflow-menu/overflow-menu.styles.js +25 -0
- package/overflow-menu/overflow-menu.styles.js.map +1 -0
- package/package.json +27 -31
- package/scss/_api.scss +2 -2
- package/scss/_colors.scss +2 -2
- package/scss/_functions.scss +1 -1
- package/scss/_global.scss +2 -2
- package/scss/_layout.scss +3 -3
- package/scss/_mixins.scss +3 -3
- package/scss/_reboot.scss +3 -1
- package/scss/_utilities.scss +4 -4
- package/scss/_variables.scss +33 -32
- package/scss/colors/_text-bg.scss +21 -21
- package/scss/colors/_text.scss +2 -2
- package/scss/mixins/_text-bg.scss +5 -5
- package/scss/universal-material.scss +13 -13
- package/scss/utilities/_text.scss +2 -1
- package/shared/compare-text.d.ts.map +1 -1
- package/shared/events/redispatch-event.d.ts.map +1 -1
- package/shared/extract-template-html.d.ts.map +1 -1
- package/shared/mixin-attribute-properties.d.ts.map +1 -1
- package/shared/normalize-text.d.ts.map +1 -1
- package/shared/selection-control/selection-control-list-item.d.ts.map +1 -1
- package/shared/selection-control/selection-control.d.ts.map +1 -1
- package/shared/selection-control/checkbox-base.d.ts +0 -1
- package/shared/selection-control/checkbox-base.d.ts.map +0 -1
- package/shared/selection-control/checkbox-base.js +0 -7
- package/shared/selection-control/checkbox-base.js.map +0 -1
package/README.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
### Getting started
|
|
4
4
|
|
|
5
5
|
#### Install
|
|
6
|
+
|
|
6
7
|
Install Universal Material components using [npm and node](https://nodejs.org/).
|
|
7
8
|
|
|
8
9
|
```
|
|
@@ -10,7 +11,9 @@ npm i @universal-material/web
|
|
|
10
11
|
```
|
|
11
12
|
|
|
12
13
|
### Import
|
|
14
|
+
|
|
13
15
|
Import element definitions from `@universal-material/web/<component>/<component-variant>.js` or import everything from `@universal-material/web`.
|
|
16
|
+
|
|
14
17
|
```
|
|
15
18
|
// index.js
|
|
16
19
|
import '@universal-material/web/button/button.js';
|
|
@@ -19,6 +22,7 @@ import '@universal-material/web/checkbox/checkbox.js';
|
|
|
19
22
|
```
|
|
20
23
|
|
|
21
24
|
### Documentation
|
|
25
|
+
|
|
22
26
|
https://universal-material.github.io
|
|
23
27
|
|
|
24
28
|
## Thanks
|
package/badge/badge.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HTMLTemplateResult, LitElement } from 'lit';
|
|
2
|
+
export declare class UmBadge extends LitElement {
|
|
3
|
+
static styles: import("lit").CSSResult;
|
|
4
|
+
static: boolean;
|
|
5
|
+
protected render(): HTMLTemplateResult;
|
|
6
|
+
}
|
|
7
|
+
declare global {
|
|
8
|
+
interface HTMLElementTagNameMap {
|
|
9
|
+
'u-badge': UmBadge;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/badge/badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAK3D,qBACa,OAAQ,SAAQ,UAAU;IACrC,OAAgB,MAAM,0BAAU;IAEY,MAAM,UAAS;cAExC,MAAM,IAAI,kBAAkB;CAGhD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,OAAO,CAAC;KACpB;CACF"}
|
package/badge/badge.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, LitElement } from 'lit';
|
|
3
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import { styles } from './badge.styles.js';
|
|
5
|
+
let UmBadge = class UmBadge extends LitElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.static = false;
|
|
9
|
+
}
|
|
10
|
+
static { this.styles = styles; }
|
|
11
|
+
render() {
|
|
12
|
+
return html `<slot></slot>`;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
__decorate([
|
|
16
|
+
property({ type: Boolean, reflect: true })
|
|
17
|
+
], UmBadge.prototype, "static", void 0);
|
|
18
|
+
UmBadge = __decorate([
|
|
19
|
+
customElement('u-badge')
|
|
20
|
+
], UmBadge);
|
|
21
|
+
export { UmBadge };
|
|
22
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/badge/badge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpC,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;QAGuC,WAAM,GAAG,KAAK,CAAC;IAK7D,CAAC;aAPiB,WAAM,GAAG,MAAM,AAAT,CAAU;IAIb,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAJ2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAAgB;AAHhD,OAAO;IADnB,aAAa,CAAC,SAAS,CAAC;GACZ,OAAO,CAQnB","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './badge.styles.js';\n\n@customElement('u-badge')\nexport class UmBadge extends LitElement {\n static override styles = styles;\n\n @property({ type: Boolean, reflect: true }) static = false;\n\n protected override render(): HTMLTemplateResult {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-badge': UmBadge;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.styles.d.ts","sourceRoot":"","sources":["../../src/badge/badge.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgClB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `
|
|
3
|
+
:host {
|
|
4
|
+
--_badge-size: var(--u-badge-small-size, 6px);
|
|
5
|
+
font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));
|
|
6
|
+
line-height: var(--u-badge-line-height, var(--u-label-s-line-height, 1rem));
|
|
7
|
+
font-size: var(--u-badge-font-size, var(--u-label-s-font-size, 0.6875rem));
|
|
8
|
+
letter-spacing: var(--u-badge-letter-spacing, var(--u-label-s-letter-spacing, 0.0454545455rem));
|
|
9
|
+
font-weight: var(--u-badge-font-weight, var(--u-label-s-font-weight, var(--u-font-weight-medium, 500)));
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
min-width: var(--_badge-size);
|
|
14
|
+
height: var(--_badge-size);
|
|
15
|
+
line-height: var(--_badge-size);
|
|
16
|
+
background-color: var(--u-badge-color, var(--u-color-error, rgb(179, 38, 30)));
|
|
17
|
+
color: var(--u-badge-color, var(--u-color-on-error, rgb(255, 255, 255)));
|
|
18
|
+
border-radius: calc(var(--_badge-size) / 2);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:host(:not([static])) {
|
|
22
|
+
--_badge-inline-start: calc(100% - var(--_badge-size));
|
|
23
|
+
position: absolute;
|
|
24
|
+
top: 0;
|
|
25
|
+
inset-inline-start: var(--_badge-inline-start);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:host(:not(:empty)) {
|
|
29
|
+
--_badge-size: var(--u-badge-large-size, 16px);
|
|
30
|
+
top: var(--u-badge-top-offset, -2px);
|
|
31
|
+
inset-inline-start: calc(var(--_badge-inline-start) - var(--u-badge-inline-offset, -4px));
|
|
32
|
+
padding-inline: var(--u-badge-padding, 4px);
|
|
33
|
+
}
|
|
34
|
+
`;
|
|
35
|
+
//# sourceMappingURL=badge.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.styles.js","sourceRoot":"","sources":["../../src/badge/badge.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_badge-size: var(--u-badge-small-size, 6px);\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-badge-line-height, var(--u-label-s-line-height, 1rem));\n font-size: var(--u-badge-font-size, var(--u-label-s-font-size, 0.6875rem));\n letter-spacing: var(--u-badge-letter-spacing, var(--u-label-s-letter-spacing, 0.0454545455rem));\n font-weight: var(--u-badge-font-weight, var(--u-label-s-font-weight, var(--u-font-weight-medium, 500)));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: var(--_badge-size);\n height: var(--_badge-size);\n line-height: var(--_badge-size);\n background-color: var(--u-badge-color, var(--u-color-error, rgb(179, 38, 30)));\n color: var(--u-badge-color, var(--u-color-on-error, rgb(255, 255, 255)));\n border-radius: calc(var(--_badge-size) / 2);\n }\n\n :host(:not([static])) {\n --_badge-inline-start: calc(100% - var(--_badge-size));\n position: absolute;\n top: 0;\n inset-inline-start: var(--_badge-inline-start);\n }\n\n :host(:not(:empty)) {\n --_badge-size: var(--u-badge-large-size, 16px);\n top: var(--u-badge-top-offset, -2px);\n inset-inline-start: calc(var(--_badge-inline-start) - var(--u-badge-inline-offset, -4px));\n padding-inline: var(--u-badge-padding, 4px);\n }\n`;\n"]}
|
package/button/button.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export declare class UmButton extends UmToggleButton {
|
|
|
24
24
|
*/
|
|
25
25
|
hasIcon: boolean;
|
|
26
26
|
hasSelectionLabel: boolean;
|
|
27
|
+
animateTextChange: boolean;
|
|
27
28
|
private readonly _textWrapper;
|
|
28
29
|
private readonly _text;
|
|
29
30
|
firstUpdated(changedProperties: PropertyValues): void;
|
package/button/button.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAK/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AACpF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvF,qBACa,QAAS,SAAQ,cAAc;;IAC1C,OAAgB,MAAM,EAAE,cAAc,CAAmC;IAEzE;;OAEG;IAC0B,OAAO,EAAE,eAAe,CAAY;IAEjE;;OAEG;IAC0B,KAAK,EAAE,aAAa,CAAC;IAEsB,YAAY,UAAS;IAE7F;;;;OAIG;IACgE,OAAO,UAAS;IAEL,iBAAiB,UAAS;IAE/F,iBAAiB,UAAS;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAInD,YAAY,CAAC,iBAAiB,EAAE,cAAc;cAuBpC,aAAa,IAAI,kBAAkB;IA0BtD,OAAO,CAAC,oBAAoB;IAI5B,SAAS,CAAC,6BAA6B,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;CAGxD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,QAAQ,CAAC;KACtB;CACF"}
|
package/button/button.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { html } from 'lit';
|
|
3
|
-
import { customElement, property, query } from 'lit/decorators.js';
|
|
3
|
+
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
4
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
4
5
|
import { styles } from './button.styles.js';
|
|
5
6
|
import { UmToggleButton } from './toggle-button.js';
|
|
6
7
|
import '../ripple/ripple.js';
|
|
@@ -19,6 +20,7 @@ let UmButton = class UmButton extends UmToggleButton {
|
|
|
19
20
|
*/
|
|
20
21
|
this.hasIcon = false;
|
|
21
22
|
this.hasSelectionLabel = false;
|
|
23
|
+
this.animateTextChange = false;
|
|
22
24
|
}
|
|
23
25
|
static { this.styles = [UmToggleButton.styles, styles]; }
|
|
24
26
|
#textSizeObserver;
|
|
@@ -29,9 +31,16 @@ let UmButton = class UmButton extends UmToggleButton {
|
|
|
29
31
|
this.#setTextWrapperWidth();
|
|
30
32
|
}
|
|
31
33
|
#setTextWrapperWidth() {
|
|
32
|
-
|
|
34
|
+
const width = `${this._text.offsetWidth}px`;
|
|
35
|
+
this._textWrapper.style.width = width;
|
|
36
|
+
const animateTextChange = !!parseInt(width, 10);
|
|
37
|
+
if (this.animateTextChange === animateTextChange) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
setTimeout(() => this.animateTextChange = animateTextChange);
|
|
33
41
|
}
|
|
34
42
|
renderContent() {
|
|
43
|
+
const labelContainerClasses = { animate: this.animateTextChange };
|
|
35
44
|
return html `
|
|
36
45
|
<span class="icon-container" aria-hidden="true">
|
|
37
46
|
<span class="icon icon-default">
|
|
@@ -42,7 +51,7 @@ let UmButton = class UmButton extends UmToggleButton {
|
|
|
42
51
|
</span>
|
|
43
52
|
</span>
|
|
44
53
|
|
|
45
|
-
<span class="label-container">
|
|
54
|
+
<span class="label-container ${classMap(labelContainerClasses)}">
|
|
46
55
|
<span id="label">
|
|
47
56
|
<span class="label label-default">
|
|
48
57
|
<slot></slot>
|
|
@@ -76,6 +85,9 @@ __decorate([
|
|
|
76
85
|
__decorate([
|
|
77
86
|
property({ type: Boolean, attribute: 'has-selection-label', reflect: true })
|
|
78
87
|
], UmButton.prototype, "hasSelectionLabel", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
state()
|
|
90
|
+
], UmButton.prototype, "animateTextChange", void 0);
|
|
79
91
|
__decorate([
|
|
80
92
|
query('.label-container', true)
|
|
81
93
|
], UmButton.prototype, "_textWrapper", void 0);
|
package/button/button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,qBAAqB,CAAC;AAMtB,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,cAAc;IAArC;;QAGL;;WAEG;QAC0B,YAAO,GAAoB,QAAQ,CAAC;QAOO,iBAAY,GAAG,KAAK,CAAC;QAE7F;;;;WAIG;QACgE,YAAO,GAAG,KAAK,CAAC;QAEL,sBAAiB,GAAG,KAAK,CAAC;QAE/F,sBAAiB,GAAG,KAAK,CAAC;IA+DrC,CAAC;aAtFiB,WAAM,GAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,AAAlD,CAAmD;IA4BzE,iBAAiB,CAAyB;IAEjC,YAAY,CAAC,iBAAiC;QACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oBAAoB;QAElB,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEtC,MAAM,iBAAiB,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,CACd,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAEkB,aAAa;QAC9B,MAAM,qBAAqB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAElE,OAAO,IAAI,CAAA;;;2CAG4B,IAAI,CAAC,oBAAoB;;;oDAGhB,IAAI,CAAC,4BAA4B;;;;qCAIhD,QAAQ,CAAC,qBAAqB,CAAC;;;;;;uDAMb,IAAI,CAAC,6BAA6B;;;;KAIpF,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,CAAQ;QACnC,IAAI,CAAC,OAAO,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9F,CAAC;IAES,6BAA6B,CAAC,CAAQ;QAC9C,IAAI,CAAC,iBAAiB,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxG,CAAC;;AAhF4B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAqC;AAKpC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAAsB;AAEsB;IAAvE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAsB;AAO1B;IAAlE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAiB;AAEL;IAA7E,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAA2B;AAE/F;IAAR,KAAK,EAAE;mDAA2B;AAEe;IAAjD,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC;8CAA6C;AACrC;IAAvC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;uCAAsC;AA3BjD,QAAQ;IADpB,aAAa,CAAC,UAAU,CAAC;GACb,QAAQ,CAuFpB","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { styles } from './button.styles.js';\nimport { UmToggleButton } from './toggle-button.js';\n\nimport '../ripple/ripple.js';\n\nexport type UmButtonVariant = 'filled' | 'tonal' | 'elevated' | 'outlined' | 'text';\nexport type UmButtonColor = 'primary' | 'secondary' | 'tertiary' | 'error' | undefined;\n\n@customElement('u-button')\nexport class UmButton extends UmToggleButton {\n static override styles: CSSResultGroup = [UmToggleButton.styles, styles];\n\n /**\n * The Button variant to render\n */\n @property({ reflect: true }) variant: UmButtonVariant = 'filled';\n\n /**\n * The Button color\n */\n @property({ reflect: true }) color: UmButtonColor;\n\n @property({ type: Boolean, attribute: 'trailing-icon', reflect: true }) trailingIcon = false;\n\n /**\n * Whether the button has icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-icon', reflect: true }) hasIcon = false;\n\n @property({ type: Boolean, attribute: 'has-selection-label', reflect: true }) hasSelectionLabel = false;\n\n @state() animateTextChange = false;\n\n @query('.label-container', true) private readonly _textWrapper!: HTMLElement;\n @query('#label', true) private readonly _text!: HTMLElement;\n\n #textSizeObserver!: ResizeObserver | null;\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n\n this.#textSizeObserver = new ResizeObserver(() => this.#setTextWrapperWidth());\n this.#textSizeObserver.observe(this._text);\n this.#setTextWrapperWidth();\n }\n\n #setTextWrapperWidth(): void {\n\n const width = `${this._text.offsetWidth}px`;\n this._textWrapper.style.width = width;\n\n const animateTextChange = !!parseInt(width, 10);\n\n if (this.animateTextChange === animateTextChange) {\n return;\n }\n\n setTimeout(() =>\n this.animateTextChange = animateTextChange);\n }\n\n protected override renderContent(): HTMLTemplateResult {\n const labelContainerClasses = { animate: this.animateTextChange };\n\n return html`\n <span class=\"icon-container\" aria-hidden=\"true\">\n <span class=\"icon icon-default\">\n <slot name=\"icon\" @slotchange=\"${this.handleIconSlotChange}\"></slot>\n </span>\n <span class=\"icon icon-selected\">\n <slot name=\"icon-selected\" @slotchange=\"${this.handleSelectedIconSlotChange}\"></slot>\n </span>\n </span>\n\n <span class=\"label-container ${classMap(labelContainerClasses)}\">\n <span id=\"label\">\n <span class=\"label label-default\">\n <slot></slot>\n </span>\n <span class=\"label label-selected\">\n <slot name=\"label-selected\" @slotchange=\"${this.handleSelectedLabelSlotChange}\"></slot>\n </span>\n </span>\n </span>\n `;\n }\n\n private handleIconSlotChange(e: Event) {\n this.hasIcon = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n\n protected handleSelectedLabelSlotChange(e: Event): void {\n this.hasSelectionLabel = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-button': UmButton;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAkOlB,CAAC"}
|
package/button/button.styles.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgOzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --u-common-button-line-height: var(--u-label-large-line-height, 1.25rem);\n --u-common-button-font-size: var(--u-label-large-font-size, .875rem);\n --u-common-button-font-weight: var(--u-font-weight-medium, 500);\n --_common-button-padding: var(--u-common-button-padding, 16px);\n --_extra-small-font-size: var(--u-common-button-extra-small-font-size, .875rem);\n --_small-font-size: var(--u-common-button-small-font-size, .875rem);\n --_medium-font-size: var(--u-common-button-medium-font-size, 1rem);\n --_large-font-size: var(--u-common-button-large-font-size, 1.5rem);\n --_extra-large-font-size: var(--u-common-button-extra-large-font-size, 2rem);\n --_extra-small-font-weight: var(--u-common-button-extra-small-font-weight, var(--u-font-weight-medium, 500));\n --_small-font-weight: var(--u-common-button-small-font-weight, var(--u-font-weight-medium, 500));\n --_medium-font-weight: var(--u-common-button-medium-font-weight, var(--u-font-weight-medium, 500));\n --_large-font-weight: var(--u-common-button-large-font-weight, var(--u-font-weight-regular, 400));\n --_extra-large-font-weight: var(--u-common-button-extra-large-font-weight, var(--u-font-weight-regular, 400));\n --_extra-small-size: var(--u-common-button-extra-small-height, 32px);\n --_small-size: var(--u-common-button-small-height, 40px);\n --_medium-size: var(--u-common-button-medium-height, 56px);\n --_large-size: var(--u-common-button-large-height, 96px);\n --_extra-large-size: var(--u-common-button-extra-large-height, 136px);\n --_extra-small-icon-size: var(--u-icon-button-extra-small-icon-size, 1.25rem);\n --_small-icon-size: var(--u-icon-button-small-icon-size, 1.25rem);\n --_medium-icon-size: var(--u-icon-button-medium-icon-size, 1.5rem);\n --_large-icon-size: var(--u-icon-button-large-icon-size, 2rem);\n --_extra-large-icon-size: var(--u-icon-button-extra-large-icon-size, 2.5rem);\n --_extra-small-icon-margin: var(--u-icon-button-extra-small-icon-margin, 8px);\n --_small-icon-margin: var(--u-icon-button-small-icon-margin, 8px);\n --_medium-icon-margin: var(--u-icon-button-medium-icon-margin, 8px);\n --_large-icon-margin: var(--u-icon-button-large-icon-margin, 12px);\n --_extra-large-icon-margin: var(--u-icon-button-extra-large-icon-margin, 16px);\n --_extra-small-padding: var(--u-common-button-extra-small-padding, 12px);\n --_small-padding: var(--u-common-button-small-padding, 16px);\n --_medium-padding: var(--u-common-button-medium-padding, 24px);\n --_large-padding: var(--u-common-button-large-padding, 48px);\n --_extra-large-padding: var(--u-common-button-extra-large-padding, 64px);\n --_extra-small-square-shape-corner: var(--u-common-button-extra-small-square-shape-corner, 12px);\n --_small-square-shape-corner: var(--u-common-button-small-square-shape-corner, 12px);\n --_medium-square-shape-corner: var(--u-common-button-medium-square-shape-corner, 16px);\n --_large-square-shape-corner: var(--u-common-button-large-square-shape-corner, 28px);\n --_extra-large-square-shape-corner: var(--u-common-button-extra-large-square-shape-corner, 28px);\n --_extra-small-pressed-shape-corner: var(--u-common-button-extra-small-pressed-shape-corner, 8px);\n --_small-pressed-shape-corner: var(--u-common-button-small-pressed-shape-corner, 8px);\n --_medium-pressed-shape-corner: var(--u-common-button-medium-pressed-shape-corner, 12px);\n --_large-pressed-shape-corner: var(--u-common-button-large-pressed-shape-corner, 16px);\n --_extra-large-pressed-shape-corner: var(--u-common-button-extra-large-pressed-shape-corner, 16px);\n --_font-size: var(--_small-font-size);\n --_font-weight: var(--_small-font-weight);\n --_padding: var(--_small-padding);\n --_icon-margin: var(--_small-icon-margin);\n --_round-shape-corner: var(--u-common-button-round-shape-corner, calc(var(--_size) / 2));\n font-family: var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n padding-inline: var(--_padding);\n box-sizing: border-box;\n }\n\n :host([size=extra-small]) {\n --_font-size: var(--_extra-small-font-size);\n --_font-weight: var(--_extra-small-font-weight);\n --_padding: var(--_extra-small-padding);\n --_icon-margin: var(--_extra-small-icon-margin);\n }\n\n :host([size=medium]) {\n --_font-size: var(--_medium-font-size);\n --_font-weight: var(--_medium-font-weight);\n --_padding: var(--_medium-padding);\n --_icon-margin: var(--_medium-icon-margin);\n }\n\n :host([size=large]) {\n --_font-size: var(--_large-font-size);\n --_font-weight: var(--_large-font-weight);\n --_padding: var(--_large-padding);\n --_icon-margin: var(--_large-icon-margin);\n }\n\n :host([size=extra-large]) {\n --_font-size: var(--_extra-large-font-size);\n --_font-weight: var(--_extra-large-font-weight);\n --_padding: var(--_extra-large-padding);\n --_icon-margin: var(--_extra-large-icon-margin);\n }\n\n :host([variant=filled][toggle]) {\n background-color: var(--u-filled-button-primary-container-unselected-color, var(--u-color-surface-container, rgb(243, 237, 247)));\n color: var(--u-filled-button-primary-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n :host([variant=filled]:not([toggle])),\n :host([variant=filled][selected]),\n :host([variant=filled][color=primary]:not([toggle])),\n :host([variant=filled][color=primary][selected]) {\n background-color: var(--u-filled-button-primary-container-color, var(--_color-primary));\n color: var(--u-filled-button-primary-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=secondary]:not([toggle])),\n :host([variant=filled][color=secondary][selected]) {\n background-color: var(--u-filled-button-secondary-container-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-filled-button-secondary-text-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=tertiary]:not([toggle])),\n :host([variant=filled][color=tertiary][selected]) {\n background-color: var(--u-filled-button-tertiary-container-color, var(--u-color-tertiary, rgb(125, 82, 96)));\n color: var(--u-filled-button-tertiary-text-color, var(--u-color-on-tertiary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=error]:not([toggle])),\n :host([variant=filled][color=error][selected]) {\n background-color: var(--u-filled-button-error-container-color, var(--u-color-error, rgb(179, 38, 30)));\n color: var(--u-filled-button-error-text-color, var(--u-color-on-error, rgb(255, 255, 255)));\n }\n\n :host([variant=tonal]) {\n background-color: var(--u-tonal-button-container-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([variant=tonal][selected]) {\n background-color: var(--u-tonal-button-container-selected-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-tonal-button-text-selected-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n :host([variant=elevated]) {\n background-color: var(--u-elevated-button-container-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n color: var(--u-elevated-button-text-color, var(--u-color-primary, rgb(103, 80, 164)));\n }\n\n :host([variant=elevated][selected]) {\n background-color: var(--u-elevated-button-container-selected-color, var(--u-color-primary, rgb(103, 80, 164)));\n color: var(--u-elevated-button-text-selected-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n @media (hover: hover) {\n :host([variant=filled]:hover:not(:focus-within):not(:active)),\n :host([variant=tonal]:hover:not(:focus-within):not(:active)) {\n --u-elevation-level: var(--u-filled-button-hover-elevation-level, 1);\n }\n }\n :host([variant=text]) {\n color: var(--u-text-button-text-color, var(--_color-primary));\n }\n\n :host([variant=outlined]) {\n color: var(--u-outlined-button-text-color, var(--u-text-button-text-color, var(--_color-primary)));\n border: 1px solid var(--u-outlined-button-outline-color, var(--u-color-outline, rgb(121, 116, 126)));\n }\n\n :host([variant=outlined][selected]) {\n background-color: var(--u-outlined-button-container-selected-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));\n color: var(--u-outlined-button-text-selected-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));\n }\n\n :host([variant=elevated]) {\n --u-elevation-level: var(--u-elevated-button-elevation-level, 1);\n color: var(--u-elevated-button-text-color, var(--_color-primary));\n }\n\n :host([disabled][variant=outlined]) {\n background-color: transparent !important;\n border-color: var(--u-outlined-button-disabled-border-color, color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) var(--u-outlined-button-disabled-border-opacity, 12%), transparent)) !important;\n }\n\n @media (hover: hover) {\n :host([variant=elevated]:hover) {\n --u-elevation-level: var(--u-elevated-button-hover-elevation-level, 2);\n }\n }\n :host(:not([has-icon])) .icon-container {\n display: none;\n }\n\n .content {\n gap: var(--_icon-margin);\n }\n\n .icon {\n font-size: var(--_icon-size);\n }\n\n :host([trailing-icon]) .content {\n flex-direction: row-reverse;\n }\n\n #label {\n display: inline-block;\n }\n\n .label {\n display: inline-block;\n inset-inline-start: 0;\n transition-duration: calc(var(--_morph-duration) * 0.7);\n }\n\n .label-container {\n position: relative;\n transition: width var(--_morph-duration) linear;\n }\n\n .label-default {\n opacity: 1;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n\n .label-selected {\n position: absolute;\n opacity: 0;\n transition-delay: 0ms;\n }\n\n :host([selected][has-selection-label]) .label-default {\n position: absolute;\n opacity: 0;\n transition-delay: 0ms;\n }\n :host([selected][has-selection-label]) .label-selected {\n position: static;\n opacity: 1;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n`;\n"]}
|
|
1
|
+
{"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkOzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --u-common-button-line-height: var(--u-label-large-line-height, 1.25rem);\n --u-common-button-font-size: var(--u-label-large-font-size, .875rem);\n --u-common-button-font-weight: var(--u-font-weight-medium, 500);\n --_common-button-padding: var(--u-common-button-padding, 16px);\n --_extra-small-font-size: var(--u-common-button-extra-small-font-size, .875rem);\n --_small-font-size: var(--u-common-button-small-font-size, .875rem);\n --_medium-font-size: var(--u-common-button-medium-font-size, 1rem);\n --_large-font-size: var(--u-common-button-large-font-size, 1.5rem);\n --_extra-large-font-size: var(--u-common-button-extra-large-font-size, 2rem);\n --_extra-small-font-weight: var(--u-common-button-extra-small-font-weight, var(--u-font-weight-medium, 500));\n --_small-font-weight: var(--u-common-button-small-font-weight, var(--u-font-weight-medium, 500));\n --_medium-font-weight: var(--u-common-button-medium-font-weight, var(--u-font-weight-medium, 500));\n --_large-font-weight: var(--u-common-button-large-font-weight, var(--u-font-weight-regular, 400));\n --_extra-large-font-weight: var(--u-common-button-extra-large-font-weight, var(--u-font-weight-regular, 400));\n --_extra-small-size: var(--u-common-button-extra-small-height, 32px);\n --_small-size: var(--u-common-button-small-height, 40px);\n --_medium-size: var(--u-common-button-medium-height, 56px);\n --_large-size: var(--u-common-button-large-height, 96px);\n --_extra-large-size: var(--u-common-button-extra-large-height, 136px);\n --_extra-small-icon-size: var(--u-icon-button-extra-small-icon-size, 1.25rem);\n --_small-icon-size: var(--u-icon-button-small-icon-size, 1.25rem);\n --_medium-icon-size: var(--u-icon-button-medium-icon-size, 1.5rem);\n --_large-icon-size: var(--u-icon-button-large-icon-size, 2rem);\n --_extra-large-icon-size: var(--u-icon-button-extra-large-icon-size, 2.5rem);\n --_extra-small-icon-margin: var(--u-icon-button-extra-small-icon-margin, 8px);\n --_small-icon-margin: var(--u-icon-button-small-icon-margin, 8px);\n --_medium-icon-margin: var(--u-icon-button-medium-icon-margin, 8px);\n --_large-icon-margin: var(--u-icon-button-large-icon-margin, 12px);\n --_extra-large-icon-margin: var(--u-icon-button-extra-large-icon-margin, 16px);\n --_extra-small-padding: var(--u-common-button-extra-small-padding, 12px);\n --_small-padding: var(--u-common-button-small-padding, 16px);\n --_medium-padding: var(--u-common-button-medium-padding, 24px);\n --_large-padding: var(--u-common-button-large-padding, 48px);\n --_extra-large-padding: var(--u-common-button-extra-large-padding, 64px);\n --_extra-small-square-shape-corner: var(--u-common-button-extra-small-square-shape-corner, 12px);\n --_small-square-shape-corner: var(--u-common-button-small-square-shape-corner, 12px);\n --_medium-square-shape-corner: var(--u-common-button-medium-square-shape-corner, 16px);\n --_large-square-shape-corner: var(--u-common-button-large-square-shape-corner, 28px);\n --_extra-large-square-shape-corner: var(--u-common-button-extra-large-square-shape-corner, 28px);\n --_extra-small-pressed-shape-corner: var(--u-common-button-extra-small-pressed-shape-corner, 8px);\n --_small-pressed-shape-corner: var(--u-common-button-small-pressed-shape-corner, 8px);\n --_medium-pressed-shape-corner: var(--u-common-button-medium-pressed-shape-corner, 12px);\n --_large-pressed-shape-corner: var(--u-common-button-large-pressed-shape-corner, 16px);\n --_extra-large-pressed-shape-corner: var(--u-common-button-extra-large-pressed-shape-corner, 16px);\n --_font-size: var(--_small-font-size);\n --_font-weight: var(--_small-font-weight);\n --_padding: var(--_small-padding);\n --_icon-margin: var(--_small-icon-margin);\n --_round-shape-corner: var(--u-common-button-round-shape-corner, calc(var(--_size) / 2));\n font-family: var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n padding-inline: var(--_padding);\n box-sizing: border-box;\n }\n\n :host([size=extra-small]) {\n --_font-size: var(--_extra-small-font-size);\n --_font-weight: var(--_extra-small-font-weight);\n --_padding: var(--_extra-small-padding);\n --_icon-margin: var(--_extra-small-icon-margin);\n }\n\n :host([size=medium]) {\n --_font-size: var(--_medium-font-size);\n --_font-weight: var(--_medium-font-weight);\n --_padding: var(--_medium-padding);\n --_icon-margin: var(--_medium-icon-margin);\n }\n\n :host([size=large]) {\n --_font-size: var(--_large-font-size);\n --_font-weight: var(--_large-font-weight);\n --_padding: var(--_large-padding);\n --_icon-margin: var(--_large-icon-margin);\n }\n\n :host([size=extra-large]) {\n --_font-size: var(--_extra-large-font-size);\n --_font-weight: var(--_extra-large-font-weight);\n --_padding: var(--_extra-large-padding);\n --_icon-margin: var(--_extra-large-icon-margin);\n }\n\n :host([variant=filled][toggle]) {\n background-color: var(--u-filled-button-primary-container-unselected-color, var(--u-color-surface-container, rgb(243, 237, 247)));\n color: var(--u-filled-button-primary-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n :host([variant=filled]:not([toggle])),\n :host([variant=filled][selected]),\n :host([variant=filled][color=primary]:not([toggle])),\n :host([variant=filled][color=primary][selected]) {\n background-color: var(--u-filled-button-primary-container-color, var(--_color-primary));\n color: var(--u-filled-button-primary-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=secondary]:not([toggle])),\n :host([variant=filled][color=secondary][selected]) {\n background-color: var(--u-filled-button-secondary-container-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-filled-button-secondary-text-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=tertiary]:not([toggle])),\n :host([variant=filled][color=tertiary][selected]) {\n background-color: var(--u-filled-button-tertiary-container-color, var(--u-color-tertiary, rgb(125, 82, 96)));\n color: var(--u-filled-button-tertiary-text-color, var(--u-color-on-tertiary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=error]:not([toggle])),\n :host([variant=filled][color=error][selected]) {\n background-color: var(--u-filled-button-error-container-color, var(--u-color-error, rgb(179, 38, 30)));\n color: var(--u-filled-button-error-text-color, var(--u-color-on-error, rgb(255, 255, 255)));\n }\n\n :host([variant=tonal]) {\n background-color: var(--u-tonal-button-container-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([variant=tonal][selected]) {\n background-color: var(--u-tonal-button-container-selected-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-tonal-button-text-selected-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n :host([variant=elevated]) {\n background-color: var(--u-elevated-button-container-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n color: var(--u-elevated-button-text-color, var(--u-color-primary, rgb(103, 80, 164)));\n }\n\n :host([variant=elevated][selected]) {\n background-color: var(--u-elevated-button-container-selected-color, var(--u-color-primary, rgb(103, 80, 164)));\n color: var(--u-elevated-button-text-selected-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n @media (hover: hover) {\n :host([variant=filled]:hover:not(:focus-within):not(:active)),\n :host([variant=tonal]:hover:not(:focus-within):not(:active)) {\n --u-elevation-level: var(--u-filled-button-hover-elevation-level, 1);\n }\n }\n :host([variant=text]) {\n color: var(--u-text-button-text-color, var(--_color-primary));\n }\n\n :host([variant=outlined]) {\n color: var(--u-outlined-button-text-color, var(--u-text-button-text-color, var(--_color-primary)));\n border: 1px solid var(--u-outlined-button-outline-color, var(--u-color-outline, rgb(121, 116, 126)));\n }\n\n :host([variant=outlined][selected]) {\n background-color: var(--u-outlined-button-container-selected-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));\n color: var(--u-outlined-button-text-selected-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));\n }\n\n :host([variant=elevated]) {\n --u-elevation-level: var(--u-elevated-button-elevation-level, 1);\n color: var(--u-elevated-button-text-color, var(--_color-primary));\n }\n\n :host([disabled][variant=outlined]) {\n background-color: transparent !important;\n border-color: var(--u-outlined-button-disabled-border-color, color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) var(--u-outlined-button-disabled-border-opacity, 12%), transparent)) !important;\n }\n\n @media (hover: hover) {\n :host([variant=elevated]:hover) {\n --u-elevation-level: var(--u-elevated-button-hover-elevation-level, 2);\n }\n }\n :host(:not([has-icon])) .icon-container {\n display: none;\n }\n\n .content {\n gap: var(--_icon-margin);\n }\n\n .icon {\n font-size: var(--_icon-size);\n }\n\n :host([trailing-icon]) .content {\n flex-direction: row-reverse;\n }\n\n #label {\n display: inline-block;\n }\n\n .label {\n display: inline-block;\n inset-inline-start: 0;\n transition-duration: calc(var(--_morph-duration) * 0.7);\n }\n\n .label-container {\n position: relative;\n }\n .label-container.animate {\n transition: width var(--_morph-duration) linear;\n }\n\n .label-default {\n opacity: 1;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n\n .label-selected {\n position: absolute;\n opacity: 0;\n transition-delay: 0ms;\n }\n\n :host([selected][has-selection-label]) .label-default {\n position: absolute;\n opacity: 0;\n transition-delay: 0ms;\n }\n :host([selected][has-selection-label]) .label-selected {\n position: static;\n opacity: 1;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n`;\n"]}
|
|
@@ -4590,4 +4590,4 @@ a {
|
|
|
4590
4590
|
text-decoration: underline;
|
|
4591
4591
|
}
|
|
4592
4592
|
}
|
|
4593
|
-
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9jc3MtdmFycy5zY3NzIiwibWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwibWl4aW5zL190ZXh0LWJnLnNjc3MiLCJjb2xvcnMvX3RleHQuc2NzcyIsImxheW91dC9fY29udGFpbmVyLnNjc3MiLCJsYXlvdXQvX2dyaWQuc2NzcyIsImxheW91dC9fbWFyZ2luLWFuZC1ndXR0ZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX2RpdmlkZXIuc2NzcyIsInV0aWxpdGllcy9fc2NoZW1lLnNjc3MiLCJ1dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidGFibGUvX3RhYmxlLnNjc3MiLCJ0eXBvL19mb250LnNjc3MiLCJ0eXBvL190eXBvLnNjc3MiLCJtaXhpbnMvX3R5cG8uc2NzcyIsIl9yZWJvb3Quc2NzcyIsIl9nbG9iYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOzs7QUNMQTtFRFdGO0lBQ0U7SUFDQTs7O0FFUEY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ0FGO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBRVBGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FDWkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQ0VJO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQVNBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBQzdCVjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQ1hGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUNLTTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QUNkVjtFQUFvQjs7O0FBSXBCO0VBQW1COzs7QUFDbkI7RUFBbUI7OztBQUNuQjtFQUNFO0VBQ0E7RUFDQTs7O0FBS0Y7RUFBcUI7OztBQUNyQjtFQUFxQjs7O0FBQ3JCO0VBQXFCOzs7QUFFckI7RUFBd0I7OztBQUd4QjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFTRTtFQUEwQjs7O0FBQzFCO0VBQTBCOzs7QUFDMUI7RUFBMEI7OztBQUUxQjtFQUNFOzs7QUFHRjtFQUNFOzs7QVRqQkY7RVNRQTtJQUEwQjs7RUFDMUI7SUFBMEI7O0VBQzFCO0lBQTBCOztFQUUxQjtJQUNFOztFQUdGO0lBQ0U7OztBVGpCRjtFU1FBO0lBQTBCOztFQUMxQjtJQUEwQjs7RUFDMUI7SUFBMEI7O0VBRTFCO0lBQ0U7O0VBR0Y7SUFDRTs7O0FUakJGO0VTUUE7SUFBMEI7O0VBQzFCO0lBQTBCOztFQUMxQjtJQUEwQjs7RUFFMUI7SUFDRTs7RUFHRjtJQUNFOzs7QVRqQkY7RVNRQTtJQUEwQjs7RUFDMUI7SUFBMEI7O0VBQzFCO0lBQTBCOztFQUUxQjtJQUNFOztFQUdGO0lBQ0U7OztBQU1KO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ3ZESjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBTVc7QUFBQTtBQUFBO0FBQUE7RUFFUDs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUY7QUFBQTtFQUNFOzs7QUMxQ047RUFDRTs7O0FDR0Y7RUFHTTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQU1KO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBQ0hKO0FBQUE7QUFBQTtFQUdFOzs7QUFXRTtFQUZKO0lBR007Ozs7QUFjTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VEWkE7RUFBQTtFQ2VBO0VBQ0E7RUFDQTtFQUNBOzs7QUFTRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0lBQ0U7Ozs7QUFLTjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU9FOzs7QUFHRjtFQUNFOzs7QUFTRjtFQUNFO0VBQ0E7OztBQVFGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtFQUNFOzs7QUFLRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQUtGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQU9GO0VBQ0U7RUFDQTs7O0FBUUY7RUFDRTs7O0FBUUY7RUFDRTs7O0FDM2VGO0VBQ0U7OztBQUdGO0VkTUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFY1JFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7SUFDRSIsImZpbGUiOiJ1bml2ZXJzYWwtbWF0ZXJpYWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCJ2YXJpYWJsZXNcIjtcbkB1c2UgXCJmdW5jdGlvbnNcIjtcbkB1c2UgXCJtaXhpbnNcIjtcblxuOnJvb3Qge1xuICAtLXUtc3RhdGUtbGF5ZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLS11LXN0YXRlLWxheWVyLWhvdmVyLW9wYWNpdHk6IDglO1xuICAtLXUtc3RhdGUtbGF5ZXItZm9jdXMtb3BhY2l0eTogMTIlO1xuICAtLXUtc3RhdGUtbGF5ZXItcHJlc3NlZC1vcGFjaXR5OiAxMiU7XG4gIC0tdS1zdGF0ZS1sYXllci1kcmFnZ2VkLW9wYWNpdHk6IDE2JTtcblxuICAtLXUtaGlnaC1lbXBoYXNpcy1vcGFjaXR5OiAxMDAlO1xuICAtLXUtbG93LWVtcGhhc2lzLW9wYWNpdHk6IDc1JTtcbiAgLS11LWxvd2VyLWVtcGhhc2lzLW9wYWNpdHk6IDUwJTtcblxuICAtLXUtY29sb3ItYm9keTogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXZhcihzdXJmYWNlKX07XG4gIC0tdS1jb2xvci1vbi1ib2R5OiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdmFyKG9uLXN1cmZhY2UpfTtcblxuICAtLXUtZm9udC1mYW1pbHk6ICN7dmFyaWFibGVzLiRmb250LWZhbWlseX07XG4gIC0tdS1mb250LW1vbm9zcGFjZTogI3t2YXJpYWJsZXMuJGZvbnQtbW9ub307XG4gIC0tdS1jdXJyZW50LXRleHQtY29sb3I6IHZhcigtLXUtY29sb3Itb24tYm9keSk7XG4gIC0tdS10ZXh0LW9wYWNpdHk6IHZhcigtLXUtaGlnaC1lbXBoYXNpcy1vcGFjaXR5KTtcbiAgLS11LWxheW91dC1tYXJnaW46IHZhcigtLXUtbGF5b3V0LW1hcmdpbi1kZWZhdWx0KTtcbiAgLS11LWxheW91dC1ndXR0ZXI6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1kZWZhdWx0KTtcbiAgLS11LWxheW91dC1tYXJnaW4tZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLW1lZGl1bSk7XG4gIC0tdS1sYXlvdXQtZ3V0dGVyLWRlZmF1bHQ6IHZhcigtLXUtc3BhY2luZy1tZWRpdW0pO1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gdmFyaWFibGVzLiRmb250LXdlaWdodHMge1xuICAgIC0tdS1mb250LXdlaWdodC0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiB2YXJpYWJsZXMuJHNwYWNpbmdzIHtcbiAgICAtLXUtc3BhY2luZy0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiB2YXJpYWJsZXMuJHNoYXBlLWNvcm5lciB7XG4gICAgLS11LXNoYXBlLWNvcm5lci0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG59XG5cbkBpbmNsdWRlIG1peGlucy5tZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG5cbiAgOnJvb3Qge1xuICAgIC0tdS1sYXlvdXQtbWFyZ2luLWRlZmF1bHQ6IHZhcigtLXUtc3BhY2luZy1sYXJnZSk7XG4gICAgLS11LWxheW91dC1ndXR0ZXItZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLWxhcmdlKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCIuLi92YXJpYWJsZXNcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSkge1xuICAkYnJlYWtwb2ludC1uYW1lczogbWFwLmtleXModmFyaWFibGVzLiRicmVha3BvaW50cyk7XG5cbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG5cbiAgQGlmIG5vdCAkbiB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSkge1xuICAkbWluOiBtYXAuZ2V0KHZhcmlhYmxlcy4kYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0KSAtIC4wMnB4LCBudWxsKTtcbn1cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSkgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSkge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWluKCRuZXh0KTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG5AdXNlIFwiLi4vZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiBfY3VycmVudC1jb2xvci12YXJzLWltcG9ydGFudCgkY3VycmVudC1jb2xvci12YXItbmFtZSkge1xuICAtLXUtY3VycmVudC10ZXh0LWNvbG9yOiB2YXIoI3skY3VycmVudC1jb2xvci12YXItbmFtZX0pICFpbXBvcnRhbnQ7XG5cbiAgLS11LWNvbG9yLWhpZ2gtZW1waGFzaXM6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSwgdmFyKC0tdS1oaWdoLWVtcGhhc2lzLW9wYWNpdHkpKX0gIWltcG9ydGFudDtcbiAgLS11LWNvbG9yLWxvdy1lbXBoYXNpczogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LWxvdy1lbXBoYXNpcy1vcGFjaXR5KSl9ICFpbXBvcnRhbnQ7XG4gIC0tdS1jb2xvci1sb3dlci1lbXBoYXNpczogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LWxvd2VyLWVtcGhhc2lzLW9wYWNpdHkpKX0gIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXUtY29sb3ItaGlnaC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuQG1peGluIF9jdXJyZW50LWNvbG9yLXZhcnMoJGN1cnJlbnQtY29sb3ItdmFyLW5hbWUpIHtcbiAgLS11LWN1cnJlbnQtdGV4dC1jb2xvcjogdmFyKCN7JGN1cnJlbnQtY29sb3ItdmFyLW5hbWV9KTtcblxuICAtLXUtY29sb3ItaGlnaC1lbXBoYXNpczogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LWhpZ2gtZW1waGFzaXMtb3BhY2l0eSkpfTtcbiAgLS11LWNvbG9yLWxvdy1lbXBoYXNpczogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LWxvdy1lbXBoYXNpcy1vcGFjaXR5KSl9O1xuICAtLXUtY29sb3ItbG93ZXItZW1waGFzaXM6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSwgdmFyKC0tdS1sb3dlci1lbXBoYXNpcy1vcGFjaXR5KSl9O1xuICBjb2xvcjogdmFyKC0tdS1jb2xvci1oaWdoLWVtcGhhc2lzKTtcbn1cblxuQG1peGluIF9iZy12YXJpYW50LWltcG9ydGFudCgkY29sb3ItbmFtZSkge1xuICAudS1iZy0jeyRjb2xvci1uYW1lfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1jb2xvci0jeyRjb2xvci1uYW1lfSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gX3RleHQtYmctdmFyaWFudC1pbXBvcnRhbnQoJGNvbG9yLW5hbWUsICRvbi1jb2xvci1uYW1lOiBudWxsKSB7XG5cbiAgQGlmICRvbi1jb2xvci1uYW1lID09IG51bGwge1xuICAgICRvbi1jb2xvci1uYW1lOiBvbi0jeyRjb2xvci1uYW1lfTtcbiAgfVxuXG4gICRjb250YWluZXItaW5kZXg6IHN0cmluZy5pbmRleCgkb24tY29sb3ItbmFtZSwgXCJzdXJmYWNlLWNvbnRhaW5lclwiKTtcbiAgQGlmICRjb250YWluZXItaW5kZXggIT0gbnVsbCB7XG4gICAgJG9uLWNvbG9yLW5hbWU6ICN7c3RyaW5nLnNsaWNlKCRvbi1jb2xvci1uYW1lLCAxLCAkY29udGFpbmVyLWluZGV4IC0gMSl9c3VyZmFjZTtcbiAgfVxuXG4gIC51LXRleHQtYmctI3skY29sb3ItbmFtZX0ge1xuICAgIEBpbmNsdWRlIF9jdXJyZW50LWNvbG9yLXZhcnMtaW1wb3J0YW50KC0tdS1jb2xvci0jeyRvbi1jb2xvci1uYW1lfSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1jb2xvci0jeyRjb2xvci1uYW1lfSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGlucy90ZXh0LWJnXCI7XG5cbkBtaXhpbiBfdGV4dC12YXJpYW50LWJsb2NrKCRuYW1lLCAkY29sb3ItbmFtZSkge1xuXG4gIEBpZiBzdHJpbmcuaW5kZXgoJG5hbWUsIFwiLWNvbnRhaW5lclwiKSA9PSBudWxsIGFuZCBzdHJpbmcuaW5kZXgoJG5hbWUsIFwiLXN1cmZhY2VcIikgPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkbmFtZSwgJGNvbG9yLW5hbWUpO1xuICAgIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lLCBpbnZlcnNlLSk7XG4gIH1cblxuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KCRuYW1lLCAkY29sb3ItbmFtZSwgb24tKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkbmFtZSwgJGNvbG9yLW5hbWUsIG9uLWludmVyc2UtKTtcbn1cblxuQG1peGluIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lOiBudWxsLCAkcHJlZml4OiAnJykge1xuXG4gIEBpZiAoJGNvbG9yLW5hbWUgPT0gbnVsbCkge1xuICAgICRjb2xvci1uYW1lOiAkbmFtZTtcbiAgfVxuXG4gIC51LXRleHQtI3skcHJlZml4fSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBfY3VycmVudC1jb2xvci12YXJzLWltcG9ydGFudCgtLXUtY29sb3ItI3skcHJlZml4fSN7JGNvbG9yLW5hbWV9KTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IgaW4gdmFyaWFibGVzLiRjb2xvci1yb2xlcyB7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQtYmxvY2soJGNvbG9yLCAkY29sb3IpO1xufVxuXG5AZWFjaCAkY29sb3IgaW4gdmFyaWFibGVzLiRmaXhlZC1jb2xvcnMge1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KCRjb2xvcik7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tI3skY29sb3J9KTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgjeyRjb2xvcn0tY29udGFpbmVyKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi0jeyRjb2xvcn0tY29udGFpbmVyKTtcbn1cblxuQGVhY2ggJGNvbG9yIGluIHZhcmlhYmxlcy4kdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgjeyRjb2xvcn0tZml4ZWQpO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KCN7JGNvbG9yfS1maXhlZC1kaW0pO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLSN7JGNvbG9yfS1maXhlZCk7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tI3skY29sb3J9LWZpeGVkLXZhcmlhbnQpO1xufVxuXG5AaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLWJvZHkpO1xuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1pbnZlcnNlLWJvZHkpO1xuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1saWdodCk7XG5AaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLWRhcmspO1xuXG4iLCJAdXNlIFwiLi4vYXBpXCI7XG5AdXNlIFwiLi4vbWl4aW5zXCI7XG5cbi51LWNvbnRhaW5lci1mbHVpZCxcbi51LWNvbnRhaW5lciB7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS11LWxheW91dC1tYXJnaW4taW5saW5lLCB2YXIoLS11LWxheW91dC1tYXJnaW4pKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tdS1sYXlvdXQtbWFyZ2luLWJsb2NrLCB2YXIoLS11LWxheW91dC1tYXJnaW4pKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tdS1jb250YWluZXItd2lkdGgsIDk5MnB4KTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cbiIsIi51LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS11LWdyaWQtY29sdW1ucywgMiksIG1pbm1heCgwLCAxZnIpKTtcbiAgY29sdW1uLWdhcDogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWlubGluZSwgdmFyKC0tdS1sYXlvdXQtZ3V0dGVyKSk7XG4gIHJvdy1nYXA6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1ibG9jaywgdmFyKC0tdS1sYXlvdXQtZ3V0dGVyKSk7XG59XG5cbi51LWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWJsb2NrLCB2YXIoLS11LWxheW91dC1ndXR0ZXIpKTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AdXNlIFwiLi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi4vYXBpXCI7XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBhcGkuYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCk7XG5cbiAgQGVhY2ggJGRpcmVjdGlvbiBpbiB2YXJpYWJsZXMuJGxheW91dC1kaXJlY3Rpb25zIHtcblxuICAgIEBpbmNsdWRlIGFwaS5tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAudS1tYXJnaW4jeyRkaXJlY3Rpb259I3skaW5maXh9LWRlZmF1bHQge1xuICAgICAgICAtLXUtbGF5b3V0LW1hcmdpbiN7JGRpcmVjdGlvbn06IHZhcigtLXUtbGF5b3V0LW1hcmdpbi1kZWZhdWx0KTtcbiAgICAgIH1cblxuICAgICAgLnUtZ3V0dGVyI3skZGlyZWN0aW9ufSN7JGluZml4fS1kZWZhdWx0IHtcbiAgICAgICAgLS11LWxheW91dC1ndXR0ZXIjeyRkaXJlY3Rpb259OiB2YXIoLS11LWxheW91dC1ndXR0ZXItZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJHNwYWNpbmcgaW4gbWFwLmtleXModmFyaWFibGVzLiRzcGFjaW5ncykge1xuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gdmFyaWFibGVzLiRsYXlvdXQtZGlyZWN0aW9ucyB7XG5cbiAgICAgIEBpbmNsdWRlIGFwaS5tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgIC51LW1hcmdpbiN7JGRpcmVjdGlvbn0jeyRpbmZpeH0tI3skc3BhY2luZ30ge1xuICAgICAgICAgIC0tdS1sYXlvdXQtbWFyZ2luI3skZGlyZWN0aW9ufTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LWd1dHRlciN7JGRpcmVjdGlvbn0jeyRpbmZpeH0tI3skc3BhY2luZ30ge1xuICAgICAgICAgIC0tdS1sYXlvdXQtZ3V0dGVyI3skZGlyZWN0aW9ufTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL2FwaVwiO1xuXG4udS1kaXZpZGVyLFxuLnUtZGl2aWRlci1uby1tYXJnaW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiB2YXIoLS11LWRpdmlkZXItdGhpY2tuZXNzLCAxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWRpdmlkZXItY29sb3IsIHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSk7XG4gIG9wYWNpdHk6IHZhcigtLXUtZGl2aWRlci1vcGFjaXR5LCAuNCk7XG59XG5cbi51LWRpdmlkZXIge1xuICBtYXJnaW4tYmxvY2s6IDhweDtcbn1cbiIsIi51LWRhcmsge1xuICBjb2xvci1zY2hlbWU6IGRhcmsgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXUtY29sb3ItaGlnaC1lbXBoYXNpcyk7XG59XG5cbi51LWxpZ2h0IHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodCAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tdS1jb2xvci1oaWdoLWVtcGhhc2lzKTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AdXNlIFwiLi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi4vYXBpXCI7XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBhcGkuYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCk7XG5cbiAgQGVhY2ggJHNwYWNpbmcgaW4gbWFwLmtleXModmFyaWFibGVzLiRzcGFjaW5ncykge1xuICAgIEBlYWNoICRzaWRlLCAkdmFsdWUgaW4gdmFyaWFibGVzLiRzcGFjaW5nLXNpZGVzIHtcbiAgICAgIEBpbmNsdWRlIGFwaS5tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgIC51LW0jeyRzaWRlfSN7JGluZml4fS0jeyRzcGFjaW5nfSB7XG4gICAgICAgICAgbWFyZ2luI3skdmFsdWV9OiB2YXIoLS11LXNwYWNpbmctI3skc3BhY2luZ30pO1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcCN7JHNpZGV9I3skaW5maXh9LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgICBwYWRkaW5nI3skdmFsdWV9OiB2YXIoLS11LXNwYWNpbmctI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi4vbWl4aW5zXCI7XG5cbi51LXRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1tb25vc3BhY2UpOyB9XG5cbi8vIEFsaWdubWVudFxuXG4udS10ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udS10ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udS10ZXh0LXRydW5jYXRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi51LXRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnUtdGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udS10ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi51LWZvbnQtaXRhbGljICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWxcbi51LXRleHQtaGlnaC1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWhpZ2gtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG4udS10ZXh0LWxvdy1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWxvdy1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnUtdGV4dC1sb3dlci1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWxvd2VyLWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1peGlucy5tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBtaXhpbnMuYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCk7XG5cbiAgICAudS10ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51LXRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAudS10ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuICAgIC51LXRleHQjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudS10ZXh0I3skaW5maXh9LWVuZCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJHdlaWdodCwgJHZhbHVlIGluIHZhcmlhYmxlcy4kZm9udC13ZWlnaHRzIHtcbiAgLnUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG46cm9vdCB7XG4gIC0tdS10YWJsZS1ob3Zlci1vcGFjaXR5OiB2YXIoLS11LXN0YXRlLWxheWVyLWhvdmVyLW9wYWNpdHkpO1xuICAtLXUtdGFibGUtY2VsbC1wYWRkaW5nOiAxM3B4IDE2cHg7XG4gIC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0OiAje2Z1bmN0aW9ucy5nZXQtZm9udC13ZWlnaHQtdmFyKG1lZGl1bSl9O1xufVxuXG4udS10YWJsZSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1mYW1pbHksICN7ZnVuY3Rpb25zLmdldC1mb250LWZhbWlseS12YXIoKX0pO1xuXG4gID4gdGJvZHkgPiB0cixcbiAgPiB0aGVhZCA+IHRyLFxuICA+IHRmb290ID4gdHIsXG4gID4gdHIge1xuICAgIEBhdC1yb290IC51LXRhYmxlOmhhcyg+IHRoZWFkKSA+IHRib2R5ID4gdHIsXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LXRhYmxlLWRpdmlkZXItb3BhY2l0eSwgMjAlKSl9O1xuICAgIH1cblxuICAgID4gdGQge1xuICAgICAgcGFkZGluZzogdmFyKC0tdS10ZC1wYWRkaW5nLCB2YXIoLS11LXRhYmxlLWNlbGwtcGFkZGluZykpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS11LXRkLWZvbnQtc2l6ZSwgLjg3NXJlbSk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tdS10ZC1mb250LXdlaWdodCwgdmFyKC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0KSk7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICA+IHRoIHtcbiAgICAgIC0tdS10ZXh0LW9wYWNpdHk6IHZhcigtLXUtbG93LWVtcGhhc2lzLW9wYWNpdHkpO1xuICAgICAgcGFkZGluZzogdmFyKC0tdS10aC1wYWRkaW5nLCB2YXIoLS11LXRhYmxlLWNlbGwtcGFkZGluZykpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS11LXRoLWZvbnQtc2l6ZSwgLjgxMjVyZW0pO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtdGgtZm9udC13ZWlnaHQsIHZhcigtLXUtdGFibGUtY2VsbC1mb250LXdlaWdodCkpO1xuICAgICAgY29sb3I6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSwgdmFyKC0tdS10ZXh0LW9wYWNpdHkpKX07XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG4gIH1cbn1cblxuLnUtdGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHIsXG4gID4gdHIge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LXRhYmxlLWhvdmVyLW9wYWNpdHkpKX07XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCI7XG5cbjpyb290IHtcbiAgLS11LWZvbnQtZmFtaWx5OiAje3ZhcmlhYmxlcy4kZm9udC1mYW1pbHl9O1xufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCJ2YXJpYWJsZXNcIjtcbkB1c2UgXCIuLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuLi9taXhpbnNcIjtcblxuOnJvb3Qge1xuICBAZWFjaCAkc3R5bGUsICRwcm9wcyBpbiAodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcykge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgLS11LSN7JHN0eWxlfS0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRzdHlsZSBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzKSB7XG4gIC51LSN7JHN0eWxlfSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLnR5cG8oJHN0eWxlKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCIuLi90eXBvL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gdHlwbygkc3R5bGUsICR0YXJnZXQtbmFtZTogbnVsbCkge1xuICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISAjeyRzdHlsZX0gZG9lc24ndCBleGlzdC4gQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMpfVwiO1xuICB9XG5cbiAgQGlmICR0YXJnZXQtbmFtZSAhPSBudWxsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tdS1mb250LWZhbWlseSwgI3tmdW5jdGlvbnMuZ2V0LWZvbnQtZmFtaWx5LXZhcigpfSk7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11LWZvbnQtZmFtaWx5KTtcbiAgfVxuXG4gICRwcm9wczogbWFwLmdldCh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgIEBpZiAkdGFyZ2V0LW5hbWUgIT0gbnVsbCB7XG4gICAgICAjeyRrZXl9OiB2YXIoLS11LSN7JHRhcmdldC1uYW1lfS0jeyRrZXl9LCB2YXIoLS11LSN7JHN0eWxlfS0jeyRrZXl9LCAjeyR2YWx1ZX0pKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JGtleX06IHZhcigtLXUtI3skc3R5bGV9LSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiB0eXBvLXByb3AoJHN0eWxlLCAkcHJvcCwgJHRhcmdldC1uYW1lOiBudWxsKSB7XG4gIEBpZiBub3QgbWFwLmhhcy1rZXkodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZSBzcGVjaWZpZWQhICN7JHN0eWxlfSBkb2Vzbid0IGV4aXN0LiBDaG9vc2Ugb25lIG9mICN7bWFwLmtleXModmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcyl9XCI7XG4gIH1cblxuICAkcHJvcHM6IG1hcC5nZXQodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKTtcblxuICAkdmFsdWU6IG1hcC5nZXQoJHByb3BzLCAkcHJvcCk7XG5cbiAgQGlmICR0YXJnZXQtbmFtZSAhPSBudWxsIHtcbiAgICAjeyRwcm9wfTogdmFyKC0tdS0jeyR0YXJnZXQtbmFtZX0tI3skcHJvcH0sIHZhcigtLXUtI3skc3R5bGV9LSN7JHByb3B9LCAjeyR2YWx1ZX0pKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06IHZhcigtLXUtI3skc3R5bGV9LSN7JHByb3B9KTtcbiAgfVxufVxuIiwiQHVzZSBcImZ1bmN0aW9uc1wiO1xuQHVzZSBcIm1peGluc1wiO1xuXG5AbWl4aW4gcmVib290KCkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbiAgLy8gUmVib290XG4gIC8vXG4gIC8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbiAgLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4gIC8vXG4gIC8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4gIC8vIERvY3VtZW50XG4gIC8vXG4gIC8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG5cbiAgLy8gUm9vdFxuICAvL1xuICAvLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuICAvLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbiAgOnJvb3Qge1xuICAgIEBpZiAkZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gQm9keVxuICAvL1xuICAvLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbiAgLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gIC8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuICBib2R5IHtcbiAgICAtLXUtY3VycmVudC1iZy1jb2xvcjogdmFyKC0tdS1jb2xvci1ib2R5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWN1cnJlbnQtYmctY29sb3IpO1xuICAgIGNvbG9yOiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdHJhbnNwYXJlbmN5LW1peCh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvciksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSl9O1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICAgIEBpbmNsdWRlIG1peGlucy50eXBvLXByb3AoYm9keS1sLCBmb250LXNpemUpO1xuICAgIEBpbmNsdWRlIG1peGlucy50eXBvLXByb3AoYm9keS1sLCBmb250LXdlaWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIDRcbiAgfVxuICAvLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuICAvLyBDb250ZW50IGdyb3VwaW5nXG4gIC8vXG4gIC8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbiAgaHIge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgfVxuXG5cbiAgLy8gVHlwb2dyYXBoeVxuICAvL1xuICAvLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuICAvLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuICAvLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiAgaDYsIGg1LCBoNCwgaDMsIGgyLCBoMSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjM3NXJlbSArIDEuNXZ3KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgfVxuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjMyNXJlbSArIDAuOXZ3KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4zcmVtICsgMC42dncpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gIH1cblxuICBhZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIG9sLFxuICB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG5cbiAgb2wsXG4gIHVsLFxuICBkbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgb2wgb2wsXG4gIHVsIHVsLFxuICBvbCB1bCxcbiAgdWwgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIGRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICB9XG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgfVxuXG5cbiAgLy8gTWFya1xuXG4gIG1hcmsge1xuICAgIHBhZGRpbmc6IDAuMTg3NWVtO1xuICAgIGNvbG9yOiB2YXIoLS11LWNvbG9yLW9uLXdhcm5pbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY29sb3Itd2FybmluZyk7XG4gIH1cblxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgYSB7XG4gICAgLS11LWN1cnJlbnQtdGV4dC1jb2xvcjogdmFyKC0tdS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LXRleHQtb3BhY2l0eSkpfTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pLCBhOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgcHJlLFxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11LWZvbnQtbW9ub3NwYWNlKTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIHByZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgfVxuICBwcmUgY29kZSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxuXG4gIGNvZGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cbiAgYSA+IGNvZGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGNvbG9yOiB2YXIoLS11LWNvbG9yLW9uLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWNvbG9yLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tdS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB9XG4gIGtiZCBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gIH1cblxuICBpbWcsXG4gIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG5cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdHJhbnNwYXJlbmN5LW1peCh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvciksIHZhcigtLXUtbG93LWVtcGhhc2lzLW9wYWNpdHkpKX07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50O1xuICB9XG5cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCxcbiAgdHIsXG4gIHRkLFxuICB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgaW5wdXQsXG4gIGJ1dHRvbixcbiAgc2VsZWN0LFxuICBvcHRncm91cCxcbiAgdGV4dGFyZWEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBbcm9sZT1idXR0b25dIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIFtsaXN0XTpub3QoW3R5cGU9ZGF0ZV0pOm5vdChbdHlwZT1kYXRldGltZS1sb2NhbF0pOm5vdChbdHlwZT1tb250aF0pOm5vdChbdHlwZT13ZWVrXSk6bm90KFt0eXBlPXRpbWVdKTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBidXR0b24sXG4gIFt0eXBlPWJ1dHRvbl0sXG4gIFt0eXBlPXJlc2V0XSxcbiAgW3R5cGU9c3VibWl0XSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cbiAgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLFxuICBbdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFxuICBbdHlwZT1yZXNldF06bm90KDpkaXNhYmxlZCksXG4gIFt0eXBlPXN1Ym1pdF06bm90KDpkaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIGZpZWxkc2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyAgICBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbiAgLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbiAgLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4gIC8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuICAvKiBydGw6cmF3OlxuICBbdHlwZT1cInRlbFwiXSxcbiAgW3R5cGU9XCJ1cmxcIl0sXG4gIFt0eXBlPVwiZW1haWxcIl0sXG4gIFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxuICAqL1xuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG4gIDo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG5cbiAgLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuICAvLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbiAgb3V0cHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbiAgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBTdW1tYXJ5XG4gIC8vXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG5cbiAgLy8gUHJvZ3Jlc3NcbiAgLy9cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cblxuICAvLyBIaWRkZW4gYXR0cmlidXRlXG4gIC8vXG4gIC8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWJnXCI7XG5cbkBtaXhpbiBnbG9iYWwtc3R5bGVzKCkge1xuICA6cm9vdCB7XG4gICAgY29sb3Itc2NoZW1lOiBsaWdodCBkYXJrO1xuICB9XG5cbiAgYm9keSB7XG4gICAgQGluY2x1ZGUgX2N1cnJlbnQtY29sb3ItdmFycygtLXUtY29sb3Itb24tYm9keSk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWNvbG9yLWJvZHkpO1xuICAgIGNvbG9yOiB2YXIoLS11LWNvbG9yLWhpZ2gtZW1waGFzaXMpO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY29sb3ItcHJpbWFyeSksIHZhcigtLXUtaGlnaC1lbXBoYXNpcy1vcGFjaXR5KSl9O1xuICAgIGJvcmRlci1yYWRpdXM6ICN7ZnVuY3Rpb25zLmdldC1zcGFjaW5nLXZhcihleHRyYS1zbWFsbCl9O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
|
|
4593
|
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9jc3MtdmFycy5zY3NzIiwibWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwibWl4aW5zL190ZXh0LWJnLnNjc3MiLCJjb2xvcnMvX3RleHQuc2NzcyIsImxheW91dC9fY29udGFpbmVyLnNjc3MiLCJsYXlvdXQvX2dyaWQuc2NzcyIsImxheW91dC9fbWFyZ2luLWFuZC1ndXR0ZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX2RpdmlkZXIuc2NzcyIsInV0aWxpdGllcy9fc2NoZW1lLnNjc3MiLCJ1dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidGFibGUvX3RhYmxlLnNjc3MiLCJ0eXBvL19mb250LnNjc3MiLCJ0eXBvL190eXBvLnNjc3MiLCJtaXhpbnMvX3R5cG8uc2NzcyIsIl9yZWJvb3Quc2NzcyIsIl9nbG9iYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOzs7QUNMQTtFRFdGO0lBQ0U7SUFDQTs7O0FFUEY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQWVGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQUZGO0VBbENBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUErQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFlRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFGRjtFQWxDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBK0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBRkY7RUFsQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQStCRTs7O0FBbEJGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ0FGO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2NBO0VEbkJBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBRVBGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FDWkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQ0VJO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQVNBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLckJFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMZ0JKO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBQzdCVjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQ1hGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUNLTTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFMRjtFQUNFOzs7QUFHRjtFQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QVJnQk47RVFyQkk7SUFDRTs7RUFHRjtJQUNFOzs7QUNiVjtFQUFvQjs7O0FBSXBCO0VBQW1COzs7QUFDbkI7RUFBbUI7OztBQUNuQjtFQUNFO0VBQ0E7RUFDQTs7O0FBS0Y7RUFBcUI7OztBQUNyQjtFQUFxQjs7O0FBQ3JCO0VBQXFCOzs7QUFFckI7RUFBd0I7OztBQUd4QjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFTRTtFQUEwQjs7O0FBQzFCO0VBQTBCOzs7QUFDMUI7RUFBMEI7OztBQUUxQjtFQUNFOzs7QUFHRjtFQUNFOzs7QVRsQkY7RVNTQTtJQUEwQjs7RUFDMUI7SUFBMEI7O0VBQzFCO0lBQTBCOztFQUUxQjtJQUNFOztFQUdGO0lBQ0U7OztBVGxCRjtFU1NBO0lBQTBCOztFQUMxQjtJQUEwQjs7RUFDMUI7SUFBMEI7O0VBRTFCO0lBQ0U7O0VBR0Y7SUFDRTs7O0FUbEJGO0VTU0E7SUFBMEI7O0VBQzFCO0lBQTBCOztFQUMxQjtJQUEwQjs7RUFFMUI7SUFDRTs7RUFHRjtJQUNFOzs7QVRsQkY7RVNTQTtJQUEwQjs7RUFDMUI7SUFBMEI7O0VBQzFCO0lBQTBCOztFQUUxQjtJQUNFOztFQUdGO0lBQ0U7OztBQU1KO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ3hESjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBTVc7QUFBQTtBQUFBO0FBQUE7RUFFUDs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUY7QUFBQTtFQUNFOzs7QUMxQ047RUFDRTs7O0FDR0Y7RUFHTTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQU1KO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFBKO0VDRkU7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUEo7RUNGRTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURQSjtFQ0ZFO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBQ0RKO0FBQUE7QUFBQTtFQUdFOzs7QUFXRTtFQUZKO0lBR007Ozs7QUFjTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VEZEE7RUFBQTtFQ2lCQTtFQUNBO0VBQ0E7RUFDQTs7O0FBU0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFVRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtJQUNFOzs7O0FBS047RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPRTs7O0FBR0Y7RUFDRTs7O0FBU0Y7RUFDRTtFQUNBOzs7QUFRRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQVFGO0VBQ0U7OztBQVFGO0VBQ0U7OztBQzdlRjtFQUNFOzs7QUFHRjtFZE1BO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RWNSRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0lBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcInZhcmlhYmxlc1wiO1xuQHVzZSBcImZ1bmN0aW9uc1wiO1xuQHVzZSBcIm1peGluc1wiO1xuXG46cm9vdCB7XG4gIC0tdS1zdGF0ZS1sYXllci1jb2xvcjogY3VycmVudENvbG9yO1xuICAtLXUtc3RhdGUtbGF5ZXItaG92ZXItb3BhY2l0eTogOCU7XG4gIC0tdS1zdGF0ZS1sYXllci1mb2N1cy1vcGFjaXR5OiAxMiU7XG4gIC0tdS1zdGF0ZS1sYXllci1wcmVzc2VkLW9wYWNpdHk6IDEyJTtcbiAgLS11LXN0YXRlLWxheWVyLWRyYWdnZWQtb3BhY2l0eTogMTYlO1xuXG4gIC0tdS1oaWdoLWVtcGhhc2lzLW9wYWNpdHk6IDEwMCU7XG4gIC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eTogNzUlO1xuICAtLXUtbG93ZXItZW1waGFzaXMtb3BhY2l0eTogNTAlO1xuXG4gIC0tdS1jb2xvci1ib2R5OiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdmFyKHN1cmZhY2UpfTtcbiAgLS11LWNvbG9yLW9uLWJvZHk6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci12YXIob24tc3VyZmFjZSl9O1xuXG4gIC0tdS1mb250LWZhbWlseTogI3t2YXJpYWJsZXMuJGZvbnQtZmFtaWx5fTtcbiAgLS11LWZvbnQtbW9ub3NwYWNlOiAje3ZhcmlhYmxlcy4kZm9udC1tb25vfTtcbiAgLS11LWN1cnJlbnQtdGV4dC1jb2xvcjogdmFyKC0tdS1jb2xvci1vbi1ib2R5KTtcbiAgLS11LXRleHQtb3BhY2l0eTogdmFyKC0tdS1oaWdoLWVtcGhhc2lzLW9wYWNpdHkpO1xuICAtLXUtbGF5b3V0LW1hcmdpbjogdmFyKC0tdS1sYXlvdXQtbWFyZ2luLWRlZmF1bHQpO1xuICAtLXUtbGF5b3V0LWd1dHRlcjogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWRlZmF1bHQpO1xuICAtLXUtbGF5b3V0LW1hcmdpbi1kZWZhdWx0OiB2YXIoLS11LXNwYWNpbmctbWVkaXVtKTtcbiAgLS11LWxheW91dC1ndXR0ZXItZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLW1lZGl1bSk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiB2YXJpYWJsZXMuJGZvbnQtd2VpZ2h0cyB7XG4gICAgLS11LWZvbnQtd2VpZ2h0LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc3BhY2luZ3Mge1xuICAgIC0tdS1zcGFjaW5nLSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc2hhcGUtY29ybmVyIHtcbiAgICAtLXUtc2hhcGUtY29ybmVyLSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWl4aW5zLm1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblxuICA6cm9vdCB7XG4gICAgLS11LWxheW91dC1tYXJnaW4tZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLWxhcmdlKTtcbiAgICAtLXUtbGF5b3V0LWd1dHRlci1kZWZhdWx0OiB2YXIoLS11LXNwYWNpbmctbGFyZ2UpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lKSB7XG4gICRicmVha3BvaW50LW5hbWVzOiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKTtcblxuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcblxuICBAaWYgbm90ICRuIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lKSB7XG4gICRtaW46IG1hcC5nZXQodmFyaWFibGVzLiRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSkge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQpIC0gLjAycHgsIG51bGwpO1xufVxuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSkge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1taW4oJG5leHQpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuLi9mdW5jdGlvbnNcIjtcblxuQG1peGluIGN1cnJlbnQtY29sb3ItdmFycy1pbXBvcnRhbnQoJGN1cnJlbnQtY29sb3ItdmFyLW5hbWUpIHtcbiAgLS11LWN1cnJlbnQtdGV4dC1jb2xvcjogdmFyKCN7JGN1cnJlbnQtY29sb3ItdmFyLW5hbWV9KSAhaW1wb3J0YW50O1xuXG4gIC0tdS1jb2xvci1oaWdoLWVtcGhhc2lzOiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdHJhbnNwYXJlbmN5LW1peCh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvciksIHZhcigtLXUtaGlnaC1lbXBoYXNpcy1vcGFjaXR5KSl9ICFpbXBvcnRhbnQ7XG4gIC0tdS1jb2xvci1sb3ctZW1waGFzaXM6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSwgdmFyKC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eSkpfSAhaW1wb3J0YW50O1xuICAtLXUtY29sb3ItbG93ZXItZW1waGFzaXM6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSwgdmFyKC0tdS1sb3dlci1lbXBoYXNpcy1vcGFjaXR5KSl9ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWhpZ2gtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBjdXJyZW50LWNvbG9yLXZhcnMoJGN1cnJlbnQtY29sb3ItdmFyLW5hbWUpIHtcbiAgLS11LWN1cnJlbnQtdGV4dC1jb2xvcjogdmFyKCN7JGN1cnJlbnQtY29sb3ItdmFyLW5hbWV9KTtcblxuICAtLXUtY29sb3ItaGlnaC1lbXBoYXNpczogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LWhpZ2gtZW1waGFzaXMtb3BhY2l0eSkpfTtcbiAgLS11LWNvbG9yLWxvdy1lbXBoYXNpczogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LWxvdy1lbXBoYXNpcy1vcGFjaXR5KSl9O1xuICAtLXUtY29sb3ItbG93ZXItZW1waGFzaXM6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSwgdmFyKC0tdS1sb3dlci1lbXBoYXNpcy1vcGFjaXR5KSl9O1xuICBjb2xvcjogdmFyKC0tdS1jb2xvci1oaWdoLWVtcGhhc2lzKTtcbn1cblxuQG1peGluIGJnLXZhcmlhbnQtaW1wb3J0YW50KCRjb2xvci1uYW1lKSB7XG4gIC51LWJnLSN7JGNvbG9yLW5hbWV9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWNvbG9yLSN7JGNvbG9yLW5hbWV9KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LWJnLXZhcmlhbnQtaW1wb3J0YW50KCRjb2xvci1uYW1lLCAkb24tY29sb3ItbmFtZTogbnVsbCkge1xuXG4gIEBpZiAkb24tY29sb3ItbmFtZSA9PSBudWxsIHtcbiAgICAkb24tY29sb3ItbmFtZTogb24tI3skY29sb3ItbmFtZX07XG4gIH1cblxuICAkY29udGFpbmVyLWluZGV4OiBzdHJpbmcuaW5kZXgoJG9uLWNvbG9yLW5hbWUsIFwic3VyZmFjZS1jb250YWluZXJcIik7XG4gIEBpZiAkY29udGFpbmVyLWluZGV4ICE9IG51bGwge1xuICAgICRvbi1jb2xvci1uYW1lOiAje3N0cmluZy5zbGljZSgkb24tY29sb3ItbmFtZSwgMSwgJGNvbnRhaW5lci1pbmRleCAtIDEpfXN1cmZhY2U7XG4gIH1cblxuICAudS10ZXh0LWJnLSN7JGNvbG9yLW5hbWV9IHtcbiAgICBAaW5jbHVkZSBjdXJyZW50LWNvbG9yLXZhcnMtaW1wb3J0YW50KC0tdS1jb2xvci0jeyRvbi1jb2xvci1uYW1lfSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1jb2xvci0jeyRjb2xvci1uYW1lfSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL21peGlucy90ZXh0LWJnXCI7XG5cbkBtaXhpbiBfdGV4dC12YXJpYW50LWJsb2NrKCRuYW1lLCAkY29sb3ItbmFtZSkge1xuXG4gIEBpZiBzdHJpbmcuaW5kZXgoJG5hbWUsIFwiLWNvbnRhaW5lclwiKSA9PSBudWxsIGFuZCBzdHJpbmcuaW5kZXgoJG5hbWUsIFwiLXN1cmZhY2VcIikgPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkbmFtZSwgJGNvbG9yLW5hbWUpO1xuICAgIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lLCBpbnZlcnNlLSk7XG4gIH1cblxuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KCRuYW1lLCAkY29sb3ItbmFtZSwgb24tKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkbmFtZSwgJGNvbG9yLW5hbWUsIG9uLWludmVyc2UtKTtcbn1cblxuQG1peGluIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lOiBudWxsLCAkcHJlZml4OiAnJykge1xuXG4gIEBpZiAoJGNvbG9yLW5hbWUgPT0gbnVsbCkge1xuICAgICRjb2xvci1uYW1lOiAkbmFtZTtcbiAgfVxuXG4gIC51LXRleHQtI3skcHJlZml4fSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSB0ZXh0LWJnLmN1cnJlbnQtY29sb3ItdmFycy1pbXBvcnRhbnQoLS11LWNvbG9yLSN7JHByZWZpeH0jeyRjb2xvci1uYW1lfSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yIGluIHZhcmlhYmxlcy4kY29sb3Itcm9sZXMge1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50LWJsb2NrKCRjb2xvciwgJGNvbG9yKTtcbn1cblxuQGVhY2ggJGNvbG9yIGluIHZhcmlhYmxlcy4kZml4ZWQtY29sb3JzIHtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkY29sb3IpO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLSN7JGNvbG9yfSk7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoI3skY29sb3J9LWNvbnRhaW5lcik7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tI3skY29sb3J9LWNvbnRhaW5lcik7XG59XG5cbkBlYWNoICRjb2xvciBpbiB2YXJpYWJsZXMuJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoI3skY29sb3J9LWZpeGVkKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgjeyRjb2xvcn0tZml4ZWQtZGltKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi0jeyRjb2xvcn0tZml4ZWQpO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLSN7JGNvbG9yfS1maXhlZC12YXJpYW50KTtcbn1cblxuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1ib2R5KTtcbkBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24taW52ZXJzZS1ib2R5KTtcbkBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tbGlnaHQpO1xuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1kYXJrKTtcblxuIiwiQHVzZSBcIi4uL2FwaVwiO1xuQHVzZSBcIi4uL21peGluc1wiO1xuXG4udS1jb250YWluZXItZmx1aWQsXG4udS1jb250YWluZXIge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tdS1sYXlvdXQtbWFyZ2luLWlubGluZSwgdmFyKC0tdS1sYXlvdXQtbWFyZ2luKSk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXUtbGF5b3V0LW1hcmdpbi1ibG9jaywgdmFyKC0tdS1sYXlvdXQtbWFyZ2luKSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLXUtY29udGFpbmVyLXdpZHRoLCA5OTJweCk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG4iLCIudS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tdS1ncmlkLWNvbHVtbnMsIDIpLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1pbmxpbmUsIHZhcigtLXUtbGF5b3V0LWd1dHRlcikpO1xuICByb3ctZ2FwOiB2YXIoLS11LWxheW91dC1ndXR0ZXItYmxvY2ssIHZhcigtLXUtbGF5b3V0LWd1dHRlcikpO1xufVxuXG4udS1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1ibG9jaywgdmFyKC0tdS1sYXlvdXQtZ3V0dGVyKSk7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2FwaVwiO1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYXBpLmJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRkaXJlY3Rpb24gaW4gdmFyaWFibGVzLiRsYXlvdXQtZGlyZWN0aW9ucyB7XG5cbiAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLnUtbWFyZ2luI3skZGlyZWN0aW9ufSN7JGluZml4fS1kZWZhdWx0IHtcbiAgICAgICAgLS11LWxheW91dC1tYXJnaW4jeyRkaXJlY3Rpb259OiB2YXIoLS11LWxheW91dC1tYXJnaW4tZGVmYXVsdCk7XG4gICAgICB9XG5cbiAgICAgIC51LWd1dHRlciN7JGRpcmVjdGlvbn0jeyRpbmZpeH0tZGVmYXVsdCB7XG4gICAgICAgIC0tdS1sYXlvdXQtZ3V0dGVyI3skZGlyZWN0aW9ufTogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWRlZmF1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRzcGFjaW5nIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kc3BhY2luZ3MpIHtcbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluIHZhcmlhYmxlcy4kbGF5b3V0LWRpcmVjdGlvbnMge1xuXG4gICAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAudS1tYXJnaW4jeyRkaXJlY3Rpb259I3skaW5maXh9LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgICAtLXUtbGF5b3V0LW1hcmdpbiN7JGRpcmVjdGlvbn06IHZhcigtLXUtc3BhY2luZy0jeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cblxuICAgICAgICAudS1ndXR0ZXIjeyRkaXJlY3Rpb259I3skaW5maXh9LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgICAtLXUtbGF5b3V0LWd1dHRlciN7JGRpcmVjdGlvbn06IHZhcigtLXUtc3BhY2luZy0jeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9hcGlcIjtcblxuLnUtZGl2aWRlcixcbi51LWRpdmlkZXItbm8tbWFyZ2luIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogdmFyKC0tdS1kaXZpZGVyLXRoaWNrbmVzcywgMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1kaXZpZGVyLWNvbG9yLCB2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvcikpO1xuICBvcGFjaXR5OiB2YXIoLS11LWRpdmlkZXItb3BhY2l0eSwgLjQpO1xufVxuXG4udS1kaXZpZGVyIHtcbiAgbWFyZ2luLWJsb2NrOiA4cHg7XG59XG4iLCIudS1kYXJrIHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWhpZ2gtZW1waGFzaXMpO1xufVxuXG4udS1saWdodCB7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXUtY29sb3ItaGlnaC1lbXBoYXNpcyk7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2FwaVwiO1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYXBpLmJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRzcGFjaW5nIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kc3BhY2luZ3MpIHtcbiAgICBAZWFjaCAkc2lkZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc3BhY2luZy1zaWRlcyB7XG4gICAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAudS1tI3skc2lkZX0jeyRpbmZpeH0tI3skc3BhY2luZ30ge1xuICAgICAgICAgIG1hcmdpbiN7JHZhbHVlfTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXAjeyRzaWRlfSN7JGluZml4fS0jeyRzcGFjaW5nfSB7XG4gICAgICAgICAgcGFkZGluZyN7JHZhbHVlfTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi4vbWl4aW5zXCI7XG5cbi51LXRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1tb25vc3BhY2UpOyB9XG5cbi8vIEFsaWdubWVudFxuXG4udS10ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udS10ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udS10ZXh0LXRydW5jYXRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi51LXRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnUtdGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udS10ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi51LWZvbnQtaXRhbGljICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWxcbi51LXRleHQtaGlnaC1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWhpZ2gtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG4udS10ZXh0LWxvdy1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWxvdy1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnUtdGV4dC1sb3dlci1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS11LWNvbG9yLWxvd2VyLWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1peGlucy5tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBtaXhpbnMuYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCk7XG5cbiAgICAudS10ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51LXRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAudS10ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuICAgIC51LXRleHQjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudS10ZXh0I3skaW5maXh9LWVuZCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJHdlaWdodCwgJHZhbHVlIGluIHZhcmlhYmxlcy4kZm9udC13ZWlnaHRzIHtcbiAgLnUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG46cm9vdCB7XG4gIC0tdS10YWJsZS1ob3Zlci1vcGFjaXR5OiB2YXIoLS11LXN0YXRlLWxheWVyLWhvdmVyLW9wYWNpdHkpO1xuICAtLXUtdGFibGUtY2VsbC1wYWRkaW5nOiAxM3B4IDE2cHg7XG4gIC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0OiAje2Z1bmN0aW9ucy5nZXQtZm9udC13ZWlnaHQtdmFyKG1lZGl1bSl9O1xufVxuXG4udS10YWJsZSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1mYW1pbHksICN7ZnVuY3Rpb25zLmdldC1mb250LWZhbWlseS12YXIoKX0pO1xuXG4gID4gdGJvZHkgPiB0cixcbiAgPiB0aGVhZCA+IHRyLFxuICA+IHRmb290ID4gdHIsXG4gID4gdHIge1xuICAgIEBhdC1yb290IC51LXRhYmxlOmhhcyg+IHRoZWFkKSA+IHRib2R5ID4gdHIsXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LXRhYmxlLWRpdmlkZXItb3BhY2l0eSwgMjAlKSl9O1xuICAgIH1cblxuICAgID4gdGQge1xuICAgICAgcGFkZGluZzogdmFyKC0tdS10ZC1wYWRkaW5nLCB2YXIoLS11LXRhYmxlLWNlbGwtcGFkZGluZykpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS11LXRkLWZvbnQtc2l6ZSwgLjg3NXJlbSk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tdS10ZC1mb250LXdlaWdodCwgdmFyKC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0KSk7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICA+IHRoIHtcbiAgICAgIC0tdS10ZXh0LW9wYWNpdHk6IHZhcigtLXUtbG93LWVtcGhhc2lzLW9wYWNpdHkpO1xuICAgICAgcGFkZGluZzogdmFyKC0tdS10aC1wYWRkaW5nLCB2YXIoLS11LXRhYmxlLWNlbGwtcGFkZGluZykpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS11LXRoLWZvbnQtc2l6ZSwgLjgxMjVyZW0pO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtdGgtZm9udC13ZWlnaHQsIHZhcigtLXUtdGFibGUtY2VsbC1mb250LXdlaWdodCkpO1xuICAgICAgY29sb3I6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci10cmFuc3BhcmVuY3ktbWl4KHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yKSwgdmFyKC0tdS10ZXh0LW9wYWNpdHkpKX07XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG4gIH1cbn1cblxuLnUtdGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHIsXG4gID4gdHIge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LXRhYmxlLWhvdmVyLW9wYWNpdHkpKX07XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCI7XG5cbjpyb290IHtcbiAgLS11LWZvbnQtZmFtaWx5OiAje3ZhcmlhYmxlcy4kZm9udC1mYW1pbHl9O1xufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCJ2YXJpYWJsZXNcIjtcbkB1c2UgXCIuLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuLi9taXhpbnNcIjtcblxuOnJvb3Qge1xuICBAZWFjaCAkc3R5bGUsICRwcm9wcyBpbiAodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcykge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgLS11LSN7JHN0eWxlfS0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRzdHlsZSBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzKSB7XG4gIC51LSN7JHN0eWxlfSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLnR5cG8oJHN0eWxlKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCIuLi90eXBvL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gdHlwbygkc3R5bGUsICR0YXJnZXQtbmFtZTogbnVsbCkge1xuICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISAjeyRzdHlsZX0gZG9lc24ndCBleGlzdC4gQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMpfVwiO1xuICB9XG5cbiAgQGlmICR0YXJnZXQtbmFtZSAhPSBudWxsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tdS1mb250LWZhbWlseSwgI3tmdW5jdGlvbnMuZ2V0LWZvbnQtZmFtaWx5LXZhcigpfSk7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11LWZvbnQtZmFtaWx5KTtcbiAgfVxuXG4gICRwcm9wczogbWFwLmdldCh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgIEBpZiAkdGFyZ2V0LW5hbWUgIT0gbnVsbCB7XG4gICAgICAjeyRrZXl9OiB2YXIoLS11LSN7JHRhcmdldC1uYW1lfS0jeyRrZXl9LCB2YXIoLS11LSN7JHN0eWxlfS0jeyRrZXl9LCAjeyR2YWx1ZX0pKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JGtleX06IHZhcigtLXUtI3skc3R5bGV9LSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiB0eXBvLXByb3AoJHN0eWxlLCAkcHJvcCwgJHRhcmdldC1uYW1lOiBudWxsKSB7XG4gIEBpZiBub3QgbWFwLmhhcy1rZXkodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZSBzcGVjaWZpZWQhICN7JHN0eWxlfSBkb2Vzbid0IGV4aXN0LiBDaG9vc2Ugb25lIG9mICN7bWFwLmtleXModmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcyl9XCI7XG4gIH1cblxuICAkcHJvcHM6IG1hcC5nZXQodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKTtcblxuICAkdmFsdWU6IG1hcC5nZXQoJHByb3BzLCAkcHJvcCk7XG5cbiAgQGlmICR0YXJnZXQtbmFtZSAhPSBudWxsIHtcbiAgICAjeyRwcm9wfTogdmFyKC0tdS0jeyR0YXJnZXQtbmFtZX0tI3skcHJvcH0sIHZhcigtLXUtI3skc3R5bGV9LSN7JHByb3B9LCAjeyR2YWx1ZX0pKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06IHZhcigtLXUtI3skc3R5bGV9LSN7JHByb3B9KTtcbiAgfVxufVxuIiwiQHVzZSBcInZhcmlhYmxlc1wiO1xuXG5AdXNlIFwiZnVuY3Rpb25zXCI7XG5AdXNlIFwibWl4aW5zXCI7XG5cbkBtaXhpbiByZWJvb3QoKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cblxuICAvLyBSZWJvb3RcbiAgLy9cbiAgLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuICAvLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbiAgLy9cbiAgLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy9cbiAgLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cblxuICAvLyBSb290XG4gIC8vXG4gIC8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4gIC8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuICA6cm9vdCB7XG4gICAgQGlmIHZhcmlhYmxlcy4kZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gQm9keVxuICAvL1xuICAvLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbiAgLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gIC8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuICBib2R5IHtcbiAgICAtLXUtY3VycmVudC1iZy1jb2xvcjogdmFyKC0tdS1jb2xvci1ib2R5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWN1cnJlbnQtYmctY29sb3IpO1xuICAgIGNvbG9yOiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdHJhbnNwYXJlbmN5LW1peCh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvciksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSl9O1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICAgIEBpbmNsdWRlIG1peGlucy50eXBvLXByb3AoYm9keS1sLCBmb250LXNpemUpO1xuICAgIEBpbmNsdWRlIG1peGlucy50eXBvLXByb3AoYm9keS1sLCBmb250LXdlaWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIDRcbiAgfVxuICAvLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuICAvLyBDb250ZW50IGdyb3VwaW5nXG4gIC8vXG4gIC8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbiAgaHIge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgfVxuXG5cbiAgLy8gVHlwb2dyYXBoeVxuICAvL1xuICAvLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuICAvLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuICAvLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiAgaDYsIGg1LCBoNCwgaDMsIGgyLCBoMSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjM3NXJlbSArIDEuNXZ3KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgfVxuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjMyNXJlbSArIDAuOXZ3KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4zcmVtICsgMC42dncpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gIH1cblxuICBhZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIG9sLFxuICB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG5cbiAgb2wsXG4gIHVsLFxuICBkbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgb2wgb2wsXG4gIHVsIHVsLFxuICBvbCB1bCxcbiAgdWwgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIGRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICB9XG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgfVxuXG5cbiAgLy8gTWFya1xuXG4gIG1hcmsge1xuICAgIHBhZGRpbmc6IDAuMTg3NWVtO1xuICAgIGNvbG9yOiB2YXIoLS11LWNvbG9yLW9uLXdhcm5pbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY29sb3Itd2FybmluZyk7XG4gIH1cblxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgYSB7XG4gICAgLS11LWN1cnJlbnQtdGV4dC1jb2xvcjogdmFyKC0tdS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXRyYW5zcGFyZW5jeS1taXgodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3IpLCB2YXIoLS11LXRleHQtb3BhY2l0eSkpfTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pLCBhOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgcHJlLFxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11LWZvbnQtbW9ub3NwYWNlKTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIHByZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgfVxuICBwcmUgY29kZSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxuXG4gIGNvZGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cbiAgYSA+IGNvZGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGNvbG9yOiB2YXIoLS11LWNvbG9yLW9uLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWNvbG9yLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tdS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB9XG4gIGtiZCBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gIH1cblxuICBpbWcsXG4gIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG5cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdHJhbnNwYXJlbmN5LW1peCh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvciksIHZhcigtLXUtbG93LWVtcGhhc2lzLW9wYWNpdHkpKX07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50O1xuICB9XG5cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCxcbiAgdHIsXG4gIHRkLFxuICB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgaW5wdXQsXG4gIGJ1dHRvbixcbiAgc2VsZWN0LFxuICBvcHRncm91cCxcbiAgdGV4dGFyZWEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBbcm9sZT1idXR0b25dIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIFtsaXN0XTpub3QoW3R5cGU9ZGF0ZV0pOm5vdChbdHlwZT1kYXRldGltZS1sb2NhbF0pOm5vdChbdHlwZT1tb250aF0pOm5vdChbdHlwZT13ZWVrXSk6bm90KFt0eXBlPXRpbWVdKTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBidXR0b24sXG4gIFt0eXBlPWJ1dHRvbl0sXG4gIFt0eXBlPXJlc2V0XSxcbiAgW3R5cGU9c3VibWl0XSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cbiAgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLFxuICBbdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFxuICBbdHlwZT1yZXNldF06bm90KDpkaXNhYmxlZCksXG4gIFt0eXBlPXN1Ym1pdF06bm90KDpkaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIGZpZWxkc2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyAgICBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbiAgLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbiAgLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4gIC8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuICAvKiBydGw6cmF3OlxuICBbdHlwZT1cInRlbFwiXSxcbiAgW3R5cGU9XCJ1cmxcIl0sXG4gIFt0eXBlPVwiZW1haWxcIl0sXG4gIFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxuICAqL1xuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG4gIDo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG5cbiAgLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuICAvLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbiAgb3V0cHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbiAgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBTdW1tYXJ5XG4gIC8vXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG5cbiAgLy8gUHJvZ3Jlc3NcbiAgLy9cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cblxuICAvLyBIaWRkZW4gYXR0cmlidXRlXG4gIC8vXG4gIC8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcImZ1bmN0aW9uc1wiO1xuQHVzZSBcIm1peGlucy90ZXh0LWJnXCI7XG5cbkBtaXhpbiBnbG9iYWwtc3R5bGVzKCkge1xuICA6cm9vdCB7XG4gICAgY29sb3Itc2NoZW1lOiBsaWdodCBkYXJrO1xuICB9XG5cbiAgYm9keSB7XG4gICAgQGluY2x1ZGUgdGV4dC1iZy5jdXJyZW50LWNvbG9yLXZhcnMoLS11LWNvbG9yLW9uLWJvZHkpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1jb2xvci1ib2R5KTtcbiAgICBjb2xvcjogdmFyKC0tdS1jb2xvci1oaWdoLWVtcGhhc2lzKTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAje2Z1bmN0aW9ucy5nZXQtY29sb3ItdHJhbnNwYXJlbmN5LW1peCh2YXIoLS11LWNvbG9yLXByaW1hcnkpLCB2YXIoLS11LWhpZ2gtZW1waGFzaXMtb3BhY2l0eSkpfTtcbiAgICBib3JkZXItcmFkaXVzOiAje2Z1bmN0aW9ucy5nZXQtc3BhY2luZy12YXIoZXh0cmEtc21hbGwpfTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sImZpbGUiOiJ1bml2ZXJzYWwtbWF0ZXJpYWwuY3NzIn0= */
|