/*
---
name: .stretch
category: Shared/Helpers
tag:
 - helpers
---

`.stretch` Define an element which stretches to the size of its parent

```html
<div class="rel" style="height: 55px;">
   <div class="stretch styleguide-grid-unit"> I'm stretched to the size of my parent</div>
</div>
```
*/
.stretch {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
---
name: .abs
category: Shared/Helpers
tag:
 - helpers
---

`.abs` Set the element position to absolute
*/
.abs {
  position: absolute;
}
/*
---
name: .rel
category: Shared/Helpers
tag:
 - helpers
---

`.rel` Set the element position to relative
*/
.rel {
  position: relative;
}
/*
---
name: .vcenter
category: Shared/Helpers
tag:
 - helpers
---

`.vcenter` Sets vertical-align to middle
*/
.vcenter {
  vertical-align: middle;
}
/*
---
name: .hcenter
category: Shared/Helpers
tag:
 - helpers
---

`.hcenter` Sets text-align to center
*/
.hcenter {
  text-align: center;
}
/*
---
name: .floatleft
category: Shared/Helpers
tag:
 - helpers
---

`.floatleft` Sets float to left
*/
.floatleft {
  float: left;
}
/*
---
name: .floatright
category: Shared/Helpers
tag:
 - helpers
---

`.floatright` Sets float to right
*/
.floatright {
  float: right;
}
/*
---
name: .hidden
category: Shared/Helpers
tag:
 - helpers
---

`.hidden` Sets display to none.
*/
.hidden {
  display: none;
}
/*
---
name: rem( pixels )
category: Shared/Mixins
template: mixin
tag:
 - mixin
parameters:
 - name: pixels
   description: The pixel value to convert into rem based on the 16px root font-size
   optional: false
---

This less function turns a pixel value into a rem value based on the root font-size set to 16px.

An example usage looks like this:

```less
.example {
	padding: rem( 15px ) rem( 12px )
}
```
*/
/*
---
name: .for( @array, @code )
category: Shared/Mixins
template: mixin
tag:
 - mixin
parameters:
 - name: array
   description: The array of values to loop over
   optional: false
 - name: code
   description: The code that is executed on every value. You can access the index with `@i` and the value with `@value`
   optional: false
---

This mixin allows to execute code over an array

An example usage looks like this:
```less
@colors: #1abc9c, #2ecc71, #3498db, #9b59b6;

.for(@colors, {
    .color-@{i} {
        color: @value;
    }
});
```

This generates:
```css
.color-1 {
  color: #1abc9c;
}
.color-2 {
  color: #2ecc71;
}
.color-3 {
  color: #3498db;
}
.color-4 {
  color: #9b59b6;
}
```
*/
/*
---
name: Global Reset
category: Shared
---

The lernetz css library has a set of reset style to have the same behaviour on every browser.
Furthermore this reset sets some global variables like:
 * body font-families
 * body line-height
 * body text-rendering
 * :root font-size for proper rem conversion
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: inherit;
  vertical-align: baseline;
}
:root {
  font-size: 16px;
}
html {
  font-size: 100%;
}
body {
  line-height: 1.5rem;
  color: #000000;
  font-family: 'Helvetica', sans-serif;
  text-rendering: optimizeLegibility;
  background-color: #FFF;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
select {
  vertical-align: middle;
}
textarea {
  width: 100%;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/*
 * Normalize the behaviour of all browsers
 *
 * Instead of setting box-sizing fix on all elements we only set it on the root element
 * and tell all elements to inherit it's property from the parent
 * That way it's possible to overwrite the box-sizing anywhere while keeping proper inheritance
 */
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
a {
  text-decoration: none;
  color: #F57C63;
}
a > img {
  display: block;
}
/*
---
name: Colors
category: Shared/Variables
template: colors
tag:
 - variables
 - colors
colors:
 - variable: "@text-color"
   description: "The default text color on the body"
   value: "#3F3F40"
 - variable: "@text-inverted-color"
   description: "The default inverted text color on the body"
   value: "#FFF"
 - variable: "@action-color"
   description: "The main action color used for links and buttons"
   value: "#EC6449"
 - variable: "@body-color"
   description: "The main background color"
   value: "#FFF"
---

The color variables that are used throughout the library. 
*/
/*
---
name: Global settings
category: Shared/Variables
template: variables
tag:
 - variables
variables:
 - name: "@text-line-height"
   description: "The line height of the body"
   default: "1.5rem"
 - name: "@font-family"
   description: "The font-family of the body"
   default: "'Helvetica', sans-serif"
 - name: "@text-rendering"
   description: "The text-rendering of the body"
   default: "optimizeLegibility"
 - name: "@transition-duration"
   description: "The duration of the slide transitions"
   default: "0.4s"
---

These variables setups some global text formatting and styling.
*/
/*
---
name: Size settings
category: Shared/Variables
template: variables
tag:
 - variables
 - grid
variables:
 - name: "@grid-gutter"
   description: "The space between the grid children"
   default: "rem( 30px )"
 - name: "@grid-break-points"
   description: "The screensize when the grid should break."
   default: "rem(600px), rem(1024px)"
 - name: "@grid-break-labels"
   description: "The breakpoint label corresponding to the entie in the `@grid-break-points` list"
   default: "medium, large"
 - name: "@page-padding"
   description: "The padding for the .page-fluid component"
   default: "rem( 60px )"
---

These variables setups some global sizes mainly for the grid.
*/
/*
---
name: .button-default
category: Buttons/Default
tag:
 - component
 - button
---

The default button sets some basic properties so it is working as a `button` or `a` tag.

An example for a button:
```jade
button.button-default My Button
```

An example for a link:
```jade
a.button-default My Link
```
*/
.button-default {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  display: inline-block;
  cursor: pointer;
  outline: none;
}
/*
---
name: .grid
category: Layout/Grid
tag:
 - component
 - responsive
compile: true
---

A simple grid system that wraps children nodes based on the viewport width.

## Simple side by side rendering

The easiest use case is to use simple `.col-1`, `.col-1-2`, `.col-1-3`, `.col-1-4` for a side-by-side rendering.
The default value for all child elements of a `.grid` is equivalent to `.col-1`, so for only one child it will span the full width.

```jade
div.grid
	div.col-1-2 
		div.aigis-debug col-1-2
	div.col-1-2
		div.aigis-debug col-1-2
```
```jade
div.grid
	div.col-1-4 
		div.aigis-debug col-1-4
	div.col-3-4
		div.aigis-debug col-3-4
```

## Layouts on different devices

The breakpoints for different screen sizes are specified in the `@grid-break-points`, `@grid-break-labels` variables.
The default values define two breakpoints with labels: `.medium-X-X` and `.large-X-X`.
So an example grid with two breakpoints looks like this:

```jade
div.grid
	div.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1 medium-1-2 large-1-4
	div.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1 medium-1-2 large-1-4
	div.col-1-2.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1-2 medium-1-2 large-1-4
	div.col-1-2.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1-2 medium-1-2 large-1-4
```

**Note:** The `col-1` classes are not present on the first two nodes, since this is the default behaviour.


## Reverse order

To reverse the order in which the columns are displayed, you can add the modifier class `.-reverse` to your grid.
The columns will be in DOM order when viewport switches to small layout.

```jade
div.grid.-reverse
	div.col-1-4
		div.aigis-debug First column in DOM
	div.col-1-4
		div.aigis-debug Second column in DOM
	div.col-1-4
		div.aigis-debug Third column in DOM
	div.col-1-4
		div.aigis-debug Fourth column in DOM
```
## No gutter

If you dont need a spacing/gutter between the grid columns you can use the modifier `.-nogutter`.

```jade
div.grid.-nogutter
	div.col-1-4
		div.aigis-debug First column in DOM
	div.col-1-4
		div.aigis-debug Second column in DOM
	div.col-1-4
		div.aigis-debug Third column in DOM
	div.col-1-4
		div.aigis-debug Fourth column in DOM
```
*/
.grid {
  margin: 0 -0.9375rem;
  /**
	 * Generate all media breakpoints based on the @grid-break-points, @grid-break-labels variables.
	 */
}
.grid:after {
  content: "";
  display: table;
  clear: both;
}
.grid > * {
  float: left;
  position: relative;
  width: 100%;
  padding: 0 0.9375rem;
}
.grid.-reverse > * {
  float: right;
}
.grid.-nogutter {
  margin: 0;
}
.grid.-nogutter > * {
  padding: 0;
}
.grid .col-1 {
  width: 100%;
}
.grid .col-1-2 {
  width: 50%;
}
.grid .col-1-3 {
  width: 33.33333333%;
}
.grid .col-2-3 {
  width: 66.66666667%;
}
.grid .col-1-4 {
  width: 25%;
}
.grid .col-3-4 {
  width: 75%;
}
@media all and (min-width: 37.5rem) {
  .grid > .medium-1 {
    width: 100%;
  }
  .grid > .medium-1-2 {
    width: 50%;
  }
  .grid > .medium-1-3 {
    width: 33.33333333%;
  }
  .grid > .medium-2-3 {
    width: 66.66666667%;
  }
  .grid > .medium-1-4 {
    width: 25%;
  }
  .grid > .medium-3-4 {
    width: 75%;
  }
}
@media all and (min-width: 64rem) {
  .grid > .large-1 {
    width: 100%;
  }
  .grid > .large-1-2 {
    width: 50%;
  }
  .grid > .large-1-3 {
    width: 33.33333333%;
  }
  .grid > .large-2-3 {
    width: 66.66666667%;
  }
  .grid > .large-1-4 {
    width: 25%;
  }
  .grid > .large-3-4 {
    width: 75%;
  }
}
/*
---
name: img.responsive
category: Layout/Image
tag:
 - responsive
compile: true
---

This class makes the image scaling to its max width.

```jade
img.responsive(src='http://www.byui.edu/images/agriculture-life-sciences/flower.jpg')
```
*/
img.responsive {
  max-width: 100%;
  height: auto;
}
/*
---
name: .media-responsive
category: Layout/Media
tag:
 - responsive
compile: true
---

`.media-responsive` - This makes a the `.media-responsive` div a container for any media element (iframe, video, ... ) that responsive scales with a fix ratio.
The media element ( child ) needs the class `.stretch` to fully fill out the parents size.

The `.media-responsive` component has to predefined modifiers: `.-media-4-3`, `.-media-16-9` that define a fix ratio.

```jade
div.media-responsive.-media-16-9
	iframe.stretch(src="https://www.youtube.com/watch?v=TCd6PfxOy0Y")
```
*/
.media-responsive {
  width: 100%;
  position: relative;
  padding-bottom: 50%;
}
.media-responsive.-media-4-3 {
  padding-bottom: 75%;
}
.media-responsive.-media-16-9 {
  padding-bottom: 56.26%;
}
/*
---
name: .page-fluid
category: Page/Fluid
tag:
 - responsive
compile: true
---

`.page-fluid` centers the page content and adds a padding so the page sticks not to the browser viewport.
Furthermore it has a max-width based on the last `@grid-break-points` value.

```jade
div.page-fluid
	div.aigis-debug Some page content
```

## Max-width page

To broaden the width of the page you can add the modifier `.-unlimited`. Thsi will span the page to the full width.

```jade
div.page-fluid.-unlimited
	div.aigis-debug Some page content
```
*/
.page-fluid {
  max-width: 71.5rem;
  margin: auto;
  padding: 0 3.75rem;
}
.page-fluid.-unlimited {
  max-width: none;
}
/*
---
name: .row
category: Layout/Row
tag:
 - component
compile: true
---

This styling allow to place containers in a row. They will **not** break as the `.grid` but resize them accordingly.
Some benefits of the `.row` approach is the easy vertical centering and the usage of the `.col-auto` class.

## Basic row with vertical centering

You can use the sizing classes `.col-X-X` to define the width of a column as the following example shows. 

```jade
div.row
	div.col-1-4.aigis-debug col-1-4 with a lot of text that spans the column.
	div.col-3-4.aigis-debug col-3-4 content.
```

## Fixed row

There is a `.-fixed` modifier where each column has the same width.

```jade
div.row.-fixed
	div.aigis-debug evenly spreadout column
	div.aigis-debug evenly spreadout column with more content
	div.aigis-debug evenly spreadout column
	div.aigis-debug evenly spreadout column with much more content than the other
	div.aigis-debug.vcenter evenly spreadout column with .vcenter
```


## Auto sized column width and vcenter

There is a special `.col-auto` class that resizes the column to the size of its content.
This is usefull for example if you have a fixed size logo and the rest of the header has to resize.

```jade
div.row.-center
	div.col-auto.aigis-debug
		img(src="http://placehold.it/100x100")
	div.col-1.aigis-debug The rest
	div.col-auto.aigis-debug
		img(src="http://placehold.it/200x100")
```
*/
.row {
  display: table;
  width: 100%;
}
.row.-fixed {
  table-layout: fixed;
}
.row.-center > * {
  vertical-align: middle;
}
.row.-bottom > * {
  vertical-align: bottom;
}
.row.-padded > * + * {
  padding-left: 1.875rem;
}
.row > * {
  display: table-cell;
}
.row > *.col-1 {
  width: 100%;
}
.row > *.col-1-2,
.row > *.col-2-4 {
  width: 50%;
}
.row > *.col-1-3 {
  width: 33.33333333%;
}
.row > *.col-2-3 {
  width: 66.66666667%;
}
.row > *.col-1-4 {
  width: 25%;
}
.row > *.col-3-4 {
  width: 75%;
}
.row > *.col-auto {
  width: auto;
  white-space: nowrap;
}
/*
---
name: Colors
category: Shared/Variables
template: colors
tag:
 - variables
 - colors
colors:
 - variable: "@text-color"
   description: "The default text color on the body"
   value: "#3F3F40"
 - variable: "@text-inverted-color"
   description: "The default inverted text color on the body"
   value: "#FFF"
 - variable: "@action-color"
   description: "The main action color used for links and buttons"
   value: "#EC6449"
 - variable: "@body-color"
   description: "The main background color"
   value: "#FFF"
---

The color variables that are used throughout the library. 
*/
/*
---
name: Global settings
category: Shared/Variables
template: variables
tag:
 - variables
variables:
 - name: "@text-line-height"
   description: "The line height of the body"
   default: "1.5rem"
 - name: "@font-family"
   description: "The font-family of the body"
   default: "'Helvetica', sans-serif"
 - name: "@text-rendering"
   description: "The text-rendering of the body"
   default: "optimizeLegibility"
 - name: "@transition-duration"
   description: "The duration of the slide transitions"
   default: "0.4s"
---

These variables setups some global text formatting and styling.
*/
/*
---
name: Size settings
category: Shared/Variables
template: variables
tag:
 - variables
 - grid
variables:
 - name: "@grid-gutter"
   description: "The space between the grid children"
   default: "rem( 30px )"
 - name: "@grid-break-points"
   description: "The screensize when the grid should break."
   default: "rem(600px), rem(1024px)"
 - name: "@grid-break-labels"
   description: "The breakpoint label corresponding to the entie in the `@grid-break-points` list"
   default: "medium, large"
 - name: "@page-padding"
   description: "The padding for the .page-fluid component"
   default: "rem( 60px )"
---

These variables setups some global sizes mainly for the grid.
*/
.answer-view.-wrong {
  color: red;
}
.answer-view .label {
  margin-left: 0.9375rem;
  padding-left: 0.625rem;
  position: relative;
  display: block;
}
.answer-view .label > .input {
  top: 0.6875rem;
  position: absolute;
  left: -0.9375rem;
  margin: 0;
}
.audio-element > .audio {
  width: 100%;
}
.audio-element > .caption-element {
  text-align: center;
}
.box-chapter {
  margin-bottom: 90px;
}
.box-chapter .mandatory {
  min-height: 34px;
}
.box-chapter .image {
  padding-bottom: 13px;
  border-bottom: 3px solid #F57C63;
  max-height: 203px;
}
.box-chapter .title {
  margin: 14px 0;
  color: #000000;
  height: 80px;
  overflow: hidden;
}
.box-chapter .title:before {
  content: '\00ab';
}
.box-chapter .title:after {
  content: "\00bb";
}
.box-chapter .link-container:hover .image {
  opacity: 0.8;
}
.box-chapter .link-container:hover .title {
  color: #F57C63;
}
.box-chapter .class > svg,
.box-chapter .duration > svg,
.box-chapter .label > svg {
  margin-right: 9px;
  color: #F57C63;
}
.box-chapter .class,
.box-chapter .duration {
  display: inline-block;
  width: 50%;
}
.box-chapter .label {
  margin-top: 12px;
  margin-bottom: 32px;
}
.box-chapter .export > .button-export {
  margin-right: 10px;
}
.box-chapter .export > .button-export:last-child {
  margin-right: 0px;
}
@media only screen and (max-width: 1024px) {
  .box-chapter .image {
    max-height: 307px;
  }
}
@media only screen and (max-width: 600px) {
  .box-chapter {
    margin-bottom: 60px;
  }
  .box-chapter .image {
    max-height: 380px;
  }
  .box-chapter > .title {
    height: 60px;
  }
}
.button-export {
  height: 32px;
  width: 98px;
  color: #F57C63;
  display: inline-block;
  border-radius: 16px;
  border: 2px solid #F57C63;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.75rem;
  transition: all 0.1s;
}
.button-export:hover {
  border-color: #DA654C;
  background-color: #DA654C;
  color: #fff;
}
.button-export:active {
  border-color: #F57C63;
  background-color: #F57C63;
  color: #ffffff;
}
.button-filter {
  position: relative;
  color: #000;
  background-color: #F6F6F6;
  cursor: pointer;
  padding: 1rem;
  border-bottom: 1px solid #fff;
}
.button-filter:last-child {
  border: none;
}
.button-filter.-active {
  color: #F57C63;
}
.button-filter.-active > .icon-checked {
  display: inline-block;
  color: #F57C63;
  position: absolute;
  right: 1rem;
  top: 23px;
}
.button-filter:hover {
  color: #DA654C;
}
.button-filter.-hidden {
  display: none;
}
.button-filter > .icon-filter,
.button-filter > .icon-checked {
  display: none;
}
.button-filter.-toggle {
  color: #fff;
  background-color: #F57C63;
}
.button-filter.-toggle > .icon-checked {
  display: none;
}
.button-filter.-toggle > .icon-filter {
  display: inline-block;
  margin-right: 1rem;
}
/*
.button-filter {
    
    margin-bottom: 20px;
    padding: 10px;
    width: 132px;
    height: 44px;
    border-radius: 22px;
    background-color: @brand-color;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,0.3);
    color: white;
    font-size: rem(16px);
    letter-spacing: rem(0.48px);
    text-align: center;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    transition: all 0.2s;

    &:hover {
        background-color: @hover-color;
    }

    &.-active{
        background-color: @dark-hover-color;
        box-shadow: 0 6px 6px 0 rgba(0,0,0,0.3);
    }
    &.-hidden {
        display:none;
    }
}

*/
.button-teacher {
  cursor: pointer;
  font-size: 18px;
  text-transform: uppercase;
  width: 400px;
  text-align: right;
  display: block;
  font-weight: bold;
}
.button-teacher:hover {
  color: #DA654C;
}
.button-teacher .icon {
  color: #F57C63;
  height: 26px;
  width: 26px;
  vertical-align: text-top;
}
.button-teacher.-close {
  text-align: left;
  color: #000;
}
.button-teacher.-close .icon {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.button-teacher.-close:hover {
  color: #DA654C;
}
.caption-element > p {
  color: #6a6a6a;
  font-size: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 300;
}
.carousel-element {
  position: relative;
}
.carousel-element.-lightbox {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.6);
  overflow-y: scroll;
  top: 0px;
  left: 0px;
  max-width: 100%;
  height: 100%;
  z-index: 20;
}
.carousel-element.-lightbox .close {
  display: block;
  position: fixed;
  height: 100%;
  right: 32px;
  top: 32px;
  width: 32px;
  height: 32px;
  z-index: 10;
  cursor: pointer;
}
.carousel-element.-lightbox .navi-left,
.carousel-element.-lightbox .navi-right {
  width: 48px;
  height: 48px;
}
.carousel-element.-lightbox .navi-right {
  right: 0px;
  -webkit-transform: rotate(180deg) translateY(0%);
          transform: rotate(180deg) translateY(0%);
}
.carousel-element.-lightbox .navi-left {
  left: 0px;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
.carousel-element.-lightbox .outer-stage {
  height: 100%;
  overflow-y: auto;
}
.carousel-element.-lightbox .outer-stage .inner-stage {
  height: 100%;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox {
  min-width: 100%;
  width: 100%;
  text-align: center;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .container {
  width: 80%;
  margin: 0 auto;
  background-color: transparent;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .container .inner .image-container {
  position: relative;
  height: 100%;
  max-height: 100vh;
  margin-top: 100px;
  display: inline-block;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .container .inner .image {
  margin: 0 auto;
  display: block;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .open {
  display: none;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .caption-element {
  display: none;
}
.carousel-element .close {
  display: none;
}
.carousel-element .navi-left,
.carousel-element .navi-right {
  position: absolute;
  top: 50%;
  cursor: pointer;
  z-index: 5;
  background-color: #F57C63;
  width: 44px;
  height: 44px;
}
.carousel-element .navi-left svg,
.carousel-element .navi-right svg {
  width: 44px;
  height: 44px;
}
.carousel-element .navi-left {
  left: 0px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.carousel-element .navi-right {
  right: 0px;
  -webkit-transform: rotate(180deg) translateY(50%);
          transform: rotate(180deg) translateY(50%);
}
.carousel-element .outer-stage {
  overflow: hidden;
}
.carousel-element .outer-stage .inner-stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  transition: left 0.4s ease-out;
  left: 0px;
  position: relative;
}
.carousel-element .outer-stage .inner-stage .lightbox {
  height: 485px;
}
.carousel-element .outer-stage .inner-stage .lightbox .container {
  background-color: #6A6A6A;
  height: 450px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.carousel-element .outer-stage .inner-stage .lightbox .container .image {
  width: auto;
  max-height: 450px;
  margin: 0 auto;
  display: block;
}
.carousel-element .outer-stage .inner-stage .lightbox .caption-element {
  display: block;
  width: 100%;
  margin-top: 16px;
}
.chapter-cover {
  height: 450px;
  margin-bottom: 85px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.chapter-cover > .title {
  text-transform: uppercase;
  width: 940px;
  color: #ffffff;
  font-size: 4rem;
  font-weight: demi;
  line-height: 4.625rem;
  text-align: center;
  letter-spacing: 0.11875rem;
  text-shadow: 0.1px 0.1px 16px #6a6a6a73;
}
@media only screen and (max-width: 600px) {
  .chapter-cover {
    margin-bottom: 3.0625rem;
    height: 340px;
  }
  .chapter-cover > .title {
    font-size: 1.875rem;
    line-height: 2.5rem;
  }
}
.common-page {
  margin-top: 5.3125rem;
}
.common-page h1,
.common-page h2,
.common-page h3 {
  font-weight: bold;
  color: black;
  font-size: 3rem;
  line-height: 3.625rem;
  text-align: center;
  margin-bottom: 3.75rem;
}
.common-page > .paragraph-element {
  margin-bottom: 1.5625rem;
}
.common-page > .image-element {
  margin-bottom: 1.5625rem;
}
.common-page > .delimiter-line {
  margin: 3.125rem 0;
}
@media only screen and (max-width: 600px) {
  .common-page {
    margin-top: 0rem;
  }
  .common-page.-nocover {
    margin-top: 11.25rem;
  }
  .common-page h1,
  .common-page h2,
  .common-page h3 {
    font-size: 1.625rem;
    line-height: 2.125rem;
  }
  .common-page > .title-element {
    margin-bottom: 2.5rem;
  }
  .common-page > .paragraph-element {
    margin-bottom: 0.9375rem;
  }
  .common-page > .image-element {
    margin-bottom: 0.9375rem;
  }
  .common-page > .delimiter-line {
    margin: 1.875rem 0;
  }
}
.container-questions {
  margin-bottom: 5.625rem;
}
.container-questions .main-title {
  margin-bottom: 3.75rem;
  text-align: center;
  font-weight: bold;
  color: black;
}
.container-questions .number {
  margin-bottom: 2.875rem;
  color: #F57C63;
  width: 100%;
  text-align: center;
  border-bottom: 6px solid #F57C63;
  line-height: 0.05em;
  font-size: 3rem;
}
.container-questions .number span {
  padding: 0 20px;
  background-color: #fff;
  font-weight: bold;
}
@media only screen and (max-width: 600px) {
  .container-questions {
    margin-bottom: 2rem;
  }
  .container-questions > .number {
    margin-bottom: 1.25rem;
    font-size: 1.625rem;
  }
}
.container-teacher {
  border-bottom: 2px solid #F57C63;
}
.container-teacher.sidebar-login {
  border-bottom: 0px;
}
.container-teacher:last-child {
  border-bottom: none;
}
.container-teacher .module-title {
  padding-top: 20px;
  margin-bottom: 30px;
}
.container-teacher .title.title-download {
  border-bottom: 2px solid #F57C63;
  cursor: auto;
  margin: 0px;
  padding: 10px 0px;
}
.container-teacher .title {
  margin: 0px -18px 0px -27px;
  padding: 10px 0px 10px 27px;
  position: relative;
  cursor: pointer;
}
.container-teacher .title.-chapter.-current {
  border-left: 3px solid #F57C63;
  background-color: #E9E9E9;
}
.container-teacher .title.-chapter:hover {
  background-color: #E9E9E9;
}
.container-teacher .title.-background:hover {
  background-color: #E9E9E9;
}
.container-teacher .title .title-content {
  display: inline-block;
  margin-right: 34px;
}
.container-teacher .title .icon {
  color: #F57C63;
  position: absolute;
  top: 14px;
  right: 17px;
}
.container-teacher .content {
  padding-bottom: 30px;
}
.container-teacher .content .content-section {
  margin-bottom: 20px;
}
.container-teacher .content .content-section.-inline .section-title {
  display: inline;
  margin-right: 5px;
}
.container-teacher .content .content-section .section-title {
  font-size: 18px;
  font-weight: bold;
  line-height: 23px;
  margin-bottom: 5px;
}
.container-teacher .content .content-section p {
  margin-bottom: 10px;
}
.container-teacher .content .content-section ul,
.container-teacher .content .content-section ol {
  margin-left: 30px;
}
.container-teacher .content .content-section ul li,
.container-teacher .content .content-section ol li {
  margin-bottom: 10px;
}
.container-teacher .content.-close {
  display: none;
}
.container-teacher .export {
  margin-top: 32px;
}
.container-teacher .export > .button-export {
  margin-right: 29px;
}
.container-teacher .export .download {
  display: block;
  color: #000;
  margin: 11px 0px;
}
.container-teacher .export .download:hover {
  color: #F57C63;
  cursor: pointer;
}
.container-teacher .export p {
  font-size: 18px;
  font-weight: bold;
  line-height: 23px;
  margin-bottom: 35px;
}
@media only screen and (max-width: 600px) {
  .container-teacher .module-title {
    margin-bottom: 20px;
  }
  .container-teacher .export {
    margin-top: 20px;
  }
  .container-teacher .export p {
    margin-bottom: 20px;
  }
}
.delimiter-line {
  width: 100%;
  border-bottom: 6px solid #F57C63;
}
@media only screen and (max-width: 600px) {
  .delimiter-line {
    border-bottom: 4px solid #F57C63;
  }
}
.feedback-container {
  text-align: right;
  margin-bottom: 20px;
}
.feedback-container .button {
  padding: 0;
  cursor: pointer;
}
.feedback-container .button:focus {
  outline: none;
}
.feedback-panel {
  padding: .75rem 1.25rem;
  background-color: #b4b4b4;
  border-radius: 10px;
  border: 1px solid transparent;
  margin-bottom: 1.875rem;
}
.feedback-panel.-correct {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.feedback-panel.-wrong {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.filter-container {
  position: fixed;
  right: 40px;
  bottom: 0px;
  z-index: 10;
  box-shadow: 0.1px 0.1px 16px #6a6a6a54;
}
@media only screen and (max-width: 600px) {
  .filter-container {
    right: 16px;
  }
}
[class^="icon-"],
[class*=" icon-"] {
  height: 32px;
  width: 32px;
  display: inline-block;
  fill: currentColor;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
[class^="icon-"].-small,
[class*=" icon-"].-small {
  height: 20px;
  width: 20px;
}
[class^="icon-"].-sub,
[class*=" icon-"].-sub {
  vertical-align: sub;
}
[class^="icon-"].-inverted,
[class*=" icon-"].-inverted {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
[class^="icon-"].-brand,
[class*=" icon-"].-brand {
  color: #F57C63;
}
[class^="icon-"].-rspacer,
[class*=" icon-"].-rspacer {
  margin-right: 10px;
}
.iconcontainer.-inverted > [class^="icon-"],
.iconcontainer.-inverted > [class*=" icon-"] {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.image-element.-small {
  max-width: 50%;
}
@media only screen and (max-width: 600px) {
  .image-element.-small {
    max-width: 100%;
  }
}
.lightbox {
  min-width: 100%;
}
.lightbox .container {
  position: relative;
  display: inline-block;
}
.lightbox .container .open {
  position: absolute;
  bottom: 8px;
  right: 0px;
  width: 32px;
  height: 32px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.lightbox .open,
.lightbox .close {
  cursor: pointer;
}
.lightbox .open {
  display: block;
}
.lightbox .close {
  display: none;
}
.lightbox.-open {
  position: fixed;
  height: 100%;
  z-index: 100;
  top: 0px;
  left: 0px;
  background-color: rgba(0, 0, 0, 0.8);
  overflow-y: scroll;
}
.lightbox.-open .caption-element {
  display: none;
}
.lightbox.-open .container {
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 80%;
  max-height: 100%;
}
.lightbox.-open .container .inner {
  display: inline-block;
  position: relative;
  margin: 20px 0px;
}
.lightbox.-open .close {
  display: block;
  position: absolute;
  right: 16px;
  top: 16px;
  width: 32px;
  height: 32px;
}
.lightbox.-open .open {
  display: none;
}
.lightbox.-open .caption {
  text-align: center;
  margin-bottom: 16px;
}
.main-navigation {
  position: absolute;
  top: 0;
  z-index: 100;
  color: #F57C63;
}
.main-navigation .hamburger:hover {
  cursor: pointer;
}
.main-navigation ul {
  background-color: #fff;
  font-size: 1.125rem;
  line-height: 1.875rem;
  color: #000;
}
.main-navigation li {
  list-style-type: none;
  line-height: 1.875rem;
  cursor: pointer;
  display: block;
  padding: 8px 0 8px 20px;
}
.main-navigation li a {
  color: #000;
}
.main-navigation .level1 {
  width: 23.75rem;
  box-shadow: 1px 1px rgba(0, 0, 0, 0.25);
}
.main-navigation .level1:hover {
  color: #DA654C;
}
.main-navigation .level1 .book,
.main-navigation .level1 .impressum {
  padding-left: 20px;
}
.main-navigation .level1 .impressum:hover {
  color: #DA654C;
}
.main-navigation .level1 .icon {
  width: 36px;
  height: 18px;
  color: #F57C63;
  position: absolute;
  right: 20px;
}
.main-navigation .level1.-active .book:first-child {
  margin-left: -20px;
  padding: 6px 0 6px 37px;
  border-left: 3px solid #F57C63;
  color: #F57C63;
}
.main-navigation .level1.-active .icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.main-navigation .level1.-active .level2 {
  background-color: #f6f6f6;
  padding-left: 27px;
  margin-left: -20px;
}
.main-navigation .level1.-active .level2 li a {
  display: block;
}
.main-navigation .level1.-active .level2 li:hover a {
  color: #DA654C;
}
.main-navigation .level1:first-child:hover {
  color: #DA654C;
}
.main-navigation .-close {
  display: none;
}
@media only screen and (max-width: 600px) {
  .main-navigation .level1 {
    width: 21.25rem;
  }
}
.module-label {
  color: #6a6a6a;
  margin-bottom: 10px;
  font-size: 16px;
}
.module-label.-half {
  width: 50%;
  display: inline-block;
}
.module-label .icon {
  color: #F57C63;
  margin-right: 9px;
}
.page-fluid {
  padding: 0 1rem;
  max-width: 40.125rem;
}
@media only screen and (max-width: 600px) {
  .content  .page-fluid {
    padding: 0 0;
  }
}
.page-footer {
  width: 100%;
  background-color: #F57C63;
  margin-top: 200px;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-footer .text {
  color: #fff;
  margin-left: 32px;
}
.page-footer .text .impressum {
  color: #fff;
}
@media only screen and (max-width: 600px) {
  .page-footer {
    margin-top: 160px;
  }
}
.page-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background-color: #fff;
}
.page-header .border-bottom {
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  margin-left: 16px;
  margin-right: 16px;
}
.page-header .logo-section {
  width: 100%;
  height: 80px;
  background-color: #F57C63;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 16px;
  line-height: 0px;
}
.page-header .logo-section .title {
  font-size: 2.0625rem;
  line-height: 3.125rem;
  letter-spacing: 0.053125rem;
  font-weight: bold;
  color: #fff;
}
.page-header .logo-section .logo {
  width: 96px;
  height: 25px;
  margin-left: 11px;
  margin-right: 50px;
  margin-top: 24px;
  margin-bottom: 24px;
  visibility: visible;
  opacity: 1;
}
.page-header .main-navigation {
  display: inline-block;
}
.page-header .button-login {
  display: inline-block;
  margin-left: 52px;
  vertical-align: text-top;
}
.page-header .button-login a {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #000000;
  text-transform: uppercase;
  font-weight: bold;
}
.page-header .button-login a .navi-text {
  vertical-align: text-bottom;
}
.page-header .button-login a svg {
  vertical-align: text-top;
  color: #F57C63;
}
.page-header .button-login:hover a {
  color: #DA654C;
}
.page-header .button-login:active a {
  color: #DA654C;
}
.page-header .sidebar-teacher {
  right: 0;
}
.page-header .site-title {
  display: none;
}
.page-header .home-button {
  display: none;
}
.page-header.-collabse {
  padding-top: 0px;
}
.page-header.-collabse .logo-section {
  visibility: hidden;
  height: 0px;
  transition: height 0.5s;
}
.page-header.-collabse .title {
  display: none;
}
.page-header.-collabse .site-title {
  position: relative;
  left: 75px;
  width: 100%;
  white-space: nowrap;
  display: table-cell;
  font-size: 18px;
  vertical-align: middle;
}
.page-header.-collabse .home-button {
  display: table-cell;
  padding-left: 50px;
}
.page-header.-collabse .home-button .icon {
  display: inline-block;
  height: 26px;
  width: 26px;
  vertical-align: top;
}
@media only screen and (max-width: 1024px) {
  .page-header.-collabse .site-title {
    display: none;
  }
}
@media only screen and (max-width: 600px) {
  .page-header.-collabse .site-title {
    display: none;
  }
  .page-header .logo-section {
    display: block;
  }
  .page-header .logo-section .logo {
    margin-top: 14px;
    margin-bottom: 9px;
    margin-left: 8px;
  }
  .page-header .logo-section .title {
    font-size: 18px;
    line-height: 1.8125rem;
    font-weight: bold;
    margin-left: 16px;
  }
  .page-header .button-login .navi-text {
    display: none;
  }
  .page-header .button-teacher {
    width: 30px;
  }
  .page-header .button-teacher .navi-text {
    display: none;
  }
}
.page-layout {
  max-width: 100%;
  margin: auto;
}
.page-layout > .content {
  padding-top: 162px;
}
.page-layout > .content.-sidebar {
  padding-right: 400px;
}
@media only screen and (max-width: 600px) {
  .page-layout > .content {
    padding-top: 0;
    margin-top: 152px;
  }
  .page-layout > .content.-sidebar {
    padding-right: 0px;
    padding-top: 0px;
  }
}
.page-overview {
  max-width: 58.75rem;
}
.page-overview .introduction {
  margin-bottom: 5rem;
  color: #000000;
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 50px;
}
@media only screen and (max-width: 600px) {
  .page-overview > .introduction {
    font-size: 1.625rem;
    line-height: 2.125rem;
  }
}
.paragraph-element {
  color: #000000;
}
.paragraph-element.-introduction {
  font-size: 1.625rem;
  line-height: 2.375rem;
  font-weight: 500;
}
.paragraph-element.-default {
  font-size: 1.375rem;
  line-height: 2.1875rem;
  font-weight: 300;
}
.paragraph-element strong,
.paragraph-element b {
  font-weight: bold;
}
.paragraph-element ul,
.paragraph-element ol {
  margin-left: 60px;
  margin-bottom: 30px;
}
.paragraph-element ul li {
  margin-bottom: 10px;
}
.paragraph-element .abbreviation {
  position: relative;
  text-decoration: none;
  border-bottom: 3px dotted black;
  line-height: 20px;
  cursor: help;
}
.paragraph-element .abbreviation .tooltip {
  display: none;
}
.paragraph-element .abbreviation.-right .tooltip {
  left: 0px;
}
.paragraph-element .abbreviation.-left .tooltip {
  right: 0px;
}
.paragraph-element .abbreviation.-top .tooltip {
  bottom: 30px;
}
.paragraph-element .abbreviation.-bottom .tooltip {
  top: 30px;
}
.paragraph-element .abbreviation.-big.-open .tooltip,
.paragraph-element .abbreviation.-big:hover .tooltip {
  width: auto;
  width: 50vw;
  white-space: normal;
}
.paragraph-element .abbreviation.-sidebar.-open .tooltip,
.paragraph-element .abbreviation.-sidebar:hover .tooltip {
  width: auto;
  width: 200px;
  white-space: normal;
}
.paragraph-element .abbreviation.-open .tooltip,
.paragraph-element .abbreviation:hover .tooltip {
  display: block;
  position: absolute;
  z-index: 10;
  white-space: nowrap;
  background-color: #1e1e1e;
  color: #fff;
  border-radius: 3px;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.4);
  font-size: 14px;
  padding: 3px 5px;
}
@media only screen and (max-width: 600px) {
  .paragraph-element.-introduction {
    font-size: 1.375rem;
    line-height: 2rem;
  }
  .paragraph-element.-default {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .paragraph-element ul,
  .paragraph-element ol {
    margin-bottom: 15px;
  }
}
.question-item {
  margin-bottom: 3.75rem;
}
.question-item > .icon {
  display: inline-block;
  color: #F57C63;
  height: 30px;
  width: 30px;
  vertical-align: text-bottom;
  margin-right: 5px;
}
.question-item .title {
  color: #F57C63;
  text-transform: uppercase;
  margin-bottom: 0.9375rem;
  font-size: 1.625rem;
  font-weight: bold;
  display: inline-block;
}
.question-item .paragraph-element,
.question-item .image-element,
.question-item ul,
.question-item ol,
.question-item .iframe-element,
.question-item .video-element,
.question-item .audio-element,
.question-item .carousel-element {
  margin-bottom: 30px;
}
.question-item .paragraph-element.-nomargin,
.question-item .image-element.-nomargin,
.question-item ul.-nomargin,
.question-item ol.-nomargin,
.question-item .iframe-element.-nomargin,
.question-item .video-element.-nomargin,
.question-item .audio-element.-nomargin,
.question-item .carousel-element.-nomargin {
  margin-bottom: 0;
}
.question-item ul,
.question-item ol {
  margin-left: 60px;
}
.question-item ul li,
.question-item ol li {
  margin-bottom: 10px;
}
@media only screen and (max-width: 600px) {
  .question-item .title {
    font-size: 1.375rem;
    line-height: 2rem;
    font-weight: demi;
  }
  .question-item .paragraph-element,
  .question-item .image-element,
  .question-item ul,
  .question-item ol,
  .question-item .iframe-element,
  .question-item .video-element,
  .question-item .audio-element,
  .question-item .carousel-element {
    margin-bottom: 15px;
  }
}
.question-text > .dropdown.-wrong {
  background-color: #f8d7da;
}
.question-text > .dropdown.-correct {
  background-color: #d4edda;
}
.sidebar-login {
  background-color: #F57C63;
  margin-left: -27px;
  margin-right: -18px;
  padding-left: 27px;
  padding-right: 18px;
}
.sidebar-login a {
  color: #fff;
  padding: 10px 0;
  display: inline-block;
}
.sidebar-login .icon {
  width: 22px;
  height: 22px;
  margin-right: 16px;
  vertical-align: sub;
}
.sidebar-login .icon.icon-arrow-down {
  color: inherit;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  position: relative;
  top: 0;
  right: -40px;
}
.sidebar-login .title {
  display: inline-block;
}
.sidebar-login:hover {
  background-color: #DA654C;
  cursor: pointer;
}
@media only screen and (max-width: 600px) {
  .sidebar-login .icon.icon-arrow-down {
    right: -20px;
  }
}
.sidebar-teacher {
  font-size: 18px;
  background-color: #F6F6F6;
  box-shadow: -1px 1px 0 0 rgba(0, 0, 0, 0.25);
  padding-left: 27px;
  padding-right: 34px;
  width: 416px;
  position: fixed;
  right: 0px;
  top: 133px;
  bottom: 0px;
  display: block;
  overflow-y: auto;
  z-index: 10;
}
.sidebar-teacher.-teacher .container-teacher.sort-0 .title {
  border-top: 5px solid #F57C63;
}
.sidebar-teacher .label {
  font-size: 14px;
  display: inline-block;
}
.sidebar-teacher .meta-space {
  margin-bottom: 64px;
}
.sidebar-teacher.-close {
  display: none;
}
.sidebar-teacher.-collabse {
  top: 55px;
  transition-timing-function: linear;
  transition: top 0.5s;
}
@media only screen and (max-width: 600px) {
  .sidebar-teacher {
    top: 133px;
    padding-right: 20px;
    width: 343px;
  }
}
h1 {
  font-size: 4rem;
  letter-spacing: 0.11875rem;
  line-height: 4.375rem;
  font-weight: normal;
}
h2 {
  font-size: 3rem;
  line-height: 3.625rem;
  font-weight: normal;
}
h3 {
  line-height: 1.6875rem;
  font-size: 1.25rem;
  font-weight: bold;
}
@media only screen and (max-width: 600px) {
  h2 {
    font-size: 1.625rem;
    line-height: 2.125rem;
  }
  h3 {
    line-height: 1.5625rem;
    font-size: 1.125rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlaW1hdGt1bmRlLmNzcyIsImxpYi9sZXNzL3NoYXJlZC9oZWxwZXJzLmxlc3MiLCJsaWIvbGVzcy9zaGFyZWQvcmVzZXQubGVzcyIsImxpYi9sZXNzL2NvbXBvbmVudHMvY29yZS9idXR0b24ubGVzcyIsImxpYi9sZXNzL2NvbXBvbmVudHMvY29yZS9yZXNwb25zaXZlL2dyaWQubGVzcyIsImxpYi9sZXNzL2NvbXBvbmVudHMvY29yZS9yZXNwb25zaXZlL2ltYWdlLmxlc3MiLCJsaWIvbGVzcy9jb21wb25lbnRzL2NvcmUvcmVzcG9uc2l2ZS9tZWRpYS5sZXNzIiwibGliL2xlc3MvY29tcG9uZW50cy9jb3JlL3Jlc3BvbnNpdmUvcGFnZS5sZXNzIiwibGliL2xlc3MvY29tcG9uZW50cy9jb3JlL3Jvdy5sZXNzIiwiY29tcG9uZW50cy9hbnN3ZXItdmlldy5sZXNzIiwiY29tcG9uZW50cy9hdWRpby1lbGVtZW50Lmxlc3MiLCJjb21wb25lbnRzL2JveC1jaGFwdGVyLmxlc3MiLCJjb21wb25lbnRzL2J1dHRvbi1leHBvcnQubGVzcyIsImNvbXBvbmVudHMvYnV0dG9uLWZpbHRlci5sZXNzIiwiY29tcG9uZW50cy9idXR0b24tdGVhY2hlci5sZXNzIiwiY29tcG9uZW50cy9jYXB0aW9uLWVsZW1lbnQubGVzcyIsImNvbXBvbmVudHMvY2Fyb3VzZWwtZWxlbWVudC5sZXNzIiwiY29tcG9uZW50cy9jaGFwdGVyLWNvdmVyLmxlc3MiLCJjb21wb25lbnRzL2NvbW1vbi1wYWdlLmxlc3MiLCJjb21wb25lbnRzL2NvbnRhaW5lci1xdWVzdGlvbnMubGVzcyIsImNvbXBvbmVudHMvY29udGFpbmVyLXRlYWNoZXIubGVzcyIsImNvbXBvbmVudHMvZGVsaW1pdGVyLWxpbmUubGVzcyIsImNvbXBvbmVudHMvZmVlZGJhY2stY29udGFpbmVyLmxlc3MiLCJjb21wb25lbnRzL2ZlZWRiYWNrLXBhbmVsLmxlc3MiLCJjb21wb25lbnRzL2ZpbHRlci1jb250YWluZXIubGVzcyIsImNvbXBvbmVudHMvZm9udGFzdGljLWljb25zLmxlc3MiLCJjb21wb25lbnRzL2ltYWdlLWVsZW1lbnQubGVzcyIsImNvbXBvbmVudHMvbGlnaHRib3gubGVzcyIsImNvbXBvbmVudHMvbWFpbi1uYXZpZ2F0aW9uLmxlc3MiLCJjb21wb25lbnRzL21vZHVsZS1sYWJlbC5sZXNzIiwiY29tcG9uZW50cy9wYWdlLWZsdWlkLmxlc3MiLCJjb21wb25lbnRzL3BhZ2UtZm9vdGVyLmxlc3MiLCJjb21wb25lbnRzL3BhZ2UtaGVhZGVyLmxlc3MiLCJjb21wb25lbnRzL3BhZ2UtbGF5b3V0Lmxlc3MiLCJjb21wb25lbnRzL3BhZ2Utb3ZlcnZpZXcubGVzcyIsImNvbXBvbmVudHMvcGFyYWdyYXBoLWVsZW1lbnQubGVzcyIsImNvbXBvbmVudHMvcXVlc3Rpb24taXRlbS5sZXNzIiwiY29tcG9uZW50cy9xdWVzdGlvbi10ZXh0Lmxlc3MiLCJjb21wb25lbnRzL3NpZGViYXItbG9naW4ubGVzcyIsImNvbXBvbmVudHMvc2lkZWJhci10ZWFjaGVyLmxlc3MiLCJjb21wb25lbnRzL3RleHQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7QUNDRjtFQUNDLG1CQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtDRENBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDR0Y7RUFDQyxtQkFBQTtDRERBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDS0Y7RUFDQyxtQkFBQTtDREhBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDT0Y7RUFDQyx1QkFBQTtDRExBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDU0Y7RUFDQyxtQkFBQTtDRFBBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDV0Y7RUFDQyxZQUFBO0NEVEE7QUFDRDs7Ozs7Ozs7O0VBU0U7QUNZRjtFQUNDLGFBQUE7Q0RWQTtBQUNEOzs7Ozs7Ozs7RUFTRTtBQ2FGO0VBQ0MsY0FBQTtDRFhBO0FBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7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Q0EsNkNBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBRUEsYUFBQTtFQUVBLGdCQUFBO0VBQ0EsV0FBQTtFQUVBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtDdkNtZ0VIO0F1Q3BpRUc7RUFHWSw4QkFBQTtDdkNvaUVmO0F1QzVpRUQ7RUFlUSxnQkFBQTtFQUNBLHNCQUFBO0N2Q2dpRVA7QXVDaGpFRDtFQW9CUSxvQkFBQTtDdkMraEVQO0F1QzNnRUc7RUFDSSxjQUFBO0N2QzZnRVA7QXVDMWdFRztFQUNJLFVBQUE7RUFDQSxtQ0FBQTtFQUNBLHFCQUFBO0N2QzRnRVA7QXVDdmdFRDtFQUNJO0lBQ0ksV0FBQTtJQUdBLG9CQUFBO0lBQ0EsYUFBQTtHdkN1Z0VMO0NBQ0Y7QXdDbGtFRDtFQUNJLGdCQUFBO0VBQ0EsMkJBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0N4Q29rRUg7QXdDamtFRDtFQUNJLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtDeENta0VIO0F3Q2hrRUQ7RUFDSSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7Q3hDa2tFSDtBd0M5akVEO0VBRUk7SUFDSSxvQkFBQTtJQUNBLHNCQUFBO0d4QytqRUw7RXdDM2pFQztJQUNJLHVCQUFBO0lBQ0Esb0JBQUE7R3hDNmpFTDtDQUNGIiwiZmlsZSI6ImhlaW1hdGt1bmRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4tLS1cbm5hbWU6IC5zdHJldGNoXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLnN0cmV0Y2hgIERlZmluZSBhbiBlbGVtZW50IHdoaWNoIHN0cmV0Y2hlcyB0byB0aGUgc2l6ZSBvZiBpdHMgcGFyZW50XG5cbmBgYGh0bWxcbjxkaXYgY2xhc3M9XCJyZWxcIiBzdHlsZT1cImhlaWdodDogNTVweDtcIj5cbiAgIDxkaXYgY2xhc3M9XCJzdHJldGNoIHN0eWxlZ3VpZGUtZ3JpZC11bml0XCI+IEknbSBzdHJldGNoZWQgdG8gdGhlIHNpemUgb2YgbXkgcGFyZW50PC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbi5zdHJldGNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4vKlxuLS0tXG5uYW1lOiAuYWJzXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmFic2AgU2V0IHRoZSBlbGVtZW50IHBvc2l0aW9uIHRvIGFic29sdXRlXG4qL1xuLmFicyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi8qXG4tLS1cbm5hbWU6IC5yZWxcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAucmVsYCBTZXQgdGhlIGVsZW1lbnQgcG9zaXRpb24gdG8gcmVsYXRpdmVcbiovXG4ucmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLypcbi0tLVxubmFtZTogLnZjZW50ZXJcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAudmNlbnRlcmAgU2V0cyB2ZXJ0aWNhbC1hbGlnbiB0byBtaWRkbGVcbiovXG4udmNlbnRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKlxuLS0tXG5uYW1lOiAuaGNlbnRlclxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5oY2VudGVyYCBTZXRzIHRleHQtYWxpZ24gdG8gY2VudGVyXG4qL1xuLmhjZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4vKlxuLS0tXG5uYW1lOiAuZmxvYXRsZWZ0XG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmZsb2F0bGVmdGAgU2V0cyBmbG9hdCB0byBsZWZ0XG4qL1xuLmZsb2F0bGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLypcbi0tLVxubmFtZTogLmZsb2F0cmlnaHRcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuZmxvYXRyaWdodGAgU2V0cyBmbG9hdCB0byByaWdodFxuKi9cbi5mbG9hdHJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLypcbi0tLVxubmFtZTogLmhpZGRlblxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5oaWRkZW5gIFNldHMgZGlzcGxheSB0byBub25lLlxuKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLypcbi0tLVxubmFtZTogcmVtKCBwaXhlbHMgKVxuY2F0ZWdvcnk6IFNoYXJlZC9NaXhpbnNcbnRlbXBsYXRlOiBtaXhpblxudGFnOlxuIC0gbWl4aW5cbnBhcmFtZXRlcnM6XG4gLSBuYW1lOiBwaXhlbHNcbiAgIGRlc2NyaXB0aW9uOiBUaGUgcGl4ZWwgdmFsdWUgdG8gY29udmVydCBpbnRvIHJlbSBiYXNlZCBvbiB0aGUgMTZweCByb290IGZvbnQtc2l6ZVxuICAgb3B0aW9uYWw6IGZhbHNlXG4tLS1cblxuVGhpcyBsZXNzIGZ1bmN0aW9uIHR1cm5zIGEgcGl4ZWwgdmFsdWUgaW50byBhIHJlbSB2YWx1ZSBiYXNlZCBvbiB0aGUgcm9vdCBmb250LXNpemUgc2V0IHRvIDE2cHguXG5cbkFuIGV4YW1wbGUgdXNhZ2UgbG9va3MgbGlrZSB0aGlzOlxuXG5gYGBsZXNzXG4uZXhhbXBsZSB7XG5cdHBhZGRpbmc6IHJlbSggMTVweCApIHJlbSggMTJweCApXG59XG5gYGBcbiovXG4vKlxuLS0tXG5uYW1lOiAuZm9yKCBAYXJyYXksIEBjb2RlIClcbmNhdGVnb3J5OiBTaGFyZWQvTWl4aW5zXG50ZW1wbGF0ZTogbWl4aW5cbnRhZzpcbiAtIG1peGluXG5wYXJhbWV0ZXJzOlxuIC0gbmFtZTogYXJyYXlcbiAgIGRlc2NyaXB0aW9uOiBUaGUgYXJyYXkgb2YgdmFsdWVzIHRvIGxvb3Agb3ZlclxuICAgb3B0aW9uYWw6IGZhbHNlXG4gLSBuYW1lOiBjb2RlXG4gICBkZXNjcmlwdGlvbjogVGhlIGNvZGUgdGhhdCBpcyBleGVjdXRlZCBvbiBldmVyeSB2YWx1ZS4gWW91IGNhbiBhY2Nlc3MgdGhlIGluZGV4IHdpdGggYEBpYCBhbmQgdGhlIHZhbHVlIHdpdGggYEB2YWx1ZWBcbiAgIG9wdGlvbmFsOiBmYWxzZVxuLS0tXG5cblRoaXMgbWl4aW4gYWxsb3dzIHRvIGV4ZWN1dGUgY29kZSBvdmVyIGFuIGFycmF5XG5cbkFuIGV4YW1wbGUgdXNhZ2UgbG9va3MgbGlrZSB0aGlzOlxuYGBgbGVzc1xuQGNvbG9yczogIzFhYmM5YywgIzJlY2M3MSwgIzM0OThkYiwgIzliNTliNjtcblxuLmZvcihAY29sb3JzLCB7XG4gICAgLmNvbG9yLUB7aX0ge1xuICAgICAgICBjb2xvcjogQHZhbHVlO1xuICAgIH1cbn0pO1xuYGBgXG5cblRoaXMgZ2VuZXJhdGVzOlxuYGBgY3NzXG4uY29sb3ItMSB7XG4gIGNvbG9yOiAjMWFiYzljO1xufVxuLmNvbG9yLTIge1xuICBjb2xvcjogIzJlY2M3MTtcbn1cbi5jb2xvci0zIHtcbiAgY29sb3I6ICMzNDk4ZGI7XG59XG4uY29sb3ItNCB7XG4gIGNvbG9yOiAjOWI1OWI2O1xufVxuYGBgXG4qL1xuLypcbi0tLVxubmFtZTogR2xvYmFsIFJlc2V0XG5jYXRlZ29yeTogU2hhcmVkXG4tLS1cblxuVGhlIGxlcm5ldHogY3NzIGxpYnJhcnkgaGFzIGEgc2V0IG9mIHJlc2V0IHN0eWxlIHRvIGhhdmUgdGhlIHNhbWUgYmVoYXZpb3VyIG9uIGV2ZXJ5IGJyb3dzZXIuXG5GdXJ0aGVybW9yZSB0aGlzIHJlc2V0IHNldHMgc29tZSBnbG9iYWwgdmFyaWFibGVzIGxpa2U6XG4gKiBib2R5IGZvbnQtZmFtaWxpZXNcbiAqIGJvZHkgbGluZS1oZWlnaHRcbiAqIGJvZHkgdGV4dC1yZW5kZXJpbmdcbiAqIDpyb290IGZvbnQtc2l6ZSBmb3IgcHJvcGVyIHJlbSBjb252ZXJzaW9uXG4qL1xuaHRtbCxcbmJvZHksXG5kaXYsXG5zcGFuLFxub2JqZWN0LFxuaWZyYW1lLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmJsb2NrcXVvdGUsXG5wcmUsXG5hYmJyLFxuYWRkcmVzcyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5pbWcsXG5pbnMsXG5rYmQsXG5xLFxuc2FtcCxcbnNtYWxsLFxuc3Ryb25nLFxuc3ViLFxuc3VwLFxudmFyLFxuYixcbmksXG5kbCxcbmR0LFxuZGQsXG5vbCxcbnVsLFxubGksXG5maWVsZHNldCxcbmZvcm0sXG5sYWJlbCxcbmxlZ2VuZCxcbnRhYmxlLFxuY2FwdGlvbixcbnRib2R5LFxudGZvb3QsXG50aGVhZCxcbnRyLFxudGgsXG50ZCxcbmFydGljbGUsXG5hc2lkZSxcbmNhbnZhcyxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5LFxudGltZSxcbm1hcmssXG5hdWRpbyxcbnZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuOnJvb3Qge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5zZWxlY3Qge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xufVxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4vKlxuICogTm9ybWFsaXplIHRoZSBiZWhhdmlvdXIgb2YgYWxsIGJyb3dzZXJzXG4gKlxuICogSW5zdGVhZCBvZiBzZXR0aW5nIGJveC1zaXppbmcgZml4IG9uIGFsbCBlbGVtZW50cyB3ZSBvbmx5IHNldCBpdCBvbiB0aGUgcm9vdCBlbGVtZW50XG4gKiBhbmQgdGVsbCBhbGwgZWxlbWVudHMgdG8gaW5oZXJpdCBpdCdzIHByb3BlcnR5IGZyb20gdGhlIHBhcmVudFxuICogVGhhdCB3YXkgaXQncyBwb3NzaWJsZSB0byBvdmVyd3JpdGUgdGhlIGJveC1zaXppbmcgYW55d2hlcmUgd2hpbGUga2VlcGluZyBwcm9wZXIgaW5oZXJpdGFuY2VcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjRjU3QzYzO1xufVxuYSA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLypcbi0tLVxubmFtZTogQ29sb3JzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IGNvbG9yc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBjb2xvcnNcbmNvbG9yczpcbiAtIHZhcmlhYmxlOiBcIkB0ZXh0LWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkZWZhdWx0IHRleHQgY29sb3Igb24gdGhlIGJvZHlcIlxuICAgdmFsdWU6IFwiIzNGM0Y0MFwiXG4gLSB2YXJpYWJsZTogXCJAdGV4dC1pbnZlcnRlZC1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgZGVmYXVsdCBpbnZlcnRlZCB0ZXh0IGNvbG9yIG9uIHRoZSBib2R5XCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuIC0gdmFyaWFibGU6IFwiQGFjdGlvbi1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBhY3Rpb24gY29sb3IgdXNlZCBmb3IgbGlua3MgYW5kIGJ1dHRvbnNcIlxuICAgdmFsdWU6IFwiI0VDNjQ0OVwiXG4gLSB2YXJpYWJsZTogXCJAYm9keS1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yXCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuLS0tXG5cblRoZSBjb2xvciB2YXJpYWJsZXMgdGhhdCBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSBsaWJyYXJ5LiBcbiovXG4vKlxuLS0tXG5uYW1lOiBHbG9iYWwgc2V0dGluZ3NcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogdmFyaWFibGVzXG50YWc6XG4gLSB2YXJpYWJsZXNcbnZhcmlhYmxlczpcbiAtIG5hbWU6IFwiQHRleHQtbGluZS1oZWlnaHRcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwiMS41cmVtXCJcbiAtIG5hbWU6IFwiQGZvbnQtZmFtaWx5XCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBmb250LWZhbWlseSBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIidIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmXCJcbiAtIG5hbWU6IFwiQHRleHQtcmVuZGVyaW5nXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSB0ZXh0LXJlbmRlcmluZyBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIm9wdGltaXplTGVnaWJpbGl0eVwiXG4gLSBuYW1lOiBcIkB0cmFuc2l0aW9uLWR1cmF0aW9uXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkdXJhdGlvbiBvZiB0aGUgc2xpZGUgdHJhbnNpdGlvbnNcIlxuICAgZGVmYXVsdDogXCIwLjRzXCJcbi0tLVxuXG5UaGVzZSB2YXJpYWJsZXMgc2V0dXBzIHNvbWUgZ2xvYmFsIHRleHQgZm9ybWF0dGluZyBhbmQgc3R5bGluZy5cbiovXG4vKlxuLS0tXG5uYW1lOiBTaXplIHNldHRpbmdzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IHZhcmlhYmxlc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBncmlkXG52YXJpYWJsZXM6XG4gLSBuYW1lOiBcIkBncmlkLWd1dHRlclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgc3BhY2UgYmV0d2VlbiB0aGUgZ3JpZCBjaGlsZHJlblwiXG4gICBkZWZhdWx0OiBcInJlbSggMzBweCApXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstcG9pbnRzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzY3JlZW5zaXplIHdoZW4gdGhlIGdyaWQgc2hvdWxkIGJyZWFrLlwiXG4gICBkZWZhdWx0OiBcInJlbSg2MDBweCksIHJlbSgxMDI0cHgpXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstbGFiZWxzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBicmVha3BvaW50IGxhYmVsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGVudGllIGluIHRoZSBgQGdyaWQtYnJlYWstcG9pbnRzYCBsaXN0XCJcbiAgIGRlZmF1bHQ6IFwibWVkaXVtLCBsYXJnZVwiXG4gLSBuYW1lOiBcIkBwYWdlLXBhZGRpbmdcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHBhZGRpbmcgZm9yIHRoZSAucGFnZS1mbHVpZCBjb21wb25lbnRcIlxuICAgZGVmYXVsdDogXCJyZW0oIDYwcHggKVwiXG4tLS1cblxuVGhlc2UgdmFyaWFibGVzIHNldHVwcyBzb21lIGdsb2JhbCBzaXplcyBtYWlubHkgZm9yIHRoZSBncmlkLlxuKi9cbi8qXG4tLS1cbm5hbWU6IC5idXR0b24tZGVmYXVsdFxuY2F0ZWdvcnk6IEJ1dHRvbnMvRGVmYXVsdFxudGFnOlxuIC0gY29tcG9uZW50XG4gLSBidXR0b25cbi0tLVxuXG5UaGUgZGVmYXVsdCBidXR0b24gc2V0cyBzb21lIGJhc2ljIHByb3BlcnRpZXMgc28gaXQgaXMgd29ya2luZyBhcyBhIGBidXR0b25gIG9yIGBhYCB0YWcuXG5cbkFuIGV4YW1wbGUgZm9yIGEgYnV0dG9uOlxuYGBgamFkZVxuYnV0dG9uLmJ1dHRvbi1kZWZhdWx0IE15IEJ1dHRvblxuYGBgXG5cbkFuIGV4YW1wbGUgZm9yIGEgbGluazpcbmBgYGphZGVcbmEuYnV0dG9uLWRlZmF1bHQgTXkgTGlua1xuYGBgXG4qL1xuLmJ1dHRvbi1kZWZhdWx0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4vKlxuLS0tXG5uYW1lOiAuZ3JpZFxuY2F0ZWdvcnk6IExheW91dC9HcmlkXG50YWc6XG4gLSBjb21wb25lbnRcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5BIHNpbXBsZSBncmlkIHN5c3RlbSB0aGF0IHdyYXBzIGNoaWxkcmVuIG5vZGVzIGJhc2VkIG9uIHRoZSB2aWV3cG9ydCB3aWR0aC5cblxuIyMgU2ltcGxlIHNpZGUgYnkgc2lkZSByZW5kZXJpbmdcblxuVGhlIGVhc2llc3QgdXNlIGNhc2UgaXMgdG8gdXNlIHNpbXBsZSBgLmNvbC0xYCwgYC5jb2wtMS0yYCwgYC5jb2wtMS0zYCwgYC5jb2wtMS00YCBmb3IgYSBzaWRlLWJ5LXNpZGUgcmVuZGVyaW5nLlxuVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGFsbCBjaGlsZCBlbGVtZW50cyBvZiBhIGAuZ3JpZGAgaXMgZXF1aXZhbGVudCB0byBgLmNvbC0xYCwgc28gZm9yIG9ubHkgb25lIGNoaWxkIGl0IHdpbGwgc3BhbiB0aGUgZnVsbCB3aWR0aC5cblxuYGBgamFkZVxuZGl2LmdyaWRcblx0ZGl2LmNvbC0xLTIgXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTJcblx0ZGl2LmNvbC0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtMlxuYGBgXG5gYGBqYWRlXG5kaXYuZ3JpZFxuXHRkaXYuY29sLTEtNCBcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtNFxuXHRkaXYuY29sLTMtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMy00XG5gYGBcblxuIyMgTGF5b3V0cyBvbiBkaWZmZXJlbnQgZGV2aWNlc1xuXG5UaGUgYnJlYWtwb2ludHMgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgYEBncmlkLWJyZWFrLXBvaW50c2AsIGBAZ3JpZC1icmVhay1sYWJlbHNgIHZhcmlhYmxlcy5cblRoZSBkZWZhdWx0IHZhbHVlcyBkZWZpbmUgdHdvIGJyZWFrcG9pbnRzIHdpdGggbGFiZWxzOiBgLm1lZGl1bS1YLVhgIGFuZCBgLmxhcmdlLVgtWGAuXG5TbyBhbiBleGFtcGxlIGdyaWQgd2l0aCB0d28gYnJlYWtwb2ludHMgbG9va3MgbGlrZSB0aGlzOlxuXG5gYGBqYWRlXG5kaXYuZ3JpZFxuXHRkaXYubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMSBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuXHRkaXYubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMSBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuXHRkaXYuY29sLTEtMi5tZWRpdW0tMS0yLmxhcmdlLTEtNC54bGFyZ2UtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTIgbWVkaXVtLTEtMiBsYXJnZS0xLTRcblx0ZGl2LmNvbC0xLTIubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yIG1lZGl1bS0xLTIgbGFyZ2UtMS00XG5gYGBcblxuKipOb3RlOioqIFRoZSBgY29sLTFgIGNsYXNzZXMgYXJlIG5vdCBwcmVzZW50IG9uIHRoZSBmaXJzdCB0d28gbm9kZXMsIHNpbmNlIHRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLlxuXG5cbiMjIFJldmVyc2Ugb3JkZXJcblxuVG8gcmV2ZXJzZSB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGNvbHVtbnMgYXJlIGRpc3BsYXllZCwgeW91IGNhbiBhZGQgdGhlIG1vZGlmaWVyIGNsYXNzIGAuLXJldmVyc2VgIHRvIHlvdXIgZ3JpZC5cblRoZSBjb2x1bW5zIHdpbGwgYmUgaW4gRE9NIG9yZGVyIHdoZW4gdmlld3BvcnQgc3dpdGNoZXMgdG8gc21hbGwgbGF5b3V0LlxuXG5gYGBqYWRlXG5kaXYuZ3JpZC4tcmV2ZXJzZVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGaXJzdCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFNlY29uZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFRoaXJkIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRm91cnRoIGNvbHVtbiBpbiBET01cbmBgYFxuIyMgTm8gZ3V0dGVyXG5cbklmIHlvdSBkb250IG5lZWQgYSBzcGFjaW5nL2d1dHRlciBiZXR3ZWVuIHRoZSBncmlkIGNvbHVtbnMgeW91IGNhbiB1c2UgdGhlIG1vZGlmaWVyIGAuLW5vZ3V0dGVyYC5cblxuYGBgamFkZVxuZGl2LmdyaWQuLW5vZ3V0dGVyXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIEZpcnN0IGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgU2Vjb25kIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgVGhpcmQgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGb3VydGggY29sdW1uIGluIERPTVxuYGBgXG4qL1xuLmdyaWQge1xuICBtYXJnaW46IDAgLTAuOTM3NXJlbTtcbiAgLyoqXG5cdCAqIEdlbmVyYXRlIGFsbCBtZWRpYSBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgQGdyaWQtYnJlYWstcG9pbnRzLCBAZ3JpZC1icmVhay1sYWJlbHMgdmFyaWFibGVzLlxuXHQgKi9cbn1cbi5ncmlkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuLmdyaWQgPiAqIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xufVxuLmdyaWQuLXJldmVyc2UgPiAqIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmdyaWQuLW5vZ3V0dGVyIHtcbiAgbWFyZ2luOiAwO1xufVxuLmdyaWQuLW5vZ3V0dGVyID4gKiB7XG4gIHBhZGRpbmc6IDA7XG59XG4uZ3JpZCAuY29sLTEge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ncmlkIC5jb2wtMS0yIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi5ncmlkIC5jb2wtMS0zIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbn1cbi5ncmlkIC5jb2wtMi0zIHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbn1cbi5ncmlkIC5jb2wtMS00IHtcbiAgd2lkdGg6IDI1JTtcbn1cbi5ncmlkIC5jb2wtMy00IHtcbiAgd2lkdGg6IDc1JTtcbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVyZW0pIHtcbiAgLmdyaWQgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5ncmlkID4gLm1lZGl1bS0xLTIge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQgPiAubWVkaXVtLTEtMyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZCA+IC5tZWRpdW0tMi0zIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5ncmlkID4gLm1lZGl1bS0xLTQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQgPiAubWVkaXVtLTMtNCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgLmdyaWQgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmdyaWQgPiAubGFyZ2UtMS0yIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkID4gLmxhcmdlLTEtMyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZCA+IC5sYXJnZS0yLTMge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQgPiAubGFyZ2UtMS00IHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkID4gLmxhcmdlLTMtNCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuLypcbi0tLVxubmFtZTogaW1nLnJlc3BvbnNpdmVcbmNhdGVnb3J5OiBMYXlvdXQvSW1hZ2VcbnRhZzpcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5UaGlzIGNsYXNzIG1ha2VzIHRoZSBpbWFnZSBzY2FsaW5nIHRvIGl0cyBtYXggd2lkdGguXG5cbmBgYGphZGVcbmltZy5yZXNwb25zaXZlKHNyYz0naHR0cDovL3d3dy5ieXVpLmVkdS9pbWFnZXMvYWdyaWN1bHR1cmUtbGlmZS1zY2llbmNlcy9mbG93ZXIuanBnJylcbmBgYFxuKi9cbmltZy5yZXNwb25zaXZlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4vKlxuLS0tXG5uYW1lOiAubWVkaWEtcmVzcG9uc2l2ZVxuY2F0ZWdvcnk6IExheW91dC9NZWRpYVxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbmAubWVkaWEtcmVzcG9uc2l2ZWAgLSBUaGlzIG1ha2VzIGEgdGhlIGAubWVkaWEtcmVzcG9uc2l2ZWAgZGl2IGEgY29udGFpbmVyIGZvciBhbnkgbWVkaWEgZWxlbWVudCAoaWZyYW1lLCB2aWRlbywgLi4uICkgdGhhdCByZXNwb25zaXZlIHNjYWxlcyB3aXRoIGEgZml4IHJhdGlvLlxuVGhlIG1lZGlhIGVsZW1lbnQgKCBjaGlsZCApIG5lZWRzIHRoZSBjbGFzcyBgLnN0cmV0Y2hgIHRvIGZ1bGx5IGZpbGwgb3V0IHRoZSBwYXJlbnRzIHNpemUuXG5cblRoZSBgLm1lZGlhLXJlc3BvbnNpdmVgIGNvbXBvbmVudCBoYXMgdG8gcHJlZGVmaW5lZCBtb2RpZmllcnM6IGAuLW1lZGlhLTQtM2AsIGAuLW1lZGlhLTE2LTlgIHRoYXQgZGVmaW5lIGEgZml4IHJhdGlvLlxuXG5gYGBqYWRlXG5kaXYubWVkaWEtcmVzcG9uc2l2ZS4tbWVkaWEtMTYtOVxuXHRpZnJhbWUuc3RyZXRjaChzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVRDZDZQZnhPeTBZXCIpXG5gYGBcbiovXG4ubWVkaWEtcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG4ubWVkaWEtcmVzcG9uc2l2ZS4tbWVkaWEtNC0zIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbi5tZWRpYS1yZXNwb25zaXZlLi1tZWRpYS0xNi05IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI2JTtcbn1cbi8qXG4tLS1cbm5hbWU6IC5wYWdlLWZsdWlkXG5jYXRlZ29yeTogUGFnZS9GbHVpZFxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbmAucGFnZS1mbHVpZGAgY2VudGVycyB0aGUgcGFnZSBjb250ZW50IGFuZCBhZGRzIGEgcGFkZGluZyBzbyB0aGUgcGFnZSBzdGlja3Mgbm90IHRvIHRoZSBicm93c2VyIHZpZXdwb3J0LlxuRnVydGhlcm1vcmUgaXQgaGFzIGEgbWF4LXdpZHRoIGJhc2VkIG9uIHRoZSBsYXN0IGBAZ3JpZC1icmVhay1wb2ludHNgIHZhbHVlLlxuXG5gYGBqYWRlXG5kaXYucGFnZS1mbHVpZFxuXHRkaXYuYWlnaXMtZGVidWcgU29tZSBwYWdlIGNvbnRlbnRcbmBgYFxuXG4jIyBNYXgtd2lkdGggcGFnZVxuXG5UbyBicm9hZGVuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSB5b3UgY2FuIGFkZCB0aGUgbW9kaWZpZXIgYC4tdW5saW1pdGVkYC4gVGhzaSB3aWxsIHNwYW4gdGhlIHBhZ2UgdG8gdGhlIGZ1bGwgd2lkdGguXG5cbmBgYGphZGVcbmRpdi5wYWdlLWZsdWlkLi11bmxpbWl0ZWRcblx0ZGl2LmFpZ2lzLWRlYnVnIFNvbWUgcGFnZSBjb250ZW50XG5gYGBcbiovXG4ucGFnZS1mbHVpZCB7XG4gIG1heC13aWR0aDogNzEuNXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwIDMuNzVyZW07XG59XG4ucGFnZS1mbHVpZC4tdW5saW1pdGVkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLypcbi0tLVxubmFtZTogLnJvd1xuY2F0ZWdvcnk6IExheW91dC9Sb3dcbnRhZzpcbiAtIGNvbXBvbmVudFxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cblRoaXMgc3R5bGluZyBhbGxvdyB0byBwbGFjZSBjb250YWluZXJzIGluIGEgcm93LiBUaGV5IHdpbGwgKipub3QqKiBicmVhayBhcyB0aGUgYC5ncmlkYCBidXQgcmVzaXplIHRoZW0gYWNjb3JkaW5nbHkuXG5Tb21lIGJlbmVmaXRzIG9mIHRoZSBgLnJvd2AgYXBwcm9hY2ggaXMgdGhlIGVhc3kgdmVydGljYWwgY2VudGVyaW5nIGFuZCB0aGUgdXNhZ2Ugb2YgdGhlIGAuY29sLWF1dG9gIGNsYXNzLlxuXG4jIyBCYXNpYyByb3cgd2l0aCB2ZXJ0aWNhbCBjZW50ZXJpbmdcblxuWW91IGNhbiB1c2UgdGhlIHNpemluZyBjbGFzc2VzIGAuY29sLVgtWGAgdG8gZGVmaW5lIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBhcyB0aGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MuIFxuXG5gYGBqYWRlXG5kaXYucm93XG5cdGRpdi5jb2wtMS00LmFpZ2lzLWRlYnVnIGNvbC0xLTQgd2l0aCBhIGxvdCBvZiB0ZXh0IHRoYXQgc3BhbnMgdGhlIGNvbHVtbi5cblx0ZGl2LmNvbC0zLTQuYWlnaXMtZGVidWcgY29sLTMtNCBjb250ZW50LlxuYGBgXG5cbiMjIEZpeGVkIHJvd1xuXG5UaGVyZSBpcyBhIGAuLWZpeGVkYCBtb2RpZmllciB3aGVyZSBlYWNoIGNvbHVtbiBoYXMgdGhlIHNhbWUgd2lkdGguXG5cbmBgYGphZGVcbmRpdi5yb3cuLWZpeGVkXG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtblxuXHRkaXYuYWlnaXMtZGVidWcgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW4gd2l0aCBtb3JlIGNvbnRlbnRcblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uXG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtbiB3aXRoIG11Y2ggbW9yZSBjb250ZW50IHRoYW4gdGhlIG90aGVyXG5cdGRpdi5haWdpcy1kZWJ1Zy52Y2VudGVyIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uIHdpdGggLnZjZW50ZXJcbmBgYFxuXG5cbiMjIEF1dG8gc2l6ZWQgY29sdW1uIHdpZHRoIGFuZCB2Y2VudGVyXG5cblRoZXJlIGlzIGEgc3BlY2lhbCBgLmNvbC1hdXRvYCBjbGFzcyB0aGF0IHJlc2l6ZXMgdGhlIGNvbHVtbiB0byB0aGUgc2l6ZSBvZiBpdHMgY29udGVudC5cblRoaXMgaXMgdXNlZnVsbCBmb3IgZXhhbXBsZSBpZiB5b3UgaGF2ZSBhIGZpeGVkIHNpemUgbG9nbyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGhlYWRlciBoYXMgdG8gcmVzaXplLlxuXG5gYGBqYWRlXG5kaXYucm93Li1jZW50ZXJcblx0ZGl2LmNvbC1hdXRvLmFpZ2lzLWRlYnVnXG5cdFx0aW1nKHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMTAweDEwMFwiKVxuXHRkaXYuY29sLTEuYWlnaXMtZGVidWcgVGhlIHJlc3Rcblx0ZGl2LmNvbC1hdXRvLmFpZ2lzLWRlYnVnXG5cdFx0aW1nKHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjAweDEwMFwiKVxuYGBgXG4qL1xuLnJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5yb3cuLWZpeGVkIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cbi5yb3cuLWNlbnRlciA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnJvdy4tYm90dG9tID4gKiB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4ucm93Li1wYWRkZWQgPiAqICsgKiB7XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG59XG4ucm93ID4gKiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG4ucm93ID4gKi5jb2wtMSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJvdyA+ICouY29sLTEtMixcbi5yb3cgPiAqLmNvbC0yLTQge1xuICB3aWR0aDogNTAlO1xufVxuLnJvdyA+ICouY29sLTEtMyB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4ucm93ID4gKi5jb2wtMi0zIHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbn1cbi5yb3cgPiAqLmNvbC0xLTQge1xuICB3aWR0aDogMjUlO1xufVxuLnJvdyA+ICouY29sLTMtNCB7XG4gIHdpZHRoOiA3NSU7XG59XG4ucm93ID4gKi5jb2wtYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLypcbi0tLVxubmFtZTogQ29sb3JzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IGNvbG9yc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBjb2xvcnNcbmNvbG9yczpcbiAtIHZhcmlhYmxlOiBcIkB0ZXh0LWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkZWZhdWx0IHRleHQgY29sb3Igb24gdGhlIGJvZHlcIlxuICAgdmFsdWU6IFwiIzNGM0Y0MFwiXG4gLSB2YXJpYWJsZTogXCJAdGV4dC1pbnZlcnRlZC1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgZGVmYXVsdCBpbnZlcnRlZCB0ZXh0IGNvbG9yIG9uIHRoZSBib2R5XCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuIC0gdmFyaWFibGU6IFwiQGFjdGlvbi1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBhY3Rpb24gY29sb3IgdXNlZCBmb3IgbGlua3MgYW5kIGJ1dHRvbnNcIlxuICAgdmFsdWU6IFwiI0VDNjQ0OVwiXG4gLSB2YXJpYWJsZTogXCJAYm9keS1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yXCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuLS0tXG5cblRoZSBjb2xvciB2YXJpYWJsZXMgdGhhdCBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSBsaWJyYXJ5LiBcbiovXG4vKlxuLS0tXG5uYW1lOiBHbG9iYWwgc2V0dGluZ3NcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogdmFyaWFibGVzXG50YWc6XG4gLSB2YXJpYWJsZXNcbnZhcmlhYmxlczpcbiAtIG5hbWU6IFwiQHRleHQtbGluZS1oZWlnaHRcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwiMS41cmVtXCJcbiAtIG5hbWU6IFwiQGZvbnQtZmFtaWx5XCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBmb250LWZhbWlseSBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIidIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmXCJcbiAtIG5hbWU6IFwiQHRleHQtcmVuZGVyaW5nXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSB0ZXh0LXJlbmRlcmluZyBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIm9wdGltaXplTGVnaWJpbGl0eVwiXG4gLSBuYW1lOiBcIkB0cmFuc2l0aW9uLWR1cmF0aW9uXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkdXJhdGlvbiBvZiB0aGUgc2xpZGUgdHJhbnNpdGlvbnNcIlxuICAgZGVmYXVsdDogXCIwLjRzXCJcbi0tLVxuXG5UaGVzZSB2YXJpYWJsZXMgc2V0dXBzIHNvbWUgZ2xvYmFsIHRleHQgZm9ybWF0dGluZyBhbmQgc3R5bGluZy5cbiovXG4vKlxuLS0tXG5uYW1lOiBTaXplIHNldHRpbmdzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IHZhcmlhYmxlc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBncmlkXG52YXJpYWJsZXM6XG4gLSBuYW1lOiBcIkBncmlkLWd1dHRlclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgc3BhY2UgYmV0d2VlbiB0aGUgZ3JpZCBjaGlsZHJlblwiXG4gICBkZWZhdWx0OiBcInJlbSggMzBweCApXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstcG9pbnRzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzY3JlZW5zaXplIHdoZW4gdGhlIGdyaWQgc2hvdWxkIGJyZWFrLlwiXG4gICBkZWZhdWx0OiBcInJlbSg2MDBweCksIHJlbSgxMDI0cHgpXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstbGFiZWxzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBicmVha3BvaW50IGxhYmVsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGVudGllIGluIHRoZSBgQGdyaWQtYnJlYWstcG9pbnRzYCBsaXN0XCJcbiAgIGRlZmF1bHQ6IFwibWVkaXVtLCBsYXJnZVwiXG4gLSBuYW1lOiBcIkBwYWdlLXBhZGRpbmdcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHBhZGRpbmcgZm9yIHRoZSAucGFnZS1mbHVpZCBjb21wb25lbnRcIlxuICAgZGVmYXVsdDogXCJyZW0oIDYwcHggKVwiXG4tLS1cblxuVGhlc2UgdmFyaWFibGVzIHNldHVwcyBzb21lIGdsb2JhbCBzaXplcyBtYWlubHkgZm9yIHRoZSBncmlkLlxuKi9cbi5hbnN3ZXItdmlldy4td3Jvbmcge1xuICBjb2xvcjogcmVkO1xufVxuLmFuc3dlci12aWV3IC5sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYW5zd2VyLXZpZXcgLmxhYmVsID4gLmlucHV0IHtcbiAgdG9wOiAwLjY4NzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuLmF1ZGlvLWVsZW1lbnQgPiAuYXVkaW8ge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hdWRpby1lbGVtZW50ID4gLmNhcHRpb24tZWxlbWVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ib3gtY2hhcHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7XG59XG4uYm94LWNoYXB0ZXIgLm1hbmRhdG9yeSB7XG4gIG1pbi1oZWlnaHQ6IDM0cHg7XG59XG4uYm94LWNoYXB0ZXIgLmltYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDEzcHg7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRjU3QzYzO1xuICBtYXgtaGVpZ2h0OiAyMDNweDtcbn1cbi5ib3gtY2hhcHRlciAudGl0bGUge1xuICBtYXJnaW46IDE0cHggMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGhlaWdodDogODBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ib3gtY2hhcHRlciAudGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMDBhYic7XG59XG4uYm94LWNoYXB0ZXIgLnRpdGxlOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwYmJcIjtcbn1cbi5ib3gtY2hhcHRlciAubGluay1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMC44O1xufVxuLmJveC1jaGFwdGVyIC5saW5rLWNvbnRhaW5lcjpob3ZlciAudGl0bGUge1xuICBjb2xvcjogI0Y1N0M2Mztcbn1cbi5ib3gtY2hhcHRlciAuY2xhc3MgPiBzdmcsXG4uYm94LWNoYXB0ZXIgLmR1cmF0aW9uID4gc3ZnLFxuLmJveC1jaGFwdGVyIC5sYWJlbCA+IHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogOXB4O1xuICBjb2xvcjogI0Y1N0M2Mztcbn1cbi5ib3gtY2hhcHRlciAuY2xhc3MsXG4uYm94LWNoYXB0ZXIgLmR1cmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNTAlO1xufVxuLmJveC1jaGFwdGVyIC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG4uYm94LWNoYXB0ZXIgLmV4cG9ydCA+IC5idXR0b24tZXhwb3J0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmJveC1jaGFwdGVyIC5leHBvcnQgPiAuYnV0dG9uLWV4cG9ydDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuYm94LWNoYXB0ZXIgLmltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDdweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuYm94LWNoYXB0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgLmJveC1jaGFwdGVyIC5pbWFnZSB7XG4gICAgbWF4LWhlaWdodDogMzgwcHg7XG4gIH1cbiAgLmJveC1jaGFwdGVyID4gLnRpdGxlIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbn1cbi5idXR0b24tZXhwb3J0IHtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogOThweDtcbiAgY29sb3I6ICNGNTdDNjM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm9yZGVyOiAycHggc29saWQgI0Y1N0M2MztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXM7XG59XG4uYnV0dG9uLWV4cG9ydDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0RBNjU0QztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RBNjU0QztcbiAgY29sb3I6ICNmZmY7XG59XG4uYnV0dG9uLWV4cG9ydDphY3RpdmUge1xuICBib3JkZXItY29sb3I6ICNGNTdDNjM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNTdDNjM7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi1maWx0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuLmJ1dHRvbi1maWx0ZXI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5idXR0b24tZmlsdGVyLi1hY3RpdmUge1xuICBjb2xvcjogI0Y1N0M2Mztcbn1cbi5idXR0b24tZmlsdGVyLi1hY3RpdmUgPiAuaWNvbi1jaGVja2VkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI0Y1N0M2MztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAyM3B4O1xufVxuLmJ1dHRvbi1maWx0ZXI6aG92ZXIge1xuICBjb2xvcjogI0RBNjU0Qztcbn1cbi5idXR0b24tZmlsdGVyLi1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ1dHRvbi1maWx0ZXIgPiAuaWNvbi1maWx0ZXIsXG4uYnV0dG9uLWZpbHRlciA+IC5pY29uLWNoZWNrZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ1dHRvbi1maWx0ZXIuLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjU3QzYzO1xufVxuLmJ1dHRvbi1maWx0ZXIuLXRvZ2dsZSA+IC5pY29uLWNoZWNrZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ1dHRvbi1maWx0ZXIuLXRvZ2dsZSA+IC5pY29uLWZpbHRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLypcbi5idXR0b24tZmlsdGVyIHtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgd2lkdGg6IDEzMnB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC40OHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi4tYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggNnB4IDAgcmdiYSgwLDAsMCwwLjMpO1xuICAgIH1cbiAgICAmLi1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuXG4qL1xuLmJ1dHRvbi10ZWFjaGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiA0MDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5idXR0b24tdGVhY2hlcjpob3ZlciB7XG4gIGNvbG9yOiAjREE2NTRDO1xufVxuLmJ1dHRvbi10ZWFjaGVyIC5pY29uIHtcbiAgY29sb3I6ICNGNTdDNjM7XG4gIGhlaWdodDogMjZweDtcbiAgd2lkdGg6IDI2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbn1cbi5idXR0b24tdGVhY2hlci4tY2xvc2Uge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzAwMDtcbn1cbi5idXR0b24tdGVhY2hlci4tY2xvc2UgLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbn1cbi5idXR0b24tdGVhY2hlci4tY2xvc2U6aG92ZXIge1xuICBjb2xvcjogI0RBNjU0Qztcbn1cbi5jYXB0aW9uLWVsZW1lbnQgPiBwIHtcbiAgY29sb3I6ICM2YTZhNmE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyMDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAuY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAzMnB4O1xuICB0b3A6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm5hdmktbGVmdCxcbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAubmF2aS1yaWdodCB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm5hdmktcmlnaHQge1xuICByaWdodDogMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoMCUpO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5uYXZpLWxlZnQge1xuICBsZWZ0OiAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3gge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLmNvbnRhaW5lciB7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCAuY29udGFpbmVyIC5pbm5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jb250YWluZXIgLmlubmVyIC5pbWFnZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLm9wZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jYXB0aW9uLWVsZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLmNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLWxlZnQsXG4uY2Fyb3VzZWwtZWxlbWVudCAubmF2aS1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1N0M2MztcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLWxlZnQgc3ZnLFxuLmNhcm91c2VsLWVsZW1lbnQgLm5hdmktcmlnaHQgc3ZnIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLWxlZnQge1xuICBsZWZ0OiAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLXJpZ2h0IHtcbiAgcmlnaHQ6IDBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDUwJSk7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAub3V0ZXItc3RhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGxlZnQgMC40cyBlYXNlLW91dDtcbiAgbGVmdDogMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCB7XG4gIGhlaWdodDogNDg1cHg7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCAuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZBNkE2QTtcbiAgaGVpZ2h0OiA0NTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLmNvbnRhaW5lciAuaW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogNDUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jYXB0aW9uLWVsZW1lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uY2hhcHRlci1jb3ZlciB7XG4gIGhlaWdodDogNDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDg1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNoYXB0ZXItY292ZXIgPiAudGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogOTQwcHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiBkZW1pO1xuICBsaW5lLWhlaWdodDogNC42MjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTE4NzVyZW07XG4gIHRleHQtc2hhZG93OiAwLjFweCAwLjFweCAxNnB4ICM2YTZhNmE3Mztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNoYXB0ZXItY292ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMDYyNXJlbTtcbiAgICBoZWlnaHQ6IDM0MHB4O1xuICB9XG4gIC5jaGFwdGVyLWNvdmVyID4gLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIH1cbn1cbi5jb21tb24tcGFnZSB7XG4gIG1hcmdpbi10b3A6IDUuMzEyNXJlbTtcbn1cbi5jb21tb24tcGFnZSBoMSxcbi5jb21tb24tcGFnZSBoMixcbi5jb21tb24tcGFnZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG59XG4uY29tbW9uLXBhZ2UgPiAucGFyYWdyYXBoLWVsZW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG59XG4uY29tbW9uLXBhZ2UgPiAuaW1hZ2UtZWxlbWVudCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbn1cbi5jb21tb24tcGFnZSA+IC5kZWxpbWl0ZXItbGluZSB7XG4gIG1hcmdpbjogMy4xMjVyZW0gMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNvbW1vbi1wYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICB9XG4gIC5jb21tb24tcGFnZS4tbm9jb3ZlciB7XG4gICAgbWFyZ2luLXRvcDogMTEuMjVyZW07XG4gIH1cbiAgLmNvbW1vbi1wYWdlIGgxLFxuICAuY29tbW9uLXBhZ2UgaDIsXG4gIC5jb21tb24tcGFnZSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gIH1cbiAgLmNvbW1vbi1wYWdlID4gLnRpdGxlLWVsZW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgfVxuICAuY29tbW9uLXBhZ2UgPiAucGFyYWdyYXBoLWVsZW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxuICAuY29tbW9uLXBhZ2UgPiAuaW1hZ2UtZWxlbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG4gIC5jb21tb24tcGFnZSA+IC5kZWxpbWl0ZXItbGluZSB7XG4gICAgbWFyZ2luOiAxLjg3NXJlbSAwO1xuICB9XG59XG4uY29udGFpbmVyLXF1ZXN0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDUuNjI1cmVtO1xufVxuLmNvbnRhaW5lci1xdWVzdGlvbnMgLm1haW4tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogYmxhY2s7XG59XG4uY29udGFpbmVyLXF1ZXN0aW9ucyAubnVtYmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi44NzVyZW07XG4gIGNvbG9yOiAjRjU3QzYzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI0Y1N0M2MztcbiAgbGluZS1oZWlnaHQ6IDAuMDVlbTtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuLmNvbnRhaW5lci1xdWVzdGlvbnMgLm51bWJlciBzcGFuIHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNvbnRhaW5lci1xdWVzdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgLmNvbnRhaW5lci1xdWVzdGlvbnMgPiAubnVtYmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIH1cbn1cbi5jb250YWluZXItdGVhY2hlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRjU3QzYzO1xufVxuLmNvbnRhaW5lci10ZWFjaGVyLnNpZGViYXItbG9naW4ge1xuICBib3JkZXItYm90dG9tOiAwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLm1vZHVsZS10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC50aXRsZS50aXRsZS1kb3dubG9hZCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRjU3QzYzO1xuICBjdXJzb3I6IGF1dG87XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAxMHB4IDBweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUge1xuICBtYXJnaW46IDBweCAtMThweCAwcHggLTI3cHg7XG4gIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMjdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLnRpdGxlLi1jaGFwdGVyLi1jdXJyZW50IHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjRjU3QzYzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC50aXRsZS4tY2hhcHRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLnRpdGxlLi1iYWNrZ3JvdW5kOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUgLnRpdGxlLWNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMzRweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUgLmljb24ge1xuICBjb2xvcjogI0Y1N0M2MztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0cHg7XG4gIHJpZ2h0OiAxN3B4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbi4taW5saW5lIC5zZWN0aW9uLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuY29udGVudCAuY29udGVudC1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuY29udGVudCAuY29udGVudC1zZWN0aW9uIHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24gdWwsXG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24gdWwgbGksXG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiBvbCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQuLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb250YWluZXItdGVhY2hlciAuZXhwb3J0IHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuZXhwb3J0ID4gLmJ1dHRvbi1leHBvcnQge1xuICBtYXJnaW4tcmlnaHQ6IDI5cHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCAuZG93bmxvYWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbjogMTFweCAwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCAuZG93bmxvYWQ6aG92ZXIge1xuICBjb2xvcjogI0Y1N0M2MztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5leHBvcnQgcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY29udGFpbmVyLXRlYWNoZXIgLm1vZHVsZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAuY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAuY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4uZGVsaW1pdGVyLWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNGNTdDNjM7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5kZWxpbWl0ZXItbGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNGNTdDNjM7XG4gIH1cbn1cbi5mZWVkYmFjay1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mZWVkYmFjay1jb250YWluZXIgLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mZWVkYmFjay1jb250YWluZXIgLmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uZmVlZGJhY2stcGFuZWwge1xuICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0YjRiNDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xufVxuLmZlZWRiYWNrLXBhbmVsLi1jb3JyZWN0IHtcbiAgY29sb3I6ICMxNTU3MjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7XG4gIGJvcmRlci1jb2xvcjogI2MzZTZjYjtcbn1cbi5mZWVkYmFjay1wYW5lbC4td3Jvbmcge1xuICBjb2xvcjogIzcyMWMyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjVjNmNiO1xufVxuLmZpbHRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiA0MHB4O1xuICBib3R0b206IDBweDtcbiAgei1pbmRleDogMTA7XG4gIGJveC1zaGFkb3c6IDAuMXB4IDAuMXB4IDE2cHggIzZhNmE2YTU0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgcmlnaHQ6IDE2cHg7XG4gIH1cbn1cbltjbGFzc149XCJpY29uLVwiXSxcbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG59XG5bY2xhc3NePVwiaWNvbi1cIl0uLXNtYWxsLFxuW2NsYXNzKj1cIiBpY29uLVwiXS4tc21hbGwge1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xufVxuW2NsYXNzXj1cImljb24tXCJdLi1zdWIsXG5bY2xhc3MqPVwiIGljb24tXCJdLi1zdWIge1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuW2NsYXNzXj1cImljb24tXCJdLi1pbnZlcnRlZCxcbltjbGFzcyo9XCIgaWNvbi1cIl0uLWludmVydGVkIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG5bY2xhc3NePVwiaWNvbi1cIl0uLWJyYW5kLFxuW2NsYXNzKj1cIiBpY29uLVwiXS4tYnJhbmQge1xuICBjb2xvcjogI0Y1N0M2Mztcbn1cbltjbGFzc149XCJpY29uLVwiXS4tcnNwYWNlcixcbltjbGFzcyo9XCIgaWNvbi1cIl0uLXJzcGFjZXIge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uaWNvbmNvbnRhaW5lci4taW52ZXJ0ZWQgPiBbY2xhc3NePVwiaWNvbi1cIl0sXG4uaWNvbmNvbnRhaW5lci4taW52ZXJ0ZWQgPiBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG4uaW1hZ2UtZWxlbWVudC4tc21hbGwge1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmltYWdlLWVsZW1lbnQuLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5saWdodGJveCB7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cbi5saWdodGJveCAuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubGlnaHRib3ggLmNvbnRhaW5lciAub3BlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA4cHg7XG4gIHJpZ2h0OiAwcHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLmxpZ2h0Ym94IC5vcGVuLFxuLmxpZ2h0Ym94IC5jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5saWdodGJveCAub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmxpZ2h0Ym94IC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGlnaHRib3guLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbi5saWdodGJveC4tb3BlbiAuY2FwdGlvbi1lbGVtZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5saWdodGJveC4tb3BlbiAuY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDgwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5saWdodGJveC4tb3BlbiAuY29udGFpbmVyIC5pbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDIwcHggMHB4O1xufVxuLmxpZ2h0Ym94Li1vcGVuIC5jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IDE2cHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG59XG4ubGlnaHRib3guLW9wZW4gLm9wZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmxpZ2h0Ym94Li1vcGVuIC5jYXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGNvbG9yOiAjRjU3QzYzO1xufVxuLm1haW4tbmF2aWdhdGlvbiAuaGFtYnVyZ2VyOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1haW4tbmF2aWdhdGlvbiB1bCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgY29sb3I6ICMwMDA7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAwIDhweCAyMHB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiBsaSBhIHtcbiAgY29sb3I6ICMwMDA7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEge1xuICB3aWR0aDogMjMuNzVyZW07XG4gIGJveC1zaGFkb3c6IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMTpob3ZlciB7XG4gIGNvbG9yOiAjREE2NTRDO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxIC5ib29rLFxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxIC5pbXByZXNzdW0ge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEgLmltcHJlc3N1bTpob3ZlciB7XG4gIGNvbG9yOiAjREE2NTRDO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxIC5pY29uIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMThweDtcbiAgY29sb3I6ICNGNTdDNjM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEuLWFjdGl2ZSAuYm9vazpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgcGFkZGluZzogNnB4IDAgNnB4IDM3cHg7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI0Y1N0M2MztcbiAgY29sb3I6ICNGNTdDNjM7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEuLWFjdGl2ZSAuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEuLWFjdGl2ZSAubGV2ZWwyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEuLWFjdGl2ZSAubGV2ZWwyIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMS4tYWN0aXZlIC5sZXZlbDIgbGk6aG92ZXIgYSB7XG4gIGNvbG9yOiAjREE2NTRDO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgY29sb3I6ICNEQTY1NEM7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC4tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEge1xuICAgIHdpZHRoOiAyMS4yNXJlbTtcbiAgfVxufVxuLm1vZHVsZS1sYWJlbCB7XG4gIGNvbG9yOiAjNmE2YTZhO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG4ubW9kdWxlLWxhYmVsLi1oYWxmIHtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1vZHVsZS1sYWJlbCAuaWNvbiB7XG4gIGNvbG9yOiAjRjU3QzYzO1xuICBtYXJnaW4tcmlnaHQ6IDlweDtcbn1cbi5wYWdlLWZsdWlkIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBtYXgtd2lkdGg6IDQwLjEyNXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNvbnRlbnQgIC5wYWdlLWZsdWlkIHtcbiAgICBwYWRkaW5nOiAwIDA7XG4gIH1cbn1cbi5wYWdlLWZvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjU3QzYzO1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBhZ2UtZm9vdGVyIC50ZXh0IHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAzMnB4O1xufVxuLnBhZ2UtZm9vdGVyIC50ZXh0IC5pbXByZXNzdW0ge1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2UtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNjBweDtcbiAgfVxufVxuLnBhZ2UtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5wYWdlLWhlYWRlciAuYm9yZGVyLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cbi5wYWdlLWhlYWRlciAubG9nby1zZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1N0M2MztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbn1cbi5wYWdlLWhlYWRlciAubG9nby1zZWN0aW9uIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1MzEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnBhZ2UtaGVhZGVyIC5sb2dvLXNlY3Rpb24gLmxvZ28ge1xuICB3aWR0aDogOTZweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW4tbGVmdDogMTFweDtcbiAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xufVxuLnBhZ2UtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucGFnZS1oZWFkZXIgLmJ1dHRvbi1sb2dpbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDUycHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbn1cbi5wYWdlLWhlYWRlciAuYnV0dG9uLWxvZ2luIGEge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wYWdlLWhlYWRlciAuYnV0dG9uLWxvZ2luIGEgLm5hdmktdGV4dCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbn1cbi5wYWdlLWhlYWRlciAuYnV0dG9uLWxvZ2luIGEgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBjb2xvcjogI0Y1N0M2Mztcbn1cbi5wYWdlLWhlYWRlciAuYnV0dG9uLWxvZ2luOmhvdmVyIGEge1xuICBjb2xvcjogI0RBNjU0Qztcbn1cbi5wYWdlLWhlYWRlciAuYnV0dG9uLWxvZ2luOmFjdGl2ZSBhIHtcbiAgY29sb3I6ICNEQTY1NEM7XG59XG4ucGFnZS1oZWFkZXIgLnNpZGViYXItdGVhY2hlciB7XG4gIHJpZ2h0OiAwO1xufVxuLnBhZ2UtaGVhZGVyIC5zaXRlLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdlLWhlYWRlciAuaG9tZS1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG59XG4ucGFnZS1oZWFkZXIuLWNvbGxhYnNlIC5sb2dvLXNlY3Rpb24ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMHB4O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbn1cbi5wYWdlLWhlYWRlci4tY29sbGFic2UgLnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdlLWhlYWRlci4tY29sbGFic2UgLnNpdGUtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ucGFnZS1oZWFkZXIuLWNvbGxhYnNlIC5ob21lLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBhZGRpbmctbGVmdDogNTBweDtcbn1cbi5wYWdlLWhlYWRlci4tY29sbGFic2UgLmhvbWUtYnV0dG9uIC5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDI2cHg7XG4gIHdpZHRoOiAyNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAuc2l0ZS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucGFnZS1oZWFkZXIuLWNvbGxhYnNlIC5zaXRlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wYWdlLWhlYWRlciAubG9nby1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucGFnZS1oZWFkZXIgLmxvZ28tc2VjdGlvbiAubG9nbyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgfVxuICAucGFnZS1oZWFkZXIgLmxvZ28tc2VjdGlvbiAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG4gIC5wYWdlLWhlYWRlciAuYnV0dG9uLWxvZ2luIC5uYXZpLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyIC5idXR0b24tdGVhY2hlciB7XG4gICAgd2lkdGg6IDMwcHg7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyIC5idXR0b24tdGVhY2hlciAubmF2aS10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ucGFnZS1sYXlvdXQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbn1cbi5wYWdlLWxheW91dCA+IC5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDE2MnB4O1xufVxuLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLXNpZGViYXIge1xuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDE1MnB4O1xuICB9XG4gIC5wYWdlLWxheW91dCA+IC5jb250ZW50Li1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxufVxuLnBhZ2Utb3ZlcnZpZXcge1xuICBtYXgtd2lkdGg6IDU4Ljc1cmVtO1xufVxuLnBhZ2Utb3ZlcnZpZXcgLmludHJvZHVjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDIuMzc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogNTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2Utb3ZlcnZpZXcgPiAuaW50cm9kdWN0aW9uIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgfVxufVxuLnBhcmFncmFwaC1lbGVtZW50IHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQuLWludHJvZHVjdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudC4tZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgc3Ryb25nLFxuLnBhcmFncmFwaC1lbGVtZW50IGIge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCB1bCxcbi5wYXJhZ3JhcGgtZWxlbWVudCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLnBhcmFncmFwaC1lbGVtZW50IHVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgYmxhY2s7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IGhlbHA7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbiAudG9vbHRpcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tcmlnaHQgLnRvb2x0aXAge1xuICBsZWZ0OiAwcHg7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tbGVmdCAudG9vbHRpcCB7XG4gIHJpZ2h0OiAwcHg7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tdG9wIC50b29sdGlwIHtcbiAgYm90dG9tOiAzMHB4O1xufVxuLnBhcmFncmFwaC1lbGVtZW50IC5hYmJyZXZpYXRpb24uLWJvdHRvbSAudG9vbHRpcCB7XG4gIHRvcDogMzBweDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi1iaWcuLW9wZW4gLnRvb2x0aXAsXG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tYmlnOmhvdmVyIC50b29sdGlwIHtcbiAgd2lkdGg6IGF1dG87XG4gIHdpZHRoOiA1MHZ3O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuLnBhcmFncmFwaC1lbGVtZW50IC5hYmJyZXZpYXRpb24uLXNpZGViYXIuLW9wZW4gLnRvb2x0aXAsXG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tc2lkZWJhcjpob3ZlciAudG9vbHRpcCB7XG4gIHdpZHRoOiBhdXRvO1xuICB3aWR0aDogMjAwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tb3BlbiAudG9vbHRpcCxcbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uOmhvdmVyIC50b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTFlMWU7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wYXJhZ3JhcGgtZWxlbWVudC4taW50cm9kdWN0aW9uIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB9XG4gIC5wYXJhZ3JhcGgtZWxlbWVudC4tZGVmYXVsdCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgfVxuICAucGFyYWdyYXBoLWVsZW1lbnQgdWwsXG4gIC5wYXJhZ3JhcGgtZWxlbWVudCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuLnF1ZXN0aW9uLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xufVxuLnF1ZXN0aW9uLWl0ZW0gPiAuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNGNTdDNjM7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4ucXVlc3Rpb24taXRlbSAudGl0bGUge1xuICBjb2xvcjogI0Y1N0M2MztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnF1ZXN0aW9uLWl0ZW0gLnBhcmFncmFwaC1lbGVtZW50LFxuLnF1ZXN0aW9uLWl0ZW0gLmltYWdlLWVsZW1lbnQsXG4ucXVlc3Rpb24taXRlbSB1bCxcbi5xdWVzdGlvbi1pdGVtIG9sLFxuLnF1ZXN0aW9uLWl0ZW0gLmlmcmFtZS1lbGVtZW50LFxuLnF1ZXN0aW9uLWl0ZW0gLnZpZGVvLWVsZW1lbnQsXG4ucXVlc3Rpb24taXRlbSAuYXVkaW8tZWxlbWVudCxcbi5xdWVzdGlvbi1pdGVtIC5jYXJvdXNlbC1lbGVtZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5xdWVzdGlvbi1pdGVtIC5wYXJhZ3JhcGgtZWxlbWVudC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSAuaW1hZ2UtZWxlbWVudC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSB1bC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSBvbC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSAuaWZyYW1lLWVsZW1lbnQuLW5vbWFyZ2luLFxuLnF1ZXN0aW9uLWl0ZW0gLnZpZGVvLWVsZW1lbnQuLW5vbWFyZ2luLFxuLnF1ZXN0aW9uLWl0ZW0gLmF1ZGlvLWVsZW1lbnQuLW5vbWFyZ2luLFxuLnF1ZXN0aW9uLWl0ZW0gLmNhcm91c2VsLWVsZW1lbnQuLW5vbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5xdWVzdGlvbi1pdGVtIHVsLFxuLnF1ZXN0aW9uLWl0ZW0gb2wge1xuICBtYXJnaW4tbGVmdDogNjBweDtcbn1cbi5xdWVzdGlvbi1pdGVtIHVsIGxpLFxuLnF1ZXN0aW9uLWl0ZW0gb2wgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucXVlc3Rpb24taXRlbSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGRlbWk7XG4gIH1cbiAgLnF1ZXN0aW9uLWl0ZW0gLnBhcmFncmFwaC1lbGVtZW50LFxuICAucXVlc3Rpb24taXRlbSAuaW1hZ2UtZWxlbWVudCxcbiAgLnF1ZXN0aW9uLWl0ZW0gdWwsXG4gIC5xdWVzdGlvbi1pdGVtIG9sLFxuICAucXVlc3Rpb24taXRlbSAuaWZyYW1lLWVsZW1lbnQsXG4gIC5xdWVzdGlvbi1pdGVtIC52aWRlby1lbGVtZW50LFxuICAucXVlc3Rpb24taXRlbSAuYXVkaW8tZWxlbWVudCxcbiAgLnF1ZXN0aW9uLWl0ZW0gLmNhcm91c2VsLWVsZW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cbi5xdWVzdGlvbi10ZXh0ID4gLmRyb3Bkb3duLi13cm9uZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7XG59XG4ucXVlc3Rpb24tdGV4dCA+IC5kcm9wZG93bi4tY29ycmVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7XG59XG4uc2lkZWJhci1sb2dpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNTdDNjM7XG4gIG1hcmdpbi1sZWZ0OiAtMjdweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMThweDtcbiAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xufVxuLnNpZGViYXItbG9naW4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zaWRlYmFyLWxvZ2luIC5pY29uIHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuLnNpZGViYXItbG9naW4gLmljb24uaWNvbi1hcnJvdy1kb3duIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICByaWdodDogLTQwcHg7XG59XG4uc2lkZWJhci1sb2dpbiAudGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc2lkZWJhci1sb2dpbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQTY1NEM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnNpZGViYXItbG9naW4gLmljb24uaWNvbi1hcnJvdy1kb3duIHtcbiAgICByaWdodDogLTIwcHg7XG4gIH1cbn1cbi5zaWRlYmFyLXRlYWNoZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gIGJveC1zaGFkb3c6IC0xcHggMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDM0cHg7XG4gIHdpZHRoOiA0MTZweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMHB4O1xuICB0b3A6IDEzM3B4O1xuICBib3R0b206IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHotaW5kZXg6IDEwO1xufVxuLnNpZGViYXItdGVhY2hlci4tdGVhY2hlciAuY29udGFpbmVyLXRlYWNoZXIuc29ydC0wIC50aXRsZSB7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjRjU3QzYzO1xufVxuLnNpZGViYXItdGVhY2hlciAubGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zaWRlYmFyLXRlYWNoZXIgLm1ldGEtc3BhY2Uge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4O1xufVxuLnNpZGViYXItdGVhY2hlci4tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGViYXItdGVhY2hlci4tY29sbGFic2Uge1xuICB0b3A6IDU1cHg7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zaXRpb246IHRvcCAwLjVzO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuc2lkZWJhci10ZWFjaGVyIHtcbiAgICB0b3A6IDEzM3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDM0M3B4O1xuICB9XG59XG5oMSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbmgyIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMy42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5oMyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgfVxuICBoMyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAuc3RyZXRjaFxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5zdHJldGNoYCBEZWZpbmUgYW4gZWxlbWVudCB3aGljaCBzdHJldGNoZXMgdG8gdGhlIHNpemUgb2YgaXRzIHBhcmVudFxuXG5gYGBodG1sXG48ZGl2IGNsYXNzPVwicmVsXCIgc3R5bGU9XCJoZWlnaHQ6IDU1cHg7XCI+XG4gICA8ZGl2IGNsYXNzPVwic3RyZXRjaCBzdHlsZWd1aWRlLWdyaWQtdW5pdFwiPiBJJ20gc3RyZXRjaGVkIHRvIHRoZSBzaXplIG9mIG15IHBhcmVudDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4uc3RyZXRjaCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC5hYnNcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuYWJzYCBTZXQgdGhlIGVsZW1lbnQgcG9zaXRpb24gdG8gYWJzb2x1dGVcbiovXG4uYWJzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC5yZWxcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAucmVsYCBTZXQgdGhlIGVsZW1lbnQgcG9zaXRpb24gdG8gcmVsYXRpdmVcbiovXG4ucmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC52Y2VudGVyXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLnZjZW50ZXJgIFNldHMgdmVydGljYWwtYWxpZ24gdG8gbWlkZGxlXG4qL1xuLnZjZW50ZXIge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC5oY2VudGVyXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmhjZW50ZXJgIFNldHMgdGV4dC1hbGlnbiB0byBjZW50ZXJcbiovXG4uaGNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4vKlxuLS0tXG5uYW1lOiAuZmxvYXRsZWZ0XG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmZsb2F0bGVmdGAgU2V0cyBmbG9hdCB0byBsZWZ0XG4qL1xuLmZsb2F0bGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xufVxuXG4vKlxuLS0tXG5uYW1lOiAuZmxvYXRyaWdodFxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5mbG9hdHJpZ2h0YCBTZXRzIGZsb2F0IHRvIHJpZ2h0XG4qL1xuLmZsb2F0cmlnaHQge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi8qXG4tLS1cbm5hbWU6IC5oaWRkZW5cbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuaGlkZGVuYCBTZXRzIGRpc3BsYXkgdG8gbm9uZS5cbiovXG4uaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn0iLCIvKlxuLS0tXG5uYW1lOiBHbG9iYWwgUmVzZXRcbmNhdGVnb3J5OiBTaGFyZWRcbi0tLVxuXG5UaGUgbGVybmV0eiBjc3MgbGlicmFyeSBoYXMgYSBzZXQgb2YgcmVzZXQgc3R5bGUgdG8gaGF2ZSB0aGUgc2FtZSBiZWhhdmlvdXIgb24gZXZlcnkgYnJvd3Nlci5cbkZ1cnRoZXJtb3JlIHRoaXMgcmVzZXQgc2V0cyBzb21lIGdsb2JhbCB2YXJpYWJsZXMgbGlrZTpcbiAqIGJvZHkgZm9udC1mYW1pbGllc1xuICogYm9keSBsaW5lLWhlaWdodFxuICogYm9keSB0ZXh0LXJlbmRlcmluZ1xuICogOnJvb3QgZm9udC1zaXplIGZvciBwcm9wZXIgcmVtIGNvbnZlcnNpb25cbiovXG5cblxuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYWJiciwgYWRkcmVzcywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgc2FtcCxcbnNtYWxsLCBzdHJvbmcsIHN1Yiwgc3VwLCB2YXIsXG5iLCBpLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowO1xuXHRib3JkZXI6MDtcblx0b3V0bGluZTowO1xuXHRmb250LXNpemU6aW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246YmFzZWxpbmU7XG59XG5cbjpyb290IHtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG5odG1sIHtcblx0Zm9udC1zaXplOiAxMDAlO1xufVxuXG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IEB0ZXh0LWxpbmUtaGVpZ2h0O1xuXHRjb2xvcjogQHRleHQtY29sb3I7XG5cdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHk7XG5cdHRleHQtcmVuZGVyaW5nOiBAdGV4dC1yZW5kZXJpbmc7XG5cdGJhY2tncm91bmQtY29sb3I6IEBib2R5LWNvbG9yO1xufVxuXG5hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsXG5mb290ZXIsaGVhZGVyLGhncm91cCxtZW51LG5hdixzZWN0aW9uIHtcblx0ZGlzcGxheTpibG9jaztcbn1cblxuXG5zZWxlY3Qge1xuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG59XG5cbnRleHRhcmVhIHtcblx0d2lkdGg6MTAwJTtcbn1cblxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOjA7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5cblxuLypcbiAqIE5vcm1hbGl6ZSB0aGUgYmVoYXZpb3VyIG9mIGFsbCBicm93c2Vyc1xuICpcbiAqIEluc3RlYWQgb2Ygc2V0dGluZyBib3gtc2l6aW5nIGZpeCBvbiBhbGwgZWxlbWVudHMgd2Ugb25seSBzZXQgaXQgb24gdGhlIHJvb3QgZWxlbWVudFxuICogYW5kIHRlbGwgYWxsIGVsZW1lbnRzIHRvIGluaGVyaXQgaXQncyBwcm9wZXJ0eSBmcm9tIHRoZSBwYXJlbnRcbiAqIFRoYXQgd2F5IGl0J3MgcG9zc2libGUgdG8gb3ZlcndyaXRlIHRoZSBib3gtc2l6aW5nIGFueXdoZXJlIHdoaWxlIGtlZXBpbmcgcHJvcGVyIGluaGVyaXRhbmNlXG4gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5hIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogQGFjdGlvbi1jb2xvcjtcblxuXHQ+IGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsIi8qXG4tLS1cbm5hbWU6IC5idXR0b24tZGVmYXVsdFxuY2F0ZWdvcnk6IEJ1dHRvbnMvRGVmYXVsdFxudGFnOlxuIC0gY29tcG9uZW50XG4gLSBidXR0b25cbi0tLVxuXG5UaGUgZGVmYXVsdCBidXR0b24gc2V0cyBzb21lIGJhc2ljIHByb3BlcnRpZXMgc28gaXQgaXMgd29ya2luZyBhcyBhIGBidXR0b25gIG9yIGBhYCB0YWcuXG5cbkFuIGV4YW1wbGUgZm9yIGEgYnV0dG9uOlxuYGBgamFkZVxuYnV0dG9uLmJ1dHRvbi1kZWZhdWx0IE15IEJ1dHRvblxuYGBgXG5cbkFuIGV4YW1wbGUgZm9yIGEgbGluazpcbmBgYGphZGVcbmEuYnV0dG9uLWRlZmF1bHQgTXkgTGlua1xuYGBgXG4qL1xuLmJ1dHRvbi1kZWZhdWx0IHtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG91dGxpbmU6IG5vbmU7XG59IiwiLypcbi0tLVxubmFtZTogLmdyaWRcbmNhdGVnb3J5OiBMYXlvdXQvR3JpZFxudGFnOlxuIC0gY29tcG9uZW50XG4gLSByZXNwb25zaXZlXG5jb21waWxlOiB0cnVlXG4tLS1cblxuQSBzaW1wbGUgZ3JpZCBzeXN0ZW0gdGhhdCB3cmFwcyBjaGlsZHJlbiBub2RlcyBiYXNlZCBvbiB0aGUgdmlld3BvcnQgd2lkdGguXG5cbiMjIFNpbXBsZSBzaWRlIGJ5IHNpZGUgcmVuZGVyaW5nXG5cblRoZSBlYXNpZXN0IHVzZSBjYXNlIGlzIHRvIHVzZSBzaW1wbGUgYC5jb2wtMWAsIGAuY29sLTEtMmAsIGAuY29sLTEtM2AsIGAuY29sLTEtNGAgZm9yIGEgc2lkZS1ieS1zaWRlIHJlbmRlcmluZy5cblRoZSBkZWZhdWx0IHZhbHVlIGZvciBhbGwgY2hpbGQgZWxlbWVudHMgb2YgYSBgLmdyaWRgIGlzIGVxdWl2YWxlbnQgdG8gYC5jb2wtMWAsIHNvIGZvciBvbmx5IG9uZSBjaGlsZCBpdCB3aWxsIHNwYW4gdGhlIGZ1bGwgd2lkdGguXG5cbmBgYGphZGVcbmRpdi5ncmlkXG5cdGRpdi5jb2wtMS0yIFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yXG5cdGRpdi5jb2wtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTJcbmBgYFxuYGBgamFkZVxuZGl2LmdyaWRcblx0ZGl2LmNvbC0xLTQgXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTRcblx0ZGl2LmNvbC0zLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTMtNFxuYGBgXG5cbiMjIExheW91dHMgb24gZGlmZmVyZW50IGRldmljZXNcblxuVGhlIGJyZWFrcG9pbnRzIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIGBAZ3JpZC1icmVhay1wb2ludHNgLCBgQGdyaWQtYnJlYWstbGFiZWxzYCB2YXJpYWJsZXMuXG5UaGUgZGVmYXVsdCB2YWx1ZXMgZGVmaW5lIHR3byBicmVha3BvaW50cyB3aXRoIGxhYmVsczogYC5tZWRpdW0tWC1YYCBhbmQgYC5sYXJnZS1YLVhgLlxuU28gYW4gZXhhbXBsZSBncmlkIHdpdGggdHdvIGJyZWFrcG9pbnRzIGxvb2tzIGxpa2UgdGhpczpcblxuYGBgamFkZVxuZGl2LmdyaWRcblx0ZGl2Lm1lZGl1bS0xLTIubGFyZ2UtMS00LnhsYXJnZS0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEgbWVkaXVtLTEtMiBsYXJnZS0xLTRcblx0ZGl2Lm1lZGl1bS0xLTIubGFyZ2UtMS00LnhsYXJnZS0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEgbWVkaXVtLTEtMiBsYXJnZS0xLTRcblx0ZGl2LmNvbC0xLTIubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yIG1lZGl1bS0xLTIgbGFyZ2UtMS00XG5cdGRpdi5jb2wtMS0yLm1lZGl1bS0xLTIubGFyZ2UtMS00LnhsYXJnZS0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtMiBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuYGBgXG5cbioqTm90ZToqKiBUaGUgYGNvbC0xYCBjbGFzc2VzIGFyZSBub3QgcHJlc2VudCBvbiB0aGUgZmlyc3QgdHdvIG5vZGVzLCBzaW5jZSB0aGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW91ci5cblxuXG4jIyBSZXZlcnNlIG9yZGVyXG5cblRvIHJldmVyc2UgdGhlIG9yZGVyIGluIHdoaWNoIHRoZSBjb2x1bW5zIGFyZSBkaXNwbGF5ZWQsIHlvdSBjYW4gYWRkIHRoZSBtb2RpZmllciBjbGFzcyBgLi1yZXZlcnNlYCB0byB5b3VyIGdyaWQuXG5UaGUgY29sdW1ucyB3aWxsIGJlIGluIERPTSBvcmRlciB3aGVuIHZpZXdwb3J0IHN3aXRjaGVzIHRvIHNtYWxsIGxheW91dC5cblxuYGBgamFkZVxuZGl2LmdyaWQuLXJldmVyc2Vcblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRmlyc3QgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBTZWNvbmQgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBUaGlyZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIEZvdXJ0aCBjb2x1bW4gaW4gRE9NXG5gYGBcbiMjIE5vIGd1dHRlclxuXG5JZiB5b3UgZG9udCBuZWVkIGEgc3BhY2luZy9ndXR0ZXIgYmV0d2VlbiB0aGUgZ3JpZCBjb2x1bW5zIHlvdSBjYW4gdXNlIHRoZSBtb2RpZmllciBgLi1ub2d1dHRlcmAuXG5cbmBgYGphZGVcbmRpdi5ncmlkLi1ub2d1dHRlclxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGaXJzdCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFNlY29uZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFRoaXJkIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRm91cnRoIGNvbHVtbiBpbiBET01cbmBgYFxuKi9cblxuLmdyaWQge1xuXG5cdG1hcmdpbjogMCAtQGdyaWQtZ3V0dGVyLzI7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdD4gKiB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0cGFkZGluZzogMCBAZ3JpZC1ndXR0ZXIvMjtcblx0fVxuXG5cdCYuLXJldmVyc2UgPiAqIHtcblx0XHRmbG9hdDpyaWdodDtcblx0fVxuXG5cblx0Ji4tbm9ndXR0ZXIge1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdD4gKiB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxuXG5cblx0LmNvbC0xIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuY29sLTEtMiB7XG5cdFx0d2lkdGg6IDEwMCUvMjtcblx0fVxuXHQuY29sLTEtMyB7XG5cdFx0d2lkdGg6IDEwMCUvMyoxO1xuXHR9XG5cdC5jb2wtMi0zIHtcblx0XHR3aWR0aDogMTAwJS8zKjI7XG5cdH1cblx0LmNvbC0xLTQge1xuXHRcdHdpZHRoOiAxMDAlLzQqMTtcblx0fVxuXHQuY29sLTMtNCB7XG5cdFx0d2lkdGg6IDEwMCUvNCozO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlIGFsbCBtZWRpYSBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgQGdyaWQtYnJlYWstcG9pbnRzLCBAZ3JpZC1icmVhay1sYWJlbHMgdmFyaWFibGVzLlxuXHQgKi9cblx0LmZvciggQGdyaWQtYnJlYWstcG9pbnRzLCB7XG5cblx0XHRAbGFiZWw6IGV4dHJhY3QoIEBncmlkLWJyZWFrLWxhYmVscywgQGkgKTtcblxuXHRcdEBtZWRpYSBhbGwgYW5kICggbWluLXdpZHRoOiBAdmFsdWUgKSB7XG5cblx0XHRcdD4gLkB7bGFiZWx9LTEge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0PiAuQHtsYWJlbH0tMS0yIHtcblx0XHRcdFx0d2lkdGg6IDEwMCUvMjtcblx0XHRcdH1cblxuXHRcdFx0PiAuQHtsYWJlbH0tMS0zIHtcblx0XHRcdFx0d2lkdGg6IDEwMCUvMyoxO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IC5Ae2xhYmVsfS0yLTMge1xuXHRcdFx0XHR3aWR0aDogMTAwJS8zKjI7XG5cdFx0XHR9XG5cblx0XHRcdD4gLkB7bGFiZWx9LTEtNCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlLzQqMTtcblx0XHRcdH1cblxuXHRcdFx0PiAuQHtsYWJlbH0tMy00IHtcblx0XHRcdFx0d2lkdGg6IDEwMCUvNCozO1xuXHRcdFx0fVxuXHRcdH1cblx0fSk7XG59IiwiLypcbi0tLVxubmFtZTogaW1nLnJlc3BvbnNpdmVcbmNhdGVnb3J5OiBMYXlvdXQvSW1hZ2VcbnRhZzpcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5UaGlzIGNsYXNzIG1ha2VzIHRoZSBpbWFnZSBzY2FsaW5nIHRvIGl0cyBtYXggd2lkdGguXG5cbmBgYGphZGVcbmltZy5yZXNwb25zaXZlKHNyYz0naHR0cDovL3d3dy5ieXVpLmVkdS9pbWFnZXMvYWdyaWN1bHR1cmUtbGlmZS1zY2llbmNlcy9mbG93ZXIuanBnJylcbmBgYFxuKi9cbmltZy5yZXNwb25zaXZlIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAubWVkaWEtcmVzcG9uc2l2ZVxuY2F0ZWdvcnk6IExheW91dC9NZWRpYVxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbmAubWVkaWEtcmVzcG9uc2l2ZWAgLSBUaGlzIG1ha2VzIGEgdGhlIGAubWVkaWEtcmVzcG9uc2l2ZWAgZGl2IGEgY29udGFpbmVyIGZvciBhbnkgbWVkaWEgZWxlbWVudCAoaWZyYW1lLCB2aWRlbywgLi4uICkgdGhhdCByZXNwb25zaXZlIHNjYWxlcyB3aXRoIGEgZml4IHJhdGlvLlxuVGhlIG1lZGlhIGVsZW1lbnQgKCBjaGlsZCApIG5lZWRzIHRoZSBjbGFzcyBgLnN0cmV0Y2hgIHRvIGZ1bGx5IGZpbGwgb3V0IHRoZSBwYXJlbnRzIHNpemUuXG5cblRoZSBgLm1lZGlhLXJlc3BvbnNpdmVgIGNvbXBvbmVudCBoYXMgdG8gcHJlZGVmaW5lZCBtb2RpZmllcnM6IGAuLW1lZGlhLTQtM2AsIGAuLW1lZGlhLTE2LTlgIHRoYXQgZGVmaW5lIGEgZml4IHJhdGlvLlxuXG5gYGBqYWRlXG5kaXYubWVkaWEtcmVzcG9uc2l2ZS4tbWVkaWEtMTYtOVxuXHRpZnJhbWUuc3RyZXRjaChzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVRDZDZQZnhPeTBZXCIpXG5gYGBcbiovXG4ubWVkaWEtcmVzcG9uc2l2ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiA1MCU7XG5cblx0Ji4tbWVkaWEtNC0zIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNzUlO1xuXHR9XG5cblx0Ji4tbWVkaWEtMTYtOSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDU2LjI2JVxuXHR9XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAucGFnZS1mbHVpZFxuY2F0ZWdvcnk6IFBhZ2UvRmx1aWRcbnRhZzpcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5gLnBhZ2UtZmx1aWRgIGNlbnRlcnMgdGhlIHBhZ2UgY29udGVudCBhbmQgYWRkcyBhIHBhZGRpbmcgc28gdGhlIHBhZ2Ugc3RpY2tzIG5vdCB0byB0aGUgYnJvd3NlciB2aWV3cG9ydC5cbkZ1cnRoZXJtb3JlIGl0IGhhcyBhIG1heC13aWR0aCBiYXNlZCBvbiB0aGUgbGFzdCBgQGdyaWQtYnJlYWstcG9pbnRzYCB2YWx1ZS5cblxuYGBgamFkZVxuZGl2LnBhZ2UtZmx1aWRcblx0ZGl2LmFpZ2lzLWRlYnVnIFNvbWUgcGFnZSBjb250ZW50XG5gYGBcblxuIyMgTWF4LXdpZHRoIHBhZ2VcblxuVG8gYnJvYWRlbiB0aGUgd2lkdGggb2YgdGhlIHBhZ2UgeW91IGNhbiBhZGQgdGhlIG1vZGlmaWVyIGAuLXVubGltaXRlZGAuIFRoc2kgd2lsbCBzcGFuIHRoZSBwYWdlIHRvIHRoZSBmdWxsIHdpZHRoLlxuXG5gYGBqYWRlXG5kaXYucGFnZS1mbHVpZC4tdW5saW1pdGVkXG5cdGRpdi5haWdpcy1kZWJ1ZyBTb21lIHBhZ2UgY29udGVudFxuYGBgXG4qL1xuLnBhZ2UtZmx1aWQge1xuXG5cdEBtYXgtd2lkdGgtcG9pbnQ6IGV4dHJhY3QoIEBncmlkLWJyZWFrLXBvaW50cywgbGVuZ3RoKCBAZ3JpZC1icmVhay1wb2ludHMgKSApO1xuXHRcblx0bWF4LXdpZHRoOiBAbWF4LXdpZHRoLXBvaW50ICsgMiAqIGV4dHJhY3QoIEBwYWdlLXBhZGRpbmcsIDIgKTtcblx0bWFyZ2luOiBhdXRvO1xuXHRwYWRkaW5nOiBAcGFnZS1wYWRkaW5nO1xuXG5cdCYuLXVubGltaXRlZCB7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHR9XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAucm93XG5jYXRlZ29yeTogTGF5b3V0L1Jvd1xudGFnOlxuIC0gY29tcG9uZW50XG5jb21waWxlOiB0cnVlXG4tLS1cblxuVGhpcyBzdHlsaW5nIGFsbG93IHRvIHBsYWNlIGNvbnRhaW5lcnMgaW4gYSByb3cuIFRoZXkgd2lsbCAqKm5vdCoqIGJyZWFrIGFzIHRoZSBgLmdyaWRgIGJ1dCByZXNpemUgdGhlbSBhY2NvcmRpbmdseS5cblNvbWUgYmVuZWZpdHMgb2YgdGhlIGAucm93YCBhcHByb2FjaCBpcyB0aGUgZWFzeSB2ZXJ0aWNhbCBjZW50ZXJpbmcgYW5kIHRoZSB1c2FnZSBvZiB0aGUgYC5jb2wtYXV0b2AgY2xhc3MuXG5cbiMjIEJhc2ljIHJvdyB3aXRoIHZlcnRpY2FsIGNlbnRlcmluZ1xuXG5Zb3UgY2FuIHVzZSB0aGUgc2l6aW5nIGNsYXNzZXMgYC5jb2wtWC1YYCB0byBkZWZpbmUgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGFzIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSBzaG93cy4gXG5cbmBgYGphZGVcbmRpdi5yb3dcblx0ZGl2LmNvbC0xLTQuYWlnaXMtZGVidWcgY29sLTEtNCB3aXRoIGEgbG90IG9mIHRleHQgdGhhdCBzcGFucyB0aGUgY29sdW1uLlxuXHRkaXYuY29sLTMtNC5haWdpcy1kZWJ1ZyBjb2wtMy00IGNvbnRlbnQuXG5gYGBcblxuIyMgRml4ZWQgcm93XG5cblRoZXJlIGlzIGEgYC4tZml4ZWRgIG1vZGlmaWVyIHdoZXJlIGVhY2ggY29sdW1uIGhhcyB0aGUgc2FtZSB3aWR0aC5cblxuYGBgamFkZVxuZGl2LnJvdy4tZml4ZWRcblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uXG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtbiB3aXRoIG1vcmUgY29udGVudFxuXHRkaXYuYWlnaXMtZGVidWcgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW5cblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uIHdpdGggbXVjaCBtb3JlIGNvbnRlbnQgdGhhbiB0aGUgb3RoZXJcblx0ZGl2LmFpZ2lzLWRlYnVnLnZjZW50ZXIgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW4gd2l0aCAudmNlbnRlclxuYGBgXG5cblxuIyMgQXV0byBzaXplZCBjb2x1bW4gd2lkdGggYW5kIHZjZW50ZXJcblxuVGhlcmUgaXMgYSBzcGVjaWFsIGAuY29sLWF1dG9gIGNsYXNzIHRoYXQgcmVzaXplcyB0aGUgY29sdW1uIHRvIHRoZSBzaXplIG9mIGl0cyBjb250ZW50LlxuVGhpcyBpcyB1c2VmdWxsIGZvciBleGFtcGxlIGlmIHlvdSBoYXZlIGEgZml4ZWQgc2l6ZSBsb2dvIGFuZCB0aGUgcmVzdCBvZiB0aGUgaGVhZGVyIGhhcyB0byByZXNpemUuXG5cbmBgYGphZGVcbmRpdi5yb3cuLWNlbnRlclxuXHRkaXYuY29sLWF1dG8uYWlnaXMtZGVidWdcblx0XHRpbWcoc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC8xMDB4MTAwXCIpXG5cdGRpdi5jb2wtMS5haWdpcy1kZWJ1ZyBUaGUgcmVzdFxuXHRkaXYuY29sLWF1dG8uYWlnaXMtZGVidWdcblx0XHRpbWcoc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC8yMDB4MTAwXCIpXG5gYGBcbiovXG4ucm93IHtcblx0ZGlzcGxheTogdGFibGU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCYuLWZpeGVkIHtcbiAgICBcdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdH1cblxuXHQmLi1jZW50ZXIge1xuXHRcdD4gKiB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fVxuXG5cdCYuLWJvdHRvbSB7XG5cdFx0PiAqIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0fVxuXHR9XG5cblx0Ji4tcGFkZGVkIHtcblx0XHQ+ICogKyAqIHtcblx0XHRcdHBhZGRpbmctbGVmdDogQHJvdy1ndXR0ZXI7XG5cdFx0fVxuXHR9XG5cdFxuXHQ+ICoge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XG5cdFx0Ji5jb2wtMSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0Ji5jb2wtMS0yLFxuXHRcdCYuY29sLTItNCB7XG5cdFx0XHR3aWR0aDogMTAwJS8yO1xuXHRcdH1cblx0XHQmLmNvbC0xLTMge1xuXHRcdFx0d2lkdGg6IDEwMCUvMyoxO1xuXHRcdH1cblx0XHQmLmNvbC0yLTMge1xuXHRcdFx0d2lkdGg6IDEwMCUvMyoyO1xuXHRcdH1cblx0XHQmLmNvbC0xLTQge1xuXHRcdFx0d2lkdGg6IDEwMCUvNCoxO1xuXHRcdH1cblx0XHQmLmNvbC0zLTQge1xuXHRcdFx0d2lkdGg6IDEwMCUvNCozO1xuXHRcdH1cblx0XHRcblx0XHQmLmNvbC1hdXRvIHtcblx0XHRcdHdpZHRoOmF1dG87XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdH1cblx0fVxufVxuXG5cbiIsIi5hbnN3ZXItdmlldyB7XG5cbiAgICAmLi13cm9uZyB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTVweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDEwcHgpO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgPi5pbnB1dCB7XG4gICAgICAgICAgICB0b3A6IHJlbSgxMXB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IHJlbSgtMTVweCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgLmFuc3dlcnRleHQge1xuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiByZW0oMTVweCk7XG4gICAgfVxufSIsIi5hdWRpby1lbGVtZW50IHtcblxuICAgID4uYXVkaW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgPi5jYXB0aW9uLWVsZW1lbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufSIsIi5ib3gtY2hhcHRlciB7XG4gICAgLy93aWR0aDogMjkzcHg7XG4gICAgLy9oZWlnaHQ6IDQyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG5cbiAgICAubWFuZGF0b3J5IHtcbiAgICAgICAgbWluLWhlaWdodDogMzRweDtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgbWF4LWhlaWdodDogMjAzcHg7XG4gICAgICAgIC8vd2lkdGg6IDI5MnB4O1xuICAgICAgICAvL2hlaWdodDogMTgwcHg7XG5cbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAxNHB4IDA7XG4gICAgICAgIGNvbG9yOiBAdGV4dC1kYXJrLWNvbG9yO1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDAwYWInXG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMDBiYlwiXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluay1jb250YWluZXI6aG92ZXIge1xuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgb3BhY2l0eTowLjg7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xhc3MgPiBzdmcsIC5kdXJhdGlvbiA+IHN2ZywgLmxhYmVsID4gc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgLmNsYXNzLCAuZHVyYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICB9XG4gICAgXG4gICAgLmV4cG9ydCB7XG4gICAgICAgIC8vdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgID4uYnV0dG9uLWV4cG9ydCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgPi5idXR0b24tZXhwb3J0Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2UtYnJlYWstcG9pbnQpIHsgXG4gICAgLmJveC1jaGFwdGVyIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwN3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLmJveC1jaGFwdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4udGl0bGUge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5idXR0b24tZXhwb3J0IHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDk4cHg7XG5cbiAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcblxuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjhweCk7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cbn0iLCIuYnV0dG9uLWZpbHRlcntcbiAgICBcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiByZW0oMTZweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJi4tYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgPi5pY29uLWNoZWNrZWQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTZweCk7XG4gICAgICAgICAgICB0b3A6IDIzcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLi1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgID4uaWNvbi1maWx0ZXIsID4uaWNvbi1jaGVja2VkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLi10b2dnbGUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBcbiAgICAgICAgPi5pY29uLWNoZWNrZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4uaWNvbi1maWx0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTZweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLypcbi5idXR0b24tZmlsdGVyIHtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgd2lkdGg6IDEzMnB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC40OHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi4tYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggNnB4IDAgcmdiYSgwLDAsMCwwLjMpO1xuICAgIH1cbiAgICAmLi1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuXG4qLyIsIi5idXR0b24tdGVhY2hlciB7XG4gICAgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICBcbiAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgLy8gJjpob3ZlciB7XG4gICAgICAgICAgICAvL2NvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAmLi1jbG9zZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNhcHRpb24tZWxlbWVudCB7XG4gICAgPiBwe1xuICAgICAgICBjb2xvcjogQHRleHQtbGlnaHQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIxcHgpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbn0iLCIuY2Fyb3VzZWwtZWxlbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICYuLWxpZ2h0Ym94IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6MHB4O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm5hdmktbGVmdCwgLm5hdmktcmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2aS1yaWdodCB7XG4gICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDAlKTtcblxuICAgICAgICB9XG4gICAgICAgIC5uYXZpLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgfVxuICAgICAgICAub3V0ZXItc3RhZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC5pbm5lci1zdGFnZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5saWdodGJveCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW5uZXIge1xuIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY2FwdGlvbi1lbGVtZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cbiAgICAubmF2aS1sZWZ0LCAubmF2aS1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICB3aWR0aDo0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgIGhlaWdodDo0NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmktbGVmdCB7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbiAgICB9XG5cbiAgICAubmF2aS1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSg1MCUpO1xuICAgIH1cblxuICAgIC5vdXRlci1zdGFnZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5pbm5lci1zdGFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgLjRzIGVhc2Utb3V0O1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAubGlnaHRib3gge1xuICAgICAgICAgICAgICAgIC8vcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0ODVweDsgLy9pbmtsIGNhcHRpb25cbiAgICAgICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZBNkE2QTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NTBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNhcHRpb24tZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5jaGFwdGVyLWNvdmVyIHtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIC8vbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4NXB4O1xuICAgIFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgID4udGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogOTQwcHg7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICAgICAgICBmb250LXNpemU6IHJlbSg2NHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGRlbWk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNzRweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjlweCk7XG4gICAgICAgIHRleHQtc2hhZG93OiAwLjFweCAwLjFweCAxNnB4ICM2YTZhNmE3MztcbiAgICB9XG59XG5cbi8vdGVzdFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLmNoYXB0ZXItY292ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDlweCk7XG4gICAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICAgID4udGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDQwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbW1vbi1wYWdlIHtcbiAgICBtYXJnaW4tdG9wOiByZW0oODVweCk7XG5cbiAgICBoMSwgaDIsIGgzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDhweCk7ICAgIFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDU4cHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg2MHB4KTtcbiAgICB9XG5cbiAgICA+LnBhcmFncmFwaC1lbGVtZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1cHgpO1xuICAgIH1cbiAgICA+LmltYWdlLWVsZW1lbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjVweCk7XG4gICAgfVxuICAgID4uZGVsaW1pdGVyLWxpbmUge1xuICAgICAgICBtYXJnaW46IHJlbSg1MHB4KSAwO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkge1xuICAgIFxuICAgIC5jb21tb24tcGFnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgwcHgpO1xuICAgICAgICAmLi1ub2NvdmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxODBweCk7XG4gICAgICAgIH1cbiAgICAgICAgaDEsIGgyLCBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNnB4KTsgICAgXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM0cHgpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+LnRpdGxlLWVsZW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuICAgICAgICB9XG4gICAgICAgID4ucGFyYWdyYXBoLWVsZW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICB9XG4gICAgICAgID4uaW1hZ2UtZWxlbWVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICA+LmRlbGltaXRlci1saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbjogIHJlbSgzMHB4KSAwO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiLmNvbnRhaW5lci1xdWVzdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg5MHB4KTtcbiAgICBcbiAgICAubWFpbi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg2MHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgICAubnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ2cHgpO1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMC4wNWVtO1xuICAgICAgICBmb250LXNpemU6IHJlbSg0OHB4KTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MCAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuY29udGFpbmVyLXF1ZXN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMnB4KTtcbiAgICAgICAgPi5udW1iZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7XG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiByZW0oMzRweCk7XG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAwLjA1ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5jb250YWluZXItdGVhY2hlciB7XG5cblxuXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICBcbiAgICAmLnNpZGViYXItbG9naW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAubW9kdWxlLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnRpdGxlLnRpdGxlLWRvd25sb2FkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMHB4IC0xOHB4IDBweCAtMjdweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwcHggMTBweCAyN3B4O1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG5cbiAgICAgICAgXG4gICAgICAgICYuLWNoYXB0ZXIge1xuICAgICAgICAgICAgJi4tY3VycmVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUtY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzRweDtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDE3cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICYuLWlubGluZSB7XG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCwgb2wge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cblxuICAgICAgICBcbiAgICAgICAgJi4tY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmV4cG9ydCB7XG4gICAgICAgID4uYnV0dG9uLWV4cG9ydCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI5cHg7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuXG4gICAgICAgIC5kb3dubG9hZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgbWFyZ2luOiAxMXB4IDBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5jb250YWluZXItdGVhY2hlciB7XG4gICAgICAgIC5tb2R1bGUtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBvcnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLmRlbGltaXRlci1saW5lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgQGJyYW5kLWNvbG9yO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG5cbiAgICAuZGVsaW1pdGVyLWxpbmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgICAgICBcbiAgICB9XG59IiwiLmZlZWRiYWNrLWNvbnRhaW5lciB7XG4gICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAuYnV0dG9uIHtcbiAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICBvdXRsaW5lOm5vbmU7XG4gICAgICAgfVxuICAgfVxufSIsIi5mZWVkYmFjay1wYW5lbCB7XG4gICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE4MCwgMTgwLCAxODApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgIFxuICAgIFxuICAgICYuLWNvcnJlY3Qge1xuICAgICAgICBjb2xvcjpAc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc3VjY2Vzcy1ib3JkZXItY29sb3I7XG4gICAgICAgIFxuICAgIH1cbiAgICAmLi13cm9uZyB7XG4gICAgICAgIGNvbG9yOkBhbGVydC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFsZXJ0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGFsZXJ0LWJvcmRlci1jb2xvcjtcbiAgICB9XG59IiwiLmZpbHRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogNDBweDtcbiAgICBib3R0b206IDBweDtcbiAgICB6LWluZGV4OjEwO1xuICAgIGJveC1zaGFkb3c6IDAuMXB4IDAuMXB4IDE2cHggIzZhNmE2YTU0O1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG4gICAgLmZpbHRlci1jb250YWluZXIge1xuICAgICAgICByaWdodDogMTZweDtcbiAgICB9XG59IiwiW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcblxuICAgICYuLXNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICB9XG5cbiAgICAmLi1zdWIge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgIH1cblxuICAgICYuLWludmVydGVkIHtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTtcbiAgICB9XG5cbiAgICAmLi1icmFuZCB7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJi4tcnNwYWNlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG59XG5cbi5pY29uY29udGFpbmVyLi1pbnZlcnRlZCA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5pY29uY29udGFpbmVyLi1pbnZlcnRlZCA+IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyk7XG59IiwiLmltYWdlLWVsZW1lbnQge1xuXG4gICAgJi4tc21hbGwge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG4gICAgLmltYWdlLWVsZW1lbnQge1xuICAgICAgICAmLi1zbWFsbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuIiwiLmxpZ2h0Ym94IHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFxuXG4gICAgICAgIC8vIC5pbWFnZSB7XG4gICAgICAgIC8vICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgLy8gICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAvLyAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jazsgICBcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIC5jYXB0aW9uLWVsZW1lbnQge1xuICAgICAgICAvLyAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIC8vIH1cbiAgICAgICAgXG4gICAgICAgIC5vcGVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXG4gICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgIHJpZ2h0OjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtaW4td2lkdGg6MTAwJTtcbiAgICAub3BlbiwgLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cbiAgICBcbiAgICAmLi1vcGVuIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICAuY2FwdGlvbi1lbGVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgXG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgfVxuICAgICAgICAub3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB6LWluZGV4OjEwMDtcbiAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuXG4gICAgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzBweCk7XG4gICAgICAgIGNvbG9yOiMwMDA7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMwcHgpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAyMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxldmVsMSB7XG4gICAgICAgIHdpZHRoOiByZW0oMzgwcHgpO1xuICAgICAgICAvL1RPRE86XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggIGhzbGEoMCwgMCUsIDAlLCAwLjI1KTtcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6QGRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5ib29rLCAuaW1wcmVzc3VtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5pbXByZXNzdW06aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBkYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLi1hY3RpdmUge1xuICAgICAgICAgICAgLmJvb2s6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMCA2cHggMzdweDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGV2ZWwyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjY7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBsaSBhe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBkYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubGV2ZWwxOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgLi1jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHtcbiAgICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgLmxldmVsMSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDM0MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubW9kdWxlLWxhYmVsIHtcbiAgICBjb2xvcjogQHRleHQtbGlnaHQtY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAmLi1oYWxmIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgIH1cbiAgICBcbn0iLCIucGFnZS1mbHVpZCB7XG4gICAgcGFkZGluZzogMCByZW0oMTZweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oNjEwcHgrMTZweCsxNnB4KTtcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuY29udGVudCAmIC5wYWdlLWZsdWlkIHtcbiAgICAgICAgcGFkZGluZzogMCAwO1xuICAgIH1cbn0iLCIucGFnZS1mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICBAYnJhbmQtY29sb3I7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC50ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgICAgICAuaW1wcmVzc3VtIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnBhZ2UtZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTYwcHg7XG4gICAgfVxufVxuXG5cbiIsIi5wYWdlLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBcbiAgICAuYm9yZGVyLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICB9XG5cbiAgICAubG9nby1zZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICBcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMzcHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg1MHB4KTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC44NXB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb3tcbiAgICAgICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLmJ1dHRvbi1sb2dpbiB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzJweCsyMHB4O1xuICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI2cHgpO1xuICAgICAgICAgICAgY29sb3I6IEB0ZXh0LWRhcmstY29sb3I7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIC5uYXZpLXRleHQge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWxvZ2luOmhvdmVyIGEge1xuICAgICAgICBjb2xvcjpAaG92ZXItY29sb3I7XG4gICAgfVxuICAgIC5idXR0b24tbG9naW46YWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogQGRhcmstaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgLnNpZGViYXItdGVhY2hlciB7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgfVxuXG4gICAgLnNpdGUtdGl0bGUge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgIC5ob21lLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cblxuICAgICYuLWNvbGxhYnNlIHtcbiAgICAgICAgXG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG5cbiAgICAgICAgLmxvZ28tc2VjdGlvbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBoZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgICAgICB9XG5cbiAgICAgICAudGl0bGUge1xuICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgfVxuXG5cbiAgICAgICAuc2l0ZS10aXRsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IDc1cHg7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6dGFibGUtY2VsbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICB9XG4gICAgICAgLmhvbWUtYnV0dG9uIHtcblxuICAgICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgICAuaWNvbntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MjZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICAgICAgICB9XG5cbiAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlLWJyZWFrLXBvaW50KSB7IFxuICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgICYuLWNvbGxhYnNlIHtcbiAgICAgICAgICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnBhZ2UtaGVhZGVyIHtcblxuICAgICAgICAmLi1jb2xsYWJzZSB7XG4gICAgICAgICAgICAuc2l0ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5sb2dvLXNlY3Rpb24ge1xuICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAubG9nb3tcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjlweCk7XG4gICAgICAgICAgICAgICAgLy9sZXR0ZXItc3BhY2luZzogcmVtKDAuNTdweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi1sb2dpbiB7XG4gICAgICAgICAgICAubmF2aS10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi10ZWFjaGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgLm5hdmktdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuIH1cbiIsIi5wYWdlLWxheW91dCB7XG5cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOmF1dG87XG5cblxuICAgICYgPiAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNjJweDtcblxuICAgICAgICAmLi1zaWRlYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4O1xuICAgICAgICB9XG5cblxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAucGFnZS1sYXlvdXQge1xuICAgIFxuICAgICAgICAmID4gLmNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNTJweDtcbiAgICBcbiAgICAgICAgICAgICYuLXNpZGViYXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIucGFnZS1vdmVydmlldyB7XG5cbiAgICBtYXgtd2lkdGg6IHJlbSg5NDBweCk7XG5cbiAgICAuaW50cm9kdWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgwcHgpO1xuICAgICAgICAvL3dpZHRoOiA5NDBweDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDM4cHgpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnBhZ2Utb3ZlcnZpZXcge1xuICAgICAgICA+LmludHJvZHVjdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNnB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzRweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi5wYXJhZ3JhcGgtZWxlbWVudCB7XG4gICAgXG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgJi4taW50cm9kdWN0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzhweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIFxuICAgICYuLWRlZmF1bHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNXB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICBzdHJvbmcsIGIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICB1bCwgb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYWJicmV2aWF0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgYmxhY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgIGN1cnNvcjpoZWxwO1xuICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4tcmlnaHQge1xuICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLi1sZWZ0IHtcbiAgICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuLXRvcCB7XG4gICAgICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuLWJvdHRvbSB7XG4gICAgICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuLWJpZyB7XG4gICAgICAgICAgICAmLi1vcGVuLCAmOmhvdmVyIHsgXG4gICAgICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tc2lkZWJhciB7XG4gICAgICAgICAgICAmLi1vcGVuLCAmOmhvdmVyIHsgXG4gICAgICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgXG4gICAgICAgICYuLW9wZW4sICY6aG92ZXIge1xuICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OjEwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggMCByZ2JhKDAsMCwwLDAuNCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5wYXJhZ3JhcGgtZWxlbWVudCB7XG4gICAgICAgICYuLWludHJvZHVjdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1kZWZhdWx0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyOHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLCBvbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIucXVlc3Rpb24taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDYwcHgpO1xuXG4gICAgPi5pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIH1cblxuXG5cbiAgICAucGFyYWdyYXBoLWVsZW1lbnQsIC5pbWFnZS1lbGVtZW50LCB1bCwgb2wsIC5pZnJhbWUtZWxlbWVudCwgLnZpZGVvLWVsZW1lbnQsIC5hdWRpby1lbGVtZW50LCAuY2Fyb3VzZWwtZWxlbWVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblxuICAgICAgICAmLi1ub21hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICB1bCwgb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5xdWVzdGlvbi1pdGVtIHtcbiAgICAgICAgLnRpdGxlIHsgXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogZGVtaTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJhZ3JhcGgtZWxlbWVudCwgLmltYWdlLWVsZW1lbnQsIHVsLCBvbCwgLmlmcmFtZS1lbGVtZW50LCAudmlkZW8tZWxlbWVudCwgLmF1ZGlvLWVsZW1lbnQsIC5jYXJvdXNlbC1lbGVtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gfSIsIi5xdWVzdGlvbi10ZXh0IHtcbiAgICA+LmRyb3Bkb3duIHtcbiAgICAgICAgJi4td3Jvbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFsZXJ0LWJhY2tncm91bmQtY29sb3JcbiAgICAgICAgfVxuICAgICAgICAmLi1jb3JyZWN0e1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2lkZWJhci1sb2dpbiB7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOkBicmFuZC1jb2xvcjtcbiAgICBtYXJnaW4tbGVmdDogLTI3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMThweDtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFxuICAgIC8vcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgXG4gICAgIGEge1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICAgICAgXG5cbiAgICAgICAgJi5pY29uLWFycm93LWRvd24ge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIHJpZ2h0Oi00MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnNpZGViYXItbG9naW4ge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAmLmljb24tYXJyb3ctZG93biB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNpZGViYXItdGVhY2hlciB7XG4gICAgXG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG5cbiAgICAmLi10ZWFjaGVyIHtcbiAgICAgICAgLmNvbnRhaW5lci10ZWFjaGVyLnNvcnQtMCB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5tZXRhLXNwYWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICB9XG5cbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGNkY2RjY7XG4gICAgYm94LXNoYWRvdzogLTFweCAxcHggMCAwIGhzbGEoMCwgMCUsIDAlLCAwLjI1KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gICAgcGFkZGluZy1yaWdodDogMzRweDtcblxuICAgIHdpZHRoOiA0MTZweDtcbiAgICAvL3BhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMHB4O1xuICAgIC8vdG9wOiAxNzRweDtcbiAgICB0b3A6IDEzM3B4O1xuICAgIGJvdHRvbTogMHB4O1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OjEwO1xuXG4gICAgJi4tY2xvc2Uge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gICAgJi4tY29sbGFic2Uge1xuICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjVzO1xuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuc2lkZWJhci10ZWFjaGVyIHtcbiAgICAgICAgdG9wOiAxMzNweDtcbiAgICAgICAgLy9yaWdodDogcmVtKDI1cHgpO1xuICAgICAgICAvL3JpZ2h0OjU4cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MjBweDtcbiAgICAgICAgd2lkdGg6MzQzcHg7XG4gICAgfVxufSIsImgxIHtcbiAgICBmb250LXNpemU6IHJlbSg2NHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogcmVtKDEuOXB4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDcwcHgpO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ4cHgpOyAgICBcbiAgICBsaW5lLWhlaWdodDogcmVtKDU4cHgpO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbn1cblxuaDMge1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjdweCk7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vdGVzdFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgIFxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7ICAgIFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM0cHgpO1xuICAgIH1cblxuICAgIFxuICAgIGgzIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNXB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgIH1cbiB9Il19 */
