/*
---
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: #2B7565;
}
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;
}
.box-chapter {
  cursor: pointer;
  margin-bottom: 60px;
}
.box-chapter .mandatory {
  min-height: 34px;
}
.box-chapter::after {
  opacity: 0;
  visibility: hidden;
  content: "▲";
}
.box-chapter.-expanded::after {
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.875rem;
  visibility: visible;
  content: "▲";
  z-index: 10;
  position: relative;
  bottom: -24px;
  color: #2B7565;
  opacity: 1;
  transition: opacity 0.8s;
}
.box-chapter .image {
  padding-bottom: 13px;
  border-bottom: 3px solid #2B7565;
  max-height: 203px;
}
.box-chapter .title {
  margin: 14px 0;
  color: #000000;
  height: 55px;
  overflow: hidden;
  font-size: 1.375rem;
}
.box-chapter .link-container {
  position: relative;
}
.box-chapter .link-container:hover .image {
  opacity: 0.8;
}
.box-chapter .link-container:hover .title {
  color: #2B7565;
}
.box-chapter .class > svg,
.box-chapter .duration > svg,
.box-chapter .label > svg {
  margin-right: 9px;
  color: #2B7565;
}
.box-chapter .class,
.box-chapter .duration {
  display: inline-block;
  width: 50%;
}
.box-chapter .export {
  text-align: center;
}
.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: 30px;
  }
  .box-chapter .image {
    max-height: 380px;
  }
  .box-chapter > .title {
    height: 30px;
  }
}
.button-export {
  height: 32px;
  width: 98px;
  color: #2B7565;
  display: inline-block;
  border-radius: 16px;
  border: 2px solid #2B7565;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.75rem;
  transition: all 0.1s;
}
.button-export:hover {
  border-color: #226052;
  background-color: #226052;
  color: #fff;
}
.button-export:active {
  border-color: #2B7565;
  background-color: #2B7565;
  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: #2B7565;
}
.button-filter.-active > .icon-checked {
  display: inline-block;
  color: #2B7565;
  position: absolute;
  right: 1rem;
  top: 23px;
}
.button-filter:hover {
  color: #226052;
}
.button-filter.-hidden {
  display: none;
}
.button-filter > .icon-filter,
.button-filter > .icon-checked {
  display: none;
}
.button-filter.-toggle {
  color: #fff;
  background-color: #2B7565;
}
.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: #226052;
}
.button-teacher .icon {
  color: #2B7565;
  height: 26px;
  vertical-align: 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: #226052;
}
.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%;
  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: #2B7565;
  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-top: 11px;
  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;
  position: relative;
}
.chapter-cover > .theme-icon {
  width: 200px;
  height: 200px;
}
.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 > .theme-icon {
    width: 100px;
    height: 100px;
  }
  .chapter-cover > .title {
    font-size: 1.875rem;
    line-height: 2.5rem;
  }
}
.chapter-subnavi {
  background-color: #2B7565;
  max-height: 0px;
  visibility: hidden;
  opacity: 0;
  cursor: default;
  margin-top: 45px;
}
.chapter-subnavi.-expanded {
  position: absolute;
  width: 100vw;
  display: block;
  visibility: visible;
  opacity: 1;
  height: auto;
  max-height: 2000px;
  transition: opacity 0.5s, max-height 3s;
}
.chapter-subnavi > .container {
  margin: auto;
  padding: 3.125rem 1rem;
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 500;
}
.chapter-subnavi > .container > .theme-icon {
  left: 15px;
}
.chapter-subnavi > .container > .titlerow {
  z-index: 10;
  border-bottom: 1px solid #fff;
  padding-bottom: 1.375rem;
  position: relative;
}
.chapter-subnavi > .container > .titlerow > .navititle {
  font-size: 1.375rem;
  line-height: 1.6875rem;
  font-weight: 700;
  color: #fff;
  display: inline;
}
.chapter-subnavi > .container > .titlerow > .download {
  float: right;
  color: #fff;
}
.chapter-subnavi > .container > .titlerow > .download .icon {
  margin-right: 5px;
}
.chapter-subnavi > .container > .titlerow > .download:hover {
  color: #000;
}
.chapter-subnavi > .container .item {
  display: block;
  border-bottom: 1px solid #fff;
  color: #fff;
  cursor: pointer;
  padding: 0.75rem;
  position: relative;
  z-index: 10;
}
.chapter-subnavi > .container .item > .chapter {
  text-transform: uppercase;
}
.chapter-subnavi > .container .item .module-label {
  margin: 0;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.125rem;
  font-weight: 500;
}
.chapter-subnavi > .container .item .module-label > .icon {
  color: #fff;
}
.chapter-subnavi > .container .item:hover {
  background-color: #226052;
}
.chapter-subnavi > .container .item:hover .module-label {
  background-color: #226052;
}
.chapter-subnavi > .container .item:hover .module-label > .icon {
  background-color: #226052;
}
@media only screen and (max-width: 1024px) {
  .chapter-subnavi.-expanded {
    padding-left: 1rem;
  }
  .chapter-subnavi > .container {
    padding: 1.875rem 1rem;
  }
  .chapter-subnavi > .container .theme-icon {
    display: none;
  }
}
.common-page {
  margin-top: 5.3125rem;
}
.common-page.-main-impressum h1,
.common-page.-main-impressum h2,
.common-page.-main-impressum h3,
.common-page.-main-impressum .paragraph-element,
.common-page.-main-impressum .paragraph-element a {
  color: #fff;
}
.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.-main-impressum {
    padding-top: 1rem;
    margin-top: 7.5rem;
  }
  .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: #2B7565;
  width: 100%;
  text-align: center;
  border-bottom: 6px solid #2B7565;
  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 #2B7565;
}
.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 #2B7565;
  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 #2B7565;
  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: #2B7565;
  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: #2B7565;
  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 #2B7565;
}
@media only screen and (max-width: 600px) {
  .delimiter-line {
    border-bottom: 4px solid #2B7565;
  }
}
.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: #2B7565;
}
[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%;
  }
}
/**

.landing-intro {

    animation: type 8s steps(110), blink 1s infinite;
    overflow:hidden;
    white-space: nowrap;
    width: 970px;
    border-right: 3px solid black;


    @keyframes type {
        from{
            width: 0;
        }
    }


    @keyframes blink {
        50% {
            border-color: transparent;
        }
    }
}


**/
.landing-navigationcontainer {
  text-align: center;
}
.landing-navigationitem {
  text-align: center;
  position: relative;
  display: inline-block;
}
.landing-navigationitem .image-container {
  position: relative;
  overflow: hidden;
  border-radius: 100%;
  z-index: 100;
  line-height: 0px;
  width: 80%;
  height: 80%;
  margin: 1.875rem auto;
}
.landing-navigationitem .image-container > .image {
  width: 100%;
  height: 100%;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
}
.landing-navigationitem .image-container > .activation {
  display: none;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  white-space: nowrap;
}
.landing-navigationitem .text {
  font-size: 1.625rem;
  line-height: 2.1875rem;
  font-weight: bold;
  color: #000;
}
.landing-navigationitem.-hidden .activation {
  display: block;
}
.landing-navigationitem.-hidden .image,
.landing-navigationitem.-hidden .text {
  opacity: 0.2;
}
.landing-navigationitem.theme-lilac .image-container {
  border: 5px solid #5C5AA5;
  background-color: #5C5AA5;
}
.landing-navigationitem.theme-lilac .flash {
  color: #5C5AA5;
}
.landing-navigationitem.theme-mint .image-container {
  border: 5px solid #2B7565;
  background-color: #2B7565;
}
.landing-navigationitem.theme-mint .flash {
  color: #2B7565;
}
.landing-navigationitem .flash {
  opacity: 0;
  position: absolute;
  transition: opacity 0.8s, top 0.8s, left 0.8s, right 0.8s, -webkit-transform 0.8s;
  transition: transform 0.8s, opacity 0.8s, top 0.8s, left 0.8s, right 0.8s;
  transition: transform 0.8s, opacity 0.8s, top 0.8s, left 0.8s, right 0.8s, -webkit-transform 0.8s;
  top: 50%;
  left: 50%;
}
.landing-navigationitem .flash .icon {
  width: 40px;
  height: 56px;
}
.landing-navigationitem:not(.-hidden):hover {
  /** disabled until icons are defined...
        .flash {
            opacity: 1;
            transition: transform 0.8s, opacity 0.8s, top 0.8s, left 0.8s, right 0.8s;
            
            &.flash1 {
                top: 63px;
                left: 0px;
            }
    
            &.flash2 {
                top: 24px;
                left: 280px
            }
    
            &.flash3 {
                top: 302px;
                right: 77px;
            }
        }
**/
}
.landing-navigationitem:not(.-hidden):hover .image {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}
.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: #2B7565;
}
.main-navigation .hamburger {
  line-height: 1.4375rem;
}
.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 li a:hover {
  color: #226052;
}
.main-navigation .level1 {
  width: 23.75rem;
  box-shadow: 1px 1px rgba(0, 0, 0, 0.25);
}
.main-navigation .level1 .book,
.main-navigation .level1 .impressum {
  padding-left: 20px;
}
.main-navigation .level1 .icon {
  width: 36px;
  height: 18px;
  color: #2B7565;
  position: absolute;
  right: 20px;
}
.main-navigation .level1.-flatnavigation {
  padding-left: 20px;
}
.main-navigation .level1.-active .book:first-child {
  margin-left: -20px;
  padding: 6px 0 6px 37px;
  border-left: 3px solid #2B7565;
  color: #2B7565;
}
.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: #226052;
}
.main-navigation .level1:first-child:hover {
  color: #226052;
}
.main-navigation .-close {
  display: none;
}
.main-navigation .level2 {
  text-transform: 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: #2B7565;
  margin-right: 9px;
}
.module-label .text {
  vertical-align: top;
}
.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: #2B7565;
  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.-landingpage {
  position: absolute;
}
.page-header.-impressum .logo-section {
  margin-bottom: 0px;
}
.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: #2B7565;
  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 svg {
  vertical-align: text-top;
  color: #2B7565;
}
.page-header .button-login:hover a {
  color: #226052;
}
.page-header .button-login:active a {
  color: #226052;
}
.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 .back-button {
  top: 55px;
  transition: top 0.5s;
}
.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;
}
.page-header > .back-button {
  position: fixed;
  top: 134px;
  left: 15px;
  background-color: #F6F6F6;
  font-size: 1.125rem;
  padding: 10px;
  font-weight: 600;
}
.page-header > .back-button a {
  color: #000;
  vertical-align: top;
}
.page-header > .back-button:hover a {
  color: #2B7565;
}
.page-header > .back-button .icon {
  color: #2B7565;
  width: 28px;
  height: 20px;
  margin-right: 10px;
}
@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;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}
.page-layout > .content {
  padding-top: 162px;
}
.page-layout > .content.-main-impressum {
  background-color: #2B7565;
  margin: 0 -1rem;
  height: 100%;
}
.page-layout > .content.-main-impressum > .close {
  position: fixed;
  right: 10rem;
}
.page-layout > .content.-main-impressum > .close > .link {
  cursor: pointer;
  color: #fff;
}
.page-layout > .content.-main-impressum > .close > .link:hover {
  color: #721c24;
}
.page-layout > .content.-sidebar {
  padding-right: 400px;
}
@media only screen and (max-width: 1024px) {
  .page-layout > .content.-main-impressum {
    right: 2rem;
  }
}
@media only screen and (max-width: 600px) {
  .page-layout > .content {
    padding-top: 0;
    margin-top: 140px;
  }
  .page-layout > .content.-main-impressum {
    padding: 0 3rem;
  }
  .page-layout > .content.-main-impressum > .close {
    top: 105px;
    right: 2rem;
  }
  .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: #2B7565;
  height: 30px;
  width: 30px;
  vertical-align: text-bottom;
  margin-right: 5px;
}
.question-item .title {
  color: #2B7565;
  text-transform: uppercase;
  margin-bottom: 0.9375rem;
  font-size: 1.625rem;
  font-weight: bold;
  display: inline-block;
}
.question-item .linkedvideo-element .caption-element {
  margin-top: 0.625rem;
}
.question-item .paragraph-element,
.question-item .image-element,
.question-item ul,
.question-item ol,
.question-item .iframe-element,
.question-item .video-element,
.question-item .linkedvideo-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 .linkedvideo-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 .linkedvideo-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: #2B7565;
  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: #226052;
  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 #2B7565;
}
.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;
  }
}
body.landing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body.landing .page-layout .page-landing {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
body.landing .page-footer {
  margin-top: 100px;
}
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;
  }
}
.theme-color {
  display: none;
  width: 0px;
  height: 0px;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 5;
  border-right: 50px solid transparent;
  border-bottom: 50px solid transparent;
}
.theme-color.-optik {
  border-top: 50px solid #F6AC4E;
  border-left: 50px solid #F6AC4E;
}
.theme-color.-energie {
  border-top: 50px solid #6FC3A9;
  border-left: 50px solid #6FC3A9;
}
.theme-color.-elektrizitaet {
  border-top: 50px solid #CCD7C5;
  border-left: 50px solid #CCD7C5;
}
.theme-color.-koerper {
  border-top: 50px solid #F56E94;
  border-left: 50px solid #F56E94;
}
.theme-color.-robotik {
  border-top: 50px solid #87529D;
  border-left: 50px solid #87529D;
}
@media only screen and (max-width: 1024px) {
  .theme-color {
    display: block;
  }
}
.theme-icon {
  position: absolute;
  top: 0;
  left: 0px;
  width: 100px;
  height: 100px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1pbnQuY3NzIiwibGliL2xlc3Mvc2hhcmVkL2hlbHBlcnMubGVzcyIsImxpYi9sZXNzL3NoYXJlZC9yZXNldC5sZXNzIiwibGliL2xlc3MvY29tcG9uZW50cy9jb3JlL2J1dHRvbi5sZXNzIiwibGliL2xlc3MvY29tcG9uZW50cy9jb3JlL3Jlc3BvbnNpdmUvZ3JpZC5sZXNzIiwibGliL2xlc3MvY29tcG9uZW50cy9jb3JlL3Jlc3BvbnNpdmUvaW1hZ2UubGVzcyIsImxpYi9sZXNzL2NvbXBvbmVudHMvY29yZS9yZXNwb25zaXZlL21lZGlhLmxlc3MiLCJsaWIvbGVzcy9jb21wb25lbnRzL2NvcmUvcmVzcG9uc2l2ZS9wYWdlLmxlc3MiLCJsaWIvbGVzcy9jb21wb25lbnRzL2NvcmUvcm93Lmxlc3MiLCJjb21wb25lbnRzL2Fuc3dlci12aWV3Lmxlc3MiLCJjb21wb25lbnRzL2JveC1jaGFwdGVyLmxlc3MiLCJjb21wb25lbnRzL2J1dHRvbi1leHBvcnQubGVzcyIsImNvbXBvbmVudHMvYnV0dG9uLWZpbHRlci5sZXNzIiwiY29tcG9uZW50cy9idXR0b24tdGVhY2hlci5sZXNzIiwiY29tcG9uZW50cy9jYXB0aW9uLWVsZW1lbnQubGVzcyIsImNvbXBvbmVudHMvY2Fyb3VzZWwtZWxlbWVudC5sZXNzIiwiY29tcG9uZW50cy9jaGFwdGVyLWNvdmVyLmxlc3MiLCJjb21wb25lbnRzL2NoYXB0ZXItc3VibmF2aS5sZXNzIiwiY29tcG9uZW50cy9jb21tb24tcGFnZS5sZXNzIiwiY29tcG9uZW50cy9jb250YWluZXItcXVlc3Rpb25zLmxlc3MiLCJjb21wb25lbnRzL2NvbnRhaW5lci10ZWFjaGVyLmxlc3MiLCJjb21wb25lbnRzL2RlbGltaXRlci1saW5lLmxlc3MiLCJjb21wb25lbnRzL2ZlZWRiYWNrLWNvbnRhaW5lci5sZXNzIiwiY29tcG9uZW50cy9mZWVkYmFjay1wYW5lbC5sZXNzIiwiY29tcG9uZW50cy9maWx0ZXItY29udGFpbmVyLmxlc3MiLCJjb21wb25lbnRzL2ZvbnRhc3RpYy1pY29ucy5sZXNzIiwiY29tcG9uZW50cy9pbWFnZS1lbGVtZW50Lmxlc3MiLCJjb21wb25lbnRzL2xhbmRpbmctbmF2aWdhdGlvbmNvbnRhaW5lci5sZXNzIiwiY29tcG9uZW50cy9sYW5kaW5nLW5hdmlnYXRpb25pdGVtLmxlc3MiLCJjb21wb25lbnRzL2xpZ2h0Ym94Lmxlc3MiLCJjb21wb25lbnRzL21haW4tbmF2aWdhdGlvbi5sZXNzIiwiY29tcG9uZW50cy9tb2R1bGUtbGFiZWwubGVzcyIsImNvbXBvbmVudHMvcGFnZS1mbHVpZC5sZXNzIiwiY29tcG9uZW50cy9wYWdlLWZvb3Rlci5sZXNzIiwiY29tcG9uZW50cy9wYWdlLWhlYWRlci5sZXNzIiwiY29tcG9uZW50cy9wYWdlLWxheW91dC5sZXNzIiwiY29tcG9uZW50cy9wYWdlLW92ZXJ2aWV3Lmxlc3MiLCJjb21wb25lbnRzL3BhcmFncmFwaC1lbGVtZW50Lmxlc3MiLCJjb21wb25lbnRzL3F1ZXN0aW9uLWl0ZW0ubGVzcyIsImNvbXBvbmVudHMvcXVlc3Rpb24tdGV4dC5sZXNzIiwiY29tcG9uZW50cy9zaWRlYmFyLWxvZ2luLmxlc3MiLCJjb21wb25lbnRzL3NpZGViYXItdGVhY2hlci5sZXNzIiwiY29tcG9uZW50cy9zdGlja3ktZm9vdGVyLmxlc3MiLCJjb21wb25lbnRzL3RleHQubGVzcyIsImNvbXBvbmVudHMvdGhlbWUtY29sb3IubGVzcyIsImNvbXBvbmVudHMvdGhlbWUtaWNvbi5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBQ0NGO0VBQ0MsbUJBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0NEQ0E7QUFDRDs7Ozs7Ozs7O0VBU0U7QUNHRjtFQUNDLG1CQUFBO0NEREE7QUFDRDs7Ozs7Ozs7O0VBU0U7QUNLRjtFQUNDLG1CQUFBO0NESEE7QUFDRDs7Ozs7Ozs7O0VBU0U7QUNPRjtFQUNDLHVCQUFBO0NETEE7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NTRFRDtFQUVJO0lBQ0ksb0JBQUE7SUFDQSxzQkFBQTtHM0M2NEVMO0UyQ3o0RUM7SUFDSSx1QkFBQTtJQUNBLG9CQUFBO0czQzI0RUw7Q0FDRjtBNEMxNkVEO0VBRUksY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBRUEsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUVBLFdBQUE7RUFFQSxxQ0FBQTtFQUNBLHNDQUFBO0M1Q3c2RUg7QTRDdDZFRztFQUNJLCtCQUFBO0VBQ0EsZ0NBQUE7QzVDdzZFUDtBNENyNkVHO0VBQ0ksK0JBQUE7RUFDQSxnQ0FBQTtDNUN1NkVQO0E0Q3I2RUc7RUFDSSwrQkFBQTtFQUNBLGdDQUFBO0M1Q3U2RVA7QTRDcjZFRztFQUNJLCtCQUFBO0VBQ0EsZ0NBQUE7QzVDdTZFUDtBNENyNkVHO0VBQ0ksK0JBQUE7RUFDQSxnQ0FBQTtDNUN1NkVQO0E0Q3A2RUc7RUFLSDtJQUpPLGVBQUE7RzVDdTZFTDtDQUNGO0E2Qzk4RUQ7RUFFSSxtQkFBQTtFQUNBLE9BQUE7RUFDQSxVQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7QzdDKzhFSCIsImZpbGUiOiJtaW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4tLS1cbm5hbWU6IC5zdHJldGNoXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLnN0cmV0Y2hgIERlZmluZSBhbiBlbGVtZW50IHdoaWNoIHN0cmV0Y2hlcyB0byB0aGUgc2l6ZSBvZiBpdHMgcGFyZW50XG5cbmBgYGh0bWxcbjxkaXYgY2xhc3M9XCJyZWxcIiBzdHlsZT1cImhlaWdodDogNTVweDtcIj5cbiAgIDxkaXYgY2xhc3M9XCJzdHJldGNoIHN0eWxlZ3VpZGUtZ3JpZC11bml0XCI+IEknbSBzdHJldGNoZWQgdG8gdGhlIHNpemUgb2YgbXkgcGFyZW50PC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbi5zdHJldGNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4vKlxuLS0tXG5uYW1lOiAuYWJzXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmFic2AgU2V0IHRoZSBlbGVtZW50IHBvc2l0aW9uIHRvIGFic29sdXRlXG4qL1xuLmFicyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi8qXG4tLS1cbm5hbWU6IC5yZWxcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAucmVsYCBTZXQgdGhlIGVsZW1lbnQgcG9zaXRpb24gdG8gcmVsYXRpdmVcbiovXG4ucmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLypcbi0tLVxubmFtZTogLnZjZW50ZXJcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAudmNlbnRlcmAgU2V0cyB2ZXJ0aWNhbC1hbGlnbiB0byBtaWRkbGVcbiovXG4udmNlbnRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKlxuLS0tXG5uYW1lOiAuaGNlbnRlclxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5oY2VudGVyYCBTZXRzIHRleHQtYWxpZ24gdG8gY2VudGVyXG4qL1xuLmhjZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4vKlxuLS0tXG5uYW1lOiAuZmxvYXRsZWZ0XG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmZsb2F0bGVmdGAgU2V0cyBmbG9hdCB0byBsZWZ0XG4qL1xuLmZsb2F0bGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLypcbi0tLVxubmFtZTogLmZsb2F0cmlnaHRcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuZmxvYXRyaWdodGAgU2V0cyBmbG9hdCB0byByaWdodFxuKi9cbi5mbG9hdHJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLypcbi0tLVxubmFtZTogLmhpZGRlblxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5oaWRkZW5gIFNldHMgZGlzcGxheSB0byBub25lLlxuKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLypcbi0tLVxubmFtZTogcmVtKCBwaXhlbHMgKVxuY2F0ZWdvcnk6IFNoYXJlZC9NaXhpbnNcbnRlbXBsYXRlOiBtaXhpblxudGFnOlxuIC0gbWl4aW5cbnBhcmFtZXRlcnM6XG4gLSBuYW1lOiBwaXhlbHNcbiAgIGRlc2NyaXB0aW9uOiBUaGUgcGl4ZWwgdmFsdWUgdG8gY29udmVydCBpbnRvIHJlbSBiYXNlZCBvbiB0aGUgMTZweCByb290IGZvbnQtc2l6ZVxuICAgb3B0aW9uYWw6IGZhbHNlXG4tLS1cblxuVGhpcyBsZXNzIGZ1bmN0aW9uIHR1cm5zIGEgcGl4ZWwgdmFsdWUgaW50byBhIHJlbSB2YWx1ZSBiYXNlZCBvbiB0aGUgcm9vdCBmb250LXNpemUgc2V0IHRvIDE2cHguXG5cbkFuIGV4YW1wbGUgdXNhZ2UgbG9va3MgbGlrZSB0aGlzOlxuXG5gYGBsZXNzXG4uZXhhbXBsZSB7XG5cdHBhZGRpbmc6IHJlbSggMTVweCApIHJlbSggMTJweCApXG59XG5gYGBcbiovXG4vKlxuLS0tXG5uYW1lOiAuZm9yKCBAYXJyYXksIEBjb2RlIClcbmNhdGVnb3J5OiBTaGFyZWQvTWl4aW5zXG50ZW1wbGF0ZTogbWl4aW5cbnRhZzpcbiAtIG1peGluXG5wYXJhbWV0ZXJzOlxuIC0gbmFtZTogYXJyYXlcbiAgIGRlc2NyaXB0aW9uOiBUaGUgYXJyYXkgb2YgdmFsdWVzIHRvIGxvb3Agb3ZlclxuICAgb3B0aW9uYWw6IGZhbHNlXG4gLSBuYW1lOiBjb2RlXG4gICBkZXNjcmlwdGlvbjogVGhlIGNvZGUgdGhhdCBpcyBleGVjdXRlZCBvbiBldmVyeSB2YWx1ZS4gWW91IGNhbiBhY2Nlc3MgdGhlIGluZGV4IHdpdGggYEBpYCBhbmQgdGhlIHZhbHVlIHdpdGggYEB2YWx1ZWBcbiAgIG9wdGlvbmFsOiBmYWxzZVxuLS0tXG5cblRoaXMgbWl4aW4gYWxsb3dzIHRvIGV4ZWN1dGUgY29kZSBvdmVyIGFuIGFycmF5XG5cbkFuIGV4YW1wbGUgdXNhZ2UgbG9va3MgbGlrZSB0aGlzOlxuYGBgbGVzc1xuQGNvbG9yczogIzFhYmM5YywgIzJlY2M3MSwgIzM0OThkYiwgIzliNTliNjtcblxuLmZvcihAY29sb3JzLCB7XG4gICAgLmNvbG9yLUB7aX0ge1xuICAgICAgICBjb2xvcjogQHZhbHVlO1xuICAgIH1cbn0pO1xuYGBgXG5cblRoaXMgZ2VuZXJhdGVzOlxuYGBgY3NzXG4uY29sb3ItMSB7XG4gIGNvbG9yOiAjMWFiYzljO1xufVxuLmNvbG9yLTIge1xuICBjb2xvcjogIzJlY2M3MTtcbn1cbi5jb2xvci0zIHtcbiAgY29sb3I6ICMzNDk4ZGI7XG59XG4uY29sb3ItNCB7XG4gIGNvbG9yOiAjOWI1OWI2O1xufVxuYGBgXG4qL1xuLypcbi0tLVxubmFtZTogR2xvYmFsIFJlc2V0XG5jYXRlZ29yeTogU2hhcmVkXG4tLS1cblxuVGhlIGxlcm5ldHogY3NzIGxpYnJhcnkgaGFzIGEgc2V0IG9mIHJlc2V0IHN0eWxlIHRvIGhhdmUgdGhlIHNhbWUgYmVoYXZpb3VyIG9uIGV2ZXJ5IGJyb3dzZXIuXG5GdXJ0aGVybW9yZSB0aGlzIHJlc2V0IHNldHMgc29tZSBnbG9iYWwgdmFyaWFibGVzIGxpa2U6XG4gKiBib2R5IGZvbnQtZmFtaWxpZXNcbiAqIGJvZHkgbGluZS1oZWlnaHRcbiAqIGJvZHkgdGV4dC1yZW5kZXJpbmdcbiAqIDpyb290IGZvbnQtc2l6ZSBmb3IgcHJvcGVyIHJlbSBjb252ZXJzaW9uXG4qL1xuaHRtbCxcbmJvZHksXG5kaXYsXG5zcGFuLFxub2JqZWN0LFxuaWZyYW1lLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmJsb2NrcXVvdGUsXG5wcmUsXG5hYmJyLFxuYWRkcmVzcyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5pbWcsXG5pbnMsXG5rYmQsXG5xLFxuc2FtcCxcbnNtYWxsLFxuc3Ryb25nLFxuc3ViLFxuc3VwLFxudmFyLFxuYixcbmksXG5kbCxcbmR0LFxuZGQsXG5vbCxcbnVsLFxubGksXG5maWVsZHNldCxcbmZvcm0sXG5sYWJlbCxcbmxlZ2VuZCxcbnRhYmxlLFxuY2FwdGlvbixcbnRib2R5LFxudGZvb3QsXG50aGVhZCxcbnRyLFxudGgsXG50ZCxcbmFydGljbGUsXG5hc2lkZSxcbmNhbnZhcyxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5LFxudGltZSxcbm1hcmssXG5hdWRpbyxcbnZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuOnJvb3Qge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5zZWxlY3Qge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xufVxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4vKlxuICogTm9ybWFsaXplIHRoZSBiZWhhdmlvdXIgb2YgYWxsIGJyb3dzZXJzXG4gKlxuICogSW5zdGVhZCBvZiBzZXR0aW5nIGJveC1zaXppbmcgZml4IG9uIGFsbCBlbGVtZW50cyB3ZSBvbmx5IHNldCBpdCBvbiB0aGUgcm9vdCBlbGVtZW50XG4gKiBhbmQgdGVsbCBhbGwgZWxlbWVudHMgdG8gaW5oZXJpdCBpdCdzIHByb3BlcnR5IGZyb20gdGhlIHBhcmVudFxuICogVGhhdCB3YXkgaXQncyBwb3NzaWJsZSB0byBvdmVyd3JpdGUgdGhlIGJveC1zaXppbmcgYW55d2hlcmUgd2hpbGUga2VlcGluZyBwcm9wZXIgaW5oZXJpdGFuY2VcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMkI3NTY1O1xufVxuYSA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLypcbi0tLVxubmFtZTogQ29sb3JzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IGNvbG9yc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBjb2xvcnNcbmNvbG9yczpcbiAtIHZhcmlhYmxlOiBcIkB0ZXh0LWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkZWZhdWx0IHRleHQgY29sb3Igb24gdGhlIGJvZHlcIlxuICAgdmFsdWU6IFwiIzNGM0Y0MFwiXG4gLSB2YXJpYWJsZTogXCJAdGV4dC1pbnZlcnRlZC1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgZGVmYXVsdCBpbnZlcnRlZCB0ZXh0IGNvbG9yIG9uIHRoZSBib2R5XCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuIC0gdmFyaWFibGU6IFwiQGFjdGlvbi1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBhY3Rpb24gY29sb3IgdXNlZCBmb3IgbGlua3MgYW5kIGJ1dHRvbnNcIlxuICAgdmFsdWU6IFwiI0VDNjQ0OVwiXG4gLSB2YXJpYWJsZTogXCJAYm9keS1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yXCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuLS0tXG5cblRoZSBjb2xvciB2YXJpYWJsZXMgdGhhdCBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSBsaWJyYXJ5LiBcbiovXG4vKlxuLS0tXG5uYW1lOiBHbG9iYWwgc2V0dGluZ3NcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogdmFyaWFibGVzXG50YWc6XG4gLSB2YXJpYWJsZXNcbnZhcmlhYmxlczpcbiAtIG5hbWU6IFwiQHRleHQtbGluZS1oZWlnaHRcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwiMS41cmVtXCJcbiAtIG5hbWU6IFwiQGZvbnQtZmFtaWx5XCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBmb250LWZhbWlseSBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIidIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmXCJcbiAtIG5hbWU6IFwiQHRleHQtcmVuZGVyaW5nXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSB0ZXh0LXJlbmRlcmluZyBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIm9wdGltaXplTGVnaWJpbGl0eVwiXG4gLSBuYW1lOiBcIkB0cmFuc2l0aW9uLWR1cmF0aW9uXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkdXJhdGlvbiBvZiB0aGUgc2xpZGUgdHJhbnNpdGlvbnNcIlxuICAgZGVmYXVsdDogXCIwLjRzXCJcbi0tLVxuXG5UaGVzZSB2YXJpYWJsZXMgc2V0dXBzIHNvbWUgZ2xvYmFsIHRleHQgZm9ybWF0dGluZyBhbmQgc3R5bGluZy5cbiovXG4vKlxuLS0tXG5uYW1lOiBTaXplIHNldHRpbmdzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IHZhcmlhYmxlc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBncmlkXG52YXJpYWJsZXM6XG4gLSBuYW1lOiBcIkBncmlkLWd1dHRlclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgc3BhY2UgYmV0d2VlbiB0aGUgZ3JpZCBjaGlsZHJlblwiXG4gICBkZWZhdWx0OiBcInJlbSggMzBweCApXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstcG9pbnRzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzY3JlZW5zaXplIHdoZW4gdGhlIGdyaWQgc2hvdWxkIGJyZWFrLlwiXG4gICBkZWZhdWx0OiBcInJlbSg2MDBweCksIHJlbSgxMDI0cHgpXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstbGFiZWxzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBicmVha3BvaW50IGxhYmVsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGVudGllIGluIHRoZSBgQGdyaWQtYnJlYWstcG9pbnRzYCBsaXN0XCJcbiAgIGRlZmF1bHQ6IFwibWVkaXVtLCBsYXJnZVwiXG4gLSBuYW1lOiBcIkBwYWdlLXBhZGRpbmdcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHBhZGRpbmcgZm9yIHRoZSAucGFnZS1mbHVpZCBjb21wb25lbnRcIlxuICAgZGVmYXVsdDogXCJyZW0oIDYwcHggKVwiXG4tLS1cblxuVGhlc2UgdmFyaWFibGVzIHNldHVwcyBzb21lIGdsb2JhbCBzaXplcyBtYWlubHkgZm9yIHRoZSBncmlkLlxuKi9cbi8qXG4tLS1cbm5hbWU6IC5idXR0b24tZGVmYXVsdFxuY2F0ZWdvcnk6IEJ1dHRvbnMvRGVmYXVsdFxudGFnOlxuIC0gY29tcG9uZW50XG4gLSBidXR0b25cbi0tLVxuXG5UaGUgZGVmYXVsdCBidXR0b24gc2V0cyBzb21lIGJhc2ljIHByb3BlcnRpZXMgc28gaXQgaXMgd29ya2luZyBhcyBhIGBidXR0b25gIG9yIGBhYCB0YWcuXG5cbkFuIGV4YW1wbGUgZm9yIGEgYnV0dG9uOlxuYGBgamFkZVxuYnV0dG9uLmJ1dHRvbi1kZWZhdWx0IE15IEJ1dHRvblxuYGBgXG5cbkFuIGV4YW1wbGUgZm9yIGEgbGluazpcbmBgYGphZGVcbmEuYnV0dG9uLWRlZmF1bHQgTXkgTGlua1xuYGBgXG4qL1xuLmJ1dHRvbi1kZWZhdWx0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4vKlxuLS0tXG5uYW1lOiAuZ3JpZFxuY2F0ZWdvcnk6IExheW91dC9HcmlkXG50YWc6XG4gLSBjb21wb25lbnRcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5BIHNpbXBsZSBncmlkIHN5c3RlbSB0aGF0IHdyYXBzIGNoaWxkcmVuIG5vZGVzIGJhc2VkIG9uIHRoZSB2aWV3cG9ydCB3aWR0aC5cblxuIyMgU2ltcGxlIHNpZGUgYnkgc2lkZSByZW5kZXJpbmdcblxuVGhlIGVhc2llc3QgdXNlIGNhc2UgaXMgdG8gdXNlIHNpbXBsZSBgLmNvbC0xYCwgYC5jb2wtMS0yYCwgYC5jb2wtMS0zYCwgYC5jb2wtMS00YCBmb3IgYSBzaWRlLWJ5LXNpZGUgcmVuZGVyaW5nLlxuVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGFsbCBjaGlsZCBlbGVtZW50cyBvZiBhIGAuZ3JpZGAgaXMgZXF1aXZhbGVudCB0byBgLmNvbC0xYCwgc28gZm9yIG9ubHkgb25lIGNoaWxkIGl0IHdpbGwgc3BhbiB0aGUgZnVsbCB3aWR0aC5cblxuYGBgamFkZVxuZGl2LmdyaWRcblx0ZGl2LmNvbC0xLTIgXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTJcblx0ZGl2LmNvbC0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtMlxuYGBgXG5gYGBqYWRlXG5kaXYuZ3JpZFxuXHRkaXYuY29sLTEtNCBcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtNFxuXHRkaXYuY29sLTMtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMy00XG5gYGBcblxuIyMgTGF5b3V0cyBvbiBkaWZmZXJlbnQgZGV2aWNlc1xuXG5UaGUgYnJlYWtwb2ludHMgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgYEBncmlkLWJyZWFrLXBvaW50c2AsIGBAZ3JpZC1icmVhay1sYWJlbHNgIHZhcmlhYmxlcy5cblRoZSBkZWZhdWx0IHZhbHVlcyBkZWZpbmUgdHdvIGJyZWFrcG9pbnRzIHdpdGggbGFiZWxzOiBgLm1lZGl1bS1YLVhgIGFuZCBgLmxhcmdlLVgtWGAuXG5TbyBhbiBleGFtcGxlIGdyaWQgd2l0aCB0d28gYnJlYWtwb2ludHMgbG9va3MgbGlrZSB0aGlzOlxuXG5gYGBqYWRlXG5kaXYuZ3JpZFxuXHRkaXYubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMSBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuXHRkaXYubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMSBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuXHRkaXYuY29sLTEtMi5tZWRpdW0tMS0yLmxhcmdlLTEtNC54bGFyZ2UtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTIgbWVkaXVtLTEtMiBsYXJnZS0xLTRcblx0ZGl2LmNvbC0xLTIubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yIG1lZGl1bS0xLTIgbGFyZ2UtMS00XG5gYGBcblxuKipOb3RlOioqIFRoZSBgY29sLTFgIGNsYXNzZXMgYXJlIG5vdCBwcmVzZW50IG9uIHRoZSBmaXJzdCB0d28gbm9kZXMsIHNpbmNlIHRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLlxuXG5cbiMjIFJldmVyc2Ugb3JkZXJcblxuVG8gcmV2ZXJzZSB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGNvbHVtbnMgYXJlIGRpc3BsYXllZCwgeW91IGNhbiBhZGQgdGhlIG1vZGlmaWVyIGNsYXNzIGAuLXJldmVyc2VgIHRvIHlvdXIgZ3JpZC5cblRoZSBjb2x1bW5zIHdpbGwgYmUgaW4gRE9NIG9yZGVyIHdoZW4gdmlld3BvcnQgc3dpdGNoZXMgdG8gc21hbGwgbGF5b3V0LlxuXG5gYGBqYWRlXG5kaXYuZ3JpZC4tcmV2ZXJzZVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGaXJzdCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFNlY29uZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFRoaXJkIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRm91cnRoIGNvbHVtbiBpbiBET01cbmBgYFxuIyMgTm8gZ3V0dGVyXG5cbklmIHlvdSBkb250IG5lZWQgYSBzcGFjaW5nL2d1dHRlciBiZXR3ZWVuIHRoZSBncmlkIGNvbHVtbnMgeW91IGNhbiB1c2UgdGhlIG1vZGlmaWVyIGAuLW5vZ3V0dGVyYC5cblxuYGBgamFkZVxuZGl2LmdyaWQuLW5vZ3V0dGVyXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIEZpcnN0IGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgU2Vjb25kIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgVGhpcmQgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGb3VydGggY29sdW1uIGluIERPTVxuYGBgXG4qL1xuLmdyaWQge1xuICBtYXJnaW46IDAgLTAuOTM3NXJlbTtcbiAgLyoqXG5cdCAqIEdlbmVyYXRlIGFsbCBtZWRpYSBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgQGdyaWQtYnJlYWstcG9pbnRzLCBAZ3JpZC1icmVhay1sYWJlbHMgdmFyaWFibGVzLlxuXHQgKi9cbn1cbi5ncmlkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuLmdyaWQgPiAqIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xufVxuLmdyaWQuLXJldmVyc2UgPiAqIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmdyaWQuLW5vZ3V0dGVyIHtcbiAgbWFyZ2luOiAwO1xufVxuLmdyaWQuLW5vZ3V0dGVyID4gKiB7XG4gIHBhZGRpbmc6IDA7XG59XG4uZ3JpZCAuY29sLTEge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ncmlkIC5jb2wtMS0yIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi5ncmlkIC5jb2wtMS0zIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbn1cbi5ncmlkIC5jb2wtMi0zIHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbn1cbi5ncmlkIC5jb2wtMS00IHtcbiAgd2lkdGg6IDI1JTtcbn1cbi5ncmlkIC5jb2wtMy00IHtcbiAgd2lkdGg6IDc1JTtcbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVyZW0pIHtcbiAgLmdyaWQgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5ncmlkID4gLm1lZGl1bS0xLTIge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQgPiAubWVkaXVtLTEtMyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZCA+IC5tZWRpdW0tMi0zIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5ncmlkID4gLm1lZGl1bS0xLTQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQgPiAubWVkaXVtLTMtNCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgLmdyaWQgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmdyaWQgPiAubGFyZ2UtMS0yIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkID4gLmxhcmdlLTEtMyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZCA+IC5sYXJnZS0yLTMge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQgPiAubGFyZ2UtMS00IHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkID4gLmxhcmdlLTMtNCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuLypcbi0tLVxubmFtZTogaW1nLnJlc3BvbnNpdmVcbmNhdGVnb3J5OiBMYXlvdXQvSW1hZ2VcbnRhZzpcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5UaGlzIGNsYXNzIG1ha2VzIHRoZSBpbWFnZSBzY2FsaW5nIHRvIGl0cyBtYXggd2lkdGguXG5cbmBgYGphZGVcbmltZy5yZXNwb25zaXZlKHNyYz0naHR0cDovL3d3dy5ieXVpLmVkdS9pbWFnZXMvYWdyaWN1bHR1cmUtbGlmZS1zY2llbmNlcy9mbG93ZXIuanBnJylcbmBgYFxuKi9cbmltZy5yZXNwb25zaXZlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4vKlxuLS0tXG5uYW1lOiAubWVkaWEtcmVzcG9uc2l2ZVxuY2F0ZWdvcnk6IExheW91dC9NZWRpYVxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbmAubWVkaWEtcmVzcG9uc2l2ZWAgLSBUaGlzIG1ha2VzIGEgdGhlIGAubWVkaWEtcmVzcG9uc2l2ZWAgZGl2IGEgY29udGFpbmVyIGZvciBhbnkgbWVkaWEgZWxlbWVudCAoaWZyYW1lLCB2aWRlbywgLi4uICkgdGhhdCByZXNwb25zaXZlIHNjYWxlcyB3aXRoIGEgZml4IHJhdGlvLlxuVGhlIG1lZGlhIGVsZW1lbnQgKCBjaGlsZCApIG5lZWRzIHRoZSBjbGFzcyBgLnN0cmV0Y2hgIHRvIGZ1bGx5IGZpbGwgb3V0IHRoZSBwYXJlbnRzIHNpemUuXG5cblRoZSBgLm1lZGlhLXJlc3BvbnNpdmVgIGNvbXBvbmVudCBoYXMgdG8gcHJlZGVmaW5lZCBtb2RpZmllcnM6IGAuLW1lZGlhLTQtM2AsIGAuLW1lZGlhLTE2LTlgIHRoYXQgZGVmaW5lIGEgZml4IHJhdGlvLlxuXG5gYGBqYWRlXG5kaXYubWVkaWEtcmVzcG9uc2l2ZS4tbWVkaWEtMTYtOVxuXHRpZnJhbWUuc3RyZXRjaChzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVRDZDZQZnhPeTBZXCIpXG5gYGBcbiovXG4ubWVkaWEtcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG4ubWVkaWEtcmVzcG9uc2l2ZS4tbWVkaWEtNC0zIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbi5tZWRpYS1yZXNwb25zaXZlLi1tZWRpYS0xNi05IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI2JTtcbn1cbi8qXG4tLS1cbm5hbWU6IC5wYWdlLWZsdWlkXG5jYXRlZ29yeTogUGFnZS9GbHVpZFxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbmAucGFnZS1mbHVpZGAgY2VudGVycyB0aGUgcGFnZSBjb250ZW50IGFuZCBhZGRzIGEgcGFkZGluZyBzbyB0aGUgcGFnZSBzdGlja3Mgbm90IHRvIHRoZSBicm93c2VyIHZpZXdwb3J0LlxuRnVydGhlcm1vcmUgaXQgaGFzIGEgbWF4LXdpZHRoIGJhc2VkIG9uIHRoZSBsYXN0IGBAZ3JpZC1icmVhay1wb2ludHNgIHZhbHVlLlxuXG5gYGBqYWRlXG5kaXYucGFnZS1mbHVpZFxuXHRkaXYuYWlnaXMtZGVidWcgU29tZSBwYWdlIGNvbnRlbnRcbmBgYFxuXG4jIyBNYXgtd2lkdGggcGFnZVxuXG5UbyBicm9hZGVuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSB5b3UgY2FuIGFkZCB0aGUgbW9kaWZpZXIgYC4tdW5saW1pdGVkYC4gVGhzaSB3aWxsIHNwYW4gdGhlIHBhZ2UgdG8gdGhlIGZ1bGwgd2lkdGguXG5cbmBgYGphZGVcbmRpdi5wYWdlLWZsdWlkLi11bmxpbWl0ZWRcblx0ZGl2LmFpZ2lzLWRlYnVnIFNvbWUgcGFnZSBjb250ZW50XG5gYGBcbiovXG4ucGFnZS1mbHVpZCB7XG4gIG1heC13aWR0aDogNzEuNXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwIDMuNzVyZW07XG59XG4ucGFnZS1mbHVpZC4tdW5saW1pdGVkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLypcbi0tLVxubmFtZTogLnJvd1xuY2F0ZWdvcnk6IExheW91dC9Sb3dcbnRhZzpcbiAtIGNvbXBvbmVudFxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cblRoaXMgc3R5bGluZyBhbGxvdyB0byBwbGFjZSBjb250YWluZXJzIGluIGEgcm93LiBUaGV5IHdpbGwgKipub3QqKiBicmVhayBhcyB0aGUgYC5ncmlkYCBidXQgcmVzaXplIHRoZW0gYWNjb3JkaW5nbHkuXG5Tb21lIGJlbmVmaXRzIG9mIHRoZSBgLnJvd2AgYXBwcm9hY2ggaXMgdGhlIGVhc3kgdmVydGljYWwgY2VudGVyaW5nIGFuZCB0aGUgdXNhZ2Ugb2YgdGhlIGAuY29sLWF1dG9gIGNsYXNzLlxuXG4jIyBCYXNpYyByb3cgd2l0aCB2ZXJ0aWNhbCBjZW50ZXJpbmdcblxuWW91IGNhbiB1c2UgdGhlIHNpemluZyBjbGFzc2VzIGAuY29sLVgtWGAgdG8gZGVmaW5lIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBhcyB0aGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MuIFxuXG5gYGBqYWRlXG5kaXYucm93XG5cdGRpdi5jb2wtMS00LmFpZ2lzLWRlYnVnIGNvbC0xLTQgd2l0aCBhIGxvdCBvZiB0ZXh0IHRoYXQgc3BhbnMgdGhlIGNvbHVtbi5cblx0ZGl2LmNvbC0zLTQuYWlnaXMtZGVidWcgY29sLTMtNCBjb250ZW50LlxuYGBgXG5cbiMjIEZpeGVkIHJvd1xuXG5UaGVyZSBpcyBhIGAuLWZpeGVkYCBtb2RpZmllciB3aGVyZSBlYWNoIGNvbHVtbiBoYXMgdGhlIHNhbWUgd2lkdGguXG5cbmBgYGphZGVcbmRpdi5yb3cuLWZpeGVkXG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtblxuXHRkaXYuYWlnaXMtZGVidWcgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW4gd2l0aCBtb3JlIGNvbnRlbnRcblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uXG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtbiB3aXRoIG11Y2ggbW9yZSBjb250ZW50IHRoYW4gdGhlIG90aGVyXG5cdGRpdi5haWdpcy1kZWJ1Zy52Y2VudGVyIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uIHdpdGggLnZjZW50ZXJcbmBgYFxuXG5cbiMjIEF1dG8gc2l6ZWQgY29sdW1uIHdpZHRoIGFuZCB2Y2VudGVyXG5cblRoZXJlIGlzIGEgc3BlY2lhbCBgLmNvbC1hdXRvYCBjbGFzcyB0aGF0IHJlc2l6ZXMgdGhlIGNvbHVtbiB0byB0aGUgc2l6ZSBvZiBpdHMgY29udGVudC5cblRoaXMgaXMgdXNlZnVsbCBmb3IgZXhhbXBsZSBpZiB5b3UgaGF2ZSBhIGZpeGVkIHNpemUgbG9nbyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGhlYWRlciBoYXMgdG8gcmVzaXplLlxuXG5gYGBqYWRlXG5kaXYucm93Li1jZW50ZXJcblx0ZGl2LmNvbC1hdXRvLmFpZ2lzLWRlYnVnXG5cdFx0aW1nKHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMTAweDEwMFwiKVxuXHRkaXYuY29sLTEuYWlnaXMtZGVidWcgVGhlIHJlc3Rcblx0ZGl2LmNvbC1hdXRvLmFpZ2lzLWRlYnVnXG5cdFx0aW1nKHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjAweDEwMFwiKVxuYGBgXG4qL1xuLnJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5yb3cuLWZpeGVkIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cbi5yb3cuLWNlbnRlciA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnJvdy4tYm90dG9tID4gKiB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4ucm93Li1wYWRkZWQgPiAqICsgKiB7XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG59XG4ucm93ID4gKiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG4ucm93ID4gKi5jb2wtMSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJvdyA+ICouY29sLTEtMixcbi5yb3cgPiAqLmNvbC0yLTQge1xuICB3aWR0aDogNTAlO1xufVxuLnJvdyA+ICouY29sLTEtMyB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4ucm93ID4gKi5jb2wtMi0zIHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbn1cbi5yb3cgPiAqLmNvbC0xLTQge1xuICB3aWR0aDogMjUlO1xufVxuLnJvdyA+ICouY29sLTMtNCB7XG4gIHdpZHRoOiA3NSU7XG59XG4ucm93ID4gKi5jb2wtYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLypcbi0tLVxubmFtZTogQ29sb3JzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IGNvbG9yc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBjb2xvcnNcbmNvbG9yczpcbiAtIHZhcmlhYmxlOiBcIkB0ZXh0LWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkZWZhdWx0IHRleHQgY29sb3Igb24gdGhlIGJvZHlcIlxuICAgdmFsdWU6IFwiIzNGM0Y0MFwiXG4gLSB2YXJpYWJsZTogXCJAdGV4dC1pbnZlcnRlZC1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgZGVmYXVsdCBpbnZlcnRlZCB0ZXh0IGNvbG9yIG9uIHRoZSBib2R5XCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuIC0gdmFyaWFibGU6IFwiQGFjdGlvbi1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBhY3Rpb24gY29sb3IgdXNlZCBmb3IgbGlua3MgYW5kIGJ1dHRvbnNcIlxuICAgdmFsdWU6IFwiI0VDNjQ0OVwiXG4gLSB2YXJpYWJsZTogXCJAYm9keS1jb2xvclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yXCJcbiAgIHZhbHVlOiBcIiNGRkZcIlxuLS0tXG5cblRoZSBjb2xvciB2YXJpYWJsZXMgdGhhdCBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSBsaWJyYXJ5LiBcbiovXG4vKlxuLS0tXG5uYW1lOiBHbG9iYWwgc2V0dGluZ3NcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogdmFyaWFibGVzXG50YWc6XG4gLSB2YXJpYWJsZXNcbnZhcmlhYmxlczpcbiAtIG5hbWU6IFwiQHRleHQtbGluZS1oZWlnaHRcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwiMS41cmVtXCJcbiAtIG5hbWU6IFwiQGZvbnQtZmFtaWx5XCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBmb250LWZhbWlseSBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIidIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmXCJcbiAtIG5hbWU6IFwiQHRleHQtcmVuZGVyaW5nXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSB0ZXh0LXJlbmRlcmluZyBvZiB0aGUgYm9keVwiXG4gICBkZWZhdWx0OiBcIm9wdGltaXplTGVnaWJpbGl0eVwiXG4gLSBuYW1lOiBcIkB0cmFuc2l0aW9uLWR1cmF0aW9uXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkdXJhdGlvbiBvZiB0aGUgc2xpZGUgdHJhbnNpdGlvbnNcIlxuICAgZGVmYXVsdDogXCIwLjRzXCJcbi0tLVxuXG5UaGVzZSB2YXJpYWJsZXMgc2V0dXBzIHNvbWUgZ2xvYmFsIHRleHQgZm9ybWF0dGluZyBhbmQgc3R5bGluZy5cbiovXG4vKlxuLS0tXG5uYW1lOiBTaXplIHNldHRpbmdzXG5jYXRlZ29yeTogU2hhcmVkL1ZhcmlhYmxlc1xudGVtcGxhdGU6IHZhcmlhYmxlc1xudGFnOlxuIC0gdmFyaWFibGVzXG4gLSBncmlkXG52YXJpYWJsZXM6XG4gLSBuYW1lOiBcIkBncmlkLWd1dHRlclwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgc3BhY2UgYmV0d2VlbiB0aGUgZ3JpZCBjaGlsZHJlblwiXG4gICBkZWZhdWx0OiBcInJlbSggMzBweCApXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstcG9pbnRzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzY3JlZW5zaXplIHdoZW4gdGhlIGdyaWQgc2hvdWxkIGJyZWFrLlwiXG4gICBkZWZhdWx0OiBcInJlbSg2MDBweCksIHJlbSgxMDI0cHgpXCJcbiAtIG5hbWU6IFwiQGdyaWQtYnJlYWstbGFiZWxzXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBicmVha3BvaW50IGxhYmVsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGVudGllIGluIHRoZSBgQGdyaWQtYnJlYWstcG9pbnRzYCBsaXN0XCJcbiAgIGRlZmF1bHQ6IFwibWVkaXVtLCBsYXJnZVwiXG4gLSBuYW1lOiBcIkBwYWdlLXBhZGRpbmdcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHBhZGRpbmcgZm9yIHRoZSAucGFnZS1mbHVpZCBjb21wb25lbnRcIlxuICAgZGVmYXVsdDogXCJyZW0oIDYwcHggKVwiXG4tLS1cblxuVGhlc2UgdmFyaWFibGVzIHNldHVwcyBzb21lIGdsb2JhbCBzaXplcyBtYWlubHkgZm9yIHRoZSBncmlkLlxuKi9cbi5hbnN3ZXItdmlldy4td3Jvbmcge1xuICBjb2xvcjogcmVkO1xufVxuLmFuc3dlci12aWV3IC5sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYW5zd2VyLXZpZXcgLmxhYmVsID4gLmlucHV0IHtcbiAgdG9wOiAwLjY4NzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuLmJveC1jaGFwdGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuLmJveC1jaGFwdGVyIC5tYW5kYXRvcnkge1xuICBtaW4taGVpZ2h0OiAzNHB4O1xufVxuLmJveC1jaGFwdGVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgY29udGVudDogXCLilrJcIjtcbn1cbi5ib3gtY2hhcHRlci4tZXhwYW5kZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgY29udGVudDogXCLilrJcIjtcbiAgei1pbmRleDogMTA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAtMjRweDtcbiAgY29sb3I6ICMyQjc1NjU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cztcbn1cbi5ib3gtY2hhcHRlciAuaW1hZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMyQjc1NjU7XG4gIG1heC1oZWlnaHQ6IDIwM3B4O1xufVxuLmJveC1jaGFwdGVyIC50aXRsZSB7XG4gIG1hcmdpbjogMTRweCAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xufVxuLmJveC1jaGFwdGVyIC5saW5rLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ib3gtY2hhcHRlciAubGluay1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMC44O1xufVxuLmJveC1jaGFwdGVyIC5saW5rLWNvbnRhaW5lcjpob3ZlciAudGl0bGUge1xuICBjb2xvcjogIzJCNzU2NTtcbn1cbi5ib3gtY2hhcHRlciAuY2xhc3MgPiBzdmcsXG4uYm94LWNoYXB0ZXIgLmR1cmF0aW9uID4gc3ZnLFxuLmJveC1jaGFwdGVyIC5sYWJlbCA+IHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogOXB4O1xuICBjb2xvcjogIzJCNzU2NTtcbn1cbi5ib3gtY2hhcHRlciAuY2xhc3MsXG4uYm94LWNoYXB0ZXIgLmR1cmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNTAlO1xufVxuLmJveC1jaGFwdGVyIC5leHBvcnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYm94LWNoYXB0ZXIgLmV4cG9ydCA+IC5idXR0b24tZXhwb3J0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmJveC1jaGFwdGVyIC5leHBvcnQgPiAuYnV0dG9uLWV4cG9ydDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuYm94LWNoYXB0ZXIgLmltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDdweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuYm94LWNoYXB0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmJveC1jaGFwdGVyIC5pbWFnZSB7XG4gICAgbWF4LWhlaWdodDogMzgwcHg7XG4gIH1cbiAgLmJveC1jaGFwdGVyID4gLnRpdGxlIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbn1cbi5idXR0b24tZXhwb3J0IHtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogOThweDtcbiAgY29sb3I6ICMyQjc1NjU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzJCNzU2NTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXM7XG59XG4uYnV0dG9uLWV4cG9ydDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzIyNjA1MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyNjA1MjtcbiAgY29sb3I6ICNmZmY7XG59XG4uYnV0dG9uLWV4cG9ydDphY3RpdmUge1xuICBib3JkZXItY29sb3I6ICMyQjc1NjU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjc1NjU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi1maWx0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuLmJ1dHRvbi1maWx0ZXI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5idXR0b24tZmlsdGVyLi1hY3RpdmUge1xuICBjb2xvcjogIzJCNzU2NTtcbn1cbi5idXR0b24tZmlsdGVyLi1hY3RpdmUgPiAuaWNvbi1jaGVja2VkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzJCNzU2NTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAyM3B4O1xufVxuLmJ1dHRvbi1maWx0ZXI6aG92ZXIge1xuICBjb2xvcjogIzIyNjA1Mjtcbn1cbi5idXR0b24tZmlsdGVyLi1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ1dHRvbi1maWx0ZXIgPiAuaWNvbi1maWx0ZXIsXG4uYnV0dG9uLWZpbHRlciA+IC5pY29uLWNoZWNrZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ1dHRvbi1maWx0ZXIuLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI3NTY1O1xufVxuLmJ1dHRvbi1maWx0ZXIuLXRvZ2dsZSA+IC5pY29uLWNoZWNrZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ1dHRvbi1maWx0ZXIuLXRvZ2dsZSA+IC5pY29uLWZpbHRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLypcbi5idXR0b24tZmlsdGVyIHtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgd2lkdGg6IDEzMnB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC40OHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi4tYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggNnB4IDAgcmdiYSgwLDAsMCwwLjMpO1xuICAgIH1cbiAgICAmLi1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuXG4qL1xuLmJ1dHRvbi10ZWFjaGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiA0MDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5idXR0b24tdGVhY2hlcjpob3ZlciB7XG4gIGNvbG9yOiAjMjI2MDUyO1xufVxuLmJ1dHRvbi10ZWFjaGVyIC5pY29uIHtcbiAgY29sb3I6ICMyQjc1NjU7XG4gIGhlaWdodDogMjZweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5idXR0b24tdGVhY2hlci4tY2xvc2Uge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzAwMDtcbn1cbi5idXR0b24tdGVhY2hlci4tY2xvc2UgLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbn1cbi5idXR0b24tdGVhY2hlci4tY2xvc2U6aG92ZXIge1xuICBjb2xvcjogIzIyNjA1Mjtcbn1cbi5jYXB0aW9uLWVsZW1lbnQgPiBwIHtcbiAgY29sb3I6ICM2YTZhNmE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMjA7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLmNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICByaWdodDogMzJweDtcbiAgdG9wOiAzMnB4O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5uYXZpLWxlZnQsXG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm5hdmktcmlnaHQge1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5uYXZpLXJpZ2h0IHtcbiAgcmlnaHQ6IDBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDAlKTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAubmF2aS1sZWZ0IHtcbiAgbGVmdDogMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jb250YWluZXIge1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLmNvbnRhaW5lciAuaW5uZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCAuY29udGFpbmVyIC5pbm5lciAuaW1hZ2Uge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5vcGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCAuY2FwdGlvbi1lbGVtZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAubmF2aS1sZWZ0LFxuLmNhcm91c2VsLWVsZW1lbnQgLm5hdmktcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjc1NjU7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAubmF2aS1sZWZ0IHN2Zyxcbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLXJpZ2h0IHN2ZyB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAubmF2aS1sZWZ0IHtcbiAgbGVmdDogMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAubmF2aS1yaWdodCB7XG4gIHJpZ2h0OiAwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSg1MCUpO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLm91dGVyLXN0YWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuNHMgZWFzZS1vdXQ7XG4gIGxlZnQ6IDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3gge1xuICBoZWlnaHQ6IDQ4NXB4O1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLmNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QTZBNkE7XG4gIGhlaWdodDogNDUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jb250YWluZXIgLmltYWdlIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCAuY2FwdGlvbi1lbGVtZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLmNoYXB0ZXItY292ZXIge1xuICBoZWlnaHQ6IDQ1MHB4O1xuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiA4NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoYXB0ZXItY292ZXIgPiAudGhlbWUtaWNvbiB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbn1cbi5jaGFwdGVyLWNvdmVyID4gLnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDk0MHB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBmb250LXdlaWdodDogZGVtaTtcbiAgbGluZS1oZWlnaHQ6IDQuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjExODc1cmVtO1xuICB0ZXh0LXNoYWRvdzogMC4xcHggMC4xcHggMTZweCAjNmE2YTZhNzM7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5jaGFwdGVyLWNvdmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjA2MjVyZW07XG4gICAgaGVpZ2h0OiAzNDBweDtcbiAgfVxuICAuY2hhcHRlci1jb3ZlciA+IC50aGVtZS1pY29uIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAuY2hhcHRlci1jb3ZlciA+IC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICB9XG59XG4uY2hhcHRlci1zdWJuYXZpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNzU2NTtcbiAgbWF4LWhlaWdodDogMHB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgbWFyZ2luLXRvcDogNDVweDtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkuLWV4cGFuZGVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwdnc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBtYXgtaGVpZ2h0IDNzO1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIge1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDFyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciA+IC50aGVtZS1pY29uIHtcbiAgbGVmdDogMTVweDtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyID4gLnRpdGxlcm93IHtcbiAgei1pbmRleDogMTA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICBwYWRkaW5nLWJvdHRvbTogMS4zNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyID4gLnRpdGxlcm93ID4gLm5hdml0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciA+IC50aXRsZXJvdyA+IC5kb3dubG9hZCB7XG4gIGZsb2F0OiByaWdodDtcbiAgY29sb3I6ICNmZmY7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciA+IC50aXRsZXJvdyA+IC5kb3dubG9hZCAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgPiAudGl0bGVyb3cgPiAuZG93bmxvYWQ6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyIC5pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgLml0ZW0gPiAuY2hhcHRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciAuaXRlbSAubW9kdWxlLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgLml0ZW0gLm1vZHVsZS1sYWJlbCA+IC5pY29uIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjYwNTI7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciAuaXRlbTpob3ZlciAubW9kdWxlLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyNjA1Mjtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyIC5pdGVtOmhvdmVyIC5tb2R1bGUtbGFiZWwgPiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjYwNTI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuY2hhcHRlci1zdWJuYXZpLi1leHBhbmRlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICB9XG4gIC5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAxcmVtO1xuICB9XG4gIC5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyIC50aGVtZS1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uY29tbW9uLXBhZ2Uge1xuICBtYXJnaW4tdG9wOiA1LjMxMjVyZW07XG59XG4uY29tbW9uLXBhZ2UuLW1haW4taW1wcmVzc3VtIGgxLFxuLmNvbW1vbi1wYWdlLi1tYWluLWltcHJlc3N1bSBoMixcbi5jb21tb24tcGFnZS4tbWFpbi1pbXByZXNzdW0gaDMsXG4uY29tbW9uLXBhZ2UuLW1haW4taW1wcmVzc3VtIC5wYXJhZ3JhcGgtZWxlbWVudCxcbi5jb21tb24tcGFnZS4tbWFpbi1pbXByZXNzdW0gLnBhcmFncmFwaC1lbGVtZW50IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jb21tb24tcGFnZSBoMSxcbi5jb21tb24tcGFnZSBoMixcbi5jb21tb24tcGFnZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG59XG4uY29tbW9uLXBhZ2UgPiAucGFyYWdyYXBoLWVsZW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG59XG4uY29tbW9uLXBhZ2UgPiAuaW1hZ2UtZWxlbWVudCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbn1cbi5jb21tb24tcGFnZSA+IC5kZWxpbWl0ZXItbGluZSB7XG4gIG1hcmdpbjogMy4xMjVyZW0gMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNvbW1vbi1wYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICB9XG4gIC5jb21tb24tcGFnZS4tbWFpbi1pbXByZXNzdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDcuNXJlbTtcbiAgfVxuICAuY29tbW9uLXBhZ2UuLW5vY292ZXIge1xuICAgIG1hcmdpbi10b3A6IDExLjI1cmVtO1xuICB9XG4gIC5jb21tb24tcGFnZSBoMSxcbiAgLmNvbW1vbi1wYWdlIGgyLFxuICAuY29tbW9uLXBhZ2UgaDMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICB9XG4gIC5jb21tb24tcGFnZSA+IC50aXRsZS1lbGVtZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbiAgLmNvbW1vbi1wYWdlID4gLnBhcmFncmFwaC1lbGVtZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIH1cbiAgLmNvbW1vbi1wYWdlID4gLmltYWdlLWVsZW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxuICAuY29tbW9uLXBhZ2UgPiAuZGVsaW1pdGVyLWxpbmUge1xuICAgIG1hcmdpbjogMS44NzVyZW0gMDtcbiAgfVxufVxuLmNvbnRhaW5lci1xdWVzdGlvbnMge1xuICBtYXJnaW4tYm90dG9tOiA1LjYyNXJlbTtcbn1cbi5jb250YWluZXItcXVlc3Rpb25zIC5tYWluLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGJsYWNrO1xufVxuLmNvbnRhaW5lci1xdWVzdGlvbnMgLm51bWJlciB7XG4gIG1hcmdpbi1ib3R0b206IDIuODc1cmVtO1xuICBjb2xvcjogIzJCNzU2NTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICMyQjc1NjU7XG4gIGxpbmUtaGVpZ2h0OiAwLjA1ZW07XG4gIGZvbnQtc2l6ZTogM3JlbTtcbn1cbi5jb250YWluZXItcXVlc3Rpb25zIC5udW1iZXIgc3BhbiB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5jb250YWluZXItcXVlc3Rpb25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG4gIC5jb250YWluZXItcXVlc3Rpb25zID4gLm51bWJlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICB9XG59XG4uY29udGFpbmVyLXRlYWNoZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJCNzU2NTtcbn1cbi5jb250YWluZXItdGVhY2hlci5zaWRlYmFyLWxvZ2luIHtcbiAgYm9yZGVyLWJvdHRvbTogMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5tb2R1bGUtdGl0bGUge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUudGl0bGUtZG93bmxvYWQge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJCNzU2NTtcbiAgY3Vyc29yOiBhdXRvO1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMTBweCAwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLnRpdGxlIHtcbiAgbWFyZ2luOiAwcHggLTE4cHggMHB4IC0yN3B4O1xuICBwYWRkaW5nOiAxMHB4IDBweCAxMHB4IDI3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC50aXRsZS4tY2hhcHRlci4tY3VycmVudCB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzJCNzU2NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUuLWNoYXB0ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC50aXRsZS4tYmFja2dyb3VuZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLnRpdGxlIC50aXRsZS1jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLnRpdGxlIC5pY29uIHtcbiAgY29sb3I6ICMyQjc1NjU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNHB4O1xuICByaWdodDogMTdweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24uLWlubGluZSAuc2VjdGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuY29udGVudCAuY29udGVudC1zZWN0aW9uIHVsLFxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24gb2wge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuY29udGVudCAuY29udGVudC1zZWN0aW9uIHVsIGxpLFxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24gb2wgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50Li1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCA+IC5idXR0b24tZXhwb3J0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyOXB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5leHBvcnQgLmRvd25sb2FkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW46IDExcHggMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5leHBvcnQgLmRvd25sb2FkOmhvdmVyIHtcbiAgY29sb3I6ICMyQjc1NjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jb250YWluZXItdGVhY2hlciAuZXhwb3J0IHAge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNvbnRhaW5lci10ZWFjaGVyIC5tb2R1bGUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmNvbnRhaW5lci10ZWFjaGVyIC5leHBvcnQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLmNvbnRhaW5lci10ZWFjaGVyIC5leHBvcnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuLmRlbGltaXRlci1saW5lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjMkI3NTY1O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuZGVsaW1pdGVyLWxpbmUge1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMkI3NTY1O1xuICB9XG59XG4uZmVlZGJhY2stY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uZmVlZGJhY2stY29udGFpbmVyIC5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZmVlZGJhY2stY29udGFpbmVyIC5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmZlZWRiYWNrLXBhbmVsIHtcbiAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNGI0YjQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbn1cbi5mZWVkYmFjay1wYW5lbC4tY29ycmVjdCB7XG4gIGNvbG9yOiAjMTU1NzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhO1xuICBib3JkZXItY29sb3I6ICNjM2U2Y2I7XG59XG4uZmVlZGJhY2stcGFuZWwuLXdyb25nIHtcbiAgY29sb3I6ICM3MjFjMjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7XG4gIGJvcmRlci1jb2xvcjogI2Y1YzZjYjtcbn1cbi5maWx0ZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogNDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBib3gtc2hhZG93OiAwLjFweCAwLjFweCAxNnB4ICM2YTZhNmE1NDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmZpbHRlci1jb250YWluZXIge1xuICAgIHJpZ2h0OiAxNnB4O1xuICB9XG59XG5bY2xhc3NePVwiaWNvbi1cIl0sXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMzJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xufVxuW2NsYXNzXj1cImljb24tXCJdLi1zbWFsbCxcbltjbGFzcyo9XCIgaWNvbi1cIl0uLXNtYWxsIHtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbn1cbltjbGFzc149XCJpY29uLVwiXS4tc3ViLFxuW2NsYXNzKj1cIiBpY29uLVwiXS4tc3ViIHtcbiAgdmVydGljYWwtYWxpZ246IHN1Yjtcbn1cbltjbGFzc149XCJpY29uLVwiXS4taW52ZXJ0ZWQsXG5bY2xhc3MqPVwiIGljb24tXCJdLi1pbnZlcnRlZCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xufVxuW2NsYXNzXj1cImljb24tXCJdLi1icmFuZCxcbltjbGFzcyo9XCIgaWNvbi1cIl0uLWJyYW5kIHtcbiAgY29sb3I6ICMyQjc1NjU7XG59XG5bY2xhc3NePVwiaWNvbi1cIl0uLXJzcGFjZXIsXG5bY2xhc3MqPVwiIGljb24tXCJdLi1yc3BhY2VyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmljb25jb250YWluZXIuLWludmVydGVkID4gW2NsYXNzXj1cImljb24tXCJdLFxuLmljb25jb250YWluZXIuLWludmVydGVkID4gW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xufVxuLmltYWdlLWVsZW1lbnQuLXNtYWxsIHtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5pbWFnZS1lbGVtZW50Li1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4vKipcblxuLmxhbmRpbmctaW50cm8ge1xuXG4gICAgYW5pbWF0aW9uOiB0eXBlIDhzIHN0ZXBzKDExMCksIGJsaW5rIDFzIGluZmluaXRlO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiA5NzBweDtcbiAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCBibGFjaztcblxuXG4gICAgQGtleWZyYW1lcyB0eXBlIHtcbiAgICAgICAgZnJvbXtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAa2V5ZnJhbWVzIGJsaW5rIHtcbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuKiovXG4ubGFuZGluZy1uYXZpZ2F0aW9uY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0gLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBsaW5lLWhlaWdodDogMHB4O1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTtcbiAgbWFyZ2luOiAxLjg3NXJlbSBhdXRvO1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0gLmltYWdlLWNvbnRhaW5lciA+IC5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtIC5pbWFnZS1jb250YWluZXIgPiAuYWN0aXZhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0gLnRleHQge1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDA7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbS4taGlkZGVuIC5hY3RpdmF0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbS4taGlkZGVuIC5pbWFnZSxcbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtLi1oaWRkZW4gLnRleHQge1xuICBvcGFjaXR5OiAwLjI7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbS50aGVtZS1saWxhYyAuaW1hZ2UtY29udGFpbmVyIHtcbiAgYm9yZGVyOiA1cHggc29saWQgIzVDNUFBNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVDNUFBNTtcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtLnRoZW1lLWxpbGFjIC5mbGFzaCB7XG4gIGNvbG9yOiAjNUM1QUE1O1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0udGhlbWUtbWludCAuaW1hZ2UtY29udGFpbmVyIHtcbiAgYm9yZGVyOiA1cHggc29saWQgIzJCNzU2NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNzU2NTtcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtLnRoZW1lLW1pbnQgLmZsYXNoIHtcbiAgY29sb3I6ICMyQjc1NjU7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbSAuZmxhc2gge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzLCBvcGFjaXR5IDAuOHMsIHRvcCAwLjhzLCBsZWZ0IDAuOHMsIHJpZ2h0IDAuOHM7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbSAuZmxhc2ggLmljb24ge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA1NnB4O1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW06bm90KC4taGlkZGVuKTpob3ZlciB7XG4gIC8qKiBkaXNhYmxlZCB1bnRpbCBpY29ucyBhcmUgZGVmaW5lZC4uLlxuICAgICAgICAuZmxhc2gge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzLCBvcGFjaXR5IDAuOHMsIHRvcCAwLjhzLCBsZWZ0IDAuOHMsIHJpZ2h0IDAuOHM7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuZmxhc2gxIHtcbiAgICAgICAgICAgICAgICB0b3A6IDYzcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJi5mbGFzaDIge1xuICAgICAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyODBweFxuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJi5mbGFzaDMge1xuICAgICAgICAgICAgICAgIHRvcDogMzAycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDc3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbioqL1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW06bm90KC4taGlkZGVuKTpob3ZlciAuaW1hZ2Uge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG59XG4ubGlnaHRib3gge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4ubGlnaHRib3ggLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmxpZ2h0Ym94IC5jb250YWluZXIgLm9wZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogOHB4O1xuICByaWdodDogMHB4O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbi5saWdodGJveCAub3Blbixcbi5saWdodGJveCAuY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubGlnaHRib3ggLm9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5saWdodGJveCAuY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmxpZ2h0Ym94Li1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4ubGlnaHRib3guLW9wZW4gLmNhcHRpb24tZWxlbWVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGlnaHRib3guLW9wZW4gLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiA4MCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4ubGlnaHRib3guLW9wZW4gLmNvbnRhaW5lciAuaW5uZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAyMHB4IDBweDtcbn1cbi5saWdodGJveC4tb3BlbiAuY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTZweDtcbiAgdG9wOiAxNnB4O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuLmxpZ2h0Ym94Li1vcGVuIC5vcGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5saWdodGJveC4tb3BlbiAuY2FwdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi5tYWluLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICBjb2xvcjogIzJCNzU2NTtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmhhbWJ1cmdlciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5oYW1idXJnZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBjb2xvcjogIzAwMDtcbn1cbi5tYWluLW5hdmlnYXRpb24gbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4IDAgOHB4IDIwcHg7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIGxpIGEge1xuICBjb2xvcjogIzAwMDtcbn1cbi5tYWluLW5hdmlnYXRpb24gbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMjI2MDUyO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxIHtcbiAgd2lkdGg6IDIzLjc1cmVtO1xuICBib3gtc2hhZG93OiAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEgLmJvb2ssXG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEgLmltcHJlc3N1bSB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMSAuaWNvbiB7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjMkI3NTY1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxLi1mbGF0bmF2aWdhdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMS4tYWN0aXZlIC5ib29rOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBwYWRkaW5nOiA2cHggMCA2cHggMzdweDtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMkI3NTY1O1xuICBjb2xvcjogIzJCNzU2NTtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMS4tYWN0aXZlIC5pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMS4tYWN0aXZlIC5sZXZlbDIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMS4tYWN0aXZlIC5sZXZlbDIgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxLi1hY3RpdmUgLmxldmVsMiBsaTpob3ZlciBhIHtcbiAgY29sb3I6ICMyMjYwNTI7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDE6Zmlyc3QtY2hpbGQ6aG92ZXIge1xuICBjb2xvcjogIzIyNjA1Mjtcbn1cbi5tYWluLW5hdmlnYXRpb24gLi1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDIge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxIHtcbiAgICB3aWR0aDogMjEuMjVyZW07XG4gIH1cbn1cbi5tb2R1bGUtbGFiZWwge1xuICBjb2xvcjogIzZhNmE2YTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLm1vZHVsZS1sYWJlbC4taGFsZiB7XG4gIHdpZHRoOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5tb2R1bGUtbGFiZWwgLmljb24ge1xuICBjb2xvcjogIzJCNzU2NTtcbiAgbWFyZ2luLXJpZ2h0OiA5cHg7XG59XG4ubW9kdWxlLWxhYmVsIC50ZXh0IHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5wYWdlLWZsdWlkIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBtYXgtd2lkdGg6IDQwLjEyNXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNvbnRlbnQgIC5wYWdlLWZsdWlkIHtcbiAgICBwYWRkaW5nOiAwIDA7XG4gIH1cbn1cbi5wYWdlLWZvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI3NTY1O1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBhZ2UtZm9vdGVyIC50ZXh0IHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAzMnB4O1xufVxuLnBhZ2UtZm9vdGVyIC50ZXh0IC5pbXByZXNzdW0ge1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2UtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNjBweDtcbiAgfVxufVxuLnBhZ2UtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5wYWdlLWhlYWRlci4tbGFuZGluZ3BhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ucGFnZS1oZWFkZXIuLWltcHJlc3N1bSAubG9nby1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuLnBhZ2UtaGVhZGVyIC5ib3JkZXItYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuLnBhZ2UtaGVhZGVyIC5sb2dvLXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI3NTY1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMHB4O1xufVxuLnBhZ2UtaGVhZGVyIC5sb2dvLXNlY3Rpb24gLnRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDUzMTI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmY7XG59XG4ucGFnZS1oZWFkZXIgLmxvZ28tc2VjdGlvbiAubG9nbyB7XG4gIHdpZHRoOiA5NnB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG59XG4ucGFnZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5wYWdlLWhlYWRlciAuYnV0dG9uLWxvZ2luIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogNTJweDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xufVxuLnBhZ2UtaGVhZGVyIC5idXR0b24tbG9naW4gYSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnBhZ2UtaGVhZGVyIC5idXR0b24tbG9naW4gYSBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIGNvbG9yOiAjMkI3NTY1O1xufVxuLnBhZ2UtaGVhZGVyIC5idXR0b24tbG9naW46aG92ZXIgYSB7XG4gIGNvbG9yOiAjMjI2MDUyO1xufVxuLnBhZ2UtaGVhZGVyIC5idXR0b24tbG9naW46YWN0aXZlIGEge1xuICBjb2xvcjogIzIyNjA1Mjtcbn1cbi5wYWdlLWhlYWRlciAuc2lkZWJhci10ZWFjaGVyIHtcbiAgcmlnaHQ6IDA7XG59XG4ucGFnZS1oZWFkZXIgLnNpdGUtdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBhZ2UtaGVhZGVyIC5ob21lLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFnZS1oZWFkZXIuLWNvbGxhYnNlIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbn1cbi5wYWdlLWhlYWRlci4tY29sbGFic2UgLmxvZ28tc2VjdGlvbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwcHg7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xufVxuLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAudGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAuc2l0ZS10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNzVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wYWdlLWhlYWRlci4tY29sbGFic2UgLmJhY2stYnV0dG9uIHtcbiAgdG9wOiA1NXB4O1xuICB0cmFuc2l0aW9uOiB0b3AgMC41cztcbn1cbi5wYWdlLWhlYWRlci4tY29sbGFic2UgLmhvbWUtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xufVxuLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAuaG9tZS1idXR0b24gLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjZweDtcbiAgd2lkdGg6IDI2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ucGFnZS1oZWFkZXIgPiAuYmFjay1idXR0b24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTM0cHg7XG4gIGxlZnQ6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucGFnZS1oZWFkZXIgPiAuYmFjay1idXR0b24gYSB7XG4gIGNvbG9yOiAjMDAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnBhZ2UtaGVhZGVyID4gLmJhY2stYnV0dG9uOmhvdmVyIGEge1xuICBjb2xvcjogIzJCNzU2NTtcbn1cbi5wYWdlLWhlYWRlciA+IC5iYWNrLWJ1dHRvbiAuaWNvbiB7XG4gIGNvbG9yOiAjMkI3NTY1O1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucGFnZS1oZWFkZXIuLWNvbGxhYnNlIC5zaXRlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wYWdlLWhlYWRlci4tY29sbGFic2UgLnNpdGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyIC5sb2dvLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5wYWdlLWhlYWRlciAubG9nby1zZWN0aW9uIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICB9XG4gIC5wYWdlLWhlYWRlciAubG9nby1zZWN0aW9uIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyIC5idXR0b24tbG9naW4gLm5hdmktdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucGFnZS1oZWFkZXIgLmJ1dHRvbi10ZWFjaGVyIHtcbiAgICB3aWR0aDogMzBweDtcbiAgfVxuICAucGFnZS1oZWFkZXIgLmJ1dHRvbi10ZWFjaGVyIC5uYXZpLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5wYWdlLWxheW91dCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cbi5wYWdlLWxheW91dCA+IC5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDE2MnB4O1xufVxuLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLW1haW4taW1wcmVzc3VtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNzU2NTtcbiAgbWFyZ2luOiAwIC0xcmVtO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucGFnZS1sYXlvdXQgPiAuY29udGVudC4tbWFpbi1pbXByZXNzdW0gPiAuY2xvc2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMHJlbTtcbn1cbi5wYWdlLWxheW91dCA+IC5jb250ZW50Li1tYWluLWltcHJlc3N1bSA+IC5jbG9zZSA+IC5saW5rIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5wYWdlLWxheW91dCA+IC5jb250ZW50Li1tYWluLWltcHJlc3N1bSA+IC5jbG9zZSA+IC5saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM3MjFjMjQ7XG59XG4ucGFnZS1sYXlvdXQgPiAuY29udGVudC4tc2lkZWJhciB7XG4gIHBhZGRpbmctcmlnaHQ6IDQwMHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLW1haW4taW1wcmVzc3VtIHtcbiAgICByaWdodDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucGFnZS1sYXlvdXQgPiAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMTQwcHg7XG4gIH1cbiAgLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLW1haW4taW1wcmVzc3VtIHtcbiAgICBwYWRkaW5nOiAwIDNyZW07XG4gIH1cbiAgLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLW1haW4taW1wcmVzc3VtID4gLmNsb3NlIHtcbiAgICB0b3A6IDEwNXB4O1xuICAgIHJpZ2h0OiAycmVtO1xuICB9XG4gIC5wYWdlLWxheW91dCA+IC5jb250ZW50Li1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxufVxuLnBhZ2Utb3ZlcnZpZXcge1xuICBtYXgtd2lkdGg6IDU4Ljc1cmVtO1xufVxuLnBhZ2Utb3ZlcnZpZXcgLmludHJvZHVjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDIuMzc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogNTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2Utb3ZlcnZpZXcgPiAuaW50cm9kdWN0aW9uIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgfVxufVxuLnBhcmFncmFwaC1lbGVtZW50IHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQuLWludHJvZHVjdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudC4tZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgc3Ryb25nLFxuLnBhcmFncmFwaC1lbGVtZW50IGIge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCB1bCxcbi5wYXJhZ3JhcGgtZWxlbWVudCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLnBhcmFncmFwaC1lbGVtZW50IHVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgYmxhY2s7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IGhlbHA7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbiAudG9vbHRpcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tcmlnaHQgLnRvb2x0aXAge1xuICBsZWZ0OiAwcHg7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tbGVmdCAudG9vbHRpcCB7XG4gIHJpZ2h0OiAwcHg7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tdG9wIC50b29sdGlwIHtcbiAgYm90dG9tOiAzMHB4O1xufVxuLnBhcmFncmFwaC1lbGVtZW50IC5hYmJyZXZpYXRpb24uLWJvdHRvbSAudG9vbHRpcCB7XG4gIHRvcDogMzBweDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi1iaWcuLW9wZW4gLnRvb2x0aXAsXG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tYmlnOmhvdmVyIC50b29sdGlwIHtcbiAgd2lkdGg6IGF1dG87XG4gIHdpZHRoOiA1MHZ3O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuLnBhcmFncmFwaC1lbGVtZW50IC5hYmJyZXZpYXRpb24uLXNpZGViYXIuLW9wZW4gLnRvb2x0aXAsXG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tc2lkZWJhcjpob3ZlciAudG9vbHRpcCB7XG4gIHdpZHRoOiBhdXRvO1xuICB3aWR0aDogMjAwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tb3BlbiAudG9vbHRpcCxcbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uOmhvdmVyIC50b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTFlMWU7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wYXJhZ3JhcGgtZWxlbWVudC4taW50cm9kdWN0aW9uIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB9XG4gIC5wYXJhZ3JhcGgtZWxlbWVudC4tZGVmYXVsdCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgfVxuICAucGFyYWdyYXBoLWVsZW1lbnQgdWwsXG4gIC5wYXJhZ3JhcGgtZWxlbWVudCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuLnF1ZXN0aW9uLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xufVxuLnF1ZXN0aW9uLWl0ZW0gPiAuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICMyQjc1NjU7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4ucXVlc3Rpb24taXRlbSAudGl0bGUge1xuICBjb2xvcjogIzJCNzU2NTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnF1ZXN0aW9uLWl0ZW0gLmxpbmtlZHZpZGVvLWVsZW1lbnQgLmNhcHRpb24tZWxlbWVudCB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xufVxuLnF1ZXN0aW9uLWl0ZW0gLnBhcmFncmFwaC1lbGVtZW50LFxuLnF1ZXN0aW9uLWl0ZW0gLmltYWdlLWVsZW1lbnQsXG4ucXVlc3Rpb24taXRlbSB1bCxcbi5xdWVzdGlvbi1pdGVtIG9sLFxuLnF1ZXN0aW9uLWl0ZW0gLmlmcmFtZS1lbGVtZW50LFxuLnF1ZXN0aW9uLWl0ZW0gLnZpZGVvLWVsZW1lbnQsXG4ucXVlc3Rpb24taXRlbSAubGlua2VkdmlkZW8tZWxlbWVudCxcbi5xdWVzdGlvbi1pdGVtIC5jYXJvdXNlbC1lbGVtZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5xdWVzdGlvbi1pdGVtIC5wYXJhZ3JhcGgtZWxlbWVudC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSAuaW1hZ2UtZWxlbWVudC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSB1bC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSBvbC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSAuaWZyYW1lLWVsZW1lbnQuLW5vbWFyZ2luLFxuLnF1ZXN0aW9uLWl0ZW0gLnZpZGVvLWVsZW1lbnQuLW5vbWFyZ2luLFxuLnF1ZXN0aW9uLWl0ZW0gLmxpbmtlZHZpZGVvLWVsZW1lbnQuLW5vbWFyZ2luLFxuLnF1ZXN0aW9uLWl0ZW0gLmNhcm91c2VsLWVsZW1lbnQuLW5vbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5xdWVzdGlvbi1pdGVtIHVsLFxuLnF1ZXN0aW9uLWl0ZW0gb2wge1xuICBtYXJnaW4tbGVmdDogNjBweDtcbn1cbi5xdWVzdGlvbi1pdGVtIHVsIGxpLFxuLnF1ZXN0aW9uLWl0ZW0gb2wgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucXVlc3Rpb24taXRlbSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGRlbWk7XG4gIH1cbiAgLnF1ZXN0aW9uLWl0ZW0gLnBhcmFncmFwaC1lbGVtZW50LFxuICAucXVlc3Rpb24taXRlbSAuaW1hZ2UtZWxlbWVudCxcbiAgLnF1ZXN0aW9uLWl0ZW0gdWwsXG4gIC5xdWVzdGlvbi1pdGVtIG9sLFxuICAucXVlc3Rpb24taXRlbSAuaWZyYW1lLWVsZW1lbnQsXG4gIC5xdWVzdGlvbi1pdGVtIC52aWRlby1lbGVtZW50LFxuICAucXVlc3Rpb24taXRlbSAubGlua2VkdmlkZW8tZWxlbWVudCxcbiAgLnF1ZXN0aW9uLWl0ZW0gLmNhcm91c2VsLWVsZW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cbi5xdWVzdGlvbi10ZXh0ID4gLmRyb3Bkb3duLi13cm9uZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7XG59XG4ucXVlc3Rpb24tdGV4dCA+IC5kcm9wZG93bi4tY29ycmVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7XG59XG4uc2lkZWJhci1sb2dpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjc1NjU7XG4gIG1hcmdpbi1sZWZ0OiAtMjdweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMThweDtcbiAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xufVxuLnNpZGViYXItbG9naW4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zaWRlYmFyLWxvZ2luIC5pY29uIHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuLnNpZGViYXItbG9naW4gLmljb24uaWNvbi1hcnJvdy1kb3duIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICByaWdodDogLTQwcHg7XG59XG4uc2lkZWJhci1sb2dpbiAudGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc2lkZWJhci1sb2dpbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjYwNTI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnNpZGViYXItbG9naW4gLmljb24uaWNvbi1hcnJvdy1kb3duIHtcbiAgICByaWdodDogLTIwcHg7XG4gIH1cbn1cbi5zaWRlYmFyLXRlYWNoZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gIGJveC1zaGFkb3c6IC0xcHggMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDM0cHg7XG4gIHdpZHRoOiA0MTZweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMHB4O1xuICB0b3A6IDEzM3B4O1xuICBib3R0b206IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHotaW5kZXg6IDEwO1xufVxuLnNpZGViYXItdGVhY2hlci4tdGVhY2hlciAuY29udGFpbmVyLXRlYWNoZXIuc29ydC0wIC50aXRsZSB7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjMkI3NTY1O1xufVxuLnNpZGViYXItdGVhY2hlciAubGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zaWRlYmFyLXRlYWNoZXIgLm1ldGEtc3BhY2Uge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4O1xufVxuLnNpZGViYXItdGVhY2hlci4tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGViYXItdGVhY2hlci4tY29sbGFic2Uge1xuICB0b3A6IDU1cHg7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zaXRpb246IHRvcCAwLjVzO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuc2lkZWJhci10ZWFjaGVyIHtcbiAgICB0b3A6IDEzM3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDM0M3B4O1xuICB9XG59XG5ib2R5LmxhbmRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkubGFuZGluZyAucGFnZS1sYXlvdXQgLnBhZ2UtbGFuZGluZyB7XG4gIGZsZXg6IDE7XG59XG5ib2R5LmxhbmRpbmcgLnBhZ2UtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5oMSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbmgyIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMy42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5oMyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgfVxuICBoMyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG59XG4udGhlbWUtY29sb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB6LWluZGV4OiA1O1xuICBib3JkZXItcmlnaHQ6IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4udGhlbWUtY29sb3IuLW9wdGlrIHtcbiAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjRjZBQzRFO1xuICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjRjZBQzRFO1xufVxuLnRoZW1lLWNvbG9yLi1lbmVyZ2llIHtcbiAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjNkZDM0E5O1xuICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjNkZDM0E5O1xufVxuLnRoZW1lLWNvbG9yLi1lbGVrdHJpeml0YWV0IHtcbiAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjQ0NEN0M1O1xuICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjQ0NEN0M1O1xufVxuLnRoZW1lLWNvbG9yLi1rb2VycGVyIHtcbiAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjRjU2RTk0O1xuICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjRjU2RTk0O1xufVxuLnRoZW1lLWNvbG9yLi1yb2JvdGlrIHtcbiAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjODc1MjlEO1xuICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjODc1MjlEO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnRoZW1lLWNvbG9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnRoZW1lLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAuc3RyZXRjaFxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5zdHJldGNoYCBEZWZpbmUgYW4gZWxlbWVudCB3aGljaCBzdHJldGNoZXMgdG8gdGhlIHNpemUgb2YgaXRzIHBhcmVudFxuXG5gYGBodG1sXG48ZGl2IGNsYXNzPVwicmVsXCIgc3R5bGU9XCJoZWlnaHQ6IDU1cHg7XCI+XG4gICA8ZGl2IGNsYXNzPVwic3RyZXRjaCBzdHlsZWd1aWRlLWdyaWQtdW5pdFwiPiBJJ20gc3RyZXRjaGVkIHRvIHRoZSBzaXplIG9mIG15IHBhcmVudDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4uc3RyZXRjaCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC5hYnNcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuYWJzYCBTZXQgdGhlIGVsZW1lbnQgcG9zaXRpb24gdG8gYWJzb2x1dGVcbiovXG4uYWJzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC5yZWxcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAucmVsYCBTZXQgdGhlIGVsZW1lbnQgcG9zaXRpb24gdG8gcmVsYXRpdmVcbiovXG4ucmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC52Y2VudGVyXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLnZjZW50ZXJgIFNldHMgdmVydGljYWwtYWxpZ24gdG8gbWlkZGxlXG4qL1xuLnZjZW50ZXIge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC5oY2VudGVyXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmhjZW50ZXJgIFNldHMgdGV4dC1hbGlnbiB0byBjZW50ZXJcbiovXG4uaGNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4vKlxuLS0tXG5uYW1lOiAuZmxvYXRsZWZ0XG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmZsb2F0bGVmdGAgU2V0cyBmbG9hdCB0byBsZWZ0XG4qL1xuLmZsb2F0bGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xufVxuXG4vKlxuLS0tXG5uYW1lOiAuZmxvYXRyaWdodFxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5mbG9hdHJpZ2h0YCBTZXRzIGZsb2F0IHRvIHJpZ2h0XG4qL1xuLmZsb2F0cmlnaHQge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi8qXG4tLS1cbm5hbWU6IC5oaWRkZW5cbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuaGlkZGVuYCBTZXRzIGRpc3BsYXkgdG8gbm9uZS5cbiovXG4uaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn0iLCIvKlxuLS0tXG5uYW1lOiBHbG9iYWwgUmVzZXRcbmNhdGVnb3J5OiBTaGFyZWRcbi0tLVxuXG5UaGUgbGVybmV0eiBjc3MgbGlicmFyeSBoYXMgYSBzZXQgb2YgcmVzZXQgc3R5bGUgdG8gaGF2ZSB0aGUgc2FtZSBiZWhhdmlvdXIgb24gZXZlcnkgYnJvd3Nlci5cbkZ1cnRoZXJtb3JlIHRoaXMgcmVzZXQgc2V0cyBzb21lIGdsb2JhbCB2YXJpYWJsZXMgbGlrZTpcbiAqIGJvZHkgZm9udC1mYW1pbGllc1xuICogYm9keSBsaW5lLWhlaWdodFxuICogYm9keSB0ZXh0LXJlbmRlcmluZ1xuICogOnJvb3QgZm9udC1zaXplIGZvciBwcm9wZXIgcmVtIGNvbnZlcnNpb25cbiovXG5cblxuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYWJiciwgYWRkcmVzcywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgc2FtcCxcbnNtYWxsLCBzdHJvbmcsIHN1Yiwgc3VwLCB2YXIsXG5iLCBpLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowO1xuXHRib3JkZXI6MDtcblx0b3V0bGluZTowO1xuXHRmb250LXNpemU6aW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246YmFzZWxpbmU7XG59XG5cbjpyb290IHtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG5odG1sIHtcblx0Zm9udC1zaXplOiAxMDAlO1xufVxuXG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IEB0ZXh0LWxpbmUtaGVpZ2h0O1xuXHRjb2xvcjogQHRleHQtY29sb3I7XG5cdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHk7XG5cdHRleHQtcmVuZGVyaW5nOiBAdGV4dC1yZW5kZXJpbmc7XG5cdGJhY2tncm91bmQtY29sb3I6IEBib2R5LWNvbG9yO1xufVxuXG5hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsXG5mb290ZXIsaGVhZGVyLGhncm91cCxtZW51LG5hdixzZWN0aW9uIHtcblx0ZGlzcGxheTpibG9jaztcbn1cblxuXG5zZWxlY3Qge1xuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG59XG5cbnRleHRhcmVhIHtcblx0d2lkdGg6MTAwJTtcbn1cblxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOjA7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5cblxuLypcbiAqIE5vcm1hbGl6ZSB0aGUgYmVoYXZpb3VyIG9mIGFsbCBicm93c2Vyc1xuICpcbiAqIEluc3RlYWQgb2Ygc2V0dGluZyBib3gtc2l6aW5nIGZpeCBvbiBhbGwgZWxlbWVudHMgd2Ugb25seSBzZXQgaXQgb24gdGhlIHJvb3QgZWxlbWVudFxuICogYW5kIHRlbGwgYWxsIGVsZW1lbnRzIHRvIGluaGVyaXQgaXQncyBwcm9wZXJ0eSBmcm9tIHRoZSBwYXJlbnRcbiAqIFRoYXQgd2F5IGl0J3MgcG9zc2libGUgdG8gb3ZlcndyaXRlIHRoZSBib3gtc2l6aW5nIGFueXdoZXJlIHdoaWxlIGtlZXBpbmcgcHJvcGVyIGluaGVyaXRhbmNlXG4gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5hIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogQGFjdGlvbi1jb2xvcjtcblxuXHQ+IGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsIi8qXG4tLS1cbm5hbWU6IC5idXR0b24tZGVmYXVsdFxuY2F0ZWdvcnk6IEJ1dHRvbnMvRGVmYXVsdFxudGFnOlxuIC0gY29tcG9uZW50XG4gLSBidXR0b25cbi0tLVxuXG5UaGUgZGVmYXVsdCBidXR0b24gc2V0cyBzb21lIGJhc2ljIHByb3BlcnRpZXMgc28gaXQgaXMgd29ya2luZyBhcyBhIGBidXR0b25gIG9yIGBhYCB0YWcuXG5cbkFuIGV4YW1wbGUgZm9yIGEgYnV0dG9uOlxuYGBgamFkZVxuYnV0dG9uLmJ1dHRvbi1kZWZhdWx0IE15IEJ1dHRvblxuYGBgXG5cbkFuIGV4YW1wbGUgZm9yIGEgbGluazpcbmBgYGphZGVcbmEuYnV0dG9uLWRlZmF1bHQgTXkgTGlua1xuYGBgXG4qL1xuLmJ1dHRvbi1kZWZhdWx0IHtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG91dGxpbmU6IG5vbmU7XG59IiwiLypcbi0tLVxubmFtZTogLmdyaWRcbmNhdGVnb3J5OiBMYXlvdXQvR3JpZFxudGFnOlxuIC0gY29tcG9uZW50XG4gLSByZXNwb25zaXZlXG5jb21waWxlOiB0cnVlXG4tLS1cblxuQSBzaW1wbGUgZ3JpZCBzeXN0ZW0gdGhhdCB3cmFwcyBjaGlsZHJlbiBub2RlcyBiYXNlZCBvbiB0aGUgdmlld3BvcnQgd2lkdGguXG5cbiMjIFNpbXBsZSBzaWRlIGJ5IHNpZGUgcmVuZGVyaW5nXG5cblRoZSBlYXNpZXN0IHVzZSBjYXNlIGlzIHRvIHVzZSBzaW1wbGUgYC5jb2wtMWAsIGAuY29sLTEtMmAsIGAuY29sLTEtM2AsIGAuY29sLTEtNGAgZm9yIGEgc2lkZS1ieS1zaWRlIHJlbmRlcmluZy5cblRoZSBkZWZhdWx0IHZhbHVlIGZvciBhbGwgY2hpbGQgZWxlbWVudHMgb2YgYSBgLmdyaWRgIGlzIGVxdWl2YWxlbnQgdG8gYC5jb2wtMWAsIHNvIGZvciBvbmx5IG9uZSBjaGlsZCBpdCB3aWxsIHNwYW4gdGhlIGZ1bGwgd2lkdGguXG5cbmBgYGphZGVcbmRpdi5ncmlkXG5cdGRpdi5jb2wtMS0yIFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yXG5cdGRpdi5jb2wtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTJcbmBgYFxuYGBgamFkZVxuZGl2LmdyaWRcblx0ZGl2LmNvbC0xLTQgXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTRcblx0ZGl2LmNvbC0zLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTMtNFxuYGBgXG5cbiMjIExheW91dHMgb24gZGlmZmVyZW50IGRldmljZXNcblxuVGhlIGJyZWFrcG9pbnRzIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIGBAZ3JpZC1icmVhay1wb2ludHNgLCBgQGdyaWQtYnJlYWstbGFiZWxzYCB2YXJpYWJsZXMuXG5UaGUgZGVmYXVsdCB2YWx1ZXMgZGVmaW5lIHR3byBicmVha3BvaW50cyB3aXRoIGxhYmVsczogYC5tZWRpdW0tWC1YYCBhbmQgYC5sYXJnZS1YLVhgLlxuU28gYW4gZXhhbXBsZSBncmlkIHdpdGggdHdvIGJyZWFrcG9pbnRzIGxvb2tzIGxpa2UgdGhpczpcblxuYGBgamFkZVxuZGl2LmdyaWRcblx0ZGl2Lm1lZGl1bS0xLTIubGFyZ2UtMS00LnhsYXJnZS0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEgbWVkaXVtLTEtMiBsYXJnZS0xLTRcblx0ZGl2Lm1lZGl1bS0xLTIubGFyZ2UtMS00LnhsYXJnZS0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEgbWVkaXVtLTEtMiBsYXJnZS0xLTRcblx0ZGl2LmNvbC0xLTIubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yIG1lZGl1bS0xLTIgbGFyZ2UtMS00XG5cdGRpdi5jb2wtMS0yLm1lZGl1bS0xLTIubGFyZ2UtMS00LnhsYXJnZS0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtMiBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuYGBgXG5cbioqTm90ZToqKiBUaGUgYGNvbC0xYCBjbGFzc2VzIGFyZSBub3QgcHJlc2VudCBvbiB0aGUgZmlyc3QgdHdvIG5vZGVzLCBzaW5jZSB0aGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW91ci5cblxuXG4jIyBSZXZlcnNlIG9yZGVyXG5cblRvIHJldmVyc2UgdGhlIG9yZGVyIGluIHdoaWNoIHRoZSBjb2x1bW5zIGFyZSBkaXNwbGF5ZWQsIHlvdSBjYW4gYWRkIHRoZSBtb2RpZmllciBjbGFzcyBgLi1yZXZlcnNlYCB0byB5b3VyIGdyaWQuXG5UaGUgY29sdW1ucyB3aWxsIGJlIGluIERPTSBvcmRlciB3aGVuIHZpZXdwb3J0IHN3aXRjaGVzIHRvIHNtYWxsIGxheW91dC5cblxuYGBgamFkZVxuZGl2LmdyaWQuLXJldmVyc2Vcblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRmlyc3QgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBTZWNvbmQgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBUaGlyZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIEZvdXJ0aCBjb2x1bW4gaW4gRE9NXG5gYGBcbiMjIE5vIGd1dHRlclxuXG5JZiB5b3UgZG9udCBuZWVkIGEgc3BhY2luZy9ndXR0ZXIgYmV0d2VlbiB0aGUgZ3JpZCBjb2x1bW5zIHlvdSBjYW4gdXNlIHRoZSBtb2RpZmllciBgLi1ub2d1dHRlcmAuXG5cbmBgYGphZGVcbmRpdi5ncmlkLi1ub2d1dHRlclxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGaXJzdCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFNlY29uZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFRoaXJkIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRm91cnRoIGNvbHVtbiBpbiBET01cbmBgYFxuKi9cblxuLmdyaWQge1xuXG5cdG1hcmdpbjogMCAtQGdyaWQtZ3V0dGVyLzI7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdD4gKiB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0cGFkZGluZzogMCBAZ3JpZC1ndXR0ZXIvMjtcblx0fVxuXG5cdCYuLXJldmVyc2UgPiAqIHtcblx0XHRmbG9hdDpyaWdodDtcblx0fVxuXG5cblx0Ji4tbm9ndXR0ZXIge1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdD4gKiB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxuXG5cblx0LmNvbC0xIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuY29sLTEtMiB7XG5cdFx0d2lkdGg6IDEwMCUvMjtcblx0fVxuXHQuY29sLTEtMyB7XG5cdFx0d2lkdGg6IDEwMCUvMyoxO1xuXHR9XG5cdC5jb2wtMi0zIHtcblx0XHR3aWR0aDogMTAwJS8zKjI7XG5cdH1cblx0LmNvbC0xLTQge1xuXHRcdHdpZHRoOiAxMDAlLzQqMTtcblx0fVxuXHQuY29sLTMtNCB7XG5cdFx0d2lkdGg6IDEwMCUvNCozO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlIGFsbCBtZWRpYSBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgQGdyaWQtYnJlYWstcG9pbnRzLCBAZ3JpZC1icmVhay1sYWJlbHMgdmFyaWFibGVzLlxuXHQgKi9cblx0LmZvciggQGdyaWQtYnJlYWstcG9pbnRzLCB7XG5cblx0XHRAbGFiZWw6IGV4dHJhY3QoIEBncmlkLWJyZWFrLWxhYmVscywgQGkgKTtcblxuXHRcdEBtZWRpYSBhbGwgYW5kICggbWluLXdpZHRoOiBAdmFsdWUgKSB7XG5cblx0XHRcdD4gLkB7bGFiZWx9LTEge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0PiAuQHtsYWJlbH0tMS0yIHtcblx0XHRcdFx0d2lkdGg6IDEwMCUvMjtcblx0XHRcdH1cblxuXHRcdFx0PiAuQHtsYWJlbH0tMS0zIHtcblx0XHRcdFx0d2lkdGg6IDEwMCUvMyoxO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IC5Ae2xhYmVsfS0yLTMge1xuXHRcdFx0XHR3aWR0aDogMTAwJS8zKjI7XG5cdFx0XHR9XG5cblx0XHRcdD4gLkB7bGFiZWx9LTEtNCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlLzQqMTtcblx0XHRcdH1cblxuXHRcdFx0PiAuQHtsYWJlbH0tMy00IHtcblx0XHRcdFx0d2lkdGg6IDEwMCUvNCozO1xuXHRcdFx0fVxuXHRcdH1cblx0fSk7XG59IiwiLypcbi0tLVxubmFtZTogaW1nLnJlc3BvbnNpdmVcbmNhdGVnb3J5OiBMYXlvdXQvSW1hZ2VcbnRhZzpcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5UaGlzIGNsYXNzIG1ha2VzIHRoZSBpbWFnZSBzY2FsaW5nIHRvIGl0cyBtYXggd2lkdGguXG5cbmBgYGphZGVcbmltZy5yZXNwb25zaXZlKHNyYz0naHR0cDovL3d3dy5ieXVpLmVkdS9pbWFnZXMvYWdyaWN1bHR1cmUtbGlmZS1zY2llbmNlcy9mbG93ZXIuanBnJylcbmBgYFxuKi9cbmltZy5yZXNwb25zaXZlIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAubWVkaWEtcmVzcG9uc2l2ZVxuY2F0ZWdvcnk6IExheW91dC9NZWRpYVxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbmAubWVkaWEtcmVzcG9uc2l2ZWAgLSBUaGlzIG1ha2VzIGEgdGhlIGAubWVkaWEtcmVzcG9uc2l2ZWAgZGl2IGEgY29udGFpbmVyIGZvciBhbnkgbWVkaWEgZWxlbWVudCAoaWZyYW1lLCB2aWRlbywgLi4uICkgdGhhdCByZXNwb25zaXZlIHNjYWxlcyB3aXRoIGEgZml4IHJhdGlvLlxuVGhlIG1lZGlhIGVsZW1lbnQgKCBjaGlsZCApIG5lZWRzIHRoZSBjbGFzcyBgLnN0cmV0Y2hgIHRvIGZ1bGx5IGZpbGwgb3V0IHRoZSBwYXJlbnRzIHNpemUuXG5cblRoZSBgLm1lZGlhLXJlc3BvbnNpdmVgIGNvbXBvbmVudCBoYXMgdG8gcHJlZGVmaW5lZCBtb2RpZmllcnM6IGAuLW1lZGlhLTQtM2AsIGAuLW1lZGlhLTE2LTlgIHRoYXQgZGVmaW5lIGEgZml4IHJhdGlvLlxuXG5gYGBqYWRlXG5kaXYubWVkaWEtcmVzcG9uc2l2ZS4tbWVkaWEtMTYtOVxuXHRpZnJhbWUuc3RyZXRjaChzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVRDZDZQZnhPeTBZXCIpXG5gYGBcbiovXG4ubWVkaWEtcmVzcG9uc2l2ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiA1MCU7XG5cblx0Ji4tbWVkaWEtNC0zIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNzUlO1xuXHR9XG5cblx0Ji4tbWVkaWEtMTYtOSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDU2LjI2JVxuXHR9XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAucGFnZS1mbHVpZFxuY2F0ZWdvcnk6IFBhZ2UvRmx1aWRcbnRhZzpcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5gLnBhZ2UtZmx1aWRgIGNlbnRlcnMgdGhlIHBhZ2UgY29udGVudCBhbmQgYWRkcyBhIHBhZGRpbmcgc28gdGhlIHBhZ2Ugc3RpY2tzIG5vdCB0byB0aGUgYnJvd3NlciB2aWV3cG9ydC5cbkZ1cnRoZXJtb3JlIGl0IGhhcyBhIG1heC13aWR0aCBiYXNlZCBvbiB0aGUgbGFzdCBgQGdyaWQtYnJlYWstcG9pbnRzYCB2YWx1ZS5cblxuYGBgamFkZVxuZGl2LnBhZ2UtZmx1aWRcblx0ZGl2LmFpZ2lzLWRlYnVnIFNvbWUgcGFnZSBjb250ZW50XG5gYGBcblxuIyMgTWF4LXdpZHRoIHBhZ2VcblxuVG8gYnJvYWRlbiB0aGUgd2lkdGggb2YgdGhlIHBhZ2UgeW91IGNhbiBhZGQgdGhlIG1vZGlmaWVyIGAuLXVubGltaXRlZGAuIFRoc2kgd2lsbCBzcGFuIHRoZSBwYWdlIHRvIHRoZSBmdWxsIHdpZHRoLlxuXG5gYGBqYWRlXG5kaXYucGFnZS1mbHVpZC4tdW5saW1pdGVkXG5cdGRpdi5haWdpcy1kZWJ1ZyBTb21lIHBhZ2UgY29udGVudFxuYGBgXG4qL1xuLnBhZ2UtZmx1aWQge1xuXG5cdEBtYXgtd2lkdGgtcG9pbnQ6IGV4dHJhY3QoIEBncmlkLWJyZWFrLXBvaW50cywgbGVuZ3RoKCBAZ3JpZC1icmVhay1wb2ludHMgKSApO1xuXHRcblx0bWF4LXdpZHRoOiBAbWF4LXdpZHRoLXBvaW50ICsgMiAqIGV4dHJhY3QoIEBwYWdlLXBhZGRpbmcsIDIgKTtcblx0bWFyZ2luOiBhdXRvO1xuXHRwYWRkaW5nOiBAcGFnZS1wYWRkaW5nO1xuXG5cdCYuLXVubGltaXRlZCB7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHR9XG59XG4iLCIvKlxuLS0tXG5uYW1lOiAucm93XG5jYXRlZ29yeTogTGF5b3V0L1Jvd1xudGFnOlxuIC0gY29tcG9uZW50XG5jb21waWxlOiB0cnVlXG4tLS1cblxuVGhpcyBzdHlsaW5nIGFsbG93IHRvIHBsYWNlIGNvbnRhaW5lcnMgaW4gYSByb3cuIFRoZXkgd2lsbCAqKm5vdCoqIGJyZWFrIGFzIHRoZSBgLmdyaWRgIGJ1dCByZXNpemUgdGhlbSBhY2NvcmRpbmdseS5cblNvbWUgYmVuZWZpdHMgb2YgdGhlIGAucm93YCBhcHByb2FjaCBpcyB0aGUgZWFzeSB2ZXJ0aWNhbCBjZW50ZXJpbmcgYW5kIHRoZSB1c2FnZSBvZiB0aGUgYC5jb2wtYXV0b2AgY2xhc3MuXG5cbiMjIEJhc2ljIHJvdyB3aXRoIHZlcnRpY2FsIGNlbnRlcmluZ1xuXG5Zb3UgY2FuIHVzZSB0aGUgc2l6aW5nIGNsYXNzZXMgYC5jb2wtWC1YYCB0byBkZWZpbmUgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGFzIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSBzaG93cy4gXG5cbmBgYGphZGVcbmRpdi5yb3dcblx0ZGl2LmNvbC0xLTQuYWlnaXMtZGVidWcgY29sLTEtNCB3aXRoIGEgbG90IG9mIHRleHQgdGhhdCBzcGFucyB0aGUgY29sdW1uLlxuXHRkaXYuY29sLTMtNC5haWdpcy1kZWJ1ZyBjb2wtMy00IGNvbnRlbnQuXG5gYGBcblxuIyMgRml4ZWQgcm93XG5cblRoZXJlIGlzIGEgYC4tZml4ZWRgIG1vZGlmaWVyIHdoZXJlIGVhY2ggY29sdW1uIGhhcyB0aGUgc2FtZSB3aWR0aC5cblxuYGBgamFkZVxuZGl2LnJvdy4tZml4ZWRcblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uXG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtbiB3aXRoIG1vcmUgY29udGVudFxuXHRkaXYuYWlnaXMtZGVidWcgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW5cblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uIHdpdGggbXVjaCBtb3JlIGNvbnRlbnQgdGhhbiB0aGUgb3RoZXJcblx0ZGl2LmFpZ2lzLWRlYnVnLnZjZW50ZXIgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW4gd2l0aCAudmNlbnRlclxuYGBgXG5cblxuIyMgQXV0byBzaXplZCBjb2x1bW4gd2lkdGggYW5kIHZjZW50ZXJcblxuVGhlcmUgaXMgYSBzcGVjaWFsIGAuY29sLWF1dG9gIGNsYXNzIHRoYXQgcmVzaXplcyB0aGUgY29sdW1uIHRvIHRoZSBzaXplIG9mIGl0cyBjb250ZW50LlxuVGhpcyBpcyB1c2VmdWxsIGZvciBleGFtcGxlIGlmIHlvdSBoYXZlIGEgZml4ZWQgc2l6ZSBsb2dvIGFuZCB0aGUgcmVzdCBvZiB0aGUgaGVhZGVyIGhhcyB0byByZXNpemUuXG5cbmBgYGphZGVcbmRpdi5yb3cuLWNlbnRlclxuXHRkaXYuY29sLWF1dG8uYWlnaXMtZGVidWdcblx0XHRpbWcoc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC8xMDB4MTAwXCIpXG5cdGRpdi5jb2wtMS5haWdpcy1kZWJ1ZyBUaGUgcmVzdFxuXHRkaXYuY29sLWF1dG8uYWlnaXMtZGVidWdcblx0XHRpbWcoc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC8yMDB4MTAwXCIpXG5gYGBcbiovXG4ucm93IHtcblx0ZGlzcGxheTogdGFibGU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCYuLWZpeGVkIHtcbiAgICBcdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdH1cblxuXHQmLi1jZW50ZXIge1xuXHRcdD4gKiB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fVxuXG5cdCYuLWJvdHRvbSB7XG5cdFx0PiAqIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0fVxuXHR9XG5cblx0Ji4tcGFkZGVkIHtcblx0XHQ+ICogKyAqIHtcblx0XHRcdHBhZGRpbmctbGVmdDogQHJvdy1ndXR0ZXI7XG5cdFx0fVxuXHR9XG5cdFxuXHQ+ICoge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XG5cdFx0Ji5jb2wtMSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0Ji5jb2wtMS0yLFxuXHRcdCYuY29sLTItNCB7XG5cdFx0XHR3aWR0aDogMTAwJS8yO1xuXHRcdH1cblx0XHQmLmNvbC0xLTMge1xuXHRcdFx0d2lkdGg6IDEwMCUvMyoxO1xuXHRcdH1cblx0XHQmLmNvbC0yLTMge1xuXHRcdFx0d2lkdGg6IDEwMCUvMyoyO1xuXHRcdH1cblx0XHQmLmNvbC0xLTQge1xuXHRcdFx0d2lkdGg6IDEwMCUvNCoxO1xuXHRcdH1cblx0XHQmLmNvbC0zLTQge1xuXHRcdFx0d2lkdGg6IDEwMCUvNCozO1xuXHRcdH1cblx0XHRcblx0XHQmLmNvbC1hdXRvIHtcblx0XHRcdHdpZHRoOmF1dG87XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdH1cblx0fVxufVxuXG5cbiIsIi5hbnN3ZXItdmlldyB7XG5cbiAgICAmLi13cm9uZyB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTVweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDEwcHgpO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgPi5pbnB1dCB7XG4gICAgICAgICAgICB0b3A6IHJlbSgxMXB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IHJlbSgtMTVweCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgLmFuc3dlcnRleHQge1xuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiByZW0oMTVweCk7XG4gICAgfVxufSIsIi5ib3gtY2hhcHRlciB7XG4gICAgXG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgXG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgIC5tYW5kYXRvcnkge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNHB4O1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgY29udGVudDogXCLilrJcIjtcbiAgICB9XG4gICAgXG4gICAgJi4tZXhwYW5kZWQge1xuICAgICAgICBcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMHB4KTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIuKWslwiO1xuICAgICAgICAgICAgei1pbmRleDoxMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgYm90dG9tOiAtMjRweDtcbiAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzO1xuICAgICAgICB9XG4gICAgfVxuICAgICAgICBcblxuXG4gICAgLmltYWdlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBAYnJhbmQtY29sb3I7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwM3B4O1xuICAgICAgICAvL3dpZHRoOiAyOTJweDtcbiAgICAgICAgLy9oZWlnaHQ6IDE4MHB4O1xuXG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMTRweCAwO1xuICAgICAgICBjb2xvcjogQHRleHQtZGFyay1jb2xvcjtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgLy8gd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLy8gdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgLmxpbmstY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5saW5rLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OjAuODtcbiAgICAgICAgfVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbGFzcyA+IHN2ZywgLmR1cmF0aW9uID4gc3ZnLCAubGFiZWwgPiBzdmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAuY2xhc3MsIC5kdXJhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cblxuICAgIC8vIC5tb2R1bGUtbGFiZWwge1xuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgLy8gfVxuICAgIFxuICAgIC5leHBvcnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgID4uYnV0dG9uLWV4cG9ydCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgPi5idXR0b24tZXhwb3J0Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2UtYnJlYWstcG9pbnQpIHsgXG4gICAgLmJveC1jaGFwdGVyIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwN3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLmJveC1jaGFwdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4udGl0bGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5idXR0b24tZXhwb3J0IHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDk4cHg7XG5cbiAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcblxuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjhweCk7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cbn0iLCIuYnV0dG9uLWZpbHRlcntcbiAgICBcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiByZW0oMTZweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJi4tYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgPi5pY29uLWNoZWNrZWQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTZweCk7XG4gICAgICAgICAgICB0b3A6IDIzcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLi1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgID4uaWNvbi1maWx0ZXIsID4uaWNvbi1jaGVja2VkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLi10b2dnbGUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBcbiAgICAgICAgPi5pY29uLWNoZWNrZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4uaWNvbi1maWx0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTZweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLypcbi5idXR0b24tZmlsdGVyIHtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgd2lkdGg6IDEzMnB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC40OHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi4tYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggNnB4IDAgcmdiYSgwLDAsMCwwLjMpO1xuICAgIH1cbiAgICAmLi1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuXG4qLyIsIi5idXR0b24tdGVhY2hlciB7XG4gICAgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICBcbiAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL2NvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLi1jbG9zZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNhcHRpb24tZWxlbWVudCB7XG4gICAgPiBwe1xuICAgICAgICBjb2xvcjogQHRleHQtbGlnaHQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIxcHgpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbn0iLCIuY2Fyb3VzZWwtZWxlbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICYuLWxpZ2h0Ym94IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6MHB4O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICAgICAgICB0b3A6IDMycHg7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5uYXZpLWxlZnQsIC5uYXZpLXJpZ2h0IHtcbiAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmktcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSgwJSk7XG5cbiAgICAgICAgfVxuICAgICAgICAubmF2aS1sZWZ0IHtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLm91dGVyLXN0YWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAuaW5uZXItc3RhZ2Uge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubGlnaHRib3gge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC5jb250YWluZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmlubmVyIHtcbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNhcHRpb24tZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuY2xvc2Uge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gICAgLm5hdmktbGVmdCwgLm5hdmktcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgd2lkdGg6NDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6NDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZpLWxlZnQge1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG4gICAgfVxuXG4gICAgLm5hdmktcmlnaHQge1xuICAgICAgICByaWdodDogMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB9XG5cbiAgICAub3V0ZXItc3RhZ2Uge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAuaW5uZXItc3RhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLW91dDtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmxpZ2h0Ym94IHtcbiAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDg1cHg7IC8vaW5rbCBjYXB0aW9uXG4gICAgICAgICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2QTZBNkE7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jYXB0aW9uLWVsZW1lbnQge1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIuY2hhcHRlci1jb3ZlciB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMXB4OyAvL3d0ZlxuICAgIG1hcmdpbi1ib3R0b206IDg1cHg7XG4gICAgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4udGhlbWUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG5cbiAgICA+LnRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDk0MHB4O1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNjRweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBkZW1pO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDc0cHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oMS45cHgpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMC4xcHggMC4xcHggMTZweCAjNmE2YTZhNzM7XG4gICAgfVxufVxuXG4vL3Rlc3RcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5jaGFwdGVyLWNvdmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ5cHgpO1xuICAgICAgICBoZWlnaHQ6IDM0MHB4O1xuXG4gICAgICAgID4udGhlbWUtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgID4udGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDQwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNoYXB0ZXItc3VibmF2aSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgIG1heC1oZWlnaHQ6IDBweDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTowO1xuICAgIGN1cnNvcjpkZWZhdWx0O1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgXG4gICAgXG5cbiAgICAmLi1leHBhbmRlZCB7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMjAwMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIG1heC1oZWlnaHQgM3M7XG4gICAgfVxuXG4gICAgPi5jb250YWluZXIge1xuICAgICAgICBtYXJnaW46ICBhdXRvO1xuICAgICAgICBwYWRkaW5nOiByZW0oNTBweCkgcmVtKDE2cHgpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjZweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgPi50aGVtZS1pY29uIHtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7IC8vcHJvYmxlbSBvZiBzY3JvbGxiYXI/XG4gICAgICAgIH1cblxuICAgICAgICA+LnRpdGxlcm93IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDIycHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICA+Lm5hdml0aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjJweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyN3B4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPi5kb3dubG9hZCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEycHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgID4uY2hhcHRlciB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLm1vZHVsZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMThweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA+Lmljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIC5tb2R1bGUtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgPi5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlLWJyZWFrLXBvaW50KSB7XG4gICAgXG5cbiAgICBcbiAgICAuY2hhcHRlci1zdWJuYXZpe1xuICAgICAgICAmLi1leHBhbmRlZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuICAgICAgICA+LmNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMzBweCkgcmVtKDE2cHgpO1xuXG4gICAgICAgICAgICAudGhlbWUtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufSIsIi5jb21tb24tcGFnZSB7XG5cbiAgICBtYXJnaW4tdG9wOiByZW0oODVweCk7XG5cbiAgICAmLi1tYWluLWltcHJlc3N1bSB7XG4gICAgICAgIGgxLCBoMiwgaDMsIC5wYXJhZ3JhcGgtZWxlbWVudCwgLnBhcmFncmFwaC1lbGVtZW50IGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSwgaDIsIGgzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDhweCk7ICAgIFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDU4cHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg2MHB4KTtcbiAgICB9XG5cbiAgICA+LnBhcmFncmFwaC1lbGVtZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1cHgpO1xuICAgIH1cbiAgICA+LmltYWdlLWVsZW1lbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjVweCk7XG4gICAgfVxuICAgID4uZGVsaW1pdGVyLWxpbmUge1xuICAgICAgICBtYXJnaW46IHJlbSg1MHB4KSAwO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkge1xuICAgIFxuICAgIC5jb21tb24tcGFnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgwcHgpO1xuICAgICAgICAmLi1tYWluLWltcHJlc3N1bXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTZweCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTIwcHgpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgJi4tbm9jb3ZlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTgwcHgpO1xuICAgICAgICB9XG4gICAgICAgIGgxLCBoMiwgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7ICAgIFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNHB4KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPi50aXRsZS1lbGVtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICAgICAgfVxuICAgICAgICA+LnBhcmFncmFwaC1lbGVtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgfVxuICAgICAgICA+LmltYWdlLWVsZW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgPi5kZWxpbWl0ZXItbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46ICByZW0oMzBweCkgMDtcbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5jb250YWluZXItcXVlc3Rpb25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oOTBweCk7XG4gICAgXG4gICAgLm1haW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNjBweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gICAgLm51bWJlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0NnB4KTtcbiAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuMDVlbTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDhweCk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nOjAgMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLmNvbnRhaW5lci1xdWVzdGlvbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzJweCk7XG4gICAgICAgID4ubnVtYmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2cHgpO1xuICAgICAgICAgICAgLy9saW5lLWhlaWdodDogcmVtKDM0cHgpO1xuICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMC4wNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIuY29udGFpbmVyLXRlYWNoZXIge1xuICAgIFxuXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICBcbiAgICAmLnNpZGViYXItbG9naW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAubW9kdWxlLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnRpdGxlLnRpdGxlLWRvd25sb2FkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgfVxuXG5cbiAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW46IDBweCAtMThweCAwcHggLTI3cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMjdweDtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xuXG4gICAgICAgICYuLWNoYXB0ZXIge1xuICAgICAgICAgICAgJi4tY3VycmVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC50aXRsZS1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xuICAgICAgICB9XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgICAgICByaWdodDogMTdweDtcblxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgLmNvbnRlbnQtc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAmLi1pbmxpbmUge1xuICAgICAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwsIG9sIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi4tY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmV4cG9ydCB7XG4gICAgICAgID4uYnV0dG9uLWV4cG9ydCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI5cHg7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgXG4gICAgICAgIC5kb3dubG9hZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgbWFyZ2luOiAxMXB4IDBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG5cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuY29udGFpbmVyLXRlYWNoZXIge1xuICAgICAgICAubW9kdWxlLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwb3J0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5kZWxpbWl0ZXItbGluZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIEBicmFuZC1jb2xvcjtcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkge1xuXG4gICAgLmRlbGltaXRlci1saW5lIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgXG4gICAgfVxufSIsIi5mZWVkYmFjay1jb250YWluZXIge1xuICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgLmJ1dHRvbiB7XG4gICAgICAgcGFkZGluZzowO1xuICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgb3V0bGluZTpub25lO1xuICAgICAgIH1cbiAgIH1cbn0iLCIuZmVlZGJhY2stcGFuZWwge1xuICAgIHBhZGRpbmc6IC43NXJlbSAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxODAsIDE4MCwgMTgwKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICBcbiAgICBcbiAgICAmLi1jb3JyZWN0IHtcbiAgICAgICAgY29sb3I6QHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdWNjZXNzLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHN1Y2Nlc3MtYm9yZGVyLWNvbG9yO1xuICAgICAgICBcbiAgICB9XG4gICAgJi4td3Jvbmcge1xuICAgICAgICBjb2xvcjpAYWxlcnQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhbGVydC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBhbGVydC1ib3JkZXItY29sb3I7XG4gICAgfVxufSIsIi5maWx0ZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgei1pbmRleDoxMDtcbiAgICBib3gtc2hhZG93OiAwLjFweCAwLjFweCAxNnB4ICM2YTZhNmE1NDtcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkge1xuICAgIC5maWx0ZXItY29udGFpbmVyIHtcbiAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgfVxufSIsIltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG5cbiAgICAmLi1zbWFsbCB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgJi4tc3ViIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICB9XG5cbiAgICAmLi1pbnZlcnRlZCB7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxuXG4gICAgJi4tYnJhbmQge1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgICYuLXJzcGFjZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxufVxuXG4uaWNvbmNvbnRhaW5lci4taW52ZXJ0ZWQgPiBbY2xhc3NePVwiaWNvbi1cIl0sXG4uaWNvbmNvbnRhaW5lci4taW52ZXJ0ZWQgPiBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICB0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpO1xufSIsIi5pbWFnZS1lbGVtZW50IHtcblxuICAgICYuLXNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkge1xuICAgIC5pbWFnZS1lbGVtZW50IHtcbiAgICAgICAgJi4tc21hbGwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5sYW5kaW5nLW5hdmlnYXRpb25jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCIubGFuZGluZy1uYXZpZ2F0aW9uaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgLy8gd2lkdGg6IDI5M3B4O1xuICAgICAgICAvLyBoZWlnaHQ6IDI5M3B4O1xuXG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICBtYXJnaW46IHJlbSgzMHB4KSBhdXRvO1xuXG4gICAgICAgID4uaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICA+LmFjdGl2YXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM1cHgpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgJi4taGlkZGVuIHtcbiAgICAgICAgLmFjdGl2YXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlLCAudGV4dCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYudGhlbWUtbGlsYWMge1xuICAgICAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIEBsaWxhYztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsaWxhYztcbiAgICAgICAgfVxuICAgICAgICAuZmxhc2gge1xuICAgICAgICAgICAgY29sb3I6IEBsaWxhYztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgJi50aGVtZS1taW50IHtcbiAgICAgICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBAbWludDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBtaW50O1xuICAgICAgICB9XG4gICAgICAgIC5mbGFzaCB7XG4gICAgICAgICAgICBjb2xvcjogQG1pbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAuZmxhc2gge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzLCBvcGFjaXR5IDAuOHMsIHRvcCAwLjhzLCBsZWZ0IDAuOHMsIHJpZ2h0IDAuOHM7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIFxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIFxuICAgICY6bm90KC4taGlkZGVuKTpob3ZlciB7XG4gICAgICAgIFxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAgc2NhbGUoMS41KTtcbiAgICAgICAgICAgIC8vIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTtcblxuXG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBcbi8qKiBkaXNhYmxlZCB1bnRpbCBpY29ucyBhcmUgZGVmaW5lZC4uLlxuICAgICAgICAuZmxhc2gge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzLCBvcGFjaXR5IDAuOHMsIHRvcCAwLjhzLCBsZWZ0IDAuOHMsIHJpZ2h0IDAuOHM7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuZmxhc2gxIHtcbiAgICAgICAgICAgICAgICB0b3A6IDYzcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJi5mbGFzaDIge1xuICAgICAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyODBweFxuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJi5mbGFzaDMge1xuICAgICAgICAgICAgICAgIHRvcDogMzAycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDc3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbioqL1xuICAgIH1cblxufSIsIi5saWdodGJveCB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIC8vIC5pbWFnZSB7XG4gICAgICAgIC8vICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgLy8gICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAvLyAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jazsgICBcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIC5jYXB0aW9uLWVsZW1lbnQge1xuICAgICAgICAvLyAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIC8vIH1cbiAgICAgICAgXG4gICAgICAgIC5vcGVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXG4gICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgIHJpZ2h0OjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtaW4td2lkdGg6MTAwJTtcbiAgICAub3BlbiwgLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cbiAgICBcbiAgICAmLi1vcGVuIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICAuY2FwdGlvbi1lbGVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgXG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgfVxuICAgICAgICAub3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB6LWluZGV4OjEwMDtcbiAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuXG4gICAgLy8gZm9udC1zaXplOiAxOHB4O1xuXG4gICAgLmhhbWJ1cmdlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjNweCk7XG4gICAgfVxuICAgIC5oYW1idXJnZXI6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMwcHgpO1xuICAgICAgICBjb2xvcjojMDAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMHB4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMjBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOkBkYXJrLWhvdmVyLWNvbG9yOyAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZXZlbDEge1xuICAgICAgICB3aWR0aDogcmVtKDM4MHB4KTtcbiAgICAgICAgLy9UT0RPOlxuICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4ICBoc2xhKDAsIDAlLCAwJSwgMC4yNSk7XG4gICAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIFxuICAgICAgICAuYm9vaywgLmltcHJlc3N1bSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi4tZmxhdG5hdmlnYXRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLi1hY3RpdmUge1xuICAgICAgICAgICAgLmJvb2s6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMCA2cHggMzdweDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGV2ZWwyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjY7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBsaSBhe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBkYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubGV2ZWwxOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgLi1jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gICAgLmxldmVsMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkge1xuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICAubGV2ZWwxIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzQwcHgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5tb2R1bGUtbGFiZWwge1xuICAgIGNvbG9yOiBAdGV4dC1saWdodC1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICYuLWhhbGYge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgICBcbn0iLCIucGFnZS1mbHVpZCB7XG4gICAgcGFkZGluZzogMCByZW0oMTZweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oNjEwcHgrMTZweCsxNnB4KTtcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuY29udGVudCAmIC5wYWdlLWZsdWlkIHtcbiAgICAgICAgcGFkZGluZzogMCAwO1xuICAgIH1cbn0iLCIucGFnZS1mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICBAYnJhbmQtY29sb3I7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC50ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgICAgICAuaW1wcmVzc3VtIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnBhZ2UtZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTYwcHg7XG4gICAgfVxufVxuXG5cbiIsIi5wYWdlLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgICYuLWxhbmRpbmdwYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuLWltcHJlc3N1bSB7XG4gICAgICAgIC5sb2dvLXNlY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJvcmRlci1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgfVxuXG4gICAgLmxvZ28tc2VjdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzM3B4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNTBweCk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDAuODVweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ297XG4gICAgICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLmJ1dHRvbi1sb2dpbiB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzJweCsyMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNnB4KTtcbiAgICAgICAgICAgIGNvbG9yOiBAdGV4dC1kYXJrLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1sb2dpbjpob3ZlciBhIHtcbiAgICAgICAgY29sb3I6QGhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAuYnV0dG9uLWxvZ2luOmFjdGl2ZSBhIHtcbiAgICAgICAgY29sb3I6IEBkYXJrLWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLXRlYWNoZXIge1xuICAgICAgICByaWdodDowO1xuICAgIH1cblxuICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbiAgICAuaG9tZS1idXR0b24ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG5cblxuXG4gICAgJi4tY29sbGFic2Uge1xuICAgICAgICBcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcblxuICAgICAgICAubG9nby1zZWN0aW9uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIGhlaWdodDogMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgICAgIH1cblxuICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICB9XG5cbiAgICAgICAuc2l0ZS10aXRsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IDc1cHg7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6dGFibGUtY2VsbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmJhY2stYnV0dG9uIHtcbiAgICAgICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjVzO1xuICAgICAgICB9XG5cblxuXG5cblxuXG4gICAgICAgLmhvbWUtYnV0dG9uIHtcblxuICAgICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgICAuaWNvbntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MjZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICAgICAgICB9XG5cbiAgICAgICB9XG4gICAgfVxuXG5cblxuICAgID4uYmFjay1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMTM0cHg7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAjRjZGNkY2O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2UtYnJlYWstcG9pbnQpIHsgXG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgJi4tY29sbGFic2Uge1xuICAgICAgICAgICAgLnNpdGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAucGFnZS1oZWFkZXIge1xuXG4gICAgICAgICYuLWNvbGxhYnNlIHtcbiAgICAgICAgICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgIC5sb2dve1xuICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgfVxuICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjlweCk7XG4gICAgICAgICAgICAgICAvL2xldHRlci1zcGFjaW5nOiByZW0oMC41N3B4KTtcbiAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgIH1cbiAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1sb2dpbiB7XG4gICAgICAgICAgICAubmF2aS10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi10ZWFjaGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgLm5hdmktdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuIH1cbiIsIi5wYWdlLWxheW91dCB7XG5cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOmF1dG87XG4gICAgXG4gICAgXG4gICAgLy90ZXN0XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG5cblxuICAgICYgPiAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNjJweDtcblxuICAgICAgICAmLi1tYWluLWltcHJlc3N1bSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICBtYXJnaW46IDAgcmVtKC0xNnB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICYgPi5jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oMTYwcHgpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgJiA+IC5saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGFsZXJ0LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tc2lkZWJhciB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDtcbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2UtYnJlYWstcG9pbnQpIHsgXG4gICAgLnBhZ2UtbGF5b3V0IHtcbiAgICBcbiAgICAgICAgICYgPiAuY29udGVudCB7XG5cbiAgICAgICAgICAgICYuLW1haW4taW1wcmVzc3VtIHtcbiAgICAgICAgICAgICAgICByaWdodDogcmVtKDMycHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5wYWdlLWxheW91dCB7XG4gICAgXG4gICAgICAgICAmID4gLmNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNDBweDtcblxuICAgICAgICAgICAgJi4tbWFpbi1pbXByZXNzdW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDQ4cHgpO1xuICAgICAgICAgICAgICAgICYgPi5jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oMzJweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJi4tc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5wYWdlLW92ZXJ2aWV3IHtcblxuICAgIG1heC13aWR0aDogcmVtKDk0MHB4KTtcblxuICAgIC5pbnRyb2R1Y3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oODBweCk7XG4gICAgICAgIC8vd2lkdGg6IDk0MHB4O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzhweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAucGFnZS1vdmVydmlldyB7XG4gICAgICAgID4uaW50cm9kdWN0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLnBhcmFncmFwaC1lbGVtZW50IHtcbiAgICBcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAmLi1pbnRyb2R1Y3Rpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzOHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgXG4gICAgJi4tZGVmYXVsdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM1cHgpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIHN0cm9uZywgYiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIHVsLCBvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmFiYnJldmlhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggZG90dGVkIGJsYWNrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICAgICBjdXJzb3I6aGVscDtcbiAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuLXJpZ2h0IHtcbiAgICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi4tbGVmdCB7XG4gICAgICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLi10b3Age1xuICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLi1ib3R0b20ge1xuICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLi1iaWcge1xuICAgICAgICAgICAgJi4tb3BlbiwgJjpob3ZlciB7IFxuICAgICAgICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuLXNpZGViYXIge1xuICAgICAgICAgICAgJi4tb3BlbiwgJjpob3ZlciB7IFxuICAgICAgICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIFxuICAgICAgICAmLi1vcGVuLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDoxMDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTFlMWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggNXB4IDAgcmdiYSgwLDAsMCwwLjQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAucGFyYWdyYXBoLWVsZW1lbnQge1xuICAgICAgICAmLi1pbnRyb2R1Y3Rpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjJweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4tZGVmYXVsdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjhweCk7XG4gICAgICAgIH1cblxuICAgICAgICB1bCwgb2wge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLnF1ZXN0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg2MHB4KTtcblxuICAgID4uaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2cHgpO1xuICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmxpbmtlZHZpZGVvLWVsZW1lbnQge1xuICAgICAgICAuY2FwdGlvbi1lbGVtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXJhZ3JhcGgtZWxlbWVudCwgLmltYWdlLWVsZW1lbnQsIHVsLCBvbCwgLmlmcmFtZS1lbGVtZW50LCAudmlkZW8tZWxlbWVudCwgLmxpbmtlZHZpZGVvLWVsZW1lbnQsIC5jYXJvdXNlbC1lbGVtZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgJi4tbm9tYXJnaW4ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgdWwsIG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAucXVlc3Rpb24taXRlbSB7XG4gICAgICAgIC50aXRsZSB7IFxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjJweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMycHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGRlbWk7XG4gICAgICAgIH1cblxuICAgICAgICAucGFyYWdyYXBoLWVsZW1lbnQsIC5pbWFnZS1lbGVtZW50LCB1bCwgb2wsIC5pZnJhbWUtZWxlbWVudCwgLnZpZGVvLWVsZW1lbnQsIC5saW5rZWR2aWRlby1lbGVtZW50LCAuY2Fyb3VzZWwtZWxlbWVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuIH0iLCIucXVlc3Rpb24tdGV4dCB7XG4gICAgPi5kcm9wZG93biB7XG4gICAgICAgICYuLXdyb25nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhbGVydC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICAgIH1cbiAgICAgICAgJi4tY29ycmVjdHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdWNjZXNzLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnNpZGViYXItbG9naW4ge1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjpAYnJhbmQtY29sb3I7XG4gICAgbWFyZ2luLWxlZnQ6IC0yN3B4O1xuICAgIG1hcmdpbi1yaWdodDogLTE4cHg7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBcbiAgICAvL3BhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjdweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICAgIFxuICAgICBhIHtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gICAgICAgIFxuXG4gICAgICAgICYuaWNvbi1hcnJvdy1kb3duIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICByaWdodDotNDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5zaWRlYmFyLWxvZ2luIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgJi5pY29uLWFycm93LWRvd24ge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zaWRlYmFyLXRlYWNoZXIge1xuICAgIFxuICAgIGZvbnQtc2l6ZTogMThweDtcblxuXG4gICAgJi4tdGVhY2hlciB7XG4gICAgICAgIC5jb250YWluZXItdGVhY2hlci5zb3J0LTAge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAubWV0YS1zcGFjZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgfVxuXG4gICAgXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRjZGNkY2O1xuICAgIGJveC1zaGFkb3c6IC0xcHggMXB4IDAgMCBoc2xhKDAsIDAlLCAwJSwgMC4yNSk7XG4gICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDM0cHg7XG5cbiAgICB3aWR0aDogNDE2cHg7XG4gICAgLy9wYWRkaW5nLXRvcDogMTBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDBweDtcbiAgICAvL3RvcDogMTc0cHg7XG4gICAgdG9wOiAxMzNweDtcbiAgICBib3R0b206IDBweDtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDoxMDtcblxuICAgICYuLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cblxuICAgICYuLWNvbGxhYnNlIHtcbiAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC41cztcbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnNpZGViYXItdGVhY2hlciB7XG4gICAgICAgIHRvcDogMTMzcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MjBweDtcbiAgICAgICAgd2lkdGg6MzQzcHg7XG4gICAgfVxufSIsIlxuXG5ib2R5LmxhbmRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgXG4gIC5wYWdlLWxheW91dCB7XG4gICAgLnBhZ2UtbGFuZGluZyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gIH1cblxuICAucGFnZS1mb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDoxMDBweDtcbiAgfVxuICBcbn1cblxuXG4iLCJoMSB7XG4gICAgZm9udC1zaXplOiByZW0oNjRweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjlweCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSg3MHB4KTtcbiAgICBmb250LXdlaWdodDpub3JtYWw7XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IHJlbSg0OHB4KTsgICAgXG4gICAgbGluZS1oZWlnaHQ6IHJlbSg1OHB4KTtcbiAgICBmb250LXdlaWdodDpub3JtYWw7XG59XG5cbmgzIHtcbiAgICBsaW5lLWhlaWdodDogcmVtKDI3cHgpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL3Rlc3RcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgICBcbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2cHgpOyAgICBcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNHB4KTtcbiAgICB9XG5cbiAgICBcbiAgICBoMyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICB9XG4gfSIsIi50aGVtZS1jb2xvciB7XG5cbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgd2lkdGg6IDBweDtcbiAgICBoZWlnaHQ6IDBweDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG5cbiAgICB6LWluZGV4OiA1O1xuXG4gICAgYm9yZGVyLXJpZ2h0OiA1MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmLi1vcHRpayB7XG4gICAgICAgIGJvcmRlci10b3A6IDUwcHggc29saWQgI0Y2QUM0RTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDUwcHggc29saWQgI0Y2QUM0RTtcbiAgICB9XG5cbiAgICAmLi1lbmVyZ2llIHtcbiAgICAgICAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjNkZDM0E5O1xuICAgICAgICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjNkZDM0E5O1xuICAgIH1cbiAgICAmLi1lbGVrdHJpeml0YWV0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjQ0NEN0M1O1xuICAgICAgICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjQ0NEN0M1O1xuICAgIH1cbiAgICAmLi1rb2VycGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjRjU2RTk0O1xuICAgICAgICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjRjU2RTk0O1xuICAgIH1cbiAgICAmLi1yb2JvdGlrIHtcbiAgICAgICAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjODc1MjlEO1xuICAgICAgICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjODc1MjlEO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlLWJyZWFrLXBvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuXG5cbn0iLCIudGhlbWUtaWNvbiB7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcblxuXG59Il19 */
