/*---
title: avalanche
---

avalanche is a modular front-end framework which can be extended with npm
packages. The goal is to provide a workflow to manage the complexity of big
front-end projects.
*/
/*---
title: Function
---

Custom SASS functions.
*/
/* No files to import found in function//*.scss */
/**
 * Variable
 *
 * If you want to **only** import the variables from a package import them here.
 */
/*---
title:   strip-unit
name:    function_strip_unit
section: Function
---

Strip units from numbers.

```css
strip-unit($-number)
```
```css
.foo {
  line-height: strip-unit(map-get($font-sizes, m));
}
```
*/
/*---
title:   breakpointmax
name:    function_breakpointmax
section: Function
---

Get the max-width value of a breakpoint.

```css
breakpointmax($-breakpoint[, $-base: $font-base-size])
```
```css
@media (max-width: breakpointmax(map-get($breakpoints, m))) {
  .foo { }
}
@media (max-width: breakpointmax(map-get($breakpoints, m), 14px)) {
  .foo { }
}
```
*/
/*---
title:   map-get-deep
name:    function_map_get_deep
section: Function
---

Get values from deep nested maps.

```css
map-get-deep($-map, $-keys...)
```
*/
/*---
title:   Variable
name:    variable
---

Basic system variables.
*/
/*---
title:   Color scheme
name:    variable_color_scheme
section: variable
---

It's mandatory to use color scheme variables
whenever you use colors in your styles.
Generator: [coolors.co](http://coolors.co/).
*/
/*---
title:   Basic
name:    variable_color_scheme_basic
section: variable_color_scheme
---

```example:color
@color: #E1001F @name: map-get($cs, a)
```
```example:color
@color: #fff @name: map-get($cs-contrast, a)
```
*/
/**
 * Alerts
 */
/*---
title:   Alerts
name:    variable_color_scheme_alerts
section: variable_color_scheme
---

```example:color
@color: #468847 @name: map-get($cs-alerts, positive)
@color: #3A87AD @name: map-get($cs-alerts, neutral)
@color: #c09853 @name: map-get($cs-alerts, cautious)
@color: #b94a48 @name: map-get($cs-alerts, negative)
```
*/
/**
 * Grey
 *
 * 1. You must not use this directly in your styles!
 */
/*---
title:   Grey
name:    variable_color_scheme_grey
section: variable_color_scheme
---

```example:color
@color: #EFEFEF @name: map-get($cs-grey, a)
@color: #DBDBDB @name: map-get($cs-grey, b)
```
*/
/*---
title:   Typography
name:    variable_typography
section: variable
---
*/
/**
 * 1. Must be in px, do not use in your styles.
 * 2. You must not use this directly in your styles!
 */
/**
 * Font sizes
 */
/*---
title:   Font sizes
name:    variable_typography_font_sizes
section: variable_typography
---

<div style="font-size: 0.64em;">map-get($font-sizes, xs)</div>
<div style="font-size: 0.8em;">map-get($font-sizes, s)</div>
<div style="font-size: 1em;">map-get($font-sizes, m)</div>
<div style="font-size: 1.25em;">map-get($font-sizes, l)</div>
<div style="font-size: 1.563em;">map-get($font-sizes, xl)</div>
<div style="font-size: 1.953em;">map-get($font-sizes, xxl)</div>
<div style="font-size: 2.441em;">map-get($font-sizes, xxxl)</div>
*/
/*---
title:   Fonts
name:    variable_typography_fonts
section: variable_typography
---

Font sizes and weights are defined globally to ensure a consistent look.
*/
/**
 * If you use webfonts set the font weight variables according to the font weights the font provides.
 * E.g. you use a Google font like http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400,700
 * In this case set the font weights to 200, 400 and 700.
 * If you set a font weight in your css you must use this variables!
 */
/*---
  title:   Font A
  name:    variable_typography_fonts_font_a
  section: variable_typography_fonts
  ---

  <p style="font-family: 'DIN', sans-serif;">
  **'DIN', sans-serif**  
  ABCDEFGHIJKLMNOPQRSTUVWXYZ  
  abcdefghijklmnopqrstuvwxyz  
  0123456789!?#%&$@*{(/|\)}</p>
  */
/*---
  title:   Font B
  name:    variable_typography_fonts_font_b
  section: variable_typography_fonts
  ---

  <p style="font-family: 'Thekla', sans-serif;">
  **'Thekla', sans-serif**  
  ABCDEFGHIJKLMNOPQRSTUVWXYZ  
  abcdefghijklmnopqrstuvwxyz  
  0123456789!?#%&$@*{(/|\)}</p>
  */
/**
 * Breakpoints
 *
 * Infos about media queries: [Brad Frost - 7 Habits of highly effective media queries](http://bradfrost.com/blog/post/7-habits-of-highly-effective-media-queries/)
 */
/**
 * min Breakpoints
 */
/**
 * max Breakpoints
 *
 * Use with care, min-width breakpoints should be preferred!
 */
/**
 * Spacing
 */
/**
 * Namespace
 */
/**
* Colors 
*/
/* No files to import found in base//*variable.scss */
/* No files to import found in object//*variable.scss */
/* No files to import found in utility//*variable.scss */
/**
 * Mixin
 *
 * If you want to **only** import the mixins from a package import them here.
 */
/*---
title: Base
---

Base styles like typography and other global default styles
(mostly unclassed HTML elements).
*/
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/**
     * 1. Set default font family to sans-serif.
     * 2. Prevent iOS and IE text size adjust after device orientation change,
     *    without disabling user zoom.
     */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
     * Remove default margin.
     */
body {
  margin: 0; }

/* HTML5 display definitions
       ========================================================================== */
/**
     * Correct `block` display not defined for any HTML5 element in IE 8/9.
     * Correct `block` display not defined for `details` or `summary` in IE 10/11
     * and Firefox.
     * Correct `block` display not defined for `main` in IE 11.
     */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
     * 1. Correct `inline-block` display not defined in IE 8/9.
     * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
     */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Prevent modern browsers from displaying `audio` without controls.
     * Remove excess height in iOS 5 devices.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
       * Address `[hidden]` styling not present in IE 8/9/10.
       */
[hidden] {
  display: none; }

/**
     * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
     */
template {
  display: none; }

/* Links
       ========================================================================== */
/**
       * Remove the gray background color from active links in IE 10.
       */
a {
  background-color: transparent; }

/**
     * Improve readability of focused elements when they are also in an
     * active/hover state.
     */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
     */
abbr[title] {
  border-bottom: 1px dotted; }

/**
     * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
     */
b,
strong {
  font-weight: bold; }

/**
     * Address styling not present in Safari and Chrome.
     */
dfn {
  font-style: italic; }

/**
     * Address variable `h1` font-size and margin within `section` and `article`
     * contexts in Firefox 4+, Safari, and Chrome.
     */
h1 {
  font-size: 2em;
  /* Set 1 unit of vertical rhythm on the top and bottom margins. */
  margin: 0.75em 0; }

/**
       * Address styling not present in IE 8/9.
       */
mark {
  background: #ff0;
  color: #000; }

/**
     * Address inconsistent and variable font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` affecting `line-height` in all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
       ========================================================================== */
/**
       * Remove border when inside `a` element in IE 8/9/10.
       */
img {
  border: 0; }

/**
     * Correct overflow not hidden in IE 9/10/11.
     */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
       ========================================================================== */
/**
       * Address margin not present in IE 8/9 and Safari.
       */
figure {
  margin: 1.5em 40px; }

/**
     * Address differences between Firefox and other browsers.
     */
hr {
  box-sizing: content-box;
  height: 0; }

/**
     * Contain overflow in all browsers.
     */
pre {
  overflow: auto; }

/**
     * Address odd `em`-unit font size rendering in all browsers.
     */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
       ========================================================================== */
/**
     * Known limitation: by default, Chrome and Safari on OS X allow very limited
     * styling of `select`, unless a `border` property is set.
     */
/**
     * 1. Correct color not being inherited.
     *    Known issue: affects color of disabled elements.
     * 2. Correct font properties not being inherited.
     * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
     * 4. Address `font-family` inconsistency between `textarea` and other form in IE 7
     * 5. Improve appearance and consistency with IE 6/7.
     */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
     * Address `overflow` set to `hidden` in IE 8/9/10/11.
     */
button {
  overflow: visible; }

/**
     * Address inconsistent `text-transform` inheritance for `button` and `select`.
     * All other form control elements do not inherit `text-transform` values.
     * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
     * Correct `select` style inheritance in Firefox.
     */
button,
select {
  text-transform: none; }

/**
     * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
     *    and `video` controls.
     * 2. Correct inability to style clickable `input` types in iOS.
     * 3. Improve usability and consistency of cursor style between image-type
     *    `input` and others.
     * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
     *    Known issue: inner spacing remains in IE 6.
     */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
     * Re-set default cursor for disabled elements.
     */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
     * Remove inner padding and border in Firefox 4+.
     */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
     * Address Firefox 4+ setting `line-height` on `input` using `!important` in
     * the UA stylesheet.
     */
input {
  line-height: normal; }

/**
       * It's recommended that you don't attempt to style these elements.
       * Firefox's implementation doesn't respect box-sizing, padding, or width.
       *
       * 1. Address box sizing set to `content-box` in IE 8/9/10.
       * 2. Remove excess padding in IE 8/9/10.
       * 3. Remove excess padding in IE 7.
       *    Known issue: excess padding remains in IE 6.
       */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Fix the cursor style for Chrome's increment/decrement buttons. For certain
     * `font-size` values of the `input`, it causes the cursor style of the
     * decrement button to change from `default` to `text`.
     */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
     * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
     */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
  /**
       * Remove inner padding and search cancel button in Safari and Chrome on OS X.
       * Safari (but not Chrome) clips the cancel button when the search input has
       * padding (and `textfield` appearance).
       */ }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * Define consistent border, margin, and padding.
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct `color` not being inherited in IE 8/9/10/11.
     * 2. Remove padding so people aren't caught out if they zero out fieldsets.
     * 3. Correct alignment displayed oddly in IE 6/7.
     */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Remove default vertical scrollbar in IE 8/9/10/11.
     */
textarea {
  overflow: auto; }

/**
     * Don't inherit the `font-weight` (applied by a rule above).
     * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
     */
optgroup {
  font-weight: bold; }

/* Tables
       ========================================================================== */
/**
     * Remove most spacing between table cells.
     */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*---
title:   Box sizing reset
name:    base_box_sizing_reset
section: Base
---

Better box model: [Paul Irish - * { Box-sizing: Border-box } FTW](http://www.paulirish.com/2012/box-sizing-border-box-ftw/)
*/
/*---
title:   Variable
name:    base_box_sizing_reset_variable
section: base_box_sizing_reset
---

```css
$base-box-sizing-reset: true;
```
*/
/* extract base.css */
/* extract base_box_sizing_reset.css */
html {
  box-sizing: border-box; }

*, *::before, *::after {
  box-sizing: inherit; }

/* end extract base_box_sizing_reset.css */
/* end extract base.css */
/*---
title:   Typography
name:    base_typography
section: Base
---

Font sizes must be set in em or rem - use em values for text elements and rem
values for components (if necessary). Read more about this from
[Chris Coyier - Font Size Idea: px at the Root, rem for Components, em for Text
Elements](https://css-tricks.com/rems-ems/).  
Other allowed measurement units are vw, vh and % - basically all relative units
are allowed.  
Pixel (px) values are only allowed for hairline borders - this is because
there is no other reliable way to display 1px wide lines with relative units.
*/
/*---
title:   Variable
name:    base_typography_variable
section: base_typography
order:   3
---

```css
$base-typography-responsive: true;
$base-typography-a-color: #E1001F;
$base-typography-a-color-visited: #E1001F;
$base-typography-a-text-decoration: none;
$base-typography-a-text-decoration-hover: underline;
```
*/
/*---
title:   Mixin
name:    base_typography_mixin
section: base_typography
order:   2
---

```css
base-typography-whitespace()
```
*/
/* extract base.css */
/* extract base_typography.css */
/*---
title:   Example
name:    base_typography_example
section: base_typography
order:   1
---
*/
html,
button,
input,
select,
textarea {
  color: #222;
  font-family: 'DIN', sans-serif; }

/**
 * Basic font styles.
 */
html {
  line-height: 1.5;
  font-size: 87.5%; }
  @media (min-width: 30em) {
    html {
      font-size: 100%; } }

/**
 * Set only very basic heading styles, more about styling headlines:
 * http://csswizardry.com/2016/02/managing-typography-on-large-apps/
 */
h1,
h2,
h3,
h4,
footer .c-footer-menu .o-grid__item > a {
  font-size: 1.25em; }

h5,
h6 {
  font-size: 1em; }

/*---
title:   Anchor
name:    base_typography_example_anchor
section: base_typography_example
---

```example:html
<a href="#">readmore...</a>
```
*/
a {
  color: #E1001F;
  text-decoration: none;
  cursor: pointer; }
  a:visited {
    color: #E1001F; }
  a:hover, a:focus {
    text-decoration: underline; }

/*---
title:   Whitespace
name:    base_typography_example_whitespace
section: base_typography_example
---

```example:html
<h1>Lorem Ipsum dolor</h1>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.</p>
<ul>
  <li>Lorem Ipsum dolor</li>
  <li>Consetetur sadipscing elitr</li>
</ul>
<h2>Lorem Ipsum</h2>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.</p>
<h3>Lorem Ipsum</h3>
<p>Consetetur sadipscing elitr, sed diam nonumy eirmod labore et dolore magna
aliquyam erat tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.</p>
```
*/
h1,
h2,
h3,
h4,
footer .c-footer-menu .o-grid__item > a,
h5,
h6,
h1 + h2,
h2 + h3,
h3 + h4, footer .c-footer-menu .o-grid__item >
h3 + a,
h4 + h5, footer .c-footer-menu .o-grid__item > a + h5,
h5 + h6,
p,
ul,
ol,
dl,
pre,
form,
table,
figure,
address,
fieldset,
blockquote {
  margin-top: 0;
  margin-bottom: 0; }

p:not(:first-child),
ul:not(:first-child),
ol:not(:first-child),
dl:not(:first-child),
img:not(:first-child),
pre:not(:first-child),
form:not(:first-child),
table:not(:first-child),
figure:not(:first-child),
address:not(:first-child),
fieldset:not(:first-child),
blockquote:not(:first-child),
h1:not(:first-child),
h2:not(:first-child),
h3:not(:first-child),
h4:not(:first-child), footer .c-footer-menu .o-grid__item > a:not(:first-child),
h5:not(:first-child),
h6:not(:first-child) {
  margin-top: 1.5em; }

ul,
ol,
dl {
  padding-left: 0;
  list-style-position: inside; }

/**
 * No margin top for nested lists.
 */
li ul,
li ol,
li dl {
  margin-top: 0; }

/**
 * No margin top for nested tables.
 */
table table {
  margin-top: 0; }

/**
 * Normalize default font related tags.
 */
b,
strong {
  font-weight: 500; }

small {
  font-size: 0.8em; }

/**
 * Better img behaviour.
 */
img {
  display: inline-block; }

/* end extract base_typography.css */
/* end extract base.css */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

textarea {
  resize: vertical; }

strong, b {
  font-weight: 600; }

html {
  font-weight: 300; }

/*---
title: Object
---

Non-cosmetic styles (e.g. the famous media object).
*/
/*---
title:   Grid
name:    object_grid
section: Object
---

Fluid width, responsive grid system.

**TIP:** Most likely you want to use this package in combination with the
[width utility package](https://www.npmjs.com/package/avalanchesass_utility_width).
*/
/*---
title:   Variable
name:    object_grid_variable
section: object_grid
order:   3
---

```css
$o-grid-namespace: 'o-grid';
$o-grid-flex: true;
$o-grid-flex-fallback: false;
$o-grid-spaced-vertical-default-size: m;
$o-grid-spaced-vertical-sizes: (s, l);
$o-grid-spaced-vertical-sizes-with-breakpoints: (nested-map);
$o-grid-collapsed-vertical: false;
$o-grid-spaced-horizontal-sizes: ();
$o-grid-spaced-horizontal-sizes-with-breakpoints: (nested-map);
$o-grid-collapsed-horizontal: false;
```
*/
/*---
title:   Clearfix
name:    utility_clearfix
section: Utility
---

Contain floats.
*/
/*---
title:   Mixin
name:    utility_clearfix_mixin
section: utility_clearfix
order:   2
---

```css
u-clearfix()
```
*/
/*---
title:   Mixin
name:    object_grid_mixin
section: object_grid
order:   2
---

```css
// Basic grid.
o-grid([$-flex: true[, $-flex-fallback: false]])

// Vertical spacing between grid items.
o-grid-spaced-vertical([$-spacing: map-get($spacing, m)[, $-item-selector: '.o-grid__item']])

// Horizontal spacing between grid items.
o-grid-spaced-horizontal([$-spacing: map-get($spacing, m)[, $-item-selector: '.o-grid__item']])

// Basic grid item.
o-grid-item([$-flex: true[, $-flex-fallback: false]])
```
*/
/* extract object.css */
/* extract object_grid.css */
/*---
title:   Example
name:    object_grid_example
section: object_grid
order:   1
---
*/
/*---
title:   Default
name:    object_grid_example_default
section: object_grid_example
---

Default responsive grid with vertical and horizontal spacing between items.

```example:html
<div class="o-grid">
  <div class="o-grid__item" style="width: 50%;">
    <div style="background: grey; padding: 0.5em;">width: 50%</div>
  </div>
  <div class="o-grid__item" style="width: 50%;">
    <div style="background: grey; padding: 0.5em;">width: 50%</div>
  </div>
  <div class="o-grid__item" style="width: 50%;">
    <div style="background: grey; padding: 0.5em;">width: 50%</div>
  </div>
  <div class="o-grid__item" style="width: 50%;">
    <div style="background: grey; padding: 0.5em;">width: 50%</div>
  </div>
</div>
```
*/
.o-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -1.5em;
  margin-left: -1.5em; }
  .o-grid > .o-grid__item {
    margin-top: 1.5em; }
  .o-grid > .o-grid__item {
    padding-left: 1.5em; }

/*---
  title:   Spacing
  name:    object_grid_example_spacing
  section: object_grid_example
  ---
  */
/*---
  title:   Vertical
  name:    object_grid_example_spacing_vertical
  section: object_grid_example_spacing
  ---

  Vertical spacing between grid items.
  */
/*---
    title:   Size: s
    name:    object_grid_example_spacing_vertical_size_s
    section: object_grid_example_spacing_vertical
    ---

```example:html
<div class="o-grid o-grid--vertical-s">
  <div class="o-grid__item" style="width: 100%;">
    <div style="background: grey; padding: 0.5em;">width: 100%</div>
  </div>
  <div class="o-grid__item" style="width: 100%;">
    <div style="background: grey; padding: 0.5em;">width: 100%</div>
  </div>
</div>
```
    */
.o-grid--vertical-s {
  margin-top: -1em; }
  .o-grid--vertical-s > .o-grid__item {
    margin-top: 1em; }

/*---
    title:   Size: l
    name:    object_grid_example_spacing_vertical_size_l
    section: object_grid_example_spacing_vertical
    ---

```example:html
<div class="o-grid o-grid--vertical-l">
  <div class="o-grid__item" style="width: 100%;">
    <div style="background: grey; padding: 0.5em;">width: 100%</div>
  </div>
  <div class="o-grid__item" style="width: 100%;">
    <div style="background: grey; padding: 0.5em;">width: 100%</div>
  </div>
</div>
```
    */
.o-grid--vertical-l {
  margin-top: -2em; }
  .o-grid--vertical-l > .o-grid__item {
    margin-top: 2em; }

/* end extract object_grid.css */
/* end extract object.css */
.o-container {
  margin: 0 auto;
  max-width: 70em;
  padding-right: 1.5em;
  padding-left: 1.5em; }

.o-container--wide {
  max-width: 85em;
  padding: 0; }

.o-grid--align-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
              -ms-grid-row-align: center;
          align-items: center; }

@media (min-width: 45em) {
  .o-grid__item.u-width-3\@l {
    width: 25% !important; } }

/* extract object.css */
/* extract object_image_background.css */
/*---
title:   Image background
name:    object_image_background
section: Object
---
*/
/*---
title:   Example
name:    object_image_background_example
section: object_image_background
---

```example:html
<div class="o-image-background">
  <img class="o-image-background__image" src="http://placehold.it/850x300" alt="">
  <div class="o-image-background__content">
    <div class="o-image-background__inner">
      <!-- your content -->
    </div>
  </div>
</div>
```
*/
.o-image-background {
  position: relative; }

.o-image-background__image {
  width: 100%;
  padding: 0 1.5em; }
  @media (min-width: 45em) {
    .o-image-background__image {
      padding: 0; } }
  .o-image-background__image img {
    display: block;
    width: 100%; }

@media (min-width: 45em) {
  .o-image-background__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; } }

.o-image-background__inner {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

/* end extract object_image_background.css */
/* end extract object.css */
/*---
title: Component
---

Concrete, implementation-specific piece of UI.
*/
/*---
title:   hN
name:    component_hn
section: Component
---
*/
/*---
title:   Variable
name:    component_hn_variable
section: component_hn
order:   3
---

```css
$c-hn-namespace: 'c-h';
$c-hn-n: (nested-map);
```
*/
/*---
title:   Mixin
name:    component_hn_mixin
section: component_hn
order:   2
---

```css
c-h($-n: 1)
```
*/
/* extract component.css */
/* extract component_hn.css */
/*---
  title:   Example
  name:    component_hn_example
  section: component_hn
  ---

  Headline classes.

```example:html
<h1 class="c-h1">Headline 1</h1>
<h2 class="c-h2">Headline 2</h2>
<h3 class="c-h3">Headline 3</h3>
<h4 class="c-h4">Headline 4</h4>
<h5 class="c-h5">Headline 5</h5>
<h6 class="c-h6">Headline 6</h6>
```
  */
.c-h1 {
  font-weight: 700;
  font-size: 1.563em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-h2 {
  font-weight: 700;
  font-size: 1.25em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-h3 {
  font-weight: 400;
  font-size: 1.25em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-h4 {
  font-weight: 700;
  font-size: 1em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-h5 {
  font-weight: 500;
  font-size: 1em;
  font-family: 'DIN', sans-serif;
  line-height: inherit; }

.c-h6 {
  font-weight: 300;
  font-size: 1em;
  font-family: 'DIN', sans-serif;
  line-height: inherit; }

/* end extract component_hn.css */
/* end extract component.css */
/*---
title:   Editor content
name:    component_editor_content
section: Component
---

Style HTML output of editors (mostly user generated content).
*/
/*---
title:   Variable
name:    component_editor_content_variable
section: component_editor_content
order:   2
---

```css
$c-editor-content-namespace: 'c-editor-content';
$c-editor-content-table-zebra-striping: true;
```
*/
/* extract component.css */
/* extract component_editor_content.css */
/*---
  title:   Example
  name:    component_editor_content_example
  section: component_editor_content
  order:   1
  ---
  */
/*---
    title:   hN
    name:    component_editor_content_example_hn
    section: component_editor_content_example
    order:   1
    ---

    ```example:html
<div class="c-editor-content">
  <h1>Headline 1</h1>
  <h2>Headline 2</h2>
  <h3>Headline 3</h3>
  <h4>Headline 4</h4>
  <h5>Headline 5</h5>
  <h6>Headline 6</h6>
</div>
    ```
    */
.c-editor-content h1 {
  font-weight: 700;
  font-size: 1.563em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-editor-content h2 {
  font-weight: 700;
  font-size: 1.25em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-editor-content h3 {
  font-weight: 400;
  font-size: 1.25em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-editor-content h4, .c-editor-content footer .c-footer-menu .o-grid__item > a, footer .c-footer-menu .c-editor-content .o-grid__item > a {
  font-weight: 700;
  font-size: 1em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25; }

.c-editor-content h5 {
  font-weight: 500;
  font-size: 1em;
  font-family: 'DIN', sans-serif;
  line-height: inherit; }

.c-editor-content h6 {
  font-weight: 300;
  font-size: 1em;
  font-family: 'DIN', sans-serif;
  line-height: inherit; }

/* end extract component_editor_content.css */
/* end extract component.css */
/*---
title:   Button
name:    component_button
section: Component
---
*/
/*---
title:   Variable
name:    component_button_variable
section: component_button
order:   3
---

```css
$c-button-namespace: 'c-button';
$c-button-sizes: (m);
$c-button-full-width: false;
$c-button-font-sizes: ();
$c-button-cs: ();
$c-button-cs-alerts: ();
$c-button-cs-grey: ();
```
*/
/*---
title:   Mixin
name:    component_button_mixin
section: component_button
order:   2
---

```css
// Default button.
c-button([$-size: m[, $-cs: a]])

// Size.
c-button-size($-size)
c-button-full-width()

// Font size.
c-button-font-size($-font-size)

// Color.
c-button-color($-color, $-contrast-color)
c-button-cs([$-cs: a])
c-button-cs-alert([$-cs-alert: neutral])
c-button-cs-grey([$-cs-grey: a])
```
*/
/* extract component.css */
/* extract component_button.css */
/*---
title:   Example
name:    component_button_example
section: component_button
order:   1
---
*/
/*---
title:   Default
name:    component_button_example_default
section: component_button_example
---

```example:html
<a href="#" class="c-button">Button</a>
<button class="c-button">Button</button>
```
*/
.c-button, .c-button--alt--1, .c-mega-dropdown__header a.product-menu-data-sheet-link {
  padding: 0.5em 0.75em;
  background: #E1001F;
  display: inline-block;
  margin: 0;
  border: none;
  vertical-align: top;
  white-space: nowrap;
  font-size: 100%;
  font-family: inherit;
  cursor: pointer; }
  .c-button, .c-button--alt--1, .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-button:hover, .c-button--alt--1:hover, .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-button:focus, .c-button--alt--1:focus, .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-button:active, .c-button--alt--1:active, .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-button:visited, .c-button--alt--1:visited, .c-mega-dropdown__header a.product-menu-data-sheet-link:visited {
    color: #fff; }
  .c-button:hover, .c-button--alt--1:hover, .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-button:focus, .c-button--alt--1:focus, .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-button:active, .c-button--alt--1:active, .c-mega-dropdown__header a.product-menu-data-sheet-link:active {
    background: #ea4d62; }
  .c-button, .c-button--alt--1, .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-button:hover, .c-button--alt--1:hover, .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-button:focus, .c-button--alt--1:focus, .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-button:active, .c-button--alt--1:active, .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-button:visited, .c-button--alt--1:visited, .c-mega-dropdown__header a.product-menu-data-sheet-link:visited {
    outline: none;
    text-decoration: none; }

/* end extract component_button.css */
/* end extract component.css */
/* extract component.css */
/* extract component_brand_edge.css */
/*---
title:   Brand edge
name:    component_brand_edge
section: Component
---
*/
/*---
title:   Example
name:    component_brand_edge_example
section: component_brand_edge
---

```example:html
<div class="c-brand-edge">
  <div class="c-brand-edge__left">
    Left brand edge area.
  </div>
  <div class="c-brand-edge__right">
    Right brand edge area.
  </div>
</div>
<br /> 
<div class="c-brand-edge c-brand-edge--flip">
  <div class="c-brand-edge__left">
    Left brand edge area.
  </div>
  <div class="c-brand-edge__right">
    Right brand edge area.
  </div>
</div>
<br />
<div class="c-brand-edge c-brand-edge--flip">
  <div class="c-brand-edge__left">
    Left brand edge area.
  </div>
  <div class="c-brand-edge__right c-brand-edge__item-grow">
    Right brand edge area.
  </div>
</div>
```
*/
.c-brand-edge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.c-brand-edge__right {
  text-align: right;
  color: #fff;
  position: relative;
  padding-left: 7em; }
  .is-front .c-brand-edge__right {
    padding-left: 3em; }
  .c-brand-edge__right::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("data:image/svg+xml,%3Csvg%20width%3D%2210000px%22%20height%3D%2285px%22%20viewBox%3D%220%200%2010000%2085%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cg%20stroke%3D%22none%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M10000%2C0%20L9861.29295%2C85%20L138.70705%2C85%20L0%2C0%20L10000%2C0%20Z%22%20fill%3D%22%23E1001F%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left;
    background-size: auto 100%; }
  .c-brand-edge--flip .c-brand-edge__right::before {
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1); }
  .c-brand-edge__right a,
  .c-brand-edge__right a:visited {
    color: #fff; }

.c-brand-edge__item-grow {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

/* end extract component_brand_edge.css */
/* end extract component.css */
/* extract component.css */
/* extract component_brand_section.css */
/*---
title:   Brand section
name:    component_brand_section
section: Component
---
*/
/*---
title:   Example
name:    component_brand_section_example
section: component_brand_section
---

```example:html
<div class="c-brand-section">
  <h2>Lorem Ipsum</h2>
</div>
```
*/
.c-brand-section {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  background: #EFEFEF; }

/* end extract component_brand_section.css */
/* end extract component.css */
div[class*="c-paragraphs"] li, .c-node-product__product-textarea li, .bulletlist li {
  list-style-image: url(../assets/triangle-bullet.png);
  list-style-position: outside;
  margin-left: 20px; }
  .is-domain-www-citybloc-eu div[class*="c-paragraphs"] li, .is-domain-www-citybloc-eu .c-node-product__product-textarea li, .is-domain-www-citybloc-eu .bulletlist li {
    list-style-image: url(../assets/triangle-bullet005292.png); }
  .is-domain-www-phonobloc-com div[class*="c-paragraphs"] li, .is-domain-www-phonobloc-com .c-node-product__product-textarea li, .is-domain-www-phonobloc-com .bulletlist li {
    list-style-image: url(../assets/triangle-bullet39806F.png); }

.c-button, .c-button--alt--1, .c-mega-dropdown__header a.product-menu-data-sheet-link {
  border-radius: 0.25em;
  text-transform: uppercase;
  padding: 0.6em 0.75em 0.4em 0.75em;
  letter-spacing: 0.07em;
  white-space: normal; }
  .c-paragraphs-item-text-section .c-button, .c-paragraphs-item-text-section .c-button--alt--1, .c-paragraphs-item-text-section .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .c-paragraphs-item-text-section a.product-menu-data-sheet-link {
    letter-spacing: 0.03em !important; }

.c-button--alt {
  background: transparent;
  border-radius: 0;
  border: 2px solid #555555;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s; }
  .c-button--alt, .c-button--alt:hover, .c-button--alt:focus, .c-button--alt:active, .c-button--alt:visited {
    color: #222; }
  .c-button--alt:hover, .c-button--alt:focus, .c-button--alt:active {
    background: rgba(34, 34, 34, 0.3); }
  .c-button--alt:hover, .c-button--alt:focus, .c-button--alt:active {
    background: transparent;
    border-color: #222; }

.c-button-attached-link {
  display: inline-block;
  font-size: .75em;
  padding-top: 1.1em;
  padding-left: .5em; }

/* extract component.css */
/* extract component_image_header.css */
/*---
title:   Image header
name:    component_image_header
section: Component
---
*/
/*---
title:   Example
name:    component_image_header_example
section: component_image_header
---

```example:html
<div class="c-image-header o-image-background">
  <img class="o-image-background__image" src="http://placehold.it/850x115" alt="">
  <div class="c-image-header__content o-image-background__content">
    <div class="o-image-background__inner">
      <h2>Lorem Ipsum<br />
      Dolor sit</h2>
    </div>
  </div>
</div>
```
*/
.c-image-header {
  color: #fff; }

.c-image-header__content {
  padding: 1.5em 2em;
  -webkit-box-align: center;
      -ms-flex-align: center;
              -ms-grid-row-align: center;
          align-items: center; }

/* end extract component_image_header.css */
/* end extract component.css */
/* extract component.css */
/* extract component_image_teaser.css */
/*---
title:   Image teaser
name:    component_image_teaser
section: Component
---
*/
/*---
title:   Example
name:    component_image_teaser_example
section: component_image_teaser
---

```example:html
<a href="#" class="c-image-teaser o-image-background" style="width: 300px;">
  <div class="c-image-teaser__background">
    <img class="o-image-background__image" src="http://placehold.it/300x200" alt="">
  </div>
  <div class="c-image-teaser__content o-image-background__content">
    <div class="c-image-teaser__inner o-image-background__inner">
      <h5>Lorem Ipsum dolor sit</h5>
    </div>
  </div>
</a>
```
*/
.c-image-teaser {
  display: block;
  position: relative; }
  .c-image-teaser, .c-image-teaser:visited {
    color: #000000; }
  .c-image-teaser:hover, .c-image-teaser:focus {
    color: #ffffff; }
    .c-image-teaser:hover::before, .c-image-teaser:focus::before {
      background: rgba(34, 34, 34, 0.7);
      opacity: 1; }
  .c-image-teaser::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.2s, background 0.2s;
    transition: opacity 0.2s, background 0.2s; }

.c-image-teaser__background img {
  display: block;
  width: 100%; }

.c-image-teaser__content {
  -webkit-box-align: end;
      -ms-flex-align: end;
              -ms-grid-row-align: flex-end;
          align-items: flex-end; }

.c-image-teaser__inner {
  padding: 1em; }

/* end extract component_image_teaser.css */
/* end extract component.css */
/*---
title:   Width
name:    utility_width
section: Utility
---

Width classes.
*/
/*---
title:   Variable
name:    utility_width_variable
section: utility_width
order:   3
---

```css
$u-width-namespace: 'u-width';
$u-width-item-count: 12;
$u-width-breakpoints: (m);
```
*/
/*---
title:   Mixin
name:    utility_width_mixin
section: utility_width
order:   2
---

```css
u-width($-size[, $-item-count: 12])
```
*/
/* extract utility.css */
/* extract utility_width.css */
/*---
title:   Example
name:    utility_width_example
section: utility_width
order:   1
---

```example:html
<div style="text-align: center;">
  <div class="u-width-1" style="background: #fff;padding: 0.5em;">1</div>
  <div class="u-width-2" style="background: #fff;padding: 0.5em;">2</div>
  <div class="u-width-3" style="background: #fff;padding: 0.5em;">3</div>
  <div class="u-width-4" style="background: #fff;padding: 0.5em;">4</div>
  <div class="u-width-5" style="background: #fff;padding: 0.5em;">5</div>
  <div class="u-width-6" style="background: #fff;padding: 0.5em;">6</div>
  <div class="u-width-7" style="background: #fff;padding: 0.5em;">7</div>
  <div class="u-width-8" style="background: #fff;padding: 0.5em;">8</div>
  <div class="u-width-9" style="background: #fff;padding: 0.5em;">9</div>
  <div class="u-width-10" style="background: #fff;padding: 0.5em;">10</div>
  <div class="u-width-11" style="background: #fff;padding: 0.5em;">11</div>
  <div class="u-width-12" style="background: #fff;padding: 0.5em;">12</div>
</div>
```
*/
.u-width-1 {
  width: 8.3333333% !important; }

.u-width-2 {
  width: 16.6666667% !important; }

.u-width-3 {
  width: 25% !important; }

.u-width-4 {
  width: 33.3333333% !important; }

.u-width-5 {
  width: 41.6666667% !important; }

.u-width-6 {
  width: 50% !important; }

.u-width-7 {
  width: 58.3333333% !important; }

.u-width-8 {
  width: 66.6666667% !important; }

.u-width-9 {
  width: 75% !important; }

.u-width-10 {
  width: 83.3333333% !important; }

.u-width-11 {
  width: 91.6666667% !important; }

.u-width-12 {
  width: 100% !important; }

@media (min-width: 45em) {
  .u-width-1\@m {
    width: 8.3333333% !important; }
  .u-width-2\@m {
    width: 16.6666667% !important; }
  .u-width-3\@m {
    width: 25% !important; }
  .u-width-4\@m {
    width: 33.3333333% !important; }
  .u-width-5\@m {
    width: 41.6666667% !important; }
  .u-width-6\@m {
    width: 50% !important; }
  .u-width-7\@m {
    width: 58.3333333% !important; }
  .u-width-8\@m {
    width: 66.6666667% !important; }
  .u-width-9\@m {
    width: 75% !important; }
  .u-width-10\@m {
    width: 83.3333333% !important; }
  .u-width-11\@m {
    width: 91.6666667% !important; }
  .u-width-12\@m {
    width: 100% !important; } }

/* end extract utility_width.css */
/* end extract utility.css */
/* extract component.css */
/* extract component_category_teaser_list.css */
/*---
title:   Category teaser list
name:    component_category_teaser_list
section: Component
---
*/
/*---
title:   Example
name:    component_category_teaser_list_example
section: component_category_teaser_list
---

```example:html
<div class="c-category-teaser-list o-grid">
  <div class="c-category-teaser-list__item o-grid__item u-width-12 u-width-6@m">
    <a href="#" class="c-image-teaser o-image-background">
      <img class="o-image-background__image" src="http://placehold.it/780x430" alt="">
      <div class="c-image-teaser__content o-image-background__content">
        <div class="c-image-teaser__inner o-image-background__inner">
          <h5>Lorem Ipsum dolor sit</h5>
        </div>
      </div>
    </a>
  </div>
  <div class="c-category-teaser-list__item o-grid__item u-width-12 u-width-6@m">
    <a href="#" class="c-image-teaser o-image-background">
      <img class="o-image-background__image" src="http://placehold.it/780x430" alt="">
      <div class="c-image-teaser__content o-image-background__content">
        <div class="c-image-teaser__inner o-image-background__inner">
          <h5>Lorem Ipsum dolor sit</h5>
        </div>
      </div>
    </a>
  </div>
  <div class="c-category-teaser-list__item o-grid__item u-width-12 u-width-6@m">
    <a href="#" class="c-image-teaser o-image-background">
      <img class="o-image-background__image" src="http://placehold.it/780x430" alt="">
      <div class="c-image-teaser__content o-image-background__content">
        <div class="c-image-teaser__inner o-image-background__inner">
          <h5>Lorem Ipsum dolor sit</h5>
        </div>
      </div>
    </a>
  </div>
  <div class="c-category-teaser-list__item o-grid__item u-width-12 u-width-6@m">
    <a href="#" class="c-image-teaser o-image-background">
      <img class="o-image-background__image" src="http://placehold.it/780x430" alt="">
      <div class="c-image-teaser__content o-image-background__content">
        <div class="c-image-teaser__inner o-image-background__inner">
          <h5>Lorem Ipsum dolor sit</h5>
        </div>
      </div>
    </a>
  </div>
  <div class="c-category-teaser-list__item o-grid__item u-width-12 u-width-6@m">
    <a href="#" class="c-image-teaser o-image-background">
      <img class="o-image-background__image" src="http://placehold.it/780x430" alt="">
      <div class="c-image-teaser__content o-image-background__content">
        <div class="c-image-teaser__inner o-image-background__inner">
          <h5>Lorem Ipsum dolor sit</h5>
        </div>
      </div>
    </a>
  </div>
</div>
```
*/
.c-category-teaser-list__item {
  font-size: 0.8em; }
  @media (min-width: 45em) {
    .c-category-teaser-list__item {
      text-align: right; } }

/* end extract component_category_teaser_list.css */
/* end extract component.css */
.c-containment-levels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.c-containment-levels__level {
  width: 10%;
  background: #EFEFEF;
  text-align: center;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  font-size: 1.25em;
  border-left: 3px solid #fff;
  padding: 0.35em 0; }

.c-containment-levels__l1,
.c-containment-levels__l2,
.c-containment-levels__l3,
.c-containment-levels__l4a,
.c-containment-levels__l4b {
  border-bottom: 3px solid #fff;
  font-size: 1em; }

.c-containment-levels__t1 {
  border-left: none; }

.c-containment-levels__l1 {
  margin-left: 50%; }

.c-containment-levels__level--tested {
  background: #E1001F; }

.c-containment-levels__level--covered-by-higher-level {
  background: #f0808f; }

.c-data-sheet .c-data-sheet-list {
  font-size: 0.8em;
  border-top: 1px solid #dcdcdc;
  margin-top: 5px;
  padding-top: 10px; }
  .c-data-sheet .c-data-sheet-list a {
    color: #000000;
    display: block;
    margin: 0 0 5px 0; }
    .c-data-sheet .c-data-sheet-list a:before {
      content: "\e6a7";
      font-family: "themify";
      margin: 0 8px 0 0;
      font-size: 0.8em;
      display: inline-block;
      vertical-align: top; }
  .c-data-sheet .c-data-sheet-list span {
    float: right;
    color: #dcdcdc; }

.c-divider {
  border-top: 0.3em solid #E1001F;
  margin: 4em 0; }
  .c-divider span {
    display: block;
    position: relative; }
    .c-divider span:after {
      position: absolute;
      content: "";
      bottom: -1em;
      left: 1em;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 1em 1em 0 1em;
      border-color: #E1001F transparent transparent transparent; }

@media (min-width: 45em) {
  .c-view-downloads {
    width: 60%; } }

.c-view-downloads .c-view__row {
  overflow: auto;
  font-size: 0.8em;
  border-top: 1px solid #dcdcdc;
  margin-top: 5px;
  padding-top: 10px; }
  .c-view-downloads .c-view__row .views-field-title {
    float: left; }
    .c-view-downloads .c-view__row .views-field-title a {
      color: #000000;
      display: block;
      margin: 0 0 5px 0; }
      .c-view-downloads .c-view__row .views-field-title a:before {
        content: "\e6a7";
        font-family: "themify";
        margin: 0 8px 0 0;
        font-size: 0.8em;
        display: inline-block;
        vertical-align: top; }
  .c-view-downloads .c-view__row span.field-content {
    float: right;
    color: #c3c3c3; }

.c-node-jobs__jobs-open-positions {
  margin-top: 1.5em;
  display: block;
  margin: 1.5em 0 0 0; }
  .c-node-jobs__jobs-open-positions .c-node-jobs__jobs-open-positions__item {
    margin-bottom: 1.5em;
    width: 100% !important; }
  .c-node-jobs__jobs-open-positions .c-job-link-title {
    font-weight: bold;
    margin-bottom: 0.5em; }

.c-dropdown {
  max-width: 120px;
  float: right; }
  .c-dropdown span {
    text-decoration: line-through; }
  .c-dropdown .c-language-switcher__item {
    display: block;
    font-size: 0.9em;
    padding: .5em 1em;
    padding-right: 13px;
    background: #fff;
    opacity: 0;
    height: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute; }
    .c-dropdown .c-language-switcher__item .c-language-switcher__link {
      color: #E1001F; }
    .c-dropdown .c-language-switcher__item.is-open {
      opacity: 1;
      height: auto;
      visibility: visible;
      z-index: 100; }
    .c-dropdown .c-language-switcher__item:first-child {
      background: transparent;
      position: relative;
      opacity: 1;
      visibility: visible;
      height: auto; }
      .c-dropdown .c-language-switcher__item:first-child .c-language-switcher__link {
        color: #fff; }
      .c-dropdown .c-language-switcher__item:first-child:after {
        content: '';
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #fff;
        position: absolute;
        top: 9px;
        right: 0; }

.c-editor-content h1,
.c-editor-content h2,
.c-editor-content h3,
.c-editor-content h4,
.c-editor-content footer .c-footer-menu .o-grid__item > a, footer .c-footer-menu
.c-editor-content .o-grid__item > a {
  text-transform: uppercase; }

.c-block-contact__title {
  display: none; }

form.c-form .c-form__legend {
  display: none; }

form.c-form input.c-form__radio, form.c-form input.c-form__checkbox {
  margin-right: 10px; }

form.c-form label.c-form__label--before {
  width: 110px;
  display: inline-block; }

form.c-form .c-form__item--textarea label.c-form__label--before {
  vertical-align: top; }

form.c-form input.c-form__text, form.c-form textarea.c-form__textarea {
  width: 400px;
  max-width: 90%; }

footer {
  margin-top: 1.5em;
  background-color: #f6f6f6;
  position: relative; }
  footer #footer-watermark {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0; }
  footer #footer-logo {
    float: right;
    margin: 0 -1em 0.5em 0; }
  footer .c-footer-top {
    padding-top: 2em;
    padding-bottom: 2em;
    background-image: url("../assets/watermark.png");
    background-repeat: no-repeat;
    background-position: left;
    background-size: auto 100%; }
  footer .c-footer-bottom {
    margin-top: -2em; }
  footer .c-footer-menu {
    width: 100%;
    padding-bottom: 2em;
    clear: both;
    font-size: 0.8em; }
    footer .c-footer-menu .o-grid__item > a {
      text-transform: uppercase;
      margin-bottom: .9em;
      display: block;
      line-height: 1em;
      font-size: 1.2em; }
    footer .c-footer-menu ul {
      list-style: none;
      margin: 0;
      padding: 0;
      margin-bottom: 1em; }
      footer .c-footer-menu ul ul > li {
        line-height: 1em; }
      footer .c-footer-menu ul li {
        margin-bottom: 0.8em; }
        footer .c-footer-menu ul li a {
          line-height: 0.2em;
          color: #000000; }
  footer .c-brand-logo {
    position: absolute;
    bottom: 26px; }
  footer .c-brand-logo-img {
    height: 60px; }
  footer .c-brand-edge__right {
    font-size: 0.8em;
    z-index: 400; }
    footer .c-brand-edge__right a {
      padding: 5px 0 0 20px;
      display: inline-block; }
      @media (max-width: 44.9375em) {
        footer .c-brand-edge__right a {
          padding: 5px 0 0 7px; } }
      footer .c-brand-edge__right a:nth-child(1) {
        padding-left: 0; }
  footer .c-footer-bottom-line {
    background-color: #E1001F; }
    footer .c-footer-bottom-line span {
      font-size: 1em;
      color: #ffffff;
      padding: 5px 0;
      display: block; }

.c-footer-bottom {
  background: -webkit-linear-gradient(left, transparent 0, transparent 80%, #E1001F 80%, #E1001F 100%);
  background: linear-gradient(to right, transparent 0, transparent 80%, #E1001F 80%, #E1001F 100%); }
  @media (min-width: 83em) {
    .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 82%, #E1001F 82%, #E1001F 100%);
      background: linear-gradient(to right, transparent 0, transparent 82%, #E1001F 82%, #E1001F 100%); } }
  @media (min-width: 102em) {
    .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 77%, #E1001F 77%, #E1001F 100%);
      background: linear-gradient(to right, transparent 0, transparent 77%, #E1001F 77%, #E1001F 100%); } }
  @media (min-width: 122em) {
    .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 72%, #E1001F 72%, #E1001F 100%);
      background: linear-gradient(to right, transparent 0, transparent 72%, #E1001F 72%, #E1001F 100%); } }
  @media (min-width: 150em) {
    .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 68%, #E1001F 68%, #E1001F 100%);
      background: linear-gradient(to right, transparent 0, transparent 68%, #E1001F 68%, #E1001F 100%); } }

.c-paragraphs-item-grid__pg-block-grid-block {
  margin-top: 40px; }
  .c-paragraphs-item-grid__pg-block-grid-block .c-text-section {
    padding-top: 2em;
    padding-bottom: 2em; }
  .c-paragraphs-item-grid__pg-block-grid-block .o-media__right {
    text-align: right; }
  .c-paragraphs-item-grid__pg-block-grid-block a.c-button, .c-paragraphs-item-grid__pg-block-grid-block a.c-button--alt--1, .c-paragraphs-item-grid__pg-block-grid-block .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .c-paragraphs-item-grid__pg-block-grid-block a.product-menu-data-sheet-link {
    float: right; }

/** Headroom */
.headroom {
  background: #ffffff;
  z-index: 9998;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transition: 1s;
  -webkit-transition: -webkit-transform 1s ease-in-out;
  transition: -webkit-transform 1s ease-in-out;
  transition: transform 1s ease-in-out;
  transition: transform 1s ease-in-out, -webkit-transform 1s ease-in-out; }

.headroom--top {
  top: 0 !important; }

.headroom--unpinned {
  top: 0px;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translateY(-102px);
          transform: translateY(-102px); }
  .user-logged-in .headroom--unpinned {
    top: 30px; }

.headroom--pinned {
  top: -102px;
  -webkit-transition: 1s;
  transition: 1s; }

.headroom.headroom--not-top {
  position: fixed !important; }

/** Headroom */
.headroom--secondary {
  position: relative;
  z-index: 9998;
  left: 0;
  right: 0;
  -webkit-transition: 1s; }

.headroom--not-top--secondary {
  background: #E1001F !important; }

.headroom--unpinned--secondary {
  position: fixed !important;
  top: 72px;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translateY(0px);
          transform: translateY(0px); }
  .user-logged-in .headroom--unpinned--secondary {
    top: 102px; }

.headroom--pinned--secondary {
  position: fixed !important;
  top: 72px;
  -webkit-transition: 1s;
  transition: 1s; }

.headroom--top--secondary {
  position: relative !important;
  top: 0; }

/* extract component.css */
/* extract component_hero.css */
/*---
title:   Hero
name:    component_hero
section: Component
---
*/
/*---
title:   Example
name:    component_hero_example
section: component_hero
---

```example:html
<div class="c-hero" style="background-image: url(http://placehold.it/800x400);">
  <div class="c-hero__content">
    <h1>Lorem Ipsum</h1>
    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo</p>
  </div>
</div>
```
*/
.c-hero {
  color: #fff;
  background-size: cover;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background-position: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  width: 100%; }
  @media (min-width: 45em) {
    .c-hero {
      height: 27em; } }
  @media (max-width: 45em) {
    .c-hero p {
      margin-top: 0.8em; }
    .c-hero h1 {
      font-size: 1em;
      max-width: 100%;
      word-wrap: break-word; } }
  .is-front .c-hero {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
                -ms-grid-row-align: center !important;
            align-items: center !important; }

.c-hero__content {
  text-align: left;
  margin-bottom: 3em;
  width: 100%; }
  @media (max-width: 45em) {
    .is-front .c-hero__content {
      max-width: 83% !important;
      margin-bottom: 1em; }
      .is-front .c-hero__content h1 {
        font-size: 1.2em; } }
  .is-not-front .c-hero__content .c-hero__content-wrapper {
    display: inline-block; }
    @media (min-width: 45em) {
      .is-not-front .c-hero__content .c-hero__content-wrapper {
        max-width: 70%; } }
  .is-front .c-hero__content {
    text-align: center !important;
    margin-left: 0;
    margin-right: 0;
    max-width: 70%; }
  .c-hero__content p {
    font-family: 'Thekla', sans-serif;
    font-weight: 400; }

.u-front-hero-h1 {
  font-size: 2em !important; }

/* end extract component_hero.css */
/* end extract component.css */
.c-h1,
.c-h2,
.c-h3,
.c-h4 {
  text-transform: uppercase; }

/* extract component.css */
/* extract component_image_section.css */
/*---
title:   Image section
name:    component_image_section
section: Component
---
*/
/*---
title:   Example
name:    component_image_section_example
section: component_image_section
---

```example:html
<div class="c-image-section c-image-section--dark o-image-background">
  <img class="o-image-background__image" src="http://placehold.it/800x600" alt="">
  <div class="c-image-section__content o-image-background__content">
    <div class="c-image-section__inner o-image-background__inner">
      <h2>Lorem Ipsum dolor</h2>
      <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem.</p>
    </div>
  </div>
</div>
```
*/
.c-image-section {
  text-align: center; }
  .c-image-section .o-image-background__image {
    max-width: 100%;
    overflow: hidden; }
    @media (max-width: 44.9375em) {
      .c-image-section .o-image-background__image img {
        max-height: 300px;
        width: auto;
        margin: 0 auto; } }
    @media (min-width: 44.9375em) {
      .c-image-section .o-image-background__image img {
        min-height: 350px;
        min-width: 1280px;
        overflow: hidden; } }

@media (min-width: 45em) {
  .c-image-section--dark {
    color: #fff; } }

.c-image-section__content {
  -webkit-box-align: end;
      -ms-flex-align: end;
              -ms-grid-row-align: flex-end;
          align-items: flex-end; }
  @media (max-width: 44.9375em) {
    .c-image-section__content {
      margin-top: 1.5em; } }

@media (min-width: 45em) {
  .c-image-section__inner {
    padding-top: 3em;
    padding-bottom: 3em; } }

/* end extract component_image_section.css */
/* end extract component.css */
/* extract component.css */
/* extract component_info_bar.css */
/*---
title:   Info bar
name:    component_info_bar
section: Component
---
*/
/*---
title:   Example
name:    component_info_bar_example
section: component_info_bar
---

```example:html
<div class="c-info-bar o-island u-background-cs-b">
  <p>Info: <a href="#">read more</a></p>
</div>
```
*/
.c-info-bar {
  text-align: right;
  border-bottom: 0.35em solid #EFEFEF; }

/* end extract component_info_bar.css */
/* end extract component.css */
.c-language-switcher {
  list-style-type: none;
  padding: 0; }

.c-language-switcher__item {
  display: inline-block; }

.c-language-switcher {
  position: relative;
  height: 40px;
  z-index: 100; }
  .c-language-switcher .c-language-switcher__item {
    position: relative; }

/* extract component.css */
/* extract component_main_header.css */
/*---
title:   Main header
name:    component_main_header
section: Component
---
*/
/*---
title:   Example
name:    component_main_header_example
section: component_main_header
---
*/
.c-main-header {
  position: relative;
  z-index: 999;
  border-top: 1.2em solid #E1001F; }
  .c-main-header .outer-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: white; }
  .c-main-header .c-brand-edge__right {
    padding-left: 0; }

@media (min-width: 30em) {
  .c-main-header__top {
    background: -webkit-linear-gradient(left, transparent 0, transparent 90%, #E1001F 90%, #E1001F 100%);
    background: linear-gradient(to right, transparent 0, transparent 90%, #E1001F 90%, #E1001F 100%); } }

@media (min-width: 75em) {
  .c-main-header__top {
    background: -webkit-linear-gradient(left, transparent 0, transparent 60%, #E1001F 60%, #E1001F 100%);
    background: linear-gradient(to right, transparent 0, transparent 60%, #E1001F 60%, #E1001F 100%); } }

.c-main-header__first {
  padding: 1em 2em 0 0; }
  @media screen and (min-width: 940px) and (max-width: 1080px) {
    .c-main-header__first {
      padding: 1em 0 0 0; } }

.is-domain-www-citybloc-eu .c-block-blockify-logo img, .is-domain-www-phonobloc-com .c-block-blockify-logo img {
  max-height: 68px;
  padding-bottom: 11px; }

/* end extract component_main_header.css */
/* end extract component.css */
/* extract component.css */
/* extract component_main_menu.css */
/*---
title:   Main menu
name:    component_main_menu
section: Component
---
*/
/*---
title:   Example
name:    component_main_menu_example
section: component_main_menu
---
*/
@media (min-width: 60em) {
  nav#main-menu {
    text-align: right; } }

nav#main-menu .c-menu__list {
  display: none;
  z-index: 200; }

nav#main-menu > ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  nav#main-menu > ul > li {
    display: inline-block; }
    nav#main-menu > ul > li:last-child {
      position: relative; }
      nav#main-menu > ul > li:last-child .c-menu__link {
        padding-left: 10px;
        padding-right: 10px;
        background-color: #5d5d5d;
        color: #ffffff; }
    nav#main-menu > ul > li:not(:first-child) {
      margin-left: 1.5em; }
      @media (max-width: 60em) {
        nav#main-menu > ul > li:not(:first-child) {
          margin-left: 0.5em; } }
    nav#main-menu > ul > li:not(:last-child) > a {
      pointer-events: none; }
    nav#main-menu > ul > li a {
      display: inline-block;
      padding: 1em 0;
      padding-bottom: 0.7em;
      font-size: 0.8em;
      color: #222;
      font-family: 'DIN', sans-serif; }
      @media (max-width: 60em) {
        nav#main-menu > ul > li a {
          font-size: 0.6em; } }
      nav#main-menu > ul > li a.is-level1 {
        text-transform: uppercase; }
        nav#main-menu > ul > li a.is-level1 img {
          display: none; }
    nav#main-menu > ul > li:hover ul {
      display: block; }
    nav#main-menu > ul > li ul {
      position: absolute;
      text-align: left;
      background: #f6f6f6;
      max-width: 280px;
      min-width: 250px;
      border-top: 0.2em solid #E1001F; }
      nav#main-menu > ul > li ul:before {
        position: absolute;
        content: "";
        top: -10px;
        left: 20px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 10px 10px 10px;
        border-color: transparent transparent #E1001F transparent; }
      nav#main-menu > ul > li ul li:first-child {
        background: -webkit-linear-gradient(top, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%);
        background: linear-gradient(to bottom, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%); }
        nav#main-menu > ul > li ul li:first-child span {
          width: 60%; }
        nav#main-menu > ul > li ul li:first-child a:hover {
          background: transparent; }
        nav#main-menu > ul > li ul li:first-child .is-level2 {
          font-family: 'Thekla', sans-serif !important;
          font-size: 0.8em !important;
          text-transform: uppercase;
          font-weight: bold;
          display: block !important;
          min-height: 40px;
          padding: 6px 3px 0px 3px; }
          nav#main-menu > ul > li ul li:first-child .is-level2 > img {
            margin-top: -12px; }
        nav#main-menu > ul > li ul li:first-child:hover {
          background: -webkit-linear-gradient(top, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%);
          background: linear-gradient(to bottom, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%); }
      nav#main-menu > ul > li ul a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        line-height: 1.2em;
        padding: 1px 3px 0px 3px;
        display: block; }
        nav#main-menu > ul > li ul a:hover {
          background: white; }
        nav#main-menu > ul > li ul a img {
          margin: 5px; }
    nav#main-menu > ul > li ul.c-menu__list--level1 li {
      border-bottom: 1px solid #dcdcdc; }
      nav#main-menu > ul > li ul.c-menu__list--level1 li > div > .content {
        display: table;
        min-height: 40px; }
      nav#main-menu > ul > li ul.c-menu__list--level1 li .c-menu__link--level2 {
        font-family: 'DIN', sans-serif;
        font-size: 1em;
        vertical-align: middle; }
        nav#main-menu > ul > li ul.c-menu__list--level1 li .c-menu__link--level2 span {
          display: inline-block; }

nav#main-menu .c-menu__list--level1 .c-menu__list--level1 {
  display: none; }

@media (min-width: 60em) {
  .is-domain-www-citybloc-eu nav#main-menu,
  .is-domain-www-phonobloc-com nav#main-menu {
    text-align: right; } }

.is-domain-www-citybloc-eu nav#main-menu .c-menu__list,
.is-domain-www-phonobloc-com nav#main-menu .c-menu__list {
  display: none;
  z-index: 200; }

.is-domain-www-citybloc-eu nav#main-menu > ul,
.is-domain-www-phonobloc-com nav#main-menu > ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  .is-domain-www-citybloc-eu nav#main-menu > ul > li,
  .is-domain-www-phonobloc-com nav#main-menu > ul > li {
    display: inline-block; }
    .is-domain-www-citybloc-eu nav#main-menu > ul > li:last-child,
    .is-domain-www-phonobloc-com nav#main-menu > ul > li:last-child {
      position: relative; }
      .is-domain-www-citybloc-eu nav#main-menu > ul > li:last-child .c-menu__link,
      .is-domain-www-phonobloc-com nav#main-menu > ul > li:last-child .c-menu__link {
        padding-left: 10px;
        padding-right: 10px;
        background-color: #ffffff;
        color: #ffffff; }
    .is-domain-www-citybloc-eu nav#main-menu > ul > li:not(:first-child),
    .is-domain-www-phonobloc-com nav#main-menu > ul > li:not(:first-child) {
      margin-left: 1.5em; }
      @media (max-width: 60em) {
        .is-domain-www-citybloc-eu nav#main-menu > ul > li:not(:first-child),
        .is-domain-www-phonobloc-com nav#main-menu > ul > li:not(:first-child) {
          margin-left: 0.5em; } }
    .is-domain-www-citybloc-eu nav#main-menu > ul > li:not(:last-child) > a,
    .is-domain-www-phonobloc-com nav#main-menu > ul > li:not(:last-child) > a {
      pointer-events: auto; }
    .is-domain-www-citybloc-eu nav#main-menu > ul > li a,
    .is-domain-www-phonobloc-com nav#main-menu > ul > li a {
      display: inline-block;
      padding: 1em 0;
      padding-bottom: 0.7em;
      font-size: 0.8em;
      color: #222;
      font-family: 'DIN', sans-serif; }
      @media (max-width: 60em) {
        .is-domain-www-citybloc-eu nav#main-menu > ul > li a,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li a {
          font-size: 0.6em; } }
      .is-domain-www-citybloc-eu nav#main-menu > ul > li a.is-level1,
      .is-domain-www-phonobloc-com nav#main-menu > ul > li a.is-level1 {
        text-transform: uppercase; }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li a.is-level1 img,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li a.is-level1 img {
          display: none; }
    .is-domain-www-citybloc-eu nav#main-menu > ul > li:hover ul,
    .is-domain-www-phonobloc-com nav#main-menu > ul > li:hover ul {
      display: block; }
    .is-domain-www-citybloc-eu nav#main-menu > ul > li ul,
    .is-domain-www-phonobloc-com nav#main-menu > ul > li ul {
      position: absolute;
      text-align: left;
      background: #f6f6f6;
      max-width: 280px;
      min-width: 250px;
      border-top: 0.2em solid #E1001F; }
      .is-domain-www-citybloc-eu nav#main-menu > ul > li ul:before,
      .is-domain-www-phonobloc-com nav#main-menu > ul > li ul:before {
        position: absolute;
        content: "";
        top: -10px;
        left: 20px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 10px 10px 10px;
        border-color: transparent transparent #E1001F transparent; }
      .is-domain-www-citybloc-eu nav#main-menu > ul > li ul li:first-child,
      .is-domain-www-phonobloc-com nav#main-menu > ul > li ul li:first-child {
        background: -webkit-linear-gradient(top, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%);
        background: linear-gradient(to bottom, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%); }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li ul li:first-child span,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li ul li:first-child span {
          width: 60%; }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li ul li:first-child a:hover,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li ul li:first-child a:hover {
          background: transparent; }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li ul li:first-child .is-level2,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li ul li:first-child .is-level2 {
          font-family: 'Thekla', sans-serif !important;
          font-size: 0.8em !important;
          text-transform: uppercase;
          font-weight: bold;
          display: block !important;
          min-height: 40px;
          padding: 6px 3px 0px 3px; }
          .is-domain-www-citybloc-eu nav#main-menu > ul > li ul li:first-child .is-level2 > img,
          .is-domain-www-phonobloc-com nav#main-menu > ul > li ul li:first-child .is-level2 > img {
            margin-top: -12px; }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li ul li:first-child:hover,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li ul li:first-child:hover {
          background: -webkit-linear-gradient(top, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%);
          background: linear-gradient(to bottom, transparent 0%, rgba(206, 205, 205, 0.4) 85%, rgba(156, 156, 156, 0.65) 100%); }
      .is-domain-www-citybloc-eu nav#main-menu > ul > li ul a,
      .is-domain-www-phonobloc-com nav#main-menu > ul > li ul a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        line-height: 1.2em;
        padding: 1px 3px 0px 3px;
        display: block; }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li ul a:hover,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li ul a:hover {
          background: white; }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li ul a img,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li ul a img {
          margin: 5px; }
    .is-domain-www-citybloc-eu nav#main-menu > ul > li ul.c-menu__list--level1 li,
    .is-domain-www-phonobloc-com nav#main-menu > ul > li ul.c-menu__list--level1 li {
      border-bottom: 1px solid #dcdcdc; }
      .is-domain-www-citybloc-eu nav#main-menu > ul > li ul.c-menu__list--level1 li > div > .content,
      .is-domain-www-phonobloc-com nav#main-menu > ul > li ul.c-menu__list--level1 li > div > .content {
        display: table;
        min-height: 40px; }
      .is-domain-www-citybloc-eu nav#main-menu > ul > li ul.c-menu__list--level1 li .c-menu__link--level2,
      .is-domain-www-phonobloc-com nav#main-menu > ul > li ul.c-menu__list--level1 li .c-menu__link--level2 {
        font-family: 'DIN', sans-serif;
        font-size: 1em;
        vertical-align: middle; }
        .is-domain-www-citybloc-eu nav#main-menu > ul > li ul.c-menu__list--level1 li .c-menu__link--level2 span,
        .is-domain-www-phonobloc-com nav#main-menu > ul > li ul.c-menu__list--level1 li .c-menu__link--level2 span {
          display: inline-block; }

.is-domain-www-citybloc-eu nav#main-menu .c-menu__list--level1 .c-menu__list--level1,
.is-domain-www-phonobloc-com nav#main-menu .c-menu__list--level1 .c-menu__list--level1 {
  display: none; }

@media (min-width: 60em) {
  .is-domain-www-phonobloc-com nav#main-menu {
    text-align: right; } }

.is-domain-www-phonobloc-com nav#main-menu .c-menu__list {
  display: none;
  z-index: 200; }

.is-domain-www-phonobloc-com nav#main-menu > ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  .is-domain-www-phonobloc-com nav#main-menu > ul > li {
    display: inline-block; }
    .is-domain-www-phonobloc-com nav#main-menu > ul > li:last-child {
      position: relative; }
      .is-domain-www-phonobloc-com nav#main-menu > ul > li:last-child .c-menu__link {
        padding-left: 10px;
        padding-right: 10px;
        background-color: #ffffff;
        color: #222; }

nav#main-menu > ul > li ul {
  margin-top: 0; }

nav#main-menu > ul > li ul.c-menu__list--level1 li > div > .content {
  width: 100%; }

/* end extract component_main_menu.css */
/* end extract component.css */
.gmap-popup .map-bubble-left, .gmap-popup .map-bubble-right {
  display: inline-block;
  width: auto;
  min-width: 50px;
  vertical-align: top; }

.gmap-popup .map-bubble-img {
  margin: 0.2em 0.6em 0.2em 0; }

.gmap-popup .map-bubble-title {
  font-size: 1.2em;
  margin: 0.2em 0; }

.gmap-popup .map-bubble-address {
  margin-bottom: 0.2em; }

.gmap-popup .c-node-license-partner__location-phone-content, .gmap-popup .c-node-license-partner__location-fax {
  display: inline-block; }

.gmap-popup .map-bubble-phone span, .gmap-popup .map-bubble-fax span {
  font-weight: bold; }

.gmap-popup .map-bubble-email {
  margin-top: 0.2em; }

@media (min-width: 45em) {
  .c-media-multi {
    padding-top: 5em;
    padding-bottom: 5em; } }

@media (min-width: 45em) {
  .c-media-multi__left-inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: -1; }
    .c-media-multi__left-inner img {
      width: 230px; }
      .c-media-multi--big .c-media-multi__left-inner img {
        width: 340px; } }

@media (min-width: 60em) {
  .c-media-multi__left-inner img {
    width: 300px; }
    .c-media-multi--big .c-media-multi__left-inner img {
      width: 450px; } }

@media (min-width: 75em) {
  .c-paragraphs-item-media-multi.o-container .c-media-multi__left-inner img {
    max-width: 300px;
    width: auto;
    height: auto;
    max-height: 100%; }
  .c-media-multi--big .c-media-multi__left-inner img {
    width: 580px; } }

@media (min-width: 70em) {
  .c-media-multi__left-inner img {
    width: 400px; } }

@media (min-width: 90em) {
  .c-media-multi__left-inner img {
    width: 490px; }
    .c-media-multi--big .c-media-multi__left-inner img {
      width: 680px; } }

@media (min-width: 120em) {
  .c-media-multi__left-inner img {
    width: 740px; }
    .c-media-multi--big .c-media-multi__left-inner img {
      width: 910px; } }

/* extract component.css */
/* extract component_mega_dropdown.css */
/*---
title:   Mega dropdown
name:    component_mega_dropdown
section: Component
---
*/
/*---
title:   Example
name:    component_mega_dropdown_example
section: component_mega_dropdown
---

```example:html
<div class="c-mega-dropdown" style="height: 600px;">
  <div class="c-mega-dropdown__header c-image-header o-image-background">
    <img class="o-image-background__image" src="http://placehold.it/860x120" alt="">
    <div class="c-image-header__content o-image-background__content">
      <div class="o-image-background__inner">
        <h2>Lorem Ipsum<br />
        Dolor sit</h2>
      </div>
    </div>
  </div>
  <ul class="c-mega-dropdown__content o-grid">
    <li class="o-grid__item u-width-12 u-width-4@m">
      <a href="#" class="c-image-teaser o-image-background">
        <img class="o-image-background__image" src="http://placehold.it/250x140" alt="">
        <div class="c-image-teaser__content o-image-background__content">
          <div class="c-image-teaser__inner o-image-background__inner">
            <h5>Lorem Ipsum dolor sit</h5>
          </div>
        </div>
      </a>
    </li>
    <li class="o-grid__item u-width-12 u-width-4@m">
      <a href="#" class="c-image-teaser o-image-background">
        <img class="o-image-background__image" src="http://placehold.it/250x140" alt="">
        <div class="c-image-teaser__content o-image-background__content">
          <div class="c-image-teaser__inner o-image-background__inner">
            <h5>Lorem Ipsum dolor sit</h5>
          </div>
        </div>
      </a>
    </li>
    <li class="o-grid__item u-width-12 u-width-4@m">
      <a href="#" class="c-image-teaser o-image-background">
        <img class="o-image-background__image" src="http://placehold.it/250x140" alt="">
        <div class="c-image-teaser__content o-image-background__content">
          <div class="c-image-teaser__inner o-image-background__inner">
            <h5>Lorem Ipsum dolor sit</h5>
          </div>
        </div>
      </a>
    </li>
    <li class="o-grid__item u-width-12 u-width-4@m">
      <a href="#" class="c-image-teaser o-image-background">
        <img class="o-image-background__image" src="http://placehold.it/250x140" alt="">
        <div class="c-image-teaser__content o-image-background__content">
          <div class="c-image-teaser__inner o-image-background__inner">
            <h5>Lorem Ipsum dolor sit</h5>
          </div>
        </div>
      </a>
    </li>
    <li class="o-grid__item u-width-12 u-width-4@m">
      <a href="#" class="c-image-teaser o-image-background">
        <img class="o-image-background__image" src="http://placehold.it/250x140" alt="">
        <div class="c-image-teaser__content o-image-background__content">
          <div class="c-image-teaser__inner o-image-background__inner">
            <h5>Lorem Ipsum dolor sit</h5>
          </div>
        </div>
      </a>
    </li>
  </ul>
</div>
```
*/
#main-menu .c-mega-dropdown {
  max-width: 860px;
  border-top: 0.2em solid #E1001F;
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  overflow: auto; }
  #main-menu .c-mega-dropdown:before {
    position: absolute;
    content: "";
    top: -10px;
    right: 20px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #E1001F transparent; }

.c-mega-dropdown__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  height: 100px;
  background: #5d5d5d;
  text-align: left; }
  .c-mega-dropdown__header h4, .c-mega-dropdown__header footer .c-footer-menu .o-grid__item > a, footer .c-footer-menu .c-mega-dropdown__header .o-grid__item > a {
    margin: 1em; }
  .c-mega-dropdown__header .c-toggle {
    display: none; }
    #main-menu .c-mega-dropdown__header .c-toggle {
      display: inline-block;
      position: absolute;
      top: 10px;
      right: 10px; }
      #main-menu .c-mega-dropdown__header .c-toggle:after {
        content: "\e646";
        font-family: "themify";
        margin: 0 0 0 8px;
        font-size: 1em;
        vertical-align: top;
        color: #ffffff;
        font-weight: bold;
        cursor: pointer; }
  .c-mega-dropdown__header a.product-menu-data-sheet-link {
    position: absolute;
    bottom: 10px;
    right: 10px;
    padding: 0.6em 0.75em 0.3em 0.75em !important;
    background-color: #ffffff; }
    .c-mega-dropdown__header a.product-menu-data-sheet-link:hover {
      background: rgba(255, 255, 255, 0.7) !important; }

/* end extract component_mega_dropdown.css */
/* end extract component.css */
#main-menu .c-mega-dropdown.product_menu {
  display: none;
  position: absolute;
  right: 0;
  width: 860px; }
  @media (max-width: 59.9375em) {
    #main-menu .c-mega-dropdown.product_menu {
      width: 550px;
      max-height: auto !important; } }

.c-mega-dropdown.product_menu .c-mega-dropdown__content {
  padding-top: 2em;
  text-align: left;
  list-style-type: none; }
  .c-mega-dropdown.product_menu .c-mega-dropdown__content .product_filters {
    border: 1px solid #dcdcdc;
    margin: 0 0 1em 0; }
    .c-mega-dropdown.product_menu .c-mega-dropdown__content .product_filters .o-grid__item {
      margin-top: 0;
      padding: 2em 2.5em 0.5em 2.5em; }
  #main-menu .c-mega-dropdown.product_menu .c-mega-dropdown__content {
    padding: 2em; }
  .c-mega-dropdown.product_menu .c-mega-dropdown__content .level_parent.level_b_self .c-data-sheet-list a {
    display: inline-block !important;
    margin-right: 30px; }
  .c-mega-dropdown.product_menu .c-mega-dropdown__content .c-data-sheet-list a {
    padding: 0.2em 0 !important; }
  .c-mega-dropdown.product_menu .c-mega-dropdown__content .c-data-sheet-list .o-grid > .o-grid__item {
    margin-top: 0 !important;
    margin-bottom: 0.4em !important; }
  .c-mega-dropdown.product_menu .c-mega-dropdown__content .c-data-sheet-list h2 {
    margin-bottom: 1em !important; }
  .c-mega-dropdown.product_menu .c-mega-dropdown__content a {
    display: inline-block;
    margin-right: 3%;
    color: #000000; }
    #main-menu .c-mega-dropdown.product_menu .c-mega-dropdown__content a {
      display: inline-block;
      min-width: auto; }
    .c-mega-dropdown.product_menu .c-mega-dropdown__content a:hover, .c-mega-dropdown.product_menu .c-mega-dropdown__content a:focus {
      text-decoration: none; }
    .c-mega-dropdown.product_menu .c-mega-dropdown__content a.active_trail:after {
      content: "\e64c";
      font-family: "themify";
      margin: 0 0 0 8px;
      font-size: 1em;
      vertical-align: top;
      color: green;
      font-weight: bold; }
  .c-mega-dropdown.product_menu .c-mega-dropdown__content .level_3 {
    min-height: 140px; }
    .c-mega-dropdown.product_menu .c-mega-dropdown__content .level_3 h2 {
      margin-bottom: 1.5em !important; }
    .c-mega-dropdown.product_menu .c-mega-dropdown__content .level_3 .c-data-sheet-list a {
      padding: 5px 5px 2px 5px !important;
      background: #dcdcdc;
      width: 100%; }
      .c-mega-dropdown.product_menu .c-mega-dropdown__content .level_3 .c-data-sheet-list a:hover {
        background: #f6f6f6; }

.c-node-landing-page .c-mega-dropdown__header {
  display: none; }

.c-menu__list {
  padding: 0;
  list-style-type: none; }

.c-message {
  padding: 1.5em;
  border-left: 0.15em solid; }
  .c-message + .c-message {
    margin-top: 0.5em; }

.c-message--status {
  color: #3A87AD;
  background: #f3f8fa; }

.c-message--error {
  color: #b94a48;
  background: #fbf4f4; }

.c-message--warning {
  color: #c09853;
  background: #fbf9f5; }

.c-block-mobile-menu, .c-toggle-icon {
  display: none; }

.c-small-logo {
  width: 164px;
  background-image: url("../assets/deltabloc-logo-small.png");
  background-size: auto 100%;
  background-repeat: no-repeat;
  -webkit-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
  opacity: 0;
  height: 0;
  float: left; }
  .is-domain-www-phonobloc-com .c-small-logo {
    background-image: url("../assets/phonobloc-logo-small.png"); }
  .is-domain-www-citybloc-eu .c-small-logo {
    background-image: url("../assets/citybloc-logo-small.png"); }
  .c-small-logo:hover {
    text-decoration: none; }
  .c-small-logo.sticky {
    opacity: 1;
    margin-top: 6px;
    height: 33px; }

#mobile-menu .c-toplinks .c-toplinks-seperator {
  display: none; }

#mobile-menu .c-toplinks a {
  display: block;
  font-size: 1em;
  color: inherit;
  margin: 0.5em 0; }
  #mobile-menu .c-toplinks a.ti {
    display: inline-block;
    font-size: 2em;
    margin-right: 1em; }

@media (max-width: 60em) {
  header .c-brand-edge__right {
    padding-left: 0 !important;
    width: 40%; } }

@media (max-width: 45em) {
  header .c-brand-edge {
    display: block;
    overflow: auto; }
  header #main-menu, header .c-brand-edge__right {
    display: none; }
  header .c-brand-edge__left {
    max-width: 60%;
    padding: 0;
    float: right;
    margin-top: 10px; }
  header .c-main-header__top {
    background: none !important;
    margin-bottom: 10px; }
  .c-toggle-icon {
    display: inline-block;
    float: left;
    margin-top: 10px; }
    .c-toggle-icon:after {
      content: "\e68e";
      font-family: "themify";
      font-size: 2em;
      vertical-align: top;
      color: #ffffff;
      background: #E1001F;
      padding: 5px; }
      .is-domain-www-citybloc-eu .c-toggle-icon:after {
        background: #005292; }
      .is-domain-www-phonobloc-com .c-toggle-icon:after {
        background: #398073; }
  .c-hero {
    height: 30em; } }

@media (max-width: 30em) {
  .c-mobile-search {
    display: inline-block;
    float: left;
    margin-top: 10px; }
    .c-mobile-search:after {
      content: "\e610";
      font-family: "themify";
      font-size: 2em;
      vertical-align: top;
      color: #E1001F;
      padding: 5px;
      padding-left: 15px; }
      .is-domain-www-citybloc-eu .c-mobile-search:after {
        background: #ffffff;
        color: #005292; }
      .is-domain-www-phonobloc-com .c-mobile-search:after {
        background: #ffffff;
        color: #398073; } }

.date-display-single {
  font-size: 0.8em;
  text-transform: uppercase;
  margin-top: -3px;
  margin-bottom: 7px;
  display: block; }

.c-news-row__list {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid #696969; }
  .c-news-row__list .views-field-title {
    font-weight: bold; }
  .c-news-row__list .c-field.c-node-news__body {
    margin-bottom: 1em; }
  .c-news-row__list .views-field.views-field-view-node {
    margin-top: 1em; }

.c-news-archivelist h3 {
  text-align: right;
  border-bottom: 1px dotted #696969;
  margin-bottom: .5em; }

.node-type-news #main {
  margin-top: 2em; }

.c-view-news--block-1 {
  background: #f6f6f6;
  padding: 1.5em; }
  .c-view-news--block-1 .date-display-single {
    margin-bottom: 0; }
  .c-view-news--block-1 .views-field-view-node {
    margin-bottom: 1em; }

.section-news .easy-breadcrumb_segment-title {
  background: url(../assets/db-news-icon-white.png) left center no-repeat;
  font-size: 1.3em;
  padding: 4px 0 0 28px !important; }

.c-overlay {
  position: relative; }
  @media (max-width: 30em) {
    .c-overlay .c-overlaytype-overlay, .c-overlay .c-overlaytype-gradient {
      opacity: none !important; } }
  @media (min-width: 45em) {
    .c-overlay .c-overlaytype-overlay, .c-overlay .c-overlaytype-gradient {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; } }
  @media (min-width: 45em) {
    .c-overlay .c-overlaytype-overlay {
      background-color: #000000; } }
  @media (min-width: 45em) {
    .c-overlay .c-overlaytype-gradient {
      background: -webkit-linear-gradient(#cccccc, #000000);
      background: linear-gradient(#cccccc, #000000); } }
  .c-overlay .c-editor-content {
    position: relative; }

.page-search .c-form__field.container-inline {
  text-align: center; }
  .page-search .c-form__field.container-inline .c-form__item--keys {
    margin-bottom: 1em; }

.page-search .search-results {
  margin-bottom: 5em;
  list-style: none; }

.page-search .search-info {
  display: none; }

.page-search .search-result {
  margin-top: 2em; }

.page-search .c-pager {
  text-align: center; }

.page-search .c-pager__item {
  list-style-type: none;
  display: inline;
  margin: .5em; }

.u-reg {
  vertical-align: super;
  font-size: .65em;
  margin: 0 !important;
  padding: 0 !important; }

.c-view-search .c-pager {
  font-size: 1.1em;
  list-style: none;
  text-align: center; }

.c-view-search .c-pager__item {
  display: inline-block; }

.c-view-search .item-list ul {
  list-style: none; }

.c-view-search .views-row {
  margin-bottom: 1em; }

.c-view-search .c-view__widget.c-view__widget--submit {
  margin-top: .5em;
  margin-bottom: 1.5em; }

.c-view-search .c-form {
  margin-top: 1em; }

.c-view-search .c-form .c-form__text {
  padding-left: .5em; }

.c-subhero-section {
  margin-top: -32px;
  z-index: 200;
  position: relative;
  background: -webkit-linear-gradient(left, transparent 0, transparent 82%, #E1001F 82%, #E1001F 100%);
  background: linear-gradient(to right, transparent 0, transparent 82%, #E1001F 82%, #E1001F 100%); }
  @media (min-width: 102em) {
    .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 77%, #E1001F 77%, #E1001F 100%);
      background: linear-gradient(to right, transparent 0, transparent 77%, #E1001F 77%, #E1001F 100%); } }
  @media (min-width: 122em) {
    .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 72%, #E1001F 72%, #E1001F 100%);
      background: linear-gradient(to right, transparent 0, transparent 72%, #E1001F 72%, #E1001F 100%); } }
  @media (min-width: 150em) {
    .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 68%, #E1001F 68%, #E1001F 100%);
      background: linear-gradient(to right, transparent 0, transparent 68%, #E1001F 68%, #E1001F 100%); } }
  .c-subhero-section.sticky {
    position: fixed;
    left: 0;
    right: 0;
    margin-top: 0;
    background-color: #E1001F; }
  .c-subhero-section .c-brand-edge__right {
    font-weight: 400;
    text-transform: uppercase;
    font-size: 0.8em; }
  .c-subhero-section .easy-breadcrumb, .c-subhero-section .c-subhero-section-news {
    padding: 9px 0 0 0;
    line-height: 1em;
    min-width: 120px; }
    .is-front .c-subhero-section .easy-breadcrumb, .is-front .c-subhero-section .c-subhero-section-news {
      padding-top: 4px; }
    .c-subhero-section .easy-breadcrumb a:hover, .c-subhero-section .c-subhero-section-news a:hover {
      text-decoration: none; }
  .c-subhero-section .c-subhero-section-submenu {
    border-top: 5px solid #E1001F;
    border-bottom: 5px solid #f6f6f6;
    background-color: #dcdcdc;
    display: block;
    text-align: right; }
    .c-subhero-section .c-subhero-section-submenu a {
      color: #000000;
      text-transform: uppercase;
      font-size: 0.8em; }
      .c-subhero-section .c-subhero-section-submenu a:visited {
        color: #000000; }
      .c-subhero-section .c-subhero-section-submenu a.anchor-menu:focus, .c-subhero-section .c-subhero-section-submenu a.anchor-menu:active {
        background: #f6f6f6;
        padding: 4px 4px 1px 4px;
        border-radius: 7px;
        border: 1px solid #c3c3c3;
        text-decoration: none;
        font-weight: bold; }
    .c-subhero-section .c-subhero-section-submenu .c-view-news--block .item-list {
      font-size: .78em; }
      .c-subhero-section .c-subhero-section-submenu .c-view-news--block .item-list li {
        list-style-type: none; }
        .c-subhero-section .c-subhero-section-submenu .c-view-news--block .item-list li div {
          display: inline;
          line-height: 1em; }
          .c-subhero-section .c-subhero-section-submenu .c-view-news--block .item-list li div a {
            font-size: .8em;
            color: #E1001F; }
            .is-domain-www-citybloc-eu .c-subhero-section .c-subhero-section-submenu .c-view-news--block .item-list li div a {
              color: #005292; }
            .is-domain-www-phonobloc-com .c-subhero-section .c-subhero-section-submenu .c-view-news--block .item-list li div a {
              color: #398073; }
    .c-subhero-section .c-subhero-section-submenu .c-view-news--block, .c-subhero-section .c-subhero-section-submenu ul.c-menu__list {
      padding-top: 7px;
      padding-bottom: 4px; }
    .c-subhero-section .c-subhero-section-submenu .c-view-news__content > div {
      display: inline-block; }
    .c-subhero-section .c-subhero-section-submenu .c-view-news__content .views-field-view-node {
      margin-left: 10px; }
      .c-subhero-section .c-subhero-section-submenu .c-view-news__content .views-field-view-node a {
        color: #E1001F;
        text-transform: none; }
    .c-subhero-section .c-subhero-section-submenu ul.c-menu__list {
      list-style: none; }
      .c-subhero-section .c-subhero-section-submenu ul.c-menu__list li {
        display: inline-block;
        color: #000000;
        margin-left: 15px; }

ul.c-system-tab {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.c-system-tab li {
    display: inline-block;
    background-color: #E1001F;
    margin: 0.5em 0.2em 0.5em 0; }
    ul.c-system-tab li:hover {
      background-color: #ff1535; }
    ul.c-system-tab li a {
      color: #ffffff;
      padding: 0.5em 1em;
      display: block; }

.c-text-section {
  padding-top: 4em;
  padding-bottom: 4em; }

.c-text-section__sub-title {
  margin-top: 1em; }

.c-main-header__second, .c-main-header__third {
  display: inline-block; }

.c-main-header__second {
  margin-top: 10px;
  padding-left: 0; }

.c-toplinks a, .c-toplinks span, .c-sec_toplinks a, .c-sec_toplinks span {
  margin-left: 8px; }

.c-toplinks span.c-toplinks-seperator, .c-sec_toplinks span.c-toplinks-seperator {
  border-left: 1px solid #ffffff;
  height: 14px; }

.c-toplinks a, .c-sec_toplinks a {
  text-transform: uppercase;
  font-size: 0.8em; }
  .c-toplinks a.ti, .c-sec_toplinks a.ti {
    font-size: 1.1em;
    padding: 0;
    vertical-align: middle; }

.is-front .c-subhero-section-news {
  background: url(../assets/db-news-icon-white.png) left center no-repeat;
  font-size: 1.3em;
  padding-left: 28px !important; }

/*---
title: Utility
---

Utility classes that do very specific things (e.g. clearfix).
*/
.u-background-cs-a {
  background: #E1001F; }
  .u-background-cs-a,
  .u-background-cs-a a,
  .u-background-cs-a a:visited {
    color: #fff; }

.u-background-cs-grey-c {
  background: #696969; }
  .u-background-cs-grey-c,
  .u-background-cs-grey-c a,
  .u-background-cs-grey-c a:visited {
    color: #fff; }

.u-background-cs-grey-d {
  background: #111111; }
  .u-background-cs-grey-d,
  .u-background-cs-grey-d a,
  .u-background-cs-grey-d a:visited {
    color: #fff; }

.u-background-cs-grey-d-opacity--80, .is-not-front .c-hero__content .c-hero__content-wrapper {
  background: rgba(17, 17, 17, 0.8); }
  .u-background-cs-grey-d-opacity--80, .is-not-front .c-hero__content .c-hero__content-wrapper,
  .u-background-cs-grey-d-opacity--80 a, .is-not-front .c-hero__content .c-hero__content-wrapper a,
  .u-background-cs-grey-d-opacity--80 a:visited, .is-not-front .c-hero__content .c-hero__content-wrapper a:visited {
    color: #fff; }

.easy-breadcrumb .easy-breadcrumb_segment-separator:after {
  content: "\e661";
  margin: 0 5px;
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 0.8em; }

.element-invisible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }
  .element-invisible + * {
    margin-top: 0; }

.element-invisible.is-focusable:active,
.element-invisible.is-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.outbound_link:after {
  content: "\e732";
  font-family: "themify";
  margin: -3px 0px 0px 3px;
  font-size: 0.8em;
  display: inline-block;
  vertical-align: top; }

/* extract utility.css */
/* extract utility_font_size.css */
/*---
title:   Font size
name:    utility_font_size_bar
section: Utility
---
*/
/*---
title:   Example
name:    utility_font_size_example
section: utility_font_size
---

```example:html
<p class="u-font-size-l">
  Lorem Ipsum
</p>
```
*/
.u-font-size-l {
  font-size: 1.25em; }

/* end extract utility_font_size.css */
/* end extract utility.css */
.u-outline-none {
  outline: none; }

.u-padding-top-m {
  padding-top: 1.5em; }

.u-padding-top-l {
  padding-top: 2em; }

.u-padding-top-xl {
  padding-top: 3em; }

.u-padding-m {
  padding: 1.5em; }

.u-padding-l, .is-not-front .c-hero__content .c-hero__content-wrapper {
  padding: 2em; }

.u-padding-xl {
  padding: 3em; }

.u-padding-wrap > *:not(:first-child) {
  padding-top: 1.5em; }

.u-spacing-top-m {
  margin-top: 1.5em; }

.u-spacing-top-l {
  margin-top: 2em; }

.u-spacing-top-xl {
  margin-top: 3em; }

.u-spacing-wrap > *:not(:first-child) {
  margin-top: 1.5em; }

.u-text-align-right {
  text-align: left !important; }
  @media (min-width: 45em) {
    .u-text-align-right {
      text-align: right !important; } }

.u-text-align-left {
  text-align: left !important; }

.u-text-align-center {
  text-align: center !important; }

@media (min-width: 45em) {
  .u-width-one-fifth\@m {
    float: left;
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
    max-width: 20%; } }

@media (min-width: 60em) {
  .u-width-10\@l {
    width: 83.3333332% !important; } }

@media (min-width: 75em) {
  .u-width-8\@xl {
    width: 66.666667% !important; } }

html {
  overflow-x: hidden; }

body {
  background: #fff; }

.is-front .c-page-title,
.page-taxonomy-term .c-page-title,
body[class*="node-type"] .c-page-title {
  display: none; }

img {
  width: auto;
  max-width: 100%;
  height: auto; }

.c-paragraphs-item-media-multi {
  overflow: hidden;
  position: relative; }

.u-background-cs-a .c-button, .u-background-cs-a .c-button--alt--1, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link,
.u-background-cs-grey-c .c-button,
.u-background-cs-grey-c .c-button--alt--1,
.u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header
.u-background-cs-grey-c a.product-menu-data-sheet-link {
  background: #fff; }
  .u-background-cs-a .c-button, .u-background-cs-a .c-button--alt--1, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link, .u-background-cs-a .c-button:hover, .u-background-cs-a .c-button--alt--1:hover, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:hover, .u-background-cs-a .c-button:focus, .u-background-cs-a .c-button--alt--1:focus, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:focus, .u-background-cs-a .c-button:active, .u-background-cs-a .c-button--alt--1:active, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:active, .u-background-cs-a .c-button:visited, .u-background-cs-a .c-button--alt--1:visited, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:visited, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:visited,
  .u-background-cs-grey-c .c-button,
  .u-background-cs-grey-c .c-button--alt--1,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link,
  .u-background-cs-grey-c .c-button:hover,
  .u-background-cs-grey-c .c-button--alt--1:hover,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link:hover,
  .u-background-cs-grey-c .c-button:focus,
  .u-background-cs-grey-c .c-button--alt--1:focus,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link:focus,
  .u-background-cs-grey-c .c-button:active,
  .u-background-cs-grey-c .c-button--alt--1:active,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link:active,
  .u-background-cs-grey-c .c-button:visited,
  .u-background-cs-grey-c .c-button--alt--1:visited,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:visited, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link:visited {
    color: transparent; }
  .u-background-cs-a .c-button:hover, .u-background-cs-a .c-button--alt--1:hover, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:hover, .u-background-cs-a .c-button:focus, .u-background-cs-a .c-button--alt--1:focus, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:focus, .u-background-cs-a .c-button:active, .u-background-cs-a .c-button--alt--1:active, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:active,
  .u-background-cs-grey-c .c-button:hover,
  .u-background-cs-grey-c .c-button--alt--1:hover,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link:hover,
  .u-background-cs-grey-c .c-button:focus,
  .u-background-cs-grey-c .c-button--alt--1:focus,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link:focus,
  .u-background-cs-grey-c .c-button:active,
  .u-background-cs-grey-c .c-button--alt--1:active,
  .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header
  .u-background-cs-grey-c a.product-menu-data-sheet-link:active {
    background: rgba(255, 255, 255, 0.7); }

.u-background-cs-a .c-button, .u-background-cs-a .c-button--alt--1, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link, .u-background-cs-a .c-button:hover, .u-background-cs-a .c-button--alt--1:hover, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:hover, .u-background-cs-a .c-button:focus, .u-background-cs-a .c-button--alt--1:focus, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:focus, .u-background-cs-a .c-button:active, .u-background-cs-a .c-button--alt--1:active, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:active, .u-background-cs-a .c-button:visited, .u-background-cs-a .c-button--alt--1:visited, .u-background-cs-a .c-mega-dropdown__header a.product-menu-data-sheet-link:visited, .c-mega-dropdown__header .u-background-cs-a a.product-menu-data-sheet-link:visited {
  color: #E1001F; }

.u-background-cs-grey-c .c-button, .u-background-cs-grey-c .c-button--alt--1, .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .u-background-cs-grey-c a.product-menu-data-sheet-link, .u-background-cs-grey-c .c-button:hover, .u-background-cs-grey-c .c-button--alt--1:hover, .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .u-background-cs-grey-c a.product-menu-data-sheet-link:hover, .u-background-cs-grey-c .c-button:focus, .u-background-cs-grey-c .c-button--alt--1:focus, .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .u-background-cs-grey-c a.product-menu-data-sheet-link:focus, .u-background-cs-grey-c .c-button:active, .u-background-cs-grey-c .c-button--alt--1:active, .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .u-background-cs-grey-c a.product-menu-data-sheet-link:active, .u-background-cs-grey-c .c-button:visited, .u-background-cs-grey-c .c-button--alt--1:visited, .u-background-cs-grey-c .c-mega-dropdown__header a.product-menu-data-sheet-link:visited, .c-mega-dropdown__header .u-background-cs-grey-c a.product-menu-data-sheet-link:visited {
  color: #696969; }

footer .c-brand-edge__right {
  padding-left: 6em; }

.loading {
  display: none;
  position: absolute;
  right: 0;
  bottom: 60px;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  height: 30px;
  width: 30px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMzBweCcgaGVpZ2h0PSczMHB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9InVpbC1kZWZhdWx0Ij48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ibm9uZSIgY2xhc3M9ImJrIj48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDBiMmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSgwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwYjJmZicgdHJhbnNmb3JtPSdyb3RhdGUoMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjA4MzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDBiMmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuMTY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMGIyZmYnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4yNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwYjJmZicgdHJhbnNmb3JtPSdyb3RhdGUoMTIwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4zMzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDBiMmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjQxNjY2NjY2NjY2NjY2NjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMGIyZmYnIHRyYW5zZm9ybT0ncm90YXRlKDE4MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwYjJmZicgdHJhbnNmb3JtPSdyb3RhdGUoMjEwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC41ODMzMzMzMzMzMzMzMzM0cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDBiMmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMGIyZmYnIHRyYW5zZm9ybT0ncm90YXRlKDI3MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNzVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMGIyZmYnIHRyYW5zZm9ybT0ncm90YXRlKDMwMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuODMzMzMzMzMzMzMzMzMzNHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwYjJmZicgdHJhbnNmb3JtPSdyb3RhdGUoMzMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC45MTY2NjY2NjY2NjY2NjY2cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PC9zdmc+); }

.is-domain-www-phonobloc-com a, .is-domain-www-phonobloc-com a:visited {
  color: #398073; }

.is-domain-www-phonobloc-com .c-subhero-section .c-subhero-section-submenu .c-view-news__content .views-field-view-node a {
  color: #398073; }

.is-domain-www-phonobloc-com .c-main-header {
  border-top-color: #398073; }

.is-domain-www-phonobloc-com .c-brand-edge__right::before {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210000px%22%20height%3D%2285px%22%20viewBox%3D%220%200%2010000%2085%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cg%20stroke%3D%22none%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M10000%2C0%20L9861.29295%2C85%20L138.70705%2C85%20L0%2C0%20L10000%2C0%20Z%22%20fill%3D%22%2339806F%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left; }

.is-domain-www-phonobloc-com .c-brand-edge__right a, .is-domain-www-phonobloc-com .c-brand-edge__right a:visited {
  color: #fff; }

@media (min-width: 30em) {
  .is-domain-www-phonobloc-com .c-main-header__top {
    background: -webkit-linear-gradient(left, transparent 0, transparent 90%, #398073 90%, #398073 100%);
    background: linear-gradient(to right, transparent 0, transparent 90%, #398073 90%, #398073 100%); } }

@media (min-width: 75em) {
  .is-domain-www-phonobloc-com .c-main-header__top {
    background: -webkit-linear-gradient(left, transparent 0, transparent 60%, #398073 60%, #398073 100%);
    background: linear-gradient(to right, transparent 0, transparent 60%, #398073 60%, #398073 100%); } }

.is-domain-www-phonobloc-com .headroom--not-top--secondary {
  background: #398073 !important; }

.is-domain-www-phonobloc-com .c-subhero-section {
  background: -webkit-linear-gradient(left, transparent 0, transparent 90%, #398073 90%, #398073 100%);
  background: linear-gradient(to right, transparent 0, transparent 90%, #398073 90%, #398073 100%); }
  @media (min-width: 83em) {
    .is-domain-www-phonobloc-com .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 82%, #398073 82%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 82%, #398073 82%, #398073 100%); } }
  @media (min-width: 102em) {
    .is-domain-www-phonobloc-com .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 77%, #398073 77%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 77%, #398073 77%, #398073 100%); } }
  @media (min-width: 122em) {
    .is-domain-www-phonobloc-com .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 72%, #398073 72%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 72%, #398073 72%, #398073 100%); } }
  @media (min-width: 150em) {
    .is-domain-www-phonobloc-com .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 68%, #398073 68%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 68%, #398073 68%, #398073 100%); } }

.is-domain-www-phonobloc-com .c-footer-bottom {
  background: -webkit-linear-gradient(left, transparent 0, transparent 90%, #398073 90%, #398073 100%);
  background: linear-gradient(to right, transparent 0, transparent 90%, #398073 90%, #398073 100%); }
  @media (min-width: 83em) {
    .is-domain-www-phonobloc-com .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 82%, #398073 82%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 82%, #398073 82%, #398073 100%); } }
  @media (min-width: 102em) {
    .is-domain-www-phonobloc-com .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 77%, #398073 77%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 77%, #398073 77%, #398073 100%); } }
  @media (min-width: 122em) {
    .is-domain-www-phonobloc-com .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 72%, #398073 72%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 72%, #398073 72%, #398073 100%); } }
  @media (min-width: 150em) {
    .is-domain-www-phonobloc-com .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 68%, #398073 68%, #398073 100%);
      background: linear-gradient(to right, transparent 0, transparent 68%, #398073 68%, #398073 100%); } }

.is-domain-www-phonobloc-com .has-subnav .c-main-menu__link.is-level1::after {
  border-bottom-color: #398073; }

.is-domain-www-phonobloc-com .c-image-teaser, .is-domain-www-phonobloc-com .c-image-teaser:visited {
  color: #fff; }

.is-domain-www-phonobloc-com .c-mega-dropdown {
  border-top-color: #398073; }

@media (min-width: 45em) {
  .is-domain-www-phonobloc-com .c-main-header__right::after {
    background: #398073; }
  .is-domain-www-phonobloc-com .c-subhero-section .c-brand-edge__right::after {
    background: #398073; }
  .is-domain-www-phonobloc-com footer .c-brand-edge__right::after {
    background: #398073; } }

.is-domain-www-phonobloc-com .c-subhero-section .c-subhero-section-submenu {
  border-top-color: #398073; }

.is-domain-www-phonobloc-com .c-button, .is-domain-www-phonobloc-com .c-button--alt--1, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link {
  background: #398073; }
  .is-domain-www-phonobloc-com .c-button, .is-domain-www-phonobloc-com .c-button--alt--1, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link, .is-domain-www-phonobloc-com .c-button:hover, .is-domain-www-phonobloc-com .c-button--alt--1:hover, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link:hover, .is-domain-www-phonobloc-com .c-button:focus, .is-domain-www-phonobloc-com .c-button--alt--1:focus, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link:focus, .is-domain-www-phonobloc-com .c-button:active, .is-domain-www-phonobloc-com .c-button--alt--1:active, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link:active, .is-domain-www-phonobloc-com .c-button:visited, .is-domain-www-phonobloc-com .c-button--alt--1:visited, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link:visited, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link:visited {
    color: #fff; }
  .is-domain-www-phonobloc-com .c-button:hover, .is-domain-www-phonobloc-com .c-button--alt--1:hover, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link:hover, .is-domain-www-phonobloc-com .c-button:focus, .is-domain-www-phonobloc-com .c-button--alt--1:focus, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link:focus, .is-domain-www-phonobloc-com .c-button:active, .is-domain-www-phonobloc-com .c-button--alt--1:active, .is-domain-www-phonobloc-com .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .is-domain-www-phonobloc-com a.product-menu-data-sheet-link:active {
    background: #74a69d; }

.is-domain-www-phonobloc-com .u-background-cs-a {
  background: #398073; }

.is-domain-www-phonobloc-com footer .c-footer-bottom-line {
  background-color: #398073; }

.is-domain-www-citybloc-eu a, .is-domain-www-citybloc-eu a:visited {
  color: #005292 !important; }

.is-domain-www-citybloc-eu .c-subhero-section .c-subhero-section-submenu .c-view-news__content .views-field-view-node a {
  color: #005292; }

.is-domain-www-citybloc-eu .c-main-header {
  border-top-color: #005292; }

.is-domain-www-citybloc-eu .c-brand-edge__right::before {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210000px%22%20height%3D%2285px%22%20viewBox%3D%220%200%2010000%2085%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cg%20stroke%3D%22none%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M10000%2C0%20L9861.29295%2C85%20L138.70705%2C85%20L0%2C0%20L10000%2C0%20Z%22%20fill%3D%22%23005292%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left; }

.is-domain-www-citybloc-eu .c-brand-edge__right a, .is-domain-www-citybloc-eu .c-brand-edge__right a:visited {
  color: #fff !important; }

@media (min-width: 30em) {
  .is-domain-www-citybloc-eu .c-main-header__top {
    background: -webkit-linear-gradient(left, transparent 0, transparent 90%, #005292 90%, #005292 100%);
    background: linear-gradient(to right, transparent 0, transparent 90%, #005292 90%, #005292 100%); } }

@media (min-width: 75em) {
  .is-domain-www-citybloc-eu .c-main-header__top {
    background: -webkit-linear-gradient(left, transparent 0, transparent 60%, #005292 60%, #005292 100%);
    background: linear-gradient(to right, transparent 0, transparent 60%, #005292 60%, #005292 100%); } }

.is-domain-www-citybloc-eu .headroom--not-top--secondary {
  background: #005292 !important; }

.is-domain-www-citybloc-eu .c-subhero-section {
  background: -webkit-linear-gradient(left, transparent 0, transparent 90%, #005292 90%, #005292 100%);
  background: linear-gradient(to right, transparent 0, transparent 90%, #005292 90%, #005292 100%); }
  @media (min-width: 83em) {
    .is-domain-www-citybloc-eu .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 82%, #005292 82%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 82%, #005292 82%, #005292 100%); } }
  @media (min-width: 102em) {
    .is-domain-www-citybloc-eu .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 77%, #005292 77%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 77%, #005292 77%, #005292 100%); } }
  @media (min-width: 122em) {
    .is-domain-www-citybloc-eu .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 72%, #005292 72%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 72%, #005292 72%, #005292 100%); } }
  @media (min-width: 150em) {
    .is-domain-www-citybloc-eu .c-subhero-section {
      background: -webkit-linear-gradient(left, transparent 0, transparent 68%, #005292 68%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 68%, #005292 68%, #005292 100%); } }

.is-domain-www-citybloc-eu .c-footer-bottom {
  background: -webkit-linear-gradient(left, transparent 0, transparent 90%, #005292 90%, #005292 100%);
  background: linear-gradient(to right, transparent 0, transparent 90%, #005292 90%, #005292 100%); }
  @media (min-width: 83em) {
    .is-domain-www-citybloc-eu .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 82%, #005292 82%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 82%, #005292 82%, #005292 100%); } }
  @media (min-width: 102em) {
    .is-domain-www-citybloc-eu .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 77%, #005292 77%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 77%, #005292 77%, #005292 100%); } }
  @media (min-width: 122em) {
    .is-domain-www-citybloc-eu .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 72%, #005292 72%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 72%, #005292 72%, #005292 100%); } }
  @media (min-width: 150em) {
    .is-domain-www-citybloc-eu .c-footer-bottom {
      background: -webkit-linear-gradient(left, transparent 0, transparent 68%, #005292 68%, #005292 100%);
      background: linear-gradient(to right, transparent 0, transparent 68%, #005292 68%, #005292 100%); } }

.is-domain-www-citybloc-eu .has-subnav .c-main-menu__link.is-level1::after {
  border-bottom-color: #005292; }

.is-domain-www-citybloc-eu .c-image-teaser, .is-domain-www-citybloc-eu .c-image-teaser:visited {
  color: #fff; }

.is-domain-www-citybloc-eu .c-mega-dropdown {
  border-top-color: #005292; }

@media (min-width: 45em) {
  .is-domain-www-citybloc-eu .c-main-header__right::after {
    background: #005292; }
  .is-domain-www-citybloc-eu .c-subhero-section .c-brand-edge__right::after {
    background: #005292; }
  .is-domain-www-citybloc-eu footer .c-brand-edge__right::after {
    background: #005292; } }

.is-domain-www-citybloc-eu .c-subhero-section .c-subhero-section-submenu {
  border-top-color: #005292; }

.is-domain-www-citybloc-eu .c-button, .is-domain-www-citybloc-eu .c-button--alt--1, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link {
  background: #005292; }
  .is-domain-www-citybloc-eu .c-button, .is-domain-www-citybloc-eu .c-button--alt--1, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link, .is-domain-www-citybloc-eu .c-button:hover, .is-domain-www-citybloc-eu .c-button--alt--1:hover, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link:hover, .is-domain-www-citybloc-eu .c-button:focus, .is-domain-www-citybloc-eu .c-button--alt--1:focus, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link:focus, .is-domain-www-citybloc-eu .c-button:active, .is-domain-www-citybloc-eu .c-button--alt--1:active, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link:active, .is-domain-www-citybloc-eu .c-button:visited, .is-domain-www-citybloc-eu .c-button--alt--1:visited, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link:visited, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link:visited {
    color: #fff; }
  .is-domain-www-citybloc-eu .c-button:hover, .is-domain-www-citybloc-eu .c-button--alt--1:hover, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link:hover, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link:hover, .is-domain-www-citybloc-eu .c-button:focus, .is-domain-www-citybloc-eu .c-button--alt--1:focus, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link:focus, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link:focus, .is-domain-www-citybloc-eu .c-button:active, .is-domain-www-citybloc-eu .c-button--alt--1:active, .is-domain-www-citybloc-eu .c-mega-dropdown__header a.product-menu-data-sheet-link:active, .c-mega-dropdown__header .is-domain-www-citybloc-eu a.product-menu-data-sheet-link:active {
    background: #4d86b3; }

.is-domain-www-citybloc-eu .u-background-cs-a {
  background: #005292; }

.is-domain-www-citybloc-eu footer .c-footer-bottom-line {
  background-color: #005292; }

/* Hack to fix right alignment for overlays (dirty nesting) */
@media (min-width: 45em) {
  .o-image-background__inner.u-text-align-right .u-background-cs-grey-d-opacity--80, .o-image-background__inner.u-text-align-right .is-not-front .c-hero__content .c-hero__content-wrapper, .is-not-front .c-hero__content .o-image-background__inner.u-text-align-right .c-hero__content-wrapper {
    float: right; } }

.c-editor-content h6 {
  font-weight: 700;
  font-size: 1.25em;
  font-family: 'Thekla', sans-serif;
  line-height: 1.25;
  text-transform: none !important; }

.c-editor-content h3 {
  margin-top: 0; }

@media (max-width: 44.9375em) {
  .c-editor-content h3, .c-editor-content h2 {
    font-size: 1em; } }

.c-node-product h2, .c-node-product .c-button--alt {
  text-transform: none; }

.sidetab {
  z-index: 9999;
  display: inline-block;
  position: fixed;
  right: -43px;
  bottom: 20%;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  padding: 0.3em 0.5em;
  border-radius: 0.25em;
  text-transform: uppercase; }
  .is-domain-www-citybloc-eu .sidetab {
    background-color: #005292; }
  .is-domain-www-phonobloc-com .sidetab {
    background-color: #398073; }
  .sidetab a {
    color: #fff !important;
    display: block; }

.is-domain-www-citybloc-eu .c-subhero-section .c-brand-edge__right, .is-domain-www-phonobloc-com .c-subhero-section .c-brand-edge__right {
  padding-left: 7em; }

.is-domain-www-citybloc-eu footer .c-footer-top, .is-domain-www-phonobloc-com footer .c-footer-top {
  padding-top: 10em; }

.is-domain-www-citybloc-eu footer .c-footer-menu, .is-domain-www-phonobloc-com footer .c-footer-menu {
  display: none; }

.is-domain-www-citybloc-eu footer .c-brand-edge__right, .is-domain-www-phonobloc-com footer .c-brand-edge__right {
  padding-left: 7em; }

.is-domain-www-citybloc-eu .c-block-content-block-datasheets, .is-domain-www-citybloc-eu .c-block-content-block-extranet, .is-domain-www-citybloc-eu .c-language-content, .is-domain-www-phonobloc-com .c-block-content-block-datasheets, .is-domain-www-phonobloc-com .c-block-content-block-extranet, .is-domain-www-phonobloc-com .c-language-content {
  display: none; }

@media (max-width: 59.9375em) {
  .c-paragraphs-item-grid__pg-block-grid-block .c-paragraphs-item-text-section__pg-text-section-title, .c-paragraphs-item-grid__pg-block-grid-block .c-button, .c-paragraphs-item-grid__pg-block-grid-block .c-button--alt--1, .c-paragraphs-item-grid__pg-block-grid-block .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header .c-paragraphs-item-grid__pg-block-grid-block a.product-menu-data-sheet-link {
    font-size: 0.8em; } }

#block-search-form input {
  width: 170px;
  margin-top: .25em;
  border: 0;
  padding: .25em; }

#block-search-form div {
  display: inline-block; }

#block-search-form button {
  display: none; }

@media (max-width: 29.9375em) {
  #block-block-8 {
    text-align: center !important; }
    #block-block-8 .o-media__right {
      text-align: center !important; }
    #block-block-8 .c-button, #block-block-8 .c-button--alt--1, #block-block-8 .c-mega-dropdown__header a.product-menu-data-sheet-link, .c-mega-dropdown__header #block-block-8 a.product-menu-data-sheet-link {
      float: none; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF2YWxhbmNoZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfYmFzZV90eXBvZ3JhcGh5L25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2Z1bmN0aW9uX3N0cmlwX3VuaXQvc2Nzcy9faW5kZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2Z1bmN0aW9uX2JyZWFrcG9pbnRtYXgvc2Nzcy9faW5kZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2Z1bmN0aW9uX21hcF9nZXRfZGVlcC9zY3NzL19pbmRleC5zY3NzIiwiaGVscGVycy9fdmFyaWFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiYXZhbGFuY2hlLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19iYXNlX2JveF9zaXppbmdfcmVzZXQvc2Nzcy9fc3R5bGVfZ3VpZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2Jhc2VfYm94X3NpemluZ19yZXNldC9zY3NzL192YXJpYWJsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfYmFzZV9ib3hfc2l6aW5nX3Jlc2V0L3Njc3MvX2luZGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19iYXNlX3R5cG9ncmFwaHkvc2Nzcy9fc3R5bGVfZ3VpZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2Jhc2VfdHlwb2dyYXBoeS9zY3NzL192YXJpYWJsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfYmFzZV90eXBvZ3JhcGh5L3Njc3MvX21peGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19iYXNlX3R5cG9ncmFwaHkvc2Nzcy9faW5kZXguc2NzcyIsImJhc2UvX2RlZmF1bHQuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHlfZXh0ZW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19vYmplY3RfZ3JpZC9zY3NzL19zdHlsZV9ndWlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3Nfb2JqZWN0X2dyaWQvc2Nzcy9fdmFyaWFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX3V0aWxpdHlfY2xlYXJmaXgvc2Nzcy9fc3R5bGVfZ3VpZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX3V0aWxpdHlfY2xlYXJmaXgvc2Nzcy9fbWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkL3Njc3MvX21peGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19vYmplY3RfZ3JpZC9zY3NzL19pbmRleC5zY3NzIiwib2JqZWN0L19jb250YWluZXIuc2NzcyIsIm9iamVjdC9fZ3JpZF9leHRlbmQuc2NzcyIsIm9iamVjdC9faW1hZ2VfYmFja2dyb3VuZC5zY3NzIiwiaGVscGVycy9fbWl4aW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfaG4vc2Nzcy9fc3R5bGVfZ3VpZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9obi9zY3NzL192YXJpYWJsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfY29tcG9uZW50X2huL3Njc3MvX21peGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfaG4vc2Nzcy9faW5kZXguc2NzcyIsImNvbXBvbmVudC9faG5fdmFyaWFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9lZGl0b3JfY29udGVudC9zY3NzL19zdHlsZV9ndWlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfY29tcG9uZW50X2VkaXRvcl9jb250ZW50L3Njc3MvX3ZhcmlhYmxlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfZWRpdG9yX2NvbnRlbnQvc2Nzcy9faW5kZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9idXR0b24vc2Nzcy9fc3R5bGVfZ3VpZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9idXR0b24vc2Nzcy9fdmFyaWFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9idXR0b24vc2Nzcy9fbWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9hdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9idXR0b24vc2Nzcy9faW5kZXguc2NzcyIsImNvbXBvbmVudC9fYnJhbmRfZWRnZS5zY3NzIiwiY29tcG9uZW50L19icmFuZF9zZWN0aW9uLnNjc3MiLCJjb21wb25lbnQvX2J1bGxldF9saXN0LnNjc3MiLCJjb21wb25lbnQvX2J1dHRvbl9leHRlbmQuc2NzcyIsImNvbXBvbmVudC9faW1hZ2VfaGVhZGVyLnNjc3MiLCJjb21wb25lbnQvX2ltYWdlX3RlYXNlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfdXRpbGl0eV93aWR0aC9zY3NzL19zdHlsZV9ndWlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfdXRpbGl0eV93aWR0aC9zY3NzL192YXJpYWJsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfdXRpbGl0eV93aWR0aC9zY3NzL19taXhpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2F2YWxhbmNoZXNhc3NfdXRpbGl0eV93aWR0aC9zY3NzL19pbmRleC5zY3NzIiwiY29tcG9uZW50L19jYXRlZ29yeV90ZWFzZXJfbGlzdC5zY3NzIiwiY29tcG9uZW50L19jb250YWlubWVudF9sZXZlbHMuc2NzcyIsImNvbXBvbmVudC9fZGF0YV9zaGVldC5zY3NzIiwiY29tcG9uZW50L19kaXZpZGVyLnNjc3MiLCJjb21wb25lbnQvX2Rvd25sb2Fkcy5zY3NzIiwiY29tcG9uZW50L19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50L19lZGl0b3JfY29udGVudF9leHRlbmQuc2NzcyIsImNvbXBvbmVudC9fZW50aXR5Zm9ybS5zY3NzIiwiY29tcG9uZW50L19mb290ZXIuc2NzcyIsImNvbXBvbmVudC9fZ3JpZC5zY3NzIiwiY29tcG9uZW50L19oZWFkcm9vbS5zY3NzIiwiY29tcG9uZW50L19oZXJvLnNjc3MiLCJjb21wb25lbnQvX2huX2V4dGVuZC5zY3NzIiwiY29tcG9uZW50L19pbWFnZV9zZWN0aW9uLnNjc3MiLCJjb21wb25lbnQvX2luZm9fYmFyLnNjc3MiLCJjb21wb25lbnQvX2xhbmd1YWdlX3N3aXRjaGVyLnNjc3MiLCJjb21wb25lbnQvX21haW5faGVhZGVyLnNjc3MiLCJjb21wb25lbnQvX21haW5fbWVudS5zY3NzIiwiY29tcG9uZW50L19tYXAuc2NzcyIsImNvbXBvbmVudC9fbWVkaWFfbXVsdGkuc2NzcyIsImNvbXBvbmVudC9fbWVnYV9kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50L19tZW51LnNjc3MiLCJjb21wb25lbnQvX21lc3NhZ2Uuc2NzcyIsImNvbXBvbmVudC9fbW9iaWxlX21lbnUuc2NzcyIsImNvbXBvbmVudC9fbmV3cy5zY3NzIiwiY29tcG9uZW50L19vdmVybGF5LnNjc3MiLCJjb21wb25lbnQvX3BhZ2Vycy5zY3NzIiwiY29tcG9uZW50L19yZWdpc3RlcmVkLWZpeC5zY3NzIiwiY29tcG9uZW50L19zZWFyY2guc2NzcyIsImNvbXBvbmVudC9fc3ViaGVyb19zZWN0aW9uLnNjc3MiLCJjb21wb25lbnQvX3N5c3RlbV90YWIuc2NzcyIsImNvbXBvbmVudC9fdGV4dF9zZWN0aW9uLnNjc3MiLCJjb21wb25lbnQvX3RvcGxpbmtzLnNjc3MiLCJjb21wb25lbnQvX3ZpZXdfbmV3c3RpY2tlci5zY3NzIiwidXRpbGl0eS9fYmFja2dyb3VuZC5zY3NzIiwidXRpbGl0eS9fYnJlYWRjcnVtYnMuc2NzcyIsInV0aWxpdHkvX2VsZW1lbnRfaW52aXNpYmxlLnNjc3MiLCJ1dGlsaXR5L19leHRlcm5hbF9saW5rcy5zY3NzIiwidXRpbGl0eS9fZm9udF9zaXplLnNjc3MiLCJ1dGlsaXR5L19vdXRsaW5lLnNjc3MiLCJ1dGlsaXR5L19wYWRkaW5nLnNjc3MiLCJ1dGlsaXR5L19zcGFjaW5nLnNjc3MiLCJ1dGlsaXR5L190ZXh0X2FsaWduLnNjc3MiLCJ1dGlsaXR5L19taXhpbnMuc2NzcyIsInV0aWxpdHkvX3dpZHRoX2V4dGVuZC5zY3NzIiwiaGVscGVycy9fc2hhbWUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztFQU9FO0FBQ0Y7Ozs7O0VBS0U7QUFDRixrREFBa0Q7QUFDbEQ7Ozs7R0FJRztBQ25CSDs7Ozs7Ozs7Ozs7Ozs7OztFQWdCRTtBQ2RGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFO0FDckJGOzs7Ozs7Ozs7OztFQVdFO0FDUkY7Ozs7OztFQU1FO0FBQ0Y7Ozs7Ozs7OztFQVNFO0FBUUY7Ozs7Ozs7Ozs7OztFQVlFO0FBRUY7O0dBRUc7QUFPSDs7Ozs7Ozs7Ozs7O0VBWUU7QUFFRjs7OztHQUlHO0FBT0g7Ozs7Ozs7Ozs7RUFVRTtBQUlGOzs7OztFQUtFO0FBQ0Y7OztHQUdH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QkFBOEI7QUFFNUI7Ozs7Ozs7Ozs7Ozs7Ozs7SUFnQkU7QUFHQTtFRFJGLGlCMUJzSm9CO0UwQnJKcEIsbUIxQjRGYTtFMEIzRmIsa0NBQW9CO0VBQ3BCLGtCRWhCbUIsRUR1QmhCOztBQUZEO0VEUkYsaUIxQnNKb0I7RTBCckpwQixrQjFCMkZZO0UwQjFGWixrQ0FBb0I7RUFDcEIsa0JFVm1CLEVEaUJoQjs7QUFGRDtFRFJGLGlCMUJtSm9CO0UwQmxKcEIsa0IxQjJGWTtFMEIxRlosa0NBQW9CO0VBQ3BCLGtCRUptQixFRFdoQjs7QUFGRDtFRFJGLGlCMUJzSm9CO0UwQnJKcEIsZTFCMEZTO0UwQnpGVCxrQ0FBb0I7RUFDcEIsa0JFRW1CLEVES2hCOztBQUZEO0VEUkYsaUIxQndJb0I7RTBCdklwQixlMUIwRlM7RTBCekZULCtCQUFvQjtFQUNwQixxQkVRc0IsRUREbkI7O0FBRkQ7RURSRixpQjFCcUlvQjtFMEJwSXBCLGUxQjBGUztFMEJ6RlQsK0JBQW9CO0VBQ3BCLHFCRWNzQixFRFBuQjs7QUFHTCxrQ0FBa0M7QUFDbEMsK0JBQStCO0FFaEMvQjs7Ozs7OztFQU9FO0FDRkY7Ozs7Ozs7Ozs7O0VBV0U7QUNaQSwyQkFBMkI7QUFDM0IsMENBQTBDO0FBQzFDOzs7Ozs7SUFNRTtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7OztNQWlCRTtBQUNGO0VMZEYsaUIxQnNKb0I7RTBCckpwQixtQjFCNEZhO0UwQjNGYixrQ0FBb0I7RUFDcEIsa0JFaEJtQixFR2dDWjs7QUFMTDtFTGRGLGlCMUJzSm9CO0UwQnJKcEIsa0IxQjJGWTtFMEIxRlosa0NBQW9CO0VBQ3BCLGtCRVZtQixFRzBCWjs7QUFMTDtFTGRGLGlCMUJtSm9CO0UwQmxKcEIsa0IxQjJGWTtFMEIxRlosa0NBQW9CO0VBQ3BCLGtCRUptQixFR29CWjs7QUFMTDtFTGRGLGlCMUJzSm9CO0UwQnJKcEIsZTFCMEZTO0UwQnpGVCxrQ0FBb0I7RUFDcEIsa0JFRW1CLEVHY1o7O0FBTEw7RUxkRixpQjFCd0lvQjtFMEJ2SXBCLGUxQjBGUztFMEJ6RlQsK0JBQW9C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VUFBVTtFQUNWLGVBQWUsRUFDZDs7QUFOSDtFQVFJLHNCQUFzQixFQUN2Qjs7QUFUSDtFQVdFLGNBQWMsRUFDZDs7QUFHRjtFQUNBO0lBQ0MsOEJBQThCLEVBTzlCO0lBUkQ7TUFHRSw4QkFBOEIsRUFDL0I7SUFKRDtNQU1FLFlBQVksRUFDWixFQUFBIiwiZmlsZSI6ImF2YWxhbmNoZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLVxudGl0bGU6IGF2YWxhbmNoZVxuLS0tXG5cbmF2YWxhbmNoZSBpcyBhIG1vZHVsYXIgZnJvbnQtZW5kIGZyYW1ld29yayB3aGljaCBjYW4gYmUgZXh0ZW5kZWQgd2l0aCBucG1cbnBhY2thZ2VzLiBUaGUgZ29hbCBpcyB0byBwcm92aWRlIGEgd29ya2Zsb3cgdG8gbWFuYWdlIHRoZSBjb21wbGV4aXR5IG9mIGJpZ1xuZnJvbnQtZW5kIHByb2plY3RzLlxuKi9cbi8qLS0tXG50aXRsZTogRnVuY3Rpb25cbi0tLVxuXG5DdXN0b20gU0FTUyBmdW5jdGlvbnMuXG4qL1xuLyogTm8gZmlsZXMgdG8gaW1wb3J0IGZvdW5kIGluIGZ1bmN0aW9uLy8qLnNjc3MgKi9cbi8qKlxuICogVmFyaWFibGVcbiAqXG4gKiBJZiB5b3Ugd2FudCB0byAqKm9ubHkqKiBpbXBvcnQgdGhlIHZhcmlhYmxlcyBmcm9tIGEgcGFja2FnZSBpbXBvcnQgdGhlbSBoZXJlLlxuICovXG5AaW1wb3J0ICdoZWxwZXJzL3ZhcmlhYmxlJztcbi8vIEJhc2Vcbi8vIGUuZy4gQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19iYXNlX3R5cG9ncmFwaHkvdmFyaWFibGUnO1xuLyogTm8gZmlsZXMgdG8gaW1wb3J0IGZvdW5kIGluIGJhc2UvLyp2YXJpYWJsZS5zY3NzICovXG4vLyBPYmplY3Rcbi8vIGUuZy4gQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19vYmplY3RfZ3JpZC92YXJpYWJsZSc7XG4vKiBObyBmaWxlcyB0byBpbXBvcnQgZm91bmQgaW4gb2JqZWN0Ly8qdmFyaWFibGUuc2NzcyAqL1xuLy8gQ29tcG9uZW50XG4vLyBlLmcuIEBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfY29tcG9uZW50X2J1dHRvbi92YXJpYWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnQvaG5fdmFyaWFibGUnO1xuXG4vLyBVdGlsaXR5XG4vLyBlLmcuIEBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfdXRpbGl0eV9jbGVhcmZpeC92YXJpYWJsZSc7XG4vKiBObyBmaWxlcyB0byBpbXBvcnQgZm91bmQgaW4gdXRpbGl0eS8vKnZhcmlhYmxlLnNjc3MgKi9cbi8qKlxuICogTWl4aW5cbiAqXG4gKiBJZiB5b3Ugd2FudCB0byAqKm9ubHkqKiBpbXBvcnQgdGhlIG1peGlucyBmcm9tIGEgcGFja2FnZSBpbXBvcnQgdGhlbSBoZXJlLlxuICovXG4vLyBCYXNlXG4vLyBlLmcuIEBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfYmFzZV90eXBvZ3JhcGh5L21peGluJztcbi8vIE9iamVjdFxuLy8gZS5nLiBAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkL21peGluJztcbi8vIENvbXBvbmVudFxuLy8gZS5nLiBAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9idXR0b24vbWl4aW4nO1xuLy8gVXRpbGl0eVxuLy8gZS5nLiBAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX3V0aWxpdHlfY2xlYXJmaXgvbWl4aW4nO1xuQGltcG9ydCAnaGVscGVycy9taXhpbnMnO1xuXG5cblxuLyotLS1cbnRpdGxlOiBCYXNlXG4tLS1cblxuQmFzZSBzdHlsZXMgbGlrZSB0eXBvZ3JhcGh5IGFuZCBvdGhlciBnbG9iYWwgZGVmYXVsdCBzdHlsZXNcbihtb3N0bHkgdW5jbGFzc2VkIEhUTUwgZWxlbWVudHMpLlxuKi9cbkBpbXBvcnQgJ25vcm1hbGl6ZS9pbXBvcnQtbm93Jztcbi8vIEltcG9ydCB5b3VyIGRlcGVuZGVuY2llcyBoZXJlLlxuLy8gZS5nLiBAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2Jhc2VfdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2Jhc2VfYm94X3NpemluZ19yZXNldCc7XG5AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2Jhc2VfdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdiYXNlL2RlZmF1bHQnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5X2V4dGVuZCc7XG5cbi8qLS0tXG50aXRsZTogT2JqZWN0XG4tLS1cblxuTm9uLWNvc21ldGljIHN0eWxlcyAoZS5nLiB0aGUgZmFtb3VzIG1lZGlhIG9iamVjdCkuXG4qL1xuLy8gSW1wb3J0IHlvdXIgZGVwZW5kZW5jaWVzIGhlcmUuXG4vLyBlLmcuIEBpbXBvcnQgJ2F2YWxhbmNoZXNhc3Nfb2JqZWN0X2dyaWQnO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19vYmplY3RfZ3JpZCc7XG5AaW1wb3J0ICdvYmplY3QvY29udGFpbmVyJztcbkBpbXBvcnQgJ29iamVjdC9ncmlkX2V4dGVuZCc7XG5AaW1wb3J0ICdvYmplY3QvaW1hZ2VfYmFja2dyb3VuZCc7XG5cbi8qLS0tXG50aXRsZTogQ29tcG9uZW50XG4tLS1cblxuQ29uY3JldGUsIGltcGxlbWVudGF0aW9uLXNwZWNpZmljIHBpZWNlIG9mIFVJLlxuKi9cbi8vIEltcG9ydCB5b3VyIGRlcGVuZGVuY2llcyBoZXJlLlxuLy8gZS5nLiBAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9idXR0b24nO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfaG4nO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfZWRpdG9yX2NvbnRlbnQnO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9icmFuZF9lZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9icmFuZF9zZWN0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9idWxsZXRfbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnQvYnV0dG9uX2V4dGVuZCc7XG5AaW1wb3J0ICdjb21wb25lbnQvY2FyZWVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9jYXRlZ29yeV90ZWFzZXJfbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnQvY29udGFpbm1lbnRfbGV2ZWxzJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9kYXRhX3NoZWV0JztcbkBpbXBvcnQgJ2NvbXBvbmVudC9kaXZpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9kb3dubG9hZHMnO1xuQGltcG9ydCAnY29tcG9uZW50L2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9lZGl0b3JfY29udGVudF9leHRlbmQnO1xuQGltcG9ydCAnY29tcG9uZW50L2VudGl0eWZvcm0nO1xuQGltcG9ydCAnY29tcG9uZW50L2Zvb3Rlcic7XG5AaW1wb3J0ICdjb21wb25lbnQvZ3JpZCc7XG5AaW1wb3J0ICdjb21wb25lbnQvaGVhZHJvb20nO1xuQGltcG9ydCAnY29tcG9uZW50L2hlcm8nO1xuQGltcG9ydCAnY29tcG9uZW50L2huX2V4dGVuZCc7XG5AaW1wb3J0ICdjb21wb25lbnQvaG5fdmFyaWFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50L2ltYWdlX2hlYWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnQvaW1hZ2Vfc2VjdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnQvaW1hZ2VfdGVhc2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9pbmZvX2Jhcic7XG5AaW1wb3J0ICdjb21wb25lbnQvbGFuZ3VhZ2Vfc3dpdGNoZXInO1xuQGltcG9ydCAnY29tcG9uZW50L21haW5faGVhZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9tYWluX21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50L21hcCc7XG5AaW1wb3J0ICdjb21wb25lbnQvbWVkaWFfbXVsdGknO1xuQGltcG9ydCAnY29tcG9uZW50L21lZ2FfZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50L21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50L21lc3NhZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50L21vYmlsZV9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudC9uZXdzJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9vdmVybGF5JztcbkBpbXBvcnQgJ2NvbXBvbmVudC9wYWdlcnMnO1xuQGltcG9ydCAnY29tcG9uZW50L3JlZ2lzdGVyZWQtZml4JztcbkBpbXBvcnQgJ2NvbXBvbmVudC9zZWFyY2gnO1xuQGltcG9ydCAnY29tcG9uZW50L3N1Ymhlcm9fc2VjdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnQvc3lzdGVtX3RhYic7XG5AaW1wb3J0ICdjb21wb25lbnQvdGV4dF9zZWN0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudC90b3BsaW5rcyc7XG5AaW1wb3J0ICdjb21wb25lbnQvdmlld19uZXdzdGlja2VyJztcblxuLyotLS1cbnRpdGxlOiBVdGlsaXR5XG4tLS1cblxuVXRpbGl0eSBjbGFzc2VzIHRoYXQgZG8gdmVyeSBzcGVjaWZpYyB0aGluZ3MgKGUuZy4gY2xlYXJmaXgpLlxuKi9cbi8vIEltcG9ydCB5b3VyIGRlcGVuZGVuY2llcyBoZXJlLlxuLy8gZS5nLiBAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX3V0aWxpdHlfY2xlYXJmaXgnO1xuQGltcG9ydCAndXRpbGl0eS9iYWNrZ3JvdW5kJztcbkBpbXBvcnQgJ3V0aWxpdHkvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAndXRpbGl0eS9lbGVtZW50X2ludmlzaWJsZSc7XG5AaW1wb3J0ICd1dGlsaXR5L2V4dGVybmFsX2xpbmtzJztcbkBpbXBvcnQgJ3V0aWxpdHkvZm9udF9zaXplJztcbkBpbXBvcnQgJ3V0aWxpdHkvbWl4aW5zJztcbkBpbXBvcnQgJ3V0aWxpdHkvb3V0bGluZSc7XG5AaW1wb3J0ICd1dGlsaXR5L3BhZGRpbmcnO1xuQGltcG9ydCAndXRpbGl0eS9zcGFjaW5nJztcbkBpbXBvcnQgJ3V0aWxpdHkvdGV4dF9hbGlnbic7XG5AaW1wb3J0ICd1dGlsaXR5L3dpZHRoX2V4dGVuZCc7XG5cbkBpbXBvcnQgJ2hlbHBlcnMvc2hhbWUnO1xuIiwiLyotLS1cbnRpdGxlOiAgIHN0cmlwLXVuaXRcbm5hbWU6ICAgIGZ1bmN0aW9uX3N0cmlwX3VuaXRcbnNlY3Rpb246IEZ1bmN0aW9uXG4tLS1cblxuU3RyaXAgdW5pdHMgZnJvbSBudW1iZXJzLlxuXG5gYGBjc3NcbnN0cmlwLXVuaXQoJC1udW1iZXIpXG5gYGBcbmBgYGNzc1xuLmZvbyB7XG4gIGxpbmUtaGVpZ2h0OiBzdHJpcC11bml0KG1hcC1nZXQoJGZvbnQtc2l6ZXMsIG0pKTtcbn1cbmBgYFxuKi9cbkBmdW5jdGlvbiBzdHJpcC11bml0KCQtbnVtYmVyKSB7XG4gIEBpZiB0eXBlLW9mKCQtbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCQtbnVtYmVyKSB7XG4gICAgQHJldHVybiAkLW51bWJlciAvICgkLW51bWJlciAqIDAgKyAxKTtcbiAgfVxuICBAcmV0dXJuICQtbnVtYmVyO1xufVxuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19mdW5jdGlvbl9zdHJpcF91bml0JztcblxuLyotLS1cbnRpdGxlOiAgIGJyZWFrcG9pbnRtYXhcbm5hbWU6ICAgIGZ1bmN0aW9uX2JyZWFrcG9pbnRtYXhcbnNlY3Rpb246IEZ1bmN0aW9uXG4tLS1cblxuR2V0IHRoZSBtYXgtd2lkdGggdmFsdWUgb2YgYSBicmVha3BvaW50LlxuXG5gYGBjc3NcbmJyZWFrcG9pbnRtYXgoJC1icmVha3BvaW50WywgJC1iYXNlOiAkZm9udC1iYXNlLXNpemVdKVxuYGBgXG5gYGBjc3NcbkBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50bWF4KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSkpIHtcbiAgLmZvbyB7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50bWF4KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSwgMTRweCkpIHtcbiAgLmZvbyB7IH1cbn1cbmBgYFxuKi9cbkBmdW5jdGlvbiBicmVha3BvaW50bWF4KCQtYnJlYWtwb2ludCwgJC1iYXNlOiAkZm9udC1iYXNlLXNpemUpIHtcbiAgQGlmIHVuaXQoJC1icmVha3BvaW50KSA9PSBlbSBvciB1bml0KCQtYnJlYWtwb2ludCkgPT0gcmVtIHtcbiAgICAkLWVtMXB4OiAxIC8gc3RyaXAtdW5pdCgkLWJhc2UpO1xuICAgIEByZXR1cm4gJC1icmVha3BvaW50IC0gJC1lbTFweDtcbiAgfVxuICBAcmV0dXJuICQtYnJlYWtwb2ludCAtIDE7XG59XG4iLCIvKi0tLVxudGl0bGU6ICAgbWFwLWdldC1kZWVwXG5uYW1lOiAgICBmdW5jdGlvbl9tYXBfZ2V0X2RlZXBcbnNlY3Rpb246IEZ1bmN0aW9uXG4tLS1cblxuR2V0IHZhbHVlcyBmcm9tIGRlZXAgbmVzdGVkIG1hcHMuXG5cbmBgYGNzc1xubWFwLWdldC1kZWVwKCQtbWFwLCAkLWtleXMuLi4pXG5gYGBcbiovXG5AZnVuY3Rpb24gbWFwLWdldC1kZWVwKCQtbWFwLCAkLWtleXMuLi4pIHtcbiAgJC12YWx1ZTogJC1tYXA7XG4gIEBlYWNoICQta2V5IGluICQta2V5cyB7XG4gICAgJC12YWx1ZTogbWFwLWdldCgkLXZhbHVlLCAkLWtleSk7XG4gIH1cbiAgQHJldHVybiAkLXZhbHVlO1xufVxuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19mdW5jdGlvbl9icmVha3BvaW50bWF4JztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfZnVuY3Rpb25fbWFwX2dldF9kZWVwJztcblxuLyotLS1cbnRpdGxlOiAgIFZhcmlhYmxlXG5uYW1lOiAgICB2YXJpYWJsZVxuLS0tXG5cbkJhc2ljIHN5c3RlbSB2YXJpYWJsZXMuXG4qL1xuLyotLS1cbnRpdGxlOiAgIENvbG9yIHNjaGVtZVxubmFtZTogICAgdmFyaWFibGVfY29sb3Jfc2NoZW1lXG5zZWN0aW9uOiB2YXJpYWJsZVxuLS0tXG5cbkl0J3MgbWFuZGF0b3J5IHRvIHVzZSBjb2xvciBzY2hlbWUgdmFyaWFibGVzXG53aGVuZXZlciB5b3UgdXNlIGNvbG9ycyBpbiB5b3VyIHN0eWxlcy5cbkdlbmVyYXRvcjogW2Nvb2xvcnMuY29dKGh0dHA6Ly9jb29sb3JzLmNvLykuXG4qL1xuJGNzOiAoXG4gIGE6ICNFMTAwMUYsXG4pO1xuXG4kY3MtY29udHJhc3Q6IChcbiAgYTogI2ZmZixcbik7XG4vKi0tLVxudGl0bGU6ICAgQmFzaWNcbm5hbWU6ICAgIHZhcmlhYmxlX2NvbG9yX3NjaGVtZV9iYXNpY1xuc2VjdGlvbjogdmFyaWFibGVfY29sb3Jfc2NoZW1lXG4tLS1cblxuYGBgZXhhbXBsZTpjb2xvclxuQGNvbG9yOiAje21hcC1nZXQoJGNzLCBhKX0gQG5hbWU6IG1hcC1nZXQoJGNzLCBhKVxuYGBgXG5gYGBleGFtcGxlOmNvbG9yXG5AY29sb3I6ICN7bWFwLWdldCgkY3MtY29udHJhc3QsIGEpfSBAbmFtZTogbWFwLWdldCgkY3MtY29udHJhc3QsIGEpXG5gYGBcbiovXG5cbi8qKlxuICogQWxlcnRzXG4gKi9cbiRjcy1hbGVydHM6IChcbiAgcG9zaXRpdmU6ICM0Njg4NDcsXG4gIG5ldXRyYWw6ICAjM0E4N0FELFxuICBjYXV0aW91czogI2MwOTg1MyxcbiAgbmVnYXRpdmU6ICNiOTRhNDgsXG4pO1xuLyotLS1cbnRpdGxlOiAgIEFsZXJ0c1xubmFtZTogICAgdmFyaWFibGVfY29sb3Jfc2NoZW1lX2FsZXJ0c1xuc2VjdGlvbjogdmFyaWFibGVfY29sb3Jfc2NoZW1lXG4tLS1cblxuYGBgZXhhbXBsZTpjb2xvclxuQGNvbG9yOiAje21hcC1nZXQoJGNzLWFsZXJ0cywgcG9zaXRpdmUpfSBAbmFtZTogbWFwLWdldCgkY3MtYWxlcnRzLCBwb3NpdGl2ZSlcbkBjb2xvcjogI3ttYXAtZ2V0KCRjcy1hbGVydHMsIG5ldXRyYWwpfSBAbmFtZTogbWFwLWdldCgkY3MtYWxlcnRzLCBuZXV0cmFsKVxuQGNvbG9yOiAje21hcC1nZXQoJGNzLWFsZXJ0cywgY2F1dGlvdXMpfSBAbmFtZTogbWFwLWdldCgkY3MtYWxlcnRzLCBjYXV0aW91cylcbkBjb2xvcjogI3ttYXAtZ2V0KCRjcy1hbGVydHMsIG5lZ2F0aXZlKX0gQG5hbWU6IG1hcC1nZXQoJGNzLWFsZXJ0cywgbmVnYXRpdmUpXG5gYGBcbiovXG5cbi8qKlxuICogR3JleVxuICpcbiAqIDEuIFlvdSBtdXN0IG5vdCB1c2UgdGhpcyBkaXJlY3RseSBpbiB5b3VyIHN0eWxlcyFcbiAqL1xuJGNzLWdyZXk6IChcbiAgYTogI0VGRUZFRixcbiAgYjogI0RCREJEQixcbiAgYzogIzY5Njk2OSxcbiAgZDogIzExMTExMSxcbik7XG4vKi0tLVxudGl0bGU6ICAgR3JleVxubmFtZTogICAgdmFyaWFibGVfY29sb3Jfc2NoZW1lX2dyZXlcbnNlY3Rpb246IHZhcmlhYmxlX2NvbG9yX3NjaGVtZVxuLS0tXG5cbmBgYGV4YW1wbGU6Y29sb3JcbkBjb2xvcjogI3ttYXAtZ2V0KCRjcy1ncmV5LCBhKX0gQG5hbWU6IG1hcC1nZXQoJGNzLWdyZXksIGEpXG5AY29sb3I6ICN7bWFwLWdldCgkY3MtZ3JleSwgYil9IEBuYW1lOiBtYXAtZ2V0KCRjcy1ncmV5LCBiKVxuYGBgXG4qL1xuXG5cblxuLyotLS1cbnRpdGxlOiAgIFR5cG9ncmFwaHlcbm5hbWU6ICAgIHZhcmlhYmxlX3R5cG9ncmFwaHlcbnNlY3Rpb246IHZhcmlhYmxlXG4tLS1cbiovXG4vKipcbiAqIDEuIE11c3QgYmUgaW4gcHgsIGRvIG5vdCB1c2UgaW4geW91ciBzdHlsZXMuXG4gKiAyLiBZb3UgbXVzdCBub3QgdXNlIHRoaXMgZGlyZWN0bHkgaW4geW91ciBzdHlsZXMhXG4gKi9cbiRmb250LWJhc2Utc2l6ZTogICAgICAgIDE2cHg7IC8vIFsxXVsyXVxuJGZvbnQtYmFzZS1saW5lLWhlaWdodDogMjRweDsgLy8gWzFdWzJdXG4kZm9udC1iYXNlLWNvbG9yOiAgICAgICAjMjIyO1xuXG4vKipcbiAqIEZvbnQgc2l6ZXNcbiAqL1xuJGZvbnQtc2l6ZXM6IChcbiAgeHM6ICAgMC42NGVtLFxuICBzOiAgICAwLjhlbSxcbiAgbTogICAgMWVtLFxuICBsOiAgICAxLjI1ZW0sXG4gIHhsOiAgIDEuNTYzZW0sXG4gIHh4bDogIDEuOTUzZW0sXG4gIHh4eGw6IDIuNDQxZW0sXG4pO1xuLyotLS1cbnRpdGxlOiAgIEZvbnQgc2l6ZXNcbm5hbWU6ICAgIHZhcmlhYmxlX3R5cG9ncmFwaHlfZm9udF9zaXplc1xuc2VjdGlvbjogdmFyaWFibGVfdHlwb2dyYXBoeVxuLS0tXG5cbjxkaXYgc3R5bGU9XCJmb250LXNpemU6ICN7bWFwLWdldCgkZm9udC1zaXplcywgeHMpfTtcIj5tYXAtZ2V0KCRmb250LXNpemVzLCB4cyk8L2Rpdj5cbjxkaXYgc3R5bGU9XCJmb250LXNpemU6ICN7bWFwLWdldCgkZm9udC1zaXplcywgcyl9O1wiPm1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpPC9kaXY+XG48ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAje21hcC1nZXQoJGZvbnQtc2l6ZXMsIG0pfTtcIj5tYXAtZ2V0KCRmb250LXNpemVzLCBtKTwvZGl2PlxuPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogI3ttYXAtZ2V0KCRmb250LXNpemVzLCBsKX07XCI+bWFwLWdldCgkZm9udC1zaXplcywgbCk8L2Rpdj5cbjxkaXYgc3R5bGU9XCJmb250LXNpemU6ICN7bWFwLWdldCgkZm9udC1zaXplcywgeGwpfTtcIj5tYXAtZ2V0KCRmb250LXNpemVzLCB4bCk8L2Rpdj5cbjxkaXYgc3R5bGU9XCJmb250LXNpemU6ICN7bWFwLWdldCgkZm9udC1zaXplcywgeHhsKX07XCI+bWFwLWdldCgkZm9udC1zaXplcywgeHhsKTwvZGl2PlxuPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogI3ttYXAtZ2V0KCRmb250LXNpemVzLCB4eHhsKX07XCI+bWFwLWdldCgkZm9udC1zaXplcywgeHh4bCk8L2Rpdj5cbiovXG5cbi8qLS0tXG50aXRsZTogICBGb250c1xubmFtZTogICAgdmFyaWFibGVfdHlwb2dyYXBoeV9mb250c1xuc2VjdGlvbjogdmFyaWFibGVfdHlwb2dyYXBoeVxuLS0tXG5cbkZvbnQgc2l6ZXMgYW5kIHdlaWdodHMgYXJlIGRlZmluZWQgZ2xvYmFsbHkgdG8gZW5zdXJlIGEgY29uc2lzdGVudCBsb29rLlxuKi9cbi8qKlxuICogSWYgeW91IHVzZSB3ZWJmb250cyBzZXQgdGhlIGZvbnQgd2VpZ2h0IHZhcmlhYmxlcyBhY2NvcmRpbmcgdG8gdGhlIGZvbnQgd2VpZ2h0cyB0aGUgZm9udCBwcm92aWRlcy5cbiAqIEUuZy4geW91IHVzZSBhIEdvb2dsZSBmb250IGxpa2UgaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9U291cmNlK1NhbnMrUHJvOjIwMCw0MDAsNzAwXG4gKiBJbiB0aGlzIGNhc2Ugc2V0IHRoZSBmb250IHdlaWdodHMgdG8gMjAwLCA0MDAgYW5kIDcwMC5cbiAqIElmIHlvdSBzZXQgYSBmb250IHdlaWdodCBpbiB5b3VyIGNzcyB5b3UgbXVzdCB1c2UgdGhpcyB2YXJpYWJsZXMhXG4gKi9cbiRmb250czogKFxuICBhOiAoXG4gICAgZmFtaWx5OiBcIidESU4nLCBzYW5zLXNlcmlmXCIsXG4gICAgd2VpZ2h0czogKFxuICAgICAgdGhpbjogICAgICAgIDMwMCxcbiAgICAgIGV4dHJhLWxpZ2h0OiAzMDAsXG4gICAgICBsaWdodDogICAgICAgMzAwLFxuICAgICAgbm9ybWFsOiAgICAgIDMwMCxcbiAgICAgIG1lZGl1bTogICAgICA1MDAsXG4gICAgICBzZW1pLWJvbGQ6ICAgNTAwLFxuICAgICAgYm9sZDogICAgICAgIDUwMCxcbiAgICAgIGV4dHJhLWJvbGQ6ICA1MDAsXG4gICAgICB1bHRyYS1ib2xkOiAgNTAwLFxuICAgICksXG4gICksXG4gIGI6IChcbiAgICBmYW1pbHk6IFwiJ1RoZWtsYScsIHNhbnMtc2VyaWZcIixcbiAgICB3ZWlnaHRzOiAoXG4gICAgICB0aGluOiAgICAgICAgNDAwLFxuICAgICAgZXh0cmEtbGlnaHQ6IDQwMCxcbiAgICAgIGxpZ2h0OiAgICAgICA0MDAsXG4gICAgICBub3JtYWw6ICAgICAgNDAwLFxuICAgICAgbWVkaXVtOiAgICAgIDcwMCxcbiAgICAgIHNlbWktYm9sZDogICA3MDAsXG4gICAgICBib2xkOiAgICAgICAgNzAwLFxuICAgICAgZXh0cmEtYm9sZDogIDcwMCxcbiAgICAgIHVsdHJhLWJvbGQ6ICA3MDAsXG4gICAgKSxcbiAgKSxcbik7XG5cbkBlYWNoICQtZm9udC1kYXRhIGluICRmb250cyB7XG4gICQtZm9udDogbnRoKCQtZm9udC1kYXRhLCAxKTtcbiAgLyotLS1cbiAgdGl0bGU6ICAgRm9udCAje3RvLXVwcGVyLWNhc2UoJC1mb250KX1cbiAgbmFtZTogICAgdmFyaWFibGVfdHlwb2dyYXBoeV9mb250c19mb250XyN7JC1mb250fVxuICBzZWN0aW9uOiB2YXJpYWJsZV90eXBvZ3JhcGh5X2ZvbnRzXG4gIC0tLVxuXG4gIDxwIHN0eWxlPVwiZm9udC1mYW1pbHk6ICN7bWFwLWdldC1kZWVwKCRmb250cywgJC1mb250LCBmYW1pbHkpfTtcIj5cbiAgKioje21hcC1nZXQtZGVlcCgkZm9udHMsICQtZm9udCwgZmFtaWx5KX0qKiAgXG4gIEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaICBcbiAgYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogIFxuICAwMTIzNDU2Nzg5IT8jJSYkQCp7KC98XFwpfTwvcD5cbiAgKi9cbn1cblxuXG5cbi8qKlxuICogQnJlYWtwb2ludHNcbiAqXG4gKiBJbmZvcyBhYm91dCBtZWRpYSBxdWVyaWVzOiBbQnJhZCBGcm9zdCAtIDcgSGFiaXRzIG9mIGhpZ2hseSBlZmZlY3RpdmUgbWVkaWEgcXVlcmllc10oaHR0cDovL2JyYWRmcm9zdC5jb20vYmxvZy9wb3N0LzctaGFiaXRzLW9mLWhpZ2hseS1lZmZlY3RpdmUtbWVkaWEtcXVlcmllcy8pXG4gKi9cbi8qKlxuICogbWluIEJyZWFrcG9pbnRzXG4gKi9cbiRicmVha3BvaW50czogKFxuICBzOiAgMzBlbSxcbiAgbTogIDQ1ZW0sXG4gIG1sOiA1MmVtLFxuICBsOiAgNjBlbSxcbiAgeGw6IDc1ZW0sXG4pO1xuXG4vKipcbiAqIG1heCBCcmVha3BvaW50c1xuICpcbiAqIFVzZSB3aXRoIGNhcmUsIG1pbi13aWR0aCBicmVha3BvaW50cyBzaG91bGQgYmUgcHJlZmVycmVkIVxuICovXG4kYnJlYWtwb2ludHMtbWF4OiAoXG4gIHM6ICBicmVha3BvaW50bWF4KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBzKSksXG4gIG06ICBicmVha3BvaW50bWF4KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSksXG4gIG1sOiBicmVha3BvaW50bWF4KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtbCkpLFxuICBsOiAgYnJlYWtwb2ludG1heChtYXAtZ2V0KCRicmVha3BvaW50cywgbCkpLFxuICB4bDogYnJlYWtwb2ludG1heChtYXAtZ2V0KCRicmVha3BvaW50cywgeGwpKSxcbik7XG5cbiRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLXNpemVzOiAocywgbCk7XG5cblxuXG4vKipcbiAqIFNwYWNpbmdcbiAqL1xuJHNwYWNpbmc6IChcbiAgeHM6ICAgMC41ZW0sXG4gIHM6ICAgIDFlbSxcbiAgbTogICAgMS41ZW0sXG4gIGw6ICAgIDJlbSxcbiAgeGw6ICAgM2VtLFxuICB4eGw6ICA0ZW0sXG4gIHh4eGw6IDVlbSxcbik7XG5cblxuXG4vKipcbiAqIE5hbWVzcGFjZVxuICovXG4kbmFtZXNwYWNlOiAoXG4gIHV0aWxpdHk6ICAgJ3UtJyxcbiAgb2JqZWN0OiAgICAnby0nLFxuICBjb21wb25lbnQ6ICdjLScsXG4pO1xuXG4vKipcbiogQ29sb3JzIFxuKi9cbiRjb2xvci1ibGFjazogIzAwMDAwMDtcbiRjb2xvci13aGl0ZTogI2ZmZmZmZjtcbiRjb2xvci1yZWQ6ICNFMTAwMUY7XG4kY29sb3ItZ3JleTogI2RjZGNkYztcbiRjb2xvci1ncmV5LWRhcms6IGRhcmtlbigkY29sb3ItZ3JleSwgMTAlKTtcbiRjb2xvci1ncmV5LWRhcmtlcjogZGFya2VuKCRjb2xvci1ncmV5LWRhcmssIDQwJSk7XG4kY29sb3ItZ3JleS1saWdodDogbGlnaHRlbigkY29sb3ItZ3JleSwgMTAlKTtcbiRjb2xvci1ncmV5LWxpZ2h0ZXI6IGxpZ2h0ZW4oJGNvbG9yLWdyZXktbGlnaHQsIDEwJSk7XG4kcGhvbm9ibG9jLWNvbG9yOiAjMzk4MDczO1xuJGNpdHlibG9jLWNvbG9yOiAjMDA1MjkyO1xuJGRlbHRhYmxvYy1iYXNlLWNvbG9yOiAkY29sb3ItcmVkO1xuXG5cblxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG4kX25vcm1hbGl6ZS1pbmNsdWRlOiAoKTtcbiRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpO1xuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbikge1xuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSWYgd2UgaGFkIGxvY2FsIGZ1bmN0aW9ucywgd2UgY291bGQgYWNjZXNzIG91ciBwYXJhbWV0ZXJzIGluc2lkZSB0aGVcbiAgLy8gZnVuY3Rpb24gd2l0aG91dCBwYXNzaW5nIHRoZW0gaW4gYXMgcGFyYW1ldGVycy4gVGhlIGhhY2t5IHdvcmstYXJvdW5kIGlzIHRvXG4gIC8vIHN0dWZmIHRoZW0gaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIGNhbiBhY2Nlc3MgdGhlbSBmcm9tIGEgZ2xvYmFsIGZ1bmN0aW9uLlxuICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaW5kZW50LWFtb3VudCAhPSA0MHB4IHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHJvb3QpIHtcbiAgICAvKipcbiAgICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgLy8gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gICAgICAgIC8vIGBlbWAgdW5pdHMuXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xuICAgICAgfVxuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShodG1sNSkge1xuICAgIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgICAqIGFuZCBGaXJlZm94LlxuICAgICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGRldGFpbHMsXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBoZ3JvdXAsXG4gICAgbWFpbixcbiAgICBtZW51LFxuICAgIG5hdixcbiAgICBzZWN0aW9uLFxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICBjYW52YXMsXG4gICAgcHJvZ3Jlc3MsXG4gICAgdmlkZW8ge1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA5KSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDEwKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICAgICAqL1xuXG4gICAgICBbaGlkZGVuXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCAxMCkge1xuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgICAqL1xuXG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSBvciBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgOSkge1xuICAgICAgLyoqXG4gICAgICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgICAgICovXG5cbiAgICAgIG1hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDEwKSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgICAgICovXG5cbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICAgLyogSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuICovXG4gICAgICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAgICAgKi9cblxuICAgICAgZGwsXG4gICAgICBtZW51LFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBBZGRyZXNzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAgICAgKi9cblxuICAgICAgbWVudSxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29ycmVjdCBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDcuXG4gICAgICAgKi9cblxuICAgICAgbmF2IHVsLFxuICAgICAgbmF2IG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDkpIG9yIHN1cHBvcnQtZm9yKHNhZmFyaSwgNikge1xuICAgICAgLyoqXG4gICAgICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICAgICAqL1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIEBpZiBzdXBwb3J0LWZvcihmaXJlZm94LCAyOCkge1xuICAgICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgfVxuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBwcmUsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDYpIHtcbiAgICAgICAgX2ZvbnQtZmFtaWx5OiAnY291cmllciBuZXcnLCBtb25vc3BhY2U7XG4gICAgICB9XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAgICovXG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAgICAgICAqL1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgICAqIDQuIEFkZHJlc3MgYGZvbnQtZmFtaWx5YCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gYHRleHRhcmVhYCBhbmQgb3RoZXIgZm9ybSBpbiBJRSA3XG4gICAgICogNS4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSB3aXRoIElFIDYvNy5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICpmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDQgKi9cbiAgICAgICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDUgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3Qge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAgICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gICAgICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgICAqb3ZlcmZsb3c6IHZpc2libGU7IC8qIDQgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgICAqL1xuXG4gICAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgICAqL1xuXG4gICAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICAgIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDEwKSB7XG4gICAgICAvKipcbiAgICAgICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICAgICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAgICAgKlxuICAgICAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICAgICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAgICAgKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAgICAgICAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gICAgICAgKi9cblxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAgICAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAgICovXG5cbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3Ioc2FmYXJpLCA1KSBvciBzdXBwb3J0LWZvcihjaHJvbWUsIDkpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIH1cbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAgICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAgICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICAgKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgMTEpIHtcbiAgICAgICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiAzICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICAgKi9cblxuICAgIG9wdGdyb3VwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGFibGVzKSB7XG4gICAgLyogVGFibGVzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICAgKi9cblxuICAgIHRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICB9XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvKi0tLVxudGl0bGU6IGF2YWxhbmNoZVxuLS0tXG5cbmF2YWxhbmNoZSBpcyBhIG1vZHVsYXIgZnJvbnQtZW5kIGZyYW1ld29yayB3aGljaCBjYW4gYmUgZXh0ZW5kZWQgd2l0aCBucG1cbnBhY2thZ2VzLiBUaGUgZ29hbCBpcyB0byBwcm92aWRlIGEgd29ya2Zsb3cgdG8gbWFuYWdlIHRoZSBjb21wbGV4aXR5IG9mIGJpZ1xuZnJvbnQtZW5kIHByb2plY3RzLlxuKi9cbi8qLS0tXG50aXRsZTogRnVuY3Rpb25cbi0tLVxuXG5DdXN0b20gU0FTUyBmdW5jdGlvbnMuXG4qL1xuLyogTm8gZmlsZXMgdG8gaW1wb3J0IGZvdW5kIGluIGZ1bmN0aW9uLy8qLnNjc3MgKi9cbi8qKlxuICogVmFyaWFibGVcbiAqXG4gKiBJZiB5b3Ugd2FudCB0byAqKm9ubHkqKiBpbXBvcnQgdGhlIHZhcmlhYmxlcyBmcm9tIGEgcGFja2FnZSBpbXBvcnQgdGhlbSBoZXJlLlxuICovXG4vKi0tLVxudGl0bGU6ICAgc3RyaXAtdW5pdFxubmFtZTogICAgZnVuY3Rpb25fc3RyaXBfdW5pdFxuc2VjdGlvbjogRnVuY3Rpb25cbi0tLVxuXG5TdHJpcCB1bml0cyBmcm9tIG51bWJlcnMuXG5cbmBgYGNzc1xuc3RyaXAtdW5pdCgkLW51bWJlcilcbmBgYFxuYGBgY3NzXG4uZm9vIHtcbiAgbGluZS1oZWlnaHQ6IHN0cmlwLXVuaXQobWFwLWdldCgkZm9udC1zaXplcywgbSkpO1xufVxuYGBgXG4qL1xuLyotLS1cbnRpdGxlOiAgIGJyZWFrcG9pbnRtYXhcbm5hbWU6ICAgIGZ1bmN0aW9uX2JyZWFrcG9pbnRtYXhcbnNlY3Rpb246IEZ1bmN0aW9uXG4tLS1cblxuR2V0IHRoZSBtYXgtd2lkdGggdmFsdWUgb2YgYSBicmVha3BvaW50LlxuXG5gYGBjc3NcbmJyZWFrcG9pbnRtYXgoJC1icmVha3BvaW50WywgJC1iYXNlOiAkZm9udC1iYXNlLXNpemVdKVxuYGBgXG5gYGBjc3NcbkBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50bWF4KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSkpIHtcbiAgLmZvbyB7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50bWF4KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSwgMTRweCkpIHtcbiAgLmZvbyB7IH1cbn1cbmBgYFxuKi9cbi8qLS0tXG50aXRsZTogICBtYXAtZ2V0LWRlZXBcbm5hbWU6ICAgIGZ1bmN0aW9uX21hcF9nZXRfZGVlcFxuc2VjdGlvbjogRnVuY3Rpb25cbi0tLVxuXG5HZXQgdmFsdWVzIGZyb20gZGVlcCBuZXN0ZWQgbWFwcy5cblxuYGBgY3NzXG5tYXAtZ2V0LWRlZXAoJC1tYXAsICQta2V5cy4uLilcbmBgYFxuKi9cbi8qLS0tXG50aXRsZTogICBWYXJpYWJsZVxubmFtZTogICAgdmFyaWFibGVcbi0tLVxuXG5CYXNpYyBzeXN0ZW0gdmFyaWFibGVzLlxuKi9cbi8qLS0tXG50aXRsZTogICBDb2xvciBzY2hlbWVcbm5hbWU6ICAgIHZhcmlhYmxlX2NvbG9yX3NjaGVtZVxuc2VjdGlvbjogdmFyaWFibGVcbi0tLVxuXG5JdCdzIG1hbmRhdG9yeSB0byB1c2UgY29sb3Igc2NoZW1lIHZhcmlhYmxlc1xud2hlbmV2ZXIgeW91IHVzZSBjb2xvcnMgaW4geW91ciBzdHlsZXMuXG5HZW5lcmF0b3I6IFtjb29sb3JzLmNvXShodHRwOi8vY29vbG9ycy5jby8pLlxuKi9cbi8qLS0tXG50aXRsZTogICBCYXNpY1xubmFtZTogICAgdmFyaWFibGVfY29sb3Jfc2NoZW1lX2Jhc2ljXG5zZWN0aW9uOiB2YXJpYWJsZV9jb2xvcl9zY2hlbWVcbi0tLVxuXG5gYGBleGFtcGxlOmNvbG9yXG5AY29sb3I6ICNFMTAwMUYgQG5hbWU6IG1hcC1nZXQoJGNzLCBhKVxuYGBgXG5gYGBleGFtcGxlOmNvbG9yXG5AY29sb3I6ICNmZmYgQG5hbWU6IG1hcC1nZXQoJGNzLWNvbnRyYXN0LCBhKVxuYGBgXG4qL1xuLyoqXG4gKiBBbGVydHNcbiAqL1xuLyotLS1cbnRpdGxlOiAgIEFsZXJ0c1xubmFtZTogICAgdmFyaWFibGVfY29sb3Jfc2NoZW1lX2FsZXJ0c1xuc2VjdGlvbjogdmFyaWFibGVfY29sb3Jfc2NoZW1lXG4tLS1cblxuYGBgZXhhbXBsZTpjb2xvclxuQGNvbG9yOiAjNDY4ODQ3IEBuYW1lOiBtYXAtZ2V0KCRjcy1hbGVydHMsIHBvc2l0aXZlKVxuQGNvbG9yOiAjM0E4N0FEIEBuYW1lOiBtYXAtZ2V0KCRjcy1hbGVydHMsIG5ldXRyYWwpXG5AY29sb3I6ICNjMDk4NTMgQG5hbWU6IG1hcC1nZXQoJGNzLWFsZXJ0cywgY2F1dGlvdXMpXG5AY29sb3I6ICNiOTRhNDggQG5hbWU6IG1hcC1nZXQoJGNzLWFsZXJ0cywgbmVnYXRpdmUpXG5gYGBcbiovXG4vKipcbiAqIEdyZXlcbiAqXG4gKiAxLiBZb3UgbXVzdCBub3QgdXNlIHRoaXMgZGlyZWN0bHkgaW4geW91ciBzdHlsZXMhXG4gKi9cbi8qLS0tXG50aXRsZTogICBHcmV5XG5uYW1lOiAgICB2YXJpYWJsZV9jb2xvcl9zY2hlbWVfZ3JleVxuc2VjdGlvbjogdmFyaWFibGVfY29sb3Jfc2NoZW1lXG4tLS1cblxuYGBgZXhhbXBsZTpjb2xvclxuQGNvbG9yOiAjRUZFRkVGIEBuYW1lOiBtYXAtZ2V0KCRjcy1ncmV5LCBhKVxuQGNvbG9yOiAjREJEQkRCIEBuYW1lOiBtYXAtZ2V0KCRjcy1ncmV5LCBiKVxuYGBgXG4qL1xuLyotLS1cbnRpdGxlOiAgIFR5cG9ncmFwaHlcbm5hbWU6ICAgIHZhcmlhYmxlX3R5cG9ncmFwaHlcbnNlY3Rpb246IHZhcmlhYmxlXG4tLS1cbiovXG4vKipcbiAqIDEuIE11c3QgYmUgaW4gcHgsIGRvIG5vdCB1c2UgaW4geW91ciBzdHlsZXMuXG4gKiAyLiBZb3UgbXVzdCBub3QgdXNlIHRoaXMgZGlyZWN0bHkgaW4geW91ciBzdHlsZXMhXG4gKi9cbi8qKlxuICogRm9udCBzaXplc1xuICovXG4vKi0tLVxudGl0bGU6ICAgRm9udCBzaXplc1xubmFtZTogICAgdmFyaWFibGVfdHlwb2dyYXBoeV9mb250X3NpemVzXG5zZWN0aW9uOiB2YXJpYWJsZV90eXBvZ3JhcGh5XG4tLS1cblxuPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMC42NGVtO1wiPm1hcC1nZXQoJGZvbnQtc2l6ZXMsIHhzKTwvZGl2PlxuPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMC44ZW07XCI+bWFwLWdldCgkZm9udC1zaXplcywgcyk8L2Rpdj5cbjxkaXYgc3R5bGU9XCJmb250LXNpemU6IDFlbTtcIj5tYXAtZ2V0KCRmb250LXNpemVzLCBtKTwvZGl2PlxuPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMS4yNWVtO1wiPm1hcC1nZXQoJGZvbnQtc2l6ZXMsIGwpPC9kaXY+XG48ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxLjU2M2VtO1wiPm1hcC1nZXQoJGZvbnQtc2l6ZXMsIHhsKTwvZGl2PlxuPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMS45NTNlbTtcIj5tYXAtZ2V0KCRmb250LXNpemVzLCB4eGwpPC9kaXY+XG48ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAyLjQ0MWVtO1wiPm1hcC1nZXQoJGZvbnQtc2l6ZXMsIHh4eGwpPC9kaXY+XG4qL1xuLyotLS1cbnRpdGxlOiAgIEZvbnRzXG5uYW1lOiAgICB2YXJpYWJsZV90eXBvZ3JhcGh5X2ZvbnRzXG5zZWN0aW9uOiB2YXJpYWJsZV90eXBvZ3JhcGh5XG4tLS1cblxuRm9udCBzaXplcyBhbmQgd2VpZ2h0cyBhcmUgZGVmaW5lZCBnbG9iYWxseSB0byBlbnN1cmUgYSBjb25zaXN0ZW50IGxvb2suXG4qL1xuLyoqXG4gKiBJZiB5b3UgdXNlIHdlYmZvbnRzIHNldCB0aGUgZm9udCB3ZWlnaHQgdmFyaWFibGVzIGFjY29yZGluZyB0byB0aGUgZm9udCB3ZWlnaHRzIHRoZSBmb250IHByb3ZpZGVzLlxuICogRS5nLiB5b3UgdXNlIGEgR29vZ2xlIGZvbnQgbGlrZSBodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Tb3VyY2UrU2FucytQcm86MjAwLDQwMCw3MDBcbiAqIEluIHRoaXMgY2FzZSBzZXQgdGhlIGZvbnQgd2VpZ2h0cyB0byAyMDAsIDQwMCBhbmQgNzAwLlxuICogSWYgeW91IHNldCBhIGZvbnQgd2VpZ2h0IGluIHlvdXIgY3NzIHlvdSBtdXN0IHVzZSB0aGlzIHZhcmlhYmxlcyFcbiAqL1xuLyotLS1cbiAgdGl0bGU6ICAgRm9udCBBXG4gIG5hbWU6ICAgIHZhcmlhYmxlX3R5cG9ncmFwaHlfZm9udHNfZm9udF9hXG4gIHNlY3Rpb246IHZhcmlhYmxlX3R5cG9ncmFwaHlfZm9udHNcbiAgLS0tXG5cbiAgPHAgc3R5bGU9XCJmb250LWZhbWlseTogJ0RJTicsIHNhbnMtc2VyaWY7XCI+XG4gICoqJ0RJTicsIHNhbnMtc2VyaWYqKiAgXG4gIEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaICBcbiAgYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogIFxuICAwMTIzNDU2Nzg5IT8jJSYkQCp7KC98XFwpfTwvcD5cbiAgKi9cbi8qLS0tXG4gIHRpdGxlOiAgIEZvbnQgQlxuICBuYW1lOiAgICB2YXJpYWJsZV90eXBvZ3JhcGh5X2ZvbnRzX2ZvbnRfYlxuICBzZWN0aW9uOiB2YXJpYWJsZV90eXBvZ3JhcGh5X2ZvbnRzXG4gIC0tLVxuXG4gIDxwIHN0eWxlPVwiZm9udC1mYW1pbHk6ICdUaGVrbGEnLCBzYW5zLXNlcmlmO1wiPlxuICAqKidUaGVrbGEnLCBzYW5zLXNlcmlmKiogIFxuICBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiAgXG4gIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6ICBcbiAgMDEyMzQ1Njc4OSE/IyUmJEAqeygvfFxcKX08L3A+XG4gICovXG4vKipcbiAqIEJyZWFrcG9pbnRzXG4gKlxuICogSW5mb3MgYWJvdXQgbWVkaWEgcXVlcmllczogW0JyYWQgRnJvc3QgLSA3IEhhYml0cyBvZiBoaWdobHkgZWZmZWN0aXZlIG1lZGlhIHF1ZXJpZXNdKGh0dHA6Ly9icmFkZnJvc3QuY29tL2Jsb2cvcG9zdC83LWhhYml0cy1vZi1oaWdobHktZWZmZWN0aXZlLW1lZGlhLXF1ZXJpZXMvKVxuICovXG4vKipcbiAqIG1pbiBCcmVha3BvaW50c1xuICovXG4vKipcbiAqIG1heCBCcmVha3BvaW50c1xuICpcbiAqIFVzZSB3aXRoIGNhcmUsIG1pbi13aWR0aCBicmVha3BvaW50cyBzaG91bGQgYmUgcHJlZmVycmVkIVxuICovXG4vKipcbiAqIFNwYWNpbmdcbiAqL1xuLyoqXG4gKiBOYW1lc3BhY2VcbiAqL1xuLyoqXG4qIENvbG9ycyBcbiovXG4vKiBObyBmaWxlcyB0byBpbXBvcnQgZm91bmQgaW4gYmFzZS8vKnZhcmlhYmxlLnNjc3MgKi9cbi8qIE5vIGZpbGVzIHRvIGltcG9ydCBmb3VuZCBpbiBvYmplY3QvLyp2YXJpYWJsZS5zY3NzICovXG4vKiBObyBmaWxlcyB0byBpbXBvcnQgZm91bmQgaW4gdXRpbGl0eS8vKnZhcmlhYmxlLnNjc3MgKi9cbi8qKlxuICogTWl4aW5cbiAqXG4gKiBJZiB5b3Ugd2FudCB0byAqKm9ubHkqKiBpbXBvcnQgdGhlIG1peGlucyBmcm9tIGEgcGFja2FnZSBpbXBvcnQgdGhlbSBoZXJlLlxuICovXG4vKi0tLVxudGl0bGU6IEJhc2Vcbi0tLVxuXG5CYXNlIHN0eWxlcyBsaWtlIHR5cG9ncmFwaHkgYW5kIG90aGVyIGdsb2JhbCBkZWZhdWx0IHN0eWxlc1xuKG1vc3RseSB1bmNsYXNzZWQgSFRNTCBlbGVtZW50cykuXG4qL1xuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qKlxuICAgICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICAgKiBhbmQgRmlyZWZveC5cbiAgICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gIG1hcmdpbjogMC43NWVtIDA7IH1cblxuLyoqXG4gICAgICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxLjVlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICAgKi9cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgICAqIDQuIEFkZHJlc3MgYGZvbnQtZmFtaWx5YCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gYHRleHRhcmVhYCBhbmQgb3RoZXIgZm9ybSBpbiBJRSA3XG4gICAgICogNS4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSB3aXRoIElFIDYvNy5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgICAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICAgICAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICAgICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICAgICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAgICAgKlxuICAgICAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICAgICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAgICAgKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAgICAgICAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gICAgICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAgICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAgICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAgICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAgICAgKi8gfVxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICAgKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAgICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qLS0tXG50aXRsZTogICBCb3ggc2l6aW5nIHJlc2V0XG5uYW1lOiAgICBiYXNlX2JveF9zaXppbmdfcmVzZXRcbnNlY3Rpb246IEJhc2Vcbi0tLVxuXG5CZXR0ZXIgYm94IG1vZGVsOiBbUGF1bCBJcmlzaCAtICogeyBCb3gtc2l6aW5nOiBCb3JkZXItYm94IH0gRlRXXShodHRwOi8vd3d3LnBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3LylcbiovXG4vKi0tLVxudGl0bGU6ICAgVmFyaWFibGVcbm5hbWU6ICAgIGJhc2VfYm94X3NpemluZ19yZXNldF92YXJpYWJsZVxuc2VjdGlvbjogYmFzZV9ib3hfc2l6aW5nX3Jlc2V0XG4tLS1cblxuYGBgY3NzXG4kYmFzZS1ib3gtc2l6aW5nLXJlc2V0OiB0cnVlO1xuYGBgXG4qL1xuLyogZXh0cmFjdCBiYXNlLmNzcyAqL1xuLyogZXh0cmFjdCBiYXNlX2JveF9zaXppbmdfcmVzZXQuY3NzICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG4vKiBlbmQgZXh0cmFjdCBiYXNlX2JveF9zaXppbmdfcmVzZXQuY3NzICovXG4vKiBlbmQgZXh0cmFjdCBiYXNlLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIFR5cG9ncmFwaHlcbm5hbWU6ICAgIGJhc2VfdHlwb2dyYXBoeVxuc2VjdGlvbjogQmFzZVxuLS0tXG5cbkZvbnQgc2l6ZXMgbXVzdCBiZSBzZXQgaW4gZW0gb3IgcmVtIC0gdXNlIGVtIHZhbHVlcyBmb3IgdGV4dCBlbGVtZW50cyBhbmQgcmVtXG52YWx1ZXMgZm9yIGNvbXBvbmVudHMgKGlmIG5lY2Vzc2FyeSkuIFJlYWQgbW9yZSBhYm91dCB0aGlzIGZyb21cbltDaHJpcyBDb3lpZXIgLSBGb250IFNpemUgSWRlYTogcHggYXQgdGhlIFJvb3QsIHJlbSBmb3IgQ29tcG9uZW50cywgZW0gZm9yIFRleHRcbkVsZW1lbnRzXShodHRwczovL2Nzcy10cmlja3MuY29tL3JlbXMtZW1zLykuICBcbk90aGVyIGFsbG93ZWQgbWVhc3VyZW1lbnQgdW5pdHMgYXJlIHZ3LCB2aCBhbmQgJSAtIGJhc2ljYWxseSBhbGwgcmVsYXRpdmUgdW5pdHNcbmFyZSBhbGxvd2VkLiAgXG5QaXhlbCAocHgpIHZhbHVlcyBhcmUgb25seSBhbGxvd2VkIGZvciBoYWlybGluZSBib3JkZXJzIC0gdGhpcyBpcyBiZWNhdXNlXG50aGVyZSBpcyBubyBvdGhlciByZWxpYWJsZSB3YXkgdG8gZGlzcGxheSAxcHggd2lkZSBsaW5lcyB3aXRoIHJlbGF0aXZlIHVuaXRzLlxuKi9cbi8qLS0tXG50aXRsZTogICBWYXJpYWJsZVxubmFtZTogICAgYmFzZV90eXBvZ3JhcGh5X3ZhcmlhYmxlXG5zZWN0aW9uOiBiYXNlX3R5cG9ncmFwaHlcbm9yZGVyOiAgIDNcbi0tLVxuXG5gYGBjc3NcbiRiYXNlLXR5cG9ncmFwaHktcmVzcG9uc2l2ZTogdHJ1ZTtcbiRiYXNlLXR5cG9ncmFwaHktYS1jb2xvcjogI0UxMDAxRjtcbiRiYXNlLXR5cG9ncmFwaHktYS1jb2xvci12aXNpdGVkOiAjRTEwMDFGO1xuJGJhc2UtdHlwb2dyYXBoeS1hLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRiYXNlLXR5cG9ncmFwaHktYS10ZXh0LWRlY29yYXRpb24taG92ZXI6IHVuZGVybGluZTtcbmBgYFxuKi9cbi8qLS0tXG50aXRsZTogICBNaXhpblxubmFtZTogICAgYmFzZV90eXBvZ3JhcGh5X21peGluXG5zZWN0aW9uOiBiYXNlX3R5cG9ncmFwaHlcbm9yZGVyOiAgIDJcbi0tLVxuXG5gYGBjc3NcbmJhc2UtdHlwb2dyYXBoeS13aGl0ZXNwYWNlKClcbmBgYFxuKi9cbi8qIGV4dHJhY3QgYmFzZS5jc3MgKi9cbi8qIGV4dHJhY3QgYmFzZV90eXBvZ3JhcGh5LmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGJhc2VfdHlwb2dyYXBoeV9leGFtcGxlXG5zZWN0aW9uOiBiYXNlX3R5cG9ncmFwaHlcbm9yZGVyOiAgIDFcbi0tLVxuKi9cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtZmFtaWx5OiAnRElOJywgc2Fucy1zZXJpZjsgfVxuXG4vKipcbiAqIEJhc2ljIGZvbnQgc3R5bGVzLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiA4Ny41JTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiAxMDAlOyB9IH1cblxuLyoqXG4gKiBTZXQgb25seSB2ZXJ5IGJhc2ljIGhlYWRpbmcgc3R5bGVzLCBtb3JlIGFib3V0IHN0eWxpbmcgaGVhZGxpbmVzOlxuICogaHR0cDovL2Nzc3dpemFyZHJ5LmNvbS8yMDE2LzAyL21hbmFnaW5nLXR5cG9ncmFwaHktb24tbGFyZ2UtYXBwcy9cbiAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5mb290ZXIgLmMtZm9vdGVyLW1lbnUgLm8tZ3JpZF9faXRlbSA+IGEge1xuICBmb250LXNpemU6IDEuMjVlbTsgfVxuXG5oNSxcbmg2IHtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyotLS1cbnRpdGxlOiAgIEFuY2hvclxubmFtZTogICAgYmFzZV90eXBvZ3JhcGh5X2V4YW1wbGVfYW5jaG9yXG5zZWN0aW9uOiBiYXNlX3R5cG9ncmFwaHlfZXhhbXBsZVxuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGEgaHJlZj1cIiNcIj5yZWFkbW9yZS4uLjwvYT5cbmBgYFxuKi9cbmEge1xuICBjb2xvcjogI0UxMDAxRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI0UxMDAxRjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKi0tLVxudGl0bGU6ICAgV2hpdGVzcGFjZVxubmFtZTogICAgYmFzZV90eXBvZ3JhcGh5X2V4YW1wbGVfd2hpdGVzcGFjZVxuc2VjdGlvbjogYmFzZV90eXBvZ3JhcGh5X2V4YW1wbGVcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxoMT5Mb3JlbSBJcHN1bSBkb2xvcjwvaDE+XG48cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXlcbmVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbVxudm9sdXB0dWEuPC9wPlxuPHVsPlxuICA8bGk+TG9yZW0gSXBzdW0gZG9sb3I8L2xpPlxuICA8bGk+Q29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyPC9saT5cbjwvdWw+XG48aDI+TG9yZW0gSXBzdW08L2gyPlxuPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15XG5laXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW1cbnZvbHVwdHVhLjwvcD5cbjxoMz5Mb3JlbSBJcHN1bTwvaDM+XG48cD5Db25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgbGFib3JlIGV0IGRvbG9yZSBtYWduYVxuYWxpcXV5YW0gZXJhdCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbVxudm9sdXB0dWEuPC9wPlxuYGBgXG4qL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5mb290ZXIgLmMtZm9vdGVyLW1lbnUgLm8tZ3JpZF9faXRlbSA+IGEsXG5oNSxcbmg2LFxuaDEgKyBoMixcbmgyICsgaDMsXG5oMyArIGg0LCBmb290ZXIgLmMtZm9vdGVyLW1lbnUgLm8tZ3JpZF9faXRlbSA+XG5oMyArIGEsXG5oNCArIGg1LCBmb290ZXIgLmMtZm9vdGVyLW1lbnUgLm8tZ3JpZF9faXRlbSA+IGEgKyBoNSxcbmg1ICsgaDYsXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuZm9ybSxcbnRhYmxlLFxuZmlndXJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxucDpub3QoOmZpcnN0LWNoaWxkKSxcbnVsOm5vdCg6Zmlyc3QtY2hpbGQpLFxub2w6bm90KDpmaXJzdC1jaGlsZCksXG5kbDpub3QoOmZpcnN0LWNoaWxkKSxcbmltZzpub3QoOmZpcnN0LWNoaWxkKSxcbnByZTpub3QoOmZpcnN0LWNoaWxkKSxcbmZvcm06bm90KDpmaXJzdC1jaGlsZCksXG50YWJsZTpub3QoOmZpcnN0LWNoaWxkKSxcbmZpZ3VyZTpub3QoOmZpcnN0LWNoaWxkKSxcbmFkZHJlc3M6bm90KDpmaXJzdC1jaGlsZCksXG5maWVsZHNldDpub3QoOmZpcnN0LWNoaWxkKSxcbmJsb2NrcXVvdGU6bm90KDpmaXJzdC1jaGlsZCksXG5oMTpub3QoOmZpcnN0LWNoaWxkKSxcbmgyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuaDM6bm90KDpmaXJzdC1jaGlsZCksXG5oNDpub3QoOmZpcnN0LWNoaWxkKSwgZm9vdGVyIC5jLWZvb3Rlci1tZW51IC5vLWdyaWRfX2l0ZW0gPiBhOm5vdCg6Zmlyc3QtY2hpbGQpLFxuaDU6bm90KDpmaXJzdC1jaGlsZCksXG5oNjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDEuNWVtOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlOyB9XG5cbi8qKlxuICogTm8gbWFyZ2luIHRvcCBmb3IgbmVzdGVkIGxpc3RzLlxuICovXG5saSB1bCxcbmxpIG9sLFxubGkgZGwge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qKlxuICogTm8gbWFyZ2luIHRvcCBmb3IgbmVzdGVkIHRhYmxlcy5cbiAqL1xudGFibGUgdGFibGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qKlxuICogTm9ybWFsaXplIGRlZmF1bHQgZm9udCByZWxhdGVkIHRhZ3MuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjhlbTsgfVxuXG4vKipcbiAqIEJldHRlciBpbWcgYmVoYXZpb3VyLlxuICovXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogZW5kIGV4dHJhY3QgYmFzZV90eXBvZ3JhcGh5LmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgYmFzZS5jc3MgKi9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbnN0cm9uZywgYiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuaHRtbCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLyotLS1cbnRpdGxlOiBPYmplY3Rcbi0tLVxuXG5Ob24tY29zbWV0aWMgc3R5bGVzIChlLmcuIHRoZSBmYW1vdXMgbWVkaWEgb2JqZWN0KS5cbiovXG4vKi0tLVxudGl0bGU6ICAgR3JpZFxubmFtZTogICAgb2JqZWN0X2dyaWRcbnNlY3Rpb246IE9iamVjdFxuLS0tXG5cbkZsdWlkIHdpZHRoLCByZXNwb25zaXZlIGdyaWQgc3lzdGVtLlxuXG4qKlRJUDoqKiBNb3N0IGxpa2VseSB5b3Ugd2FudCB0byB1c2UgdGhpcyBwYWNrYWdlIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlXG5bd2lkdGggdXRpbGl0eSBwYWNrYWdlXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9hdmFsYW5jaGVzYXNzX3V0aWxpdHlfd2lkdGgpLlxuKi9cbi8qLS0tXG50aXRsZTogICBWYXJpYWJsZVxubmFtZTogICAgb2JqZWN0X2dyaWRfdmFyaWFibGVcbnNlY3Rpb246IG9iamVjdF9ncmlkXG5vcmRlcjogICAzXG4tLS1cblxuYGBgY3NzXG4kby1ncmlkLW5hbWVzcGFjZTogJ28tZ3JpZCc7XG4kby1ncmlkLWZsZXg6IHRydWU7XG4kby1ncmlkLWZsZXgtZmFsbGJhY2s6IGZhbHNlO1xuJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtZGVmYXVsdC1zaXplOiBtO1xuJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtc2l6ZXM6IChzLCBsKTtcbiRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLXNpemVzLXdpdGgtYnJlYWtwb2ludHM6IChuZXN0ZWQtbWFwKTtcbiRvLWdyaWQtY29sbGFwc2VkLXZlcnRpY2FsOiBmYWxzZTtcbiRvLWdyaWQtc3BhY2VkLWhvcml6b250YWwtc2l6ZXM6ICgpO1xuJG8tZ3JpZC1zcGFjZWQtaG9yaXpvbnRhbC1zaXplcy13aXRoLWJyZWFrcG9pbnRzOiAobmVzdGVkLW1hcCk7XG4kby1ncmlkLWNvbGxhcHNlZC1ob3Jpem9udGFsOiBmYWxzZTtcbmBgYFxuKi9cbi8qLS0tXG50aXRsZTogICBDbGVhcmZpeFxubmFtZTogICAgdXRpbGl0eV9jbGVhcmZpeFxuc2VjdGlvbjogVXRpbGl0eVxuLS0tXG5cbkNvbnRhaW4gZmxvYXRzLlxuKi9cbi8qLS0tXG50aXRsZTogICBNaXhpblxubmFtZTogICAgdXRpbGl0eV9jbGVhcmZpeF9taXhpblxuc2VjdGlvbjogdXRpbGl0eV9jbGVhcmZpeFxub3JkZXI6ICAgMlxuLS0tXG5cbmBgYGNzc1xudS1jbGVhcmZpeCgpXG5gYGBcbiovXG4vKi0tLVxudGl0bGU6ICAgTWl4aW5cbm5hbWU6ICAgIG9iamVjdF9ncmlkX21peGluXG5zZWN0aW9uOiBvYmplY3RfZ3JpZFxub3JkZXI6ICAgMlxuLS0tXG5cbmBgYGNzc1xuLy8gQmFzaWMgZ3JpZC5cbm8tZ3JpZChbJC1mbGV4OiB0cnVlWywgJC1mbGV4LWZhbGxiYWNrOiBmYWxzZV1dKVxuXG4vLyBWZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gZ3JpZCBpdGVtcy5cbm8tZ3JpZC1zcGFjZWQtdmVydGljYWwoWyQtc3BhY2luZzogbWFwLWdldCgkc3BhY2luZywgbSlbLCAkLWl0ZW0tc2VsZWN0b3I6ICcuby1ncmlkX19pdGVtJ11dKVxuXG4vLyBIb3Jpem9udGFsIHNwYWNpbmcgYmV0d2VlbiBncmlkIGl0ZW1zLlxuby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsKFskLXNwYWNpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIG0pWywgJC1pdGVtLXNlbGVjdG9yOiAnLm8tZ3JpZF9faXRlbSddXSlcblxuLy8gQmFzaWMgZ3JpZCBpdGVtLlxuby1ncmlkLWl0ZW0oWyQtZmxleDogdHJ1ZVssICQtZmxleC1mYWxsYmFjazogZmFsc2VdXSlcbmBgYFxuKi9cbi8qIGV4dHJhY3Qgb2JqZWN0LmNzcyAqL1xuLyogZXh0cmFjdCBvYmplY3RfZ3JpZC5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBvYmplY3RfZ3JpZF9leGFtcGxlXG5zZWN0aW9uOiBvYmplY3RfZ3JpZFxub3JkZXI6ICAgMVxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIERlZmF1bHRcbm5hbWU6ICAgIG9iamVjdF9ncmlkX2V4YW1wbGVfZGVmYXVsdFxuc2VjdGlvbjogb2JqZWN0X2dyaWRfZXhhbXBsZVxuLS0tXG5cbkRlZmF1bHQgcmVzcG9uc2l2ZSBncmlkIHdpdGggdmVydGljYWwgYW5kIGhvcml6b250YWwgc3BhY2luZyBiZXR3ZWVuIGl0ZW1zLlxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJvLWdyaWRcIj5cbiAgPGRpdiBjbGFzcz1cIm8tZ3JpZF9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDUwJTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tZ3JpZF9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDUwJTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tZ3JpZF9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDUwJTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tZ3JpZF9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDUwJTwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLm8tZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogLTEuNWVtO1xuICBtYXJnaW4tbGVmdDogLTEuNWVtOyB9XG4gIC5vLWdyaWQgPiAuby1ncmlkX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuICAuby1ncmlkID4gLm8tZ3JpZF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVlbTsgfVxuXG4vKi0tLVxuICB0aXRsZTogICBTcGFjaW5nXG4gIG5hbWU6ICAgIG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ1xuICBzZWN0aW9uOiBvYmplY3RfZ3JpZF9leGFtcGxlXG4gIC0tLVxuICAqL1xuLyotLS1cbiAgdGl0bGU6ICAgVmVydGljYWxcbiAgbmFtZTogICAgb2JqZWN0X2dyaWRfZXhhbXBsZV9zcGFjaW5nX3ZlcnRpY2FsXG4gIHNlY3Rpb246IG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ1xuICAtLS1cblxuICBWZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gZ3JpZCBpdGVtcy5cbiAgKi9cbi8qLS0tXG4gICAgdGl0bGU6ICAgU2l6ZTogc1xuICAgIG5hbWU6ICAgIG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ192ZXJ0aWNhbF9zaXplX3NcbiAgICBzZWN0aW9uOiBvYmplY3RfZ3JpZF9leGFtcGxlX3NwYWNpbmdfdmVydGljYWxcbiAgICAtLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiby1ncmlkIG8tZ3JpZC0tdmVydGljYWwtc1wiPlxuICA8ZGl2IGNsYXNzPVwiby1ncmlkX19pdGVtXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDEwMCU8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLWdyaWRfX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogMTAwJTwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4gICAgKi9cbi5vLWdyaWQtLXZlcnRpY2FsLXMge1xuICBtYXJnaW4tdG9wOiAtMWVtOyB9XG4gIC5vLWdyaWQtLXZlcnRpY2FsLXMgPiAuby1ncmlkX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLyotLS1cbiAgICB0aXRsZTogICBTaXplOiBsXG4gICAgbmFtZTogICAgb2JqZWN0X2dyaWRfZXhhbXBsZV9zcGFjaW5nX3ZlcnRpY2FsX3NpemVfbFxuICAgIHNlY3Rpb246IG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ192ZXJ0aWNhbFxuICAgIC0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJvLWdyaWQgby1ncmlkLS12ZXJ0aWNhbC1sXCI+XG4gIDxkaXYgY2xhc3M9XCJvLWdyaWRfX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogMTAwJTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tZ3JpZF9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IGdyZXk7IHBhZGRpbmc6IDAuNWVtO1wiPndpZHRoOiAxMDAlPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiAgICAqL1xuLm8tZ3JpZC0tdmVydGljYWwtbCB7XG4gIG1hcmdpbi10b3A6IC0yZW07IH1cbiAgLm8tZ3JpZC0tdmVydGljYWwtbCA+IC5vLWdyaWRfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuXG4vKiBlbmQgZXh0cmFjdCBvYmplY3RfZ3JpZC5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IG9iamVjdC5jc3MgKi9cbi5vLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDcwZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtOyB9XG5cbi5vLWNvbnRhaW5lci0td2lkZSB7XG4gIG1heC13aWR0aDogODVlbTtcbiAgcGFkZGluZzogMDsgfVxuXG4uby1ncmlkLS1hbGlnbi1pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5vLWdyaWRfX2l0ZW0udS13aWR0aC0zXFxAbCB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9IH1cblxuLyogZXh0cmFjdCBvYmplY3QuY3NzICovXG4vKiBleHRyYWN0IG9iamVjdF9pbWFnZV9iYWNrZ3JvdW5kLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEltYWdlIGJhY2tncm91bmRcbm5hbWU6ICAgIG9iamVjdF9pbWFnZV9iYWNrZ3JvdW5kXG5zZWN0aW9uOiBPYmplY3Rcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBvYmplY3RfaW1hZ2VfYmFja2dyb3VuZF9leGFtcGxlXG5zZWN0aW9uOiBvYmplY3RfaW1hZ2VfYmFja2dyb3VuZFxuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvODUweDMwMFwiIGFsdD1cIlwiPlxuICA8ZGl2IGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgIDwhLS0geW91ciBjb250ZW50IC0tPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLm8taW1hZ2UtYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEuNWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2Uge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5vLWltYWdlLWJhY2tncm91bmRfX2ltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwOyB9IH1cblxuLm8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXIge1xuICBmbGV4LWdyb3c6IDE7IH1cblxuLyogZW5kIGV4dHJhY3Qgb2JqZWN0X2ltYWdlX2JhY2tncm91bmQuY3NzICovXG4vKiBlbmQgZXh0cmFjdCBvYmplY3QuY3NzICovXG4vKi0tLVxudGl0bGU6IENvbXBvbmVudFxuLS0tXG5cbkNvbmNyZXRlLCBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBwaWVjZSBvZiBVSS5cbiovXG4vKi0tLVxudGl0bGU6ICAgaE5cbm5hbWU6ICAgIGNvbXBvbmVudF9oblxuc2VjdGlvbjogQ29tcG9uZW50XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgVmFyaWFibGVcbm5hbWU6ICAgIGNvbXBvbmVudF9obl92YXJpYWJsZVxuc2VjdGlvbjogY29tcG9uZW50X2huXG5vcmRlcjogICAzXG4tLS1cblxuYGBgY3NzXG4kYy1obi1uYW1lc3BhY2U6ICdjLWgnO1xuJGMtaG4tbjogKG5lc3RlZC1tYXApO1xuYGBgXG4qL1xuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICBjb21wb25lbnRfaG5fbWl4aW5cbnNlY3Rpb246IGNvbXBvbmVudF9oblxub3JkZXI6ICAgMlxuLS0tXG5cbmBgYGNzc1xuYy1oKCQtbjogMSlcbmBgYFxuKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfaG4uY3NzICovXG4vKi0tLVxuICB0aXRsZTogICBFeGFtcGxlXG4gIG5hbWU6ICAgIGNvbXBvbmVudF9obl9leGFtcGxlXG4gIHNlY3Rpb246IGNvbXBvbmVudF9oblxuICAtLS1cblxuICBIZWFkbGluZSBjbGFzc2VzLlxuXG5gYGBleGFtcGxlOmh0bWxcbjxoMSBjbGFzcz1cImMtaDFcIj5IZWFkbGluZSAxPC9oMT5cbjxoMiBjbGFzcz1cImMtaDJcIj5IZWFkbGluZSAyPC9oMj5cbjxoMyBjbGFzcz1cImMtaDNcIj5IZWFkbGluZSAzPC9oMz5cbjxoNCBjbGFzcz1cImMtaDRcIj5IZWFkbGluZSA0PC9oND5cbjxoNSBjbGFzcz1cImMtaDVcIj5IZWFkbGluZSA1PC9oNT5cbjxoNiBjbGFzcz1cImMtaDZcIj5IZWFkbGluZSA2PC9oNj5cbmBgYFxuICAqL1xuLmMtaDEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNTYzZW07XG4gIGZvbnQtZmFtaWx5OiAnVGhla2xhJywgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuLmMtaDIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgZm9udC1mYW1pbHk6ICdUaGVrbGEnLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuXG4uYy1oMyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBmb250LWZhbWlseTogJ1RoZWtsYScsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbi5jLWg0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtZmFtaWx5OiAnVGhla2xhJywgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuLmMtaDUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6ICdESU4nLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG4uYy1oNiB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LWZhbWlseTogJ0RJTicsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9obi5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBFZGl0b3IgY29udGVudFxubmFtZTogICAgY29tcG9uZW50X2VkaXRvcl9jb250ZW50XG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuXG5TdHlsZSBIVE1MIG91dHB1dCBvZiBlZGl0b3JzIChtb3N0bHkgdXNlciBnZW5lcmF0ZWQgY29udGVudCkuXG4qL1xuLyotLS1cbnRpdGxlOiAgIFZhcmlhYmxlXG5uYW1lOiAgICBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnRfdmFyaWFibGVcbnNlY3Rpb246IGNvbXBvbmVudF9lZGl0b3JfY29udGVudFxub3JkZXI6ICAgMlxuLS0tXG5cbmBgYGNzc1xuJGMtZWRpdG9yLWNvbnRlbnQtbmFtZXNwYWNlOiAnYy1lZGl0b3ItY29udGVudCc7XG4kYy1lZGl0b3ItY29udGVudC10YWJsZS16ZWJyYS1zdHJpcGluZzogdHJ1ZTtcbmBgYFxuKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnQuY3NzICovXG4vKi0tLVxuICB0aXRsZTogICBFeGFtcGxlXG4gIG5hbWU6ICAgIGNvbXBvbmVudF9lZGl0b3JfY29udGVudF9leGFtcGxlXG4gIHNlY3Rpb246IGNvbXBvbmVudF9lZGl0b3JfY29udGVudFxuICBvcmRlcjogICAxXG4gIC0tLVxuICAqL1xuLyotLS1cbiAgICB0aXRsZTogICBoTlxuICAgIG5hbWU6ICAgIGNvbXBvbmVudF9lZGl0b3JfY29udGVudF9leGFtcGxlX2huXG4gICAgc2VjdGlvbjogY29tcG9uZW50X2VkaXRvcl9jb250ZW50X2V4YW1wbGVcbiAgICBvcmRlcjogICAxXG4gICAgLS0tXG5cbiAgICBgYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJjLWVkaXRvci1jb250ZW50XCI+XG4gIDxoMT5IZWFkbGluZSAxPC9oMT5cbiAgPGgyPkhlYWRsaW5lIDI8L2gyPlxuICA8aDM+SGVhZGxpbmUgMzwvaDM+XG4gIDxoND5IZWFkbGluZSA0PC9oND5cbiAgPGg1PkhlYWRsaW5lIDU8L2g1PlxuICA8aDY+SGVhZGxpbmUgNjwvaDY+XG48L2Rpdj5cbiAgICBgYGBcbiAgICAqL1xuLmMtZWRpdG9yLWNvbnRlbnQgaDEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNTYzZW07XG4gIGZvbnQtZmFtaWx5OiAnVGhla2xhJywgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuLmMtZWRpdG9yLWNvbnRlbnQgaDIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgZm9udC1mYW1pbHk6ICdUaGVrbGEnLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuXG4uYy1lZGl0b3ItY29udGVudCBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBmb250LWZhbWlseTogJ1RoZWtsYScsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbi5jLWVkaXRvci1jb250ZW50IGg0LCAuYy1lZGl0b3ItY29udGVudCBmb290ZXIgLmMtZm9vdGVyLW1lbnUgLm8tZ3JpZF9faXRlbSA+IGEsIGZvb3RlciAuYy1mb290ZXItbWVudSAuYy1lZGl0b3ItY29udGVudCAuby1ncmlkX19pdGVtID4gYSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LWZhbWlseTogJ1RoZWtsYScsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbi5jLWVkaXRvci1jb250ZW50IGg1IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtZmFtaWx5OiAnRElOJywgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmMtZWRpdG9yLWNvbnRlbnQgaDYge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6ICdESU4nLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnQuY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgQnV0dG9uXG5uYW1lOiAgICBjb21wb25lbnRfYnV0dG9uXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBWYXJpYWJsZVxubmFtZTogICAgY29tcG9uZW50X2J1dHRvbl92YXJpYWJsZVxuc2VjdGlvbjogY29tcG9uZW50X2J1dHRvblxub3JkZXI6ICAgM1xuLS0tXG5cbmBgYGNzc1xuJGMtYnV0dG9uLW5hbWVzcGFjZTogJ2MtYnV0dG9uJztcbiRjLWJ1dHRvbi1zaXplczogKG0pO1xuJGMtYnV0dG9uLWZ1bGwtd2lkdGg6IGZhbHNlO1xuJGMtYnV0dG9uLWZvbnQtc2l6ZXM6ICgpO1xuJGMtYnV0dG9uLWNzOiAoKTtcbiRjLWJ1dHRvbi1jcy1hbGVydHM6ICgpO1xuJGMtYnV0dG9uLWNzLWdyZXk6ICgpO1xuYGBgXG4qL1xuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX21peGluXG5zZWN0aW9uOiBjb21wb25lbnRfYnV0dG9uXG5vcmRlcjogICAyXG4tLS1cblxuYGBgY3NzXG4vLyBEZWZhdWx0IGJ1dHRvbi5cbmMtYnV0dG9uKFskLXNpemU6IG1bLCAkLWNzOiBhXV0pXG5cbi8vIFNpemUuXG5jLWJ1dHRvbi1zaXplKCQtc2l6ZSlcbmMtYnV0dG9uLWZ1bGwtd2lkdGgoKVxuXG4vLyBGb250IHNpemUuXG5jLWJ1dHRvbi1mb250LXNpemUoJC1mb250LXNpemUpXG5cbi8vIENvbG9yLlxuYy1idXR0b24tY29sb3IoJC1jb2xvciwgJC1jb250cmFzdC1jb2xvcilcbmMtYnV0dG9uLWNzKFskLWNzOiBhXSlcbmMtYnV0dG9uLWNzLWFsZXJ0KFskLWNzLWFsZXJ0OiBuZXV0cmFsXSlcbmMtYnV0dG9uLWNzLWdyZXkoWyQtY3MtZ3JleTogYV0pXG5gYGBcbiovXG4vKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2J1dHRvbi5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9idXR0b25cbm9yZGVyOiAgIDFcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBEZWZhdWx0XG5uYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVfZGVmYXVsdFxuc2VjdGlvbjogY29tcG9uZW50X2J1dHRvbl9leGFtcGxlXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48YSBocmVmPVwiI1wiIGNsYXNzPVwiYy1idXR0b25cIj5CdXR0b248L2E+XG48YnV0dG9uIGNsYXNzPVwiYy1idXR0b25cIj5CdXR0b248L2J1dHRvbj5cbmBgYFxuKi9cbi5jLWJ1dHRvbiwgLmMtYnV0dG9uLS1hbHQtLTEsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmsge1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIGJhY2tncm91bmQ6ICNFMTAwMUY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYy1idXR0b24sIC5jLWJ1dHRvbi0tYWx0LS0xLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rLCAuYy1idXR0b246aG92ZXIsIC5jLWJ1dHRvbi0tYWx0LS0xOmhvdmVyLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmhvdmVyLCAuYy1idXR0b246Zm9jdXMsIC5jLWJ1dHRvbi0tYWx0LS0xOmZvY3VzLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmZvY3VzLCAuYy1idXR0b246YWN0aXZlLCAuYy1idXR0b24tLWFsdC0tMTphY3RpdmUsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6YWN0aXZlLCAuYy1idXR0b246dmlzaXRlZCwgLmMtYnV0dG9uLS1hbHQtLTE6dmlzaXRlZCwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYy1idXR0b246aG92ZXIsIC5jLWJ1dHRvbi0tYWx0LS0xOmhvdmVyLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmhvdmVyLCAuYy1idXR0b246Zm9jdXMsIC5jLWJ1dHRvbi0tYWx0LS0xOmZvY3VzLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmZvY3VzLCAuYy1idXR0b246YWN0aXZlLCAuYy1idXR0b24tLWFsdC0tMTphY3RpdmUsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWE0ZDYyOyB9XG4gIC5jLWJ1dHRvbiwgLmMtYnV0dG9uLS1hbHQtLTEsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmssIC5jLWJ1dHRvbjpob3ZlciwgLmMtYnV0dG9uLS1hbHQtLTE6aG92ZXIsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6aG92ZXIsIC5jLWJ1dHRvbjpmb2N1cywgLmMtYnV0dG9uLS1hbHQtLTE6Zm9jdXMsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsIC5jLWJ1dHRvbjphY3RpdmUsIC5jLWJ1dHRvbi0tYWx0LS0xOmFjdGl2ZSwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC5jLWJ1dHRvbjp2aXNpdGVkLCAuYy1idXR0b24tLWFsdC0tMTp2aXNpdGVkLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9idXR0b24uY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2JyYW5kX2VkZ2UuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgQnJhbmQgZWRnZVxubmFtZTogICAgY29tcG9uZW50X2JyYW5kX2VkZ2VcbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9icmFuZF9lZGdlX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9icmFuZF9lZGdlXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiYy1icmFuZC1lZGdlXCI+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX2xlZnRcIj5cbiAgICBMZWZ0IGJyYW5kIGVkZ2UgYXJlYS5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX3JpZ2h0XCI+XG4gICAgUmlnaHQgYnJhbmQgZWRnZSBhcmVhLlxuICA8L2Rpdj5cbjwvZGl2PlxuPGJyIC8+IFxuPGRpdiBjbGFzcz1cImMtYnJhbmQtZWRnZSBjLWJyYW5kLWVkZ2UtLWZsaXBcIj5cbiAgPGRpdiBjbGFzcz1cImMtYnJhbmQtZWRnZV9fbGVmdFwiPlxuICAgIExlZnQgYnJhbmQgZWRnZSBhcmVhLlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImMtYnJhbmQtZWRnZV9fcmlnaHRcIj5cbiAgICBSaWdodCBicmFuZCBlZGdlIGFyZWEuXG4gIDwvZGl2PlxuPC9kaXY+XG48YnIgLz5cbjxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2UgYy1icmFuZC1lZGdlLS1mbGlwXCI+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX2xlZnRcIj5cbiAgICBMZWZ0IGJyYW5kIGVkZ2UgYXJlYS5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX3JpZ2h0IGMtYnJhbmQtZWRnZV9faXRlbS1ncm93XCI+XG4gICAgUmlnaHQgYnJhbmQgZWRnZSBhcmVhLlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtYnJhbmQtZWRnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5jLWJyYW5kLWVkZ2VfX3JpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogN2VtOyB9XG4gIC5pcy1mcm9udCAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzZW07IH1cbiAgLmMtYnJhbmQtZWRnZV9fcmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMDAwMHB4JTIyJTIwaGVpZ2h0JTNEJTIyODVweCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEwMDAwJTIwODUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlM0NnJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjElMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMDAwMCUyQzAlMjBMOTg2MS4yOTI5NSUyQzg1JTIwTDEzOC43MDcwNSUyQzg1JTIwTDAlMkMwJTIwTDEwMDAwJTJDMCUyMFolMjIlMjBmaWxsJTNEJTIyJTIzRTEwMDFGJTIyJTNFJTNDJTJGcGF0aCUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7IH1cbiAgLmMtYnJhbmQtZWRnZS0tZmxpcCAuYy1icmFuZC1lZGdlX19yaWdodDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cbiAgLmMtYnJhbmQtZWRnZV9fcmlnaHQgYSxcbiAgLmMtYnJhbmQtZWRnZV9fcmlnaHQgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uYy1icmFuZC1lZGdlX19pdGVtLWdyb3cge1xuICBmbGV4LWdyb3c6IDE7IH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2JyYW5kX2VkZ2UuY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2JyYW5kX3NlY3Rpb24uY3NzICovXG4vKi0tLVxudGl0bGU6ICAgQnJhbmQgc2VjdGlvblxubmFtZTogICAgY29tcG9uZW50X2JyYW5kX3NlY3Rpb25cbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9icmFuZF9zZWN0aW9uX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9icmFuZF9zZWN0aW9uXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiYy1icmFuZC1zZWN0aW9uXCI+XG4gIDxoMj5Mb3JlbSBJcHN1bTwvaDI+XG48L2Rpdj5cbmBgYFxuKi9cbi5jLWJyYW5kLXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMS41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgYmFja2dyb3VuZDogI0VGRUZFRjsgfVxuXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnRfYnJhbmRfc2VjdGlvbi5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbmRpdltjbGFzcyo9XCJjLXBhcmFncmFwaHNcIl0gbGksIC5jLW5vZGUtcHJvZHVjdF9fcHJvZHVjdC10ZXh0YXJlYSBsaSwgLmJ1bGxldGxpc3QgbGkge1xuICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoLi4vYXNzZXRzL3RyaWFuZ2xlLWJ1bGxldC5wbmcpO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBkaXZbY2xhc3MqPVwiYy1wYXJhZ3JhcGhzXCJdIGxpLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1ub2RlLXByb2R1Y3RfX3Byb2R1Y3QtdGV4dGFyZWEgbGksIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5idWxsZXRsaXN0IGxpIHtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoLi4vYXNzZXRzL3RyaWFuZ2xlLWJ1bGxldDAwNTI5Mi5wbmcpOyB9XG4gIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gZGl2W2NsYXNzKj1cImMtcGFyYWdyYXBoc1wiXSBsaSwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1ub2RlLXByb2R1Y3RfX3Byb2R1Y3QtdGV4dGFyZWEgbGksIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmJ1bGxldGxpc3QgbGkge1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCguLi9hc3NldHMvdHJpYW5nbGUtYnVsbGV0Mzk4MDZGLnBuZyk7IH1cblxuLmMtYnV0dG9uLCAuYy1idXR0b24tLWFsdC0tMSwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluayB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMC42ZW0gMC43NWVtIDAuNGVtIDAuNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAuYy1wYXJhZ3JhcGhzLWl0ZW0tdGV4dC1zZWN0aW9uIC5jLWJ1dHRvbiwgLmMtcGFyYWdyYXBocy1pdGVtLXRleHQtc2VjdGlvbiAuYy1idXR0b24tLWFsdC0tMSwgLmMtcGFyYWdyYXBocy1pdGVtLXRleHQtc2VjdGlvbiAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLmMtcGFyYWdyYXBocy1pdGVtLXRleHQtc2VjdGlvbiBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmsge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW0gIWltcG9ydGFudDsgfVxuXG4uYy1idXR0b24tLWFsdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNTU1NTU1O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yczsgfVxuICAuYy1idXR0b24tLWFsdCwgLmMtYnV0dG9uLS1hbHQ6aG92ZXIsIC5jLWJ1dHRvbi0tYWx0OmZvY3VzLCAuYy1idXR0b24tLWFsdDphY3RpdmUsIC5jLWJ1dHRvbi0tYWx0OnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jLWJ1dHRvbi0tYWx0OmhvdmVyLCAuYy1idXR0b24tLWFsdDpmb2N1cywgLmMtYnV0dG9uLS1hbHQ6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNCwgMzQsIDAuMyk7IH1cbiAgLmMtYnV0dG9uLS1hbHQ6aG92ZXIsIC5jLWJ1dHRvbi0tYWx0OmZvY3VzLCAuYy1idXR0b24tLWFsdDphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogIzIyMjsgfVxuXG4uYy1idXR0b24tYXR0YWNoZWQtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAuNzVlbTtcbiAgcGFkZGluZy10b3A6IDEuMWVtO1xuICBwYWRkaW5nLWxlZnQ6IC41ZW07IH1cblxuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9pbWFnZV9oZWFkZXIuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgSW1hZ2UgaGVhZGVyXG5uYW1lOiAgICBjb21wb25lbnRfaW1hZ2VfaGVhZGVyXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfaW1hZ2VfaGVhZGVyX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9pbWFnZV9oZWFkZXJcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJjLWltYWdlLWhlYWRlciBvLWltYWdlLWJhY2tncm91bmRcIj5cbiAgPGltZyBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2VcIiBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0Lzg1MHgxMTVcIiBhbHQ9XCJcIj5cbiAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtaGVhZGVyX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICA8aDI+TG9yZW0gSXBzdW08YnIgLz5cbiAgICAgIERvbG9yIHNpdDwvaDI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4uYy1pbWFnZS1oZWFkZXIge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYy1pbWFnZS1oZWFkZXJfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAxLjVlbSAyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2ltYWdlX2hlYWRlci5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfaW1hZ2VfdGVhc2VyLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEltYWdlIHRlYXNlclxubmFtZTogICAgY29tcG9uZW50X2ltYWdlX3RlYXNlclxuc2VjdGlvbjogQ29tcG9uZW50XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgY29tcG9uZW50X2ltYWdlX3RlYXNlcl9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfaW1hZ2VfdGVhc2VyXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48YSBocmVmPVwiI1wiIGNsYXNzPVwiYy1pbWFnZS10ZWFzZXIgby1pbWFnZS1iYWNrZ3JvdW5kXCIgc3R5bGU9XCJ3aWR0aDogMzAwcHg7XCI+XG4gIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9fYmFja2dyb3VuZFwiPlxuICAgIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC8zMDB4MjAwXCIgYWx0PVwiXCI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2E+XG5gYGBcbiovXG4uYy1pbWFnZS10ZWFzZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLWltYWdlLXRlYXNlciwgLmMtaW1hZ2UtdGVhc2VyOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jLWltYWdlLXRlYXNlcjpob3ZlciwgLmMtaW1hZ2UtdGVhc2VyOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jLWltYWdlLXRlYXNlcjpob3Zlcjo6YmVmb3JlLCAuYy1pbWFnZS10ZWFzZXI6Zm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNCwgMzQsIDAuNyk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jLWltYWdlLXRlYXNlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCBiYWNrZ3JvdW5kIDAuMnM7IH1cblxuLmMtaW1hZ2UtdGVhc2VyX19iYWNrZ3JvdW5kIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmMtaW1hZ2UtdGVhc2VyX19pbm5lciB7XG4gIHBhZGRpbmc6IDFlbTsgfVxuXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnRfaW1hZ2VfdGVhc2VyLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIFdpZHRoXG5uYW1lOiAgICB1dGlsaXR5X3dpZHRoXG5zZWN0aW9uOiBVdGlsaXR5XG4tLS1cblxuV2lkdGggY2xhc3Nlcy5cbiovXG4vKi0tLVxudGl0bGU6ICAgVmFyaWFibGVcbm5hbWU6ICAgIHV0aWxpdHlfd2lkdGhfdmFyaWFibGVcbnNlY3Rpb246IHV0aWxpdHlfd2lkdGhcbm9yZGVyOiAgIDNcbi0tLVxuXG5gYGBjc3NcbiR1LXdpZHRoLW5hbWVzcGFjZTogJ3Utd2lkdGgnO1xuJHUtd2lkdGgtaXRlbS1jb3VudDogMTI7XG4kdS13aWR0aC1icmVha3BvaW50czogKG0pO1xuYGBgXG4qL1xuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICB1dGlsaXR5X3dpZHRoX21peGluXG5zZWN0aW9uOiB1dGlsaXR5X3dpZHRoXG5vcmRlcjogICAyXG4tLS1cblxuYGBgY3NzXG51LXdpZHRoKCQtc2l6ZVssICQtaXRlbS1jb3VudDogMTJdKVxuYGBgXG4qL1xuLyogZXh0cmFjdCB1dGlsaXR5LmNzcyAqL1xuLyogZXh0cmFjdCB1dGlsaXR5X3dpZHRoLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIHV0aWxpdHlfd2lkdGhfZXhhbXBsZVxuc2VjdGlvbjogdXRpbGl0eV93aWR0aFxub3JkZXI6ICAgMVxuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj5cbiAgPGRpdiBjbGFzcz1cInUtd2lkdGgtMVwiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZmZjtwYWRkaW5nOiAwLjVlbTtcIj4xPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ1LXdpZHRoLTJcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidS13aWR0aC0zXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiAjZmZmO3BhZGRpbmc6IDAuNWVtO1wiPjM8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInUtd2lkdGgtNFwiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZmZjtwYWRkaW5nOiAwLjVlbTtcIj40PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ1LXdpZHRoLTVcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+NTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidS13aWR0aC02XCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiAjZmZmO3BhZGRpbmc6IDAuNWVtO1wiPjY8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInUtd2lkdGgtN1wiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZmZjtwYWRkaW5nOiAwLjVlbTtcIj43PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ1LXdpZHRoLThcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+ODwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidS13aWR0aC05XCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiAjZmZmO3BhZGRpbmc6IDAuNWVtO1wiPjk8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInUtd2lkdGgtMTBcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MTA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInUtd2lkdGgtMTFcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MTE8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInUtd2lkdGgtMTJcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MTI8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLnUtd2lkdGgtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuLnUtd2lkdGgtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbi51LXdpZHRoLTMge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLnUtd2lkdGgtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbi51LXdpZHRoLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NyUgIWltcG9ydGFudDsgfVxuXG4udS13aWR0aC02IHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi51LXdpZHRoLTcge1xuICB3aWR0aDogNTguMzMzMzMzMyUgIWltcG9ydGFudDsgfVxuXG4udS13aWR0aC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjclICFpbXBvcnRhbnQ7IH1cblxuLnUtd2lkdGgtOSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4udS13aWR0aC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbi51LXdpZHRoLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjclICFpbXBvcnRhbnQ7IH1cblxuLnUtd2lkdGgtMTIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC51LXdpZHRoLTFcXEBtIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC51LXdpZHRoLTJcXEBtIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NyUgIWltcG9ydGFudDsgfVxuICAudS13aWR0aC0zXFxAbSB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC51LXdpZHRoLTRcXEBtIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS13aWR0aC01XFxAbSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnUtd2lkdGgtNlxcQG0ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAudS13aWR0aC03XFxAbSB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLnUtd2lkdGgtOFxcQG0ge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXdpZHRoLTlcXEBtIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLnUtd2lkdGgtMTBcXEBtIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMyUgIWltcG9ydGFudDsgfVxuICAudS13aWR0aC0xMVxcQG0ge1xuICAgIHdpZHRoOiA5MS42NjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC51LXdpZHRoLTEyXFxAbSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi8qIGVuZCBleHRyYWN0IHV0aWxpdHlfd2lkdGguY3NzICovXG4vKiBlbmQgZXh0cmFjdCB1dGlsaXR5LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9jYXRlZ29yeV90ZWFzZXJfbGlzdC5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBDYXRlZ29yeSB0ZWFzZXIgbGlzdFxubmFtZTogICAgY29tcG9uZW50X2NhdGVnb3J5X3RlYXNlcl9saXN0XG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfY2F0ZWdvcnlfdGVhc2VyX2xpc3RfZXhhbXBsZVxuc2VjdGlvbjogY29tcG9uZW50X2NhdGVnb3J5X3RlYXNlcl9saXN0XG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiYy1jYXRlZ29yeS10ZWFzZXItbGlzdCBvLWdyaWRcIj5cbiAgPGRpdiBjbGFzcz1cImMtY2F0ZWdvcnktdGVhc2VyLWxpc3RfX2l0ZW0gby1ncmlkX19pdGVtIHUtd2lkdGgtMTIgdS13aWR0aC02QG1cIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYy1pbWFnZS10ZWFzZXIgby1pbWFnZS1iYWNrZ3JvdW5kXCI+XG4gICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvNzgweDQzMFwiIGFsdD1cIlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2lubmVyIG8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYy1jYXRlZ29yeS10ZWFzZXItbGlzdF9faXRlbSBvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTZAbVwiPlxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjLWltYWdlLXRlYXNlciBvLWltYWdlLWJhY2tncm91bmRcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC83ODB4NDMwXCIgYWx0PVwiXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9faW5uZXIgby1pbWFnZS1iYWNrZ3JvdW5kX19pbm5lclwiPlxuICAgICAgICAgIDxoNT5Mb3JlbSBJcHN1bSBkb2xvciBzaXQ8L2g1PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWNhdGVnb3J5LXRlYXNlci1saXN0X19pdGVtIG8tZ3JpZF9faXRlbSB1LXdpZHRoLTEyIHUtd2lkdGgtNkBtXCI+XG4gICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgPGltZyBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2VcIiBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0Lzc4MHg0MzBcIiBhbHQ9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9fY29udGVudCBvLWltYWdlLWJhY2tncm91bmRfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgPGg1PkxvcmVtIElwc3VtIGRvbG9yIHNpdDwvaDU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9hPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImMtY2F0ZWdvcnktdGVhc2VyLWxpc3RfX2l0ZW0gby1ncmlkX19pdGVtIHUtd2lkdGgtMTIgdS13aWR0aC02QG1cIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYy1pbWFnZS10ZWFzZXIgby1pbWFnZS1iYWNrZ3JvdW5kXCI+XG4gICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvNzgweDQzMFwiIGFsdD1cIlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2lubmVyIG8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYy1jYXRlZ29yeS10ZWFzZXItbGlzdF9faXRlbSBvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTZAbVwiPlxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjLWltYWdlLXRlYXNlciBvLWltYWdlLWJhY2tncm91bmRcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC83ODB4NDMwXCIgYWx0PVwiXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9faW5uZXIgby1pbWFnZS1iYWNrZ3JvdW5kX19pbm5lclwiPlxuICAgICAgICAgIDxoNT5Mb3JlbSBJcHN1bSBkb2xvciBzaXQ8L2g1PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbi5jLWNhdGVnb3J5LXRlYXNlci1saXN0X19pdGVtIHtcbiAgZm9udC1zaXplOiAwLjhlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5jLWNhdGVnb3J5LXRlYXNlci1saXN0X19pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2NhdGVnb3J5X3RlYXNlcl9saXN0LmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLmMtY29udGFpbm1lbnQtbGV2ZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5jLWNvbnRhaW5tZW50LWxldmVsc19fbGV2ZWwge1xuICB3aWR0aDogMTAlO1xuICBiYWNrZ3JvdW5kOiAjRUZFRkVGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmZjtcbiAgcGFkZGluZzogMC4zNWVtIDA7IH1cblxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sMSxcbi5jLWNvbnRhaW5tZW50LWxldmVsc19fbDIsXG4uYy1jb250YWlubWVudC1sZXZlbHNfX2wzLFxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sNGEsXG4uYy1jb250YWlubWVudC1sZXZlbHNfX2w0YiB7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmZmO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4uYy1jb250YWlubWVudC1sZXZlbHNfX3QxIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sMSB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sZXZlbC0tdGVzdGVkIHtcbiAgYmFja2dyb3VuZDogI0UxMDAxRjsgfVxuXG4uYy1jb250YWlubWVudC1sZXZlbHNfX2xldmVsLS1jb3ZlcmVkLWJ5LWhpZ2hlci1sZXZlbCB7XG4gIGJhY2tncm91bmQ6ICNmMDgwOGY7IH1cblxuLmMtZGF0YS1zaGVldCAuYy1kYXRhLXNoZWV0LWxpc3Qge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAuYy1kYXRhLXNoZWV0IC5jLWRhdGEtc2hlZXQtbGlzdCBhIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCA1cHggMDsgfVxuICAgIC5jLWRhdGEtc2hlZXQgLmMtZGF0YS1zaGVldC1saXN0IGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlNmE3XCI7XG4gICAgICBmb250LWZhbWlseTogXCJ0aGVtaWZ5XCI7XG4gICAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5jLWRhdGEtc2hlZXQgLmMtZGF0YS1zaGVldC1saXN0IHNwYW4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjb2xvcjogI2RjZGNkYzsgfVxuXG4uYy1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgI0UxMDAxRjtcbiAgbWFyZ2luOiA0ZW0gMDsgfVxuICAuYy1kaXZpZGVyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jLWRpdmlkZXIgc3BhbjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm90dG9tOiAtMWVtO1xuICAgICAgbGVmdDogMWVtO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxZW0gMWVtIDAgMWVtO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTEwMDFGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5jLXZpZXctZG93bmxvYWRzIHtcbiAgICB3aWR0aDogNjAlOyB9IH1cblxuLmMtdmlldy1kb3dubG9hZHMgLmMtdmlld19fcm93IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5jLXZpZXctZG93bmxvYWRzIC5jLXZpZXdfX3JvdyAudmlld3MtZmllbGQtdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmMtdmlldy1kb3dubG9hZHMgLmMtdmlld19fcm93IC52aWV3cy1maWVsZC10aXRsZSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCA1cHggMDsgfVxuICAgICAgLmMtdmlldy1kb3dubG9hZHMgLmMtdmlld19fcm93IC52aWV3cy1maWVsZC10aXRsZSBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNmE3XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInRoZW1pZnlcIjtcbiAgICAgICAgbWFyZ2luOiAwIDhweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuYy12aWV3LWRvd25sb2FkcyAuYy12aWV3X19yb3cgc3Bhbi5maWVsZC1jb250ZW50IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6ICNjM2MzYzM7IH1cblxuLmMtbm9kZS1qb2JzX19qb2JzLW9wZW4tcG9zaXRpb25zIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEuNWVtIDAgMCAwOyB9XG4gIC5jLW5vZGUtam9ic19fam9icy1vcGVuLXBvc2l0aW9ucyAuYy1ub2RlLWpvYnNfX2pvYnMtb3Blbi1wb3NpdGlvbnNfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmMtbm9kZS1qb2JzX19qb2JzLW9wZW4tcG9zaXRpb25zIC5jLWpvYi1saW5rLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuXG4uYy1kcm9wZG93biB7XG4gIG1heC13aWR0aDogMTIwcHg7XG4gIGZsb2F0OiByaWdodDsgfVxuICAuYy1kcm9wZG93biBzcGFuIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAuYy1kcm9wZG93biAuYy1sYW5ndWFnZS1zd2l0Y2hlcl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5jLWRyb3Bkb3duIC5jLWxhbmd1YWdlLXN3aXRjaGVyX19pdGVtIC5jLWxhbmd1YWdlLXN3aXRjaGVyX19saW5rIHtcbiAgICAgIGNvbG9yOiAjRTEwMDFGOyB9XG4gICAgLmMtZHJvcGRvd24gLmMtbGFuZ3VhZ2Utc3dpdGNoZXJfX2l0ZW0uaXMtb3BlbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHotaW5kZXg6IDEwMDsgfVxuICAgIC5jLWRyb3Bkb3duIC5jLWxhbmd1YWdlLXN3aXRjaGVyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5jLWRyb3Bkb3duIC5jLWxhbmd1YWdlLXN3aXRjaGVyX19pdGVtOmZpcnN0LWNoaWxkIC5jLWxhbmd1YWdlLXN3aXRjaGVyX19saW5rIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jLWRyb3Bkb3duIC5jLWxhbmd1YWdlLXN3aXRjaGVyX19pdGVtOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cblxuLmMtZWRpdG9yLWNvbnRlbnQgaDEsXG4uYy1lZGl0b3ItY29udGVudCBoMixcbi5jLWVkaXRvci1jb250ZW50IGgzLFxuLmMtZWRpdG9yLWNvbnRlbnQgaDQsXG4uYy1lZGl0b3ItY29udGVudCBmb290ZXIgLmMtZm9vdGVyLW1lbnUgLm8tZ3JpZF9faXRlbSA+IGEsIGZvb3RlciAuYy1mb290ZXItbWVudVxuLmMtZWRpdG9yLWNvbnRlbnQgLm8tZ3JpZF9faXRlbSA+IGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jLWJsb2NrLWNvbnRhY3RfX3RpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5mb3JtLmMtZm9ybSAuYy1mb3JtX19sZWdlbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmZvcm0uYy1mb3JtIGlucHV0LmMtZm9ybV9fcmFkaW8sIGZvcm0uYy1mb3JtIGlucHV0LmMtZm9ybV9fY2hlY2tib3gge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuZm9ybS5jLWZvcm0gbGFiZWwuYy1mb3JtX19sYWJlbC0tYmVmb3JlIHtcbiAgd2lkdGg6IDExMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuZm9ybS5jLWZvcm0gLmMtZm9ybV9faXRlbS0tdGV4dGFyZWEgbGFiZWwuYy1mb3JtX19sYWJlbC0tYmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG5mb3JtLmMtZm9ybSBpbnB1dC5jLWZvcm1fX3RleHQsIGZvcm0uYy1mb3JtIHRleHRhcmVhLmMtZm9ybV9fdGV4dGFyZWEge1xuICB3aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogOTAlOyB9XG5cbmZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgZm9vdGVyICNmb290ZXItd2F0ZXJtYXJrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIGZvb3RlciAjZm9vdGVyLWxvZ28ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgLTFlbSAwLjVlbSAwOyB9XG4gIGZvb3RlciAuYy1mb290ZXItdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL3dhdGVybWFyay5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlOyB9XG4gIGZvb3RlciAuYy1mb290ZXItYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAtMmVtOyB9XG4gIGZvb3RlciAuYy1mb290ZXItbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gICAgZm9vdGVyIC5jLWZvb3Rlci1tZW51IC5vLWdyaWRfX2l0ZW0gPiBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuOWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAgIGZvb3RlciAuYy1mb290ZXItbWVudSB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgICAgZm9vdGVyIC5jLWZvb3Rlci1tZW51IHVsIHVsID4gbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gICAgICBmb290ZXIgLmMtZm9vdGVyLW1lbnUgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhlbTsgfVxuICAgICAgICBmb290ZXIgLmMtZm9vdGVyLW1lbnUgdWwgbGkgYSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDAuMmVtO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGZvb3RlciAuYy1icmFuZC1sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyNnB4OyB9XG4gIGZvb3RlciAuYy1icmFuZC1sb2dvLWltZyB7XG4gICAgaGVpZ2h0OiA2MHB4OyB9XG4gIGZvb3RlciAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB6LWluZGV4OiA0MDA7IH1cbiAgICBmb290ZXIgLmMtYnJhbmQtZWRnZV9fcmlnaHQgYSB7XG4gICAgICBwYWRkaW5nOiA1cHggMCAwIDIwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgICAgICAgZm9vdGVyIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDAgN3B4OyB9IH1cbiAgICAgIGZvb3RlciAuYy1icmFuZC1lZGdlX19yaWdodCBhOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBmb290ZXIgLmMtZm9vdGVyLWJvdHRvbS1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEwMDFGOyB9XG4gICAgZm9vdGVyIC5jLWZvb3Rlci1ib3R0b20tbGluZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jLWZvb3Rlci1ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDgwJSwgI0UxMDAxRiA4MCUsICNFMTAwMUYgMTAwJSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgzZW0pIHtcbiAgICAuYy1mb290ZXItYm90dG9tIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgODIlLCAjRTEwMDFGIDgyJSwgI0UxMDAxRiAxMDAlKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDJlbSkge1xuICAgIC5jLWZvb3Rlci1ib3R0b20ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3NyUsICNFMTAwMUYgNzclLCAjRTEwMDFGIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMmVtKSB7XG4gICAgLmMtZm9vdGVyLWJvdHRvbSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDcyJSwgI0UxMDAxRiA3MiUsICNFMTAwMUYgMTAwJSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTUwZW0pIHtcbiAgICAuYy1mb290ZXItYm90dG9tIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjglLCAjRTEwMDFGIDY4JSwgI0UxMDAxRiAxMDAlKTsgfSB9XG5cbi5jLXBhcmFncmFwaHMtaXRlbS1ncmlkX19wZy1ibG9jay1ncmlkLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuYy1wYXJhZ3JhcGhzLWl0ZW0tZ3JpZF9fcGctYmxvY2stZ3JpZC1ibG9jayAuYy10ZXh0LXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTsgfVxuICAuYy1wYXJhZ3JhcGhzLWl0ZW0tZ3JpZF9fcGctYmxvY2stZ3JpZC1ibG9jayAuby1tZWRpYV9fcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5jLXBhcmFncmFwaHMtaXRlbS1ncmlkX19wZy1ibG9jay1ncmlkLWJsb2NrIGEuYy1idXR0b24sIC5jLXBhcmFncmFwaHMtaXRlbS1ncmlkX19wZy1ibG9jay1ncmlkLWJsb2NrIGEuYy1idXR0b24tLWFsdC0tMSwgLmMtcGFyYWdyYXBocy1pdGVtLWdyaWRfX3BnLWJsb2NrLWdyaWQtYmxvY2sgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5jLXBhcmFncmFwaHMtaXRlbS1ncmlkX19wZy1ibG9jay1ncmlkLWJsb2NrIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluayB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qKiBIZWFkcm9vbSAqL1xuLmhlYWRyb29tIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgei1pbmRleDogOTk5ODtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAxcztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2UtaW4tb3V0OyB9XG5cbi5oZWFkcm9vbS0tdG9wIHtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLmhlYWRyb29tLS11bnBpbm5lZCB7XG4gIHRvcDogMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IDFzO1xuICAtby10cmFuc2l0aW9uOiAxcztcbiAgLW1vei10cmFuc2l0aW9uOiAxcztcbiAgLW1zLXRyYW5zaXRpb246IDFzO1xuICB0cmFuc2l0aW9uOiAxcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDJweCk7IH1cbiAgLnVzZXItbG9nZ2VkLWluIC5oZWFkcm9vbS0tdW5waW5uZWQge1xuICAgIHRvcDogMzBweDsgfVxuXG4uaGVhZHJvb20tLXBpbm5lZCB7XG4gIHRvcDogLTEwMnB4O1xuICB0cmFuc2l0aW9uOiAxczsgfVxuXG4uaGVhZHJvb20uaGVhZHJvb20tLW5vdC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4vKiogSGVhZHJvb20gKi9cbi5oZWFkcm9vbS0tc2Vjb25kYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAxczsgfVxuXG4uaGVhZHJvb20tLW5vdC10b3AtLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNFMTAwMUYgIWltcG9ydGFudDsgfVxuXG4uaGVhZHJvb20tLXVucGlubmVkLS1zZWNvbmRhcnkge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiA3MnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IDFzO1xuICAtby10cmFuc2l0aW9uOiAxcztcbiAgLW1vei10cmFuc2l0aW9uOiAxcztcbiAgLW1zLXRyYW5zaXRpb246IDFzO1xuICB0cmFuc2l0aW9uOiAxcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cbiAgLnVzZXItbG9nZ2VkLWluIC5oZWFkcm9vbS0tdW5waW5uZWQtLXNlY29uZGFyeSB7XG4gICAgdG9wOiAxMDJweDsgfVxuXG4uaGVhZHJvb20tLXBpbm5lZC0tc2Vjb25kYXJ5IHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogNzJweDtcbiAgdHJhbnNpdGlvbjogMXM7IH1cblxuLmhlYWRyb29tLS10b3AtLXNlY29uZGFyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB0b3A6IDA7IH1cblxuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9oZXJvLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEhlcm9cbm5hbWU6ICAgIGNvbXBvbmVudF9oZXJvXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfaGVyb19leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfaGVyb1xuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cImMtaGVyb1wiIHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9wbGFjZWhvbGQuaXQvODAweDQwMCk7XCI+XG4gIDxkaXYgY2xhc3M9XCJjLWhlcm9fX2NvbnRlbnRcIj5cbiAgICA8aDE+TG9yZW0gSXBzdW08L2gxPlxuICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXQganVzdG8gZHVvPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtaGVybyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuYy1oZXJvIHtcbiAgICAgIGhlaWdodDogMjdlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NWVtKSB7XG4gICAgLmMtaGVybyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOGVtOyB9XG4gICAgLmMtaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfSB9XG4gIC5pcy1mcm9udCAuYy1oZXJvIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLmMtaGVyb19fY29udGVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ1ZW0pIHtcbiAgICAuaXMtZnJvbnQgLmMtaGVyb19fY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDgzJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAuaXMtZnJvbnQgLmMtaGVyb19fY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07IH0gfVxuICAuaXMtbm90LWZyb250IC5jLWhlcm9fX2NvbnRlbnQgLmMtaGVyb19fY29udGVudC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAgICAgLmlzLW5vdC1mcm9udCAuYy1oZXJvX19jb250ZW50IC5jLWhlcm9fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogNzAlOyB9IH1cbiAgLmlzLWZyb250IC5jLWhlcm9fX2NvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IDcwJTsgfVxuICAuYy1oZXJvX19jb250ZW50IHAge1xuICAgIGZvbnQtZmFtaWx5OiAnVGhla2xhJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi51LWZyb250LWhlcm8taDEge1xuICBmb250LXNpemU6IDJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9oZXJvLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLmMtaDEsXG4uYy1oMixcbi5jLWgzLFxuLmMtaDQge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfaW1hZ2Vfc2VjdGlvbi5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBJbWFnZSBzZWN0aW9uXG5uYW1lOiAgICBjb21wb25lbnRfaW1hZ2Vfc2VjdGlvblxuc2VjdGlvbjogQ29tcG9uZW50XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgY29tcG9uZW50X2ltYWdlX3NlY3Rpb25fZXhhbXBsZVxuc2VjdGlvbjogY29tcG9uZW50X2ltYWdlX3NlY3Rpb25cbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJjLWltYWdlLXNlY3Rpb24gYy1pbWFnZS1zZWN0aW9uLS1kYXJrIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvODAweDYwMFwiIGFsdD1cIlwiPlxuICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS1zZWN0aW9uX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXNlY3Rpb25fX2lubmVyIG8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgIDxoMj5Mb3JlbSBJcHN1bSBkb2xvcjwvaDI+XG4gICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0uPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtaW1hZ2Utc2VjdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYy1pbWFnZS1zZWN0aW9uIC5vLWltYWdlLWJhY2tncm91bmRfX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgICAgIC5jLWltYWdlLXNlY3Rpb24gLm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ0LjkzNzVlbSkge1xuICAgICAgLmMtaW1hZ2Utc2VjdGlvbiAuby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZSBpbWcge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNTBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMjgwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuYy1pbWFnZS1zZWN0aW9uLS1kYXJrIHtcbiAgICBjb2xvcjogI2ZmZjsgfSB9XG5cbi5jLWltYWdlLXNlY3Rpb25fX2NvbnRlbnQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAgIC5jLWltYWdlLXNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuYy1pbWFnZS1zZWN0aW9uX19pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM2VtOyB9IH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2ltYWdlX3NlY3Rpb24uY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2luZm9fYmFyLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEluZm8gYmFyXG5uYW1lOiAgICBjb21wb25lbnRfaW5mb19iYXJcbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9pbmZvX2Jhcl9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfaW5mb19iYXJcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJjLWluZm8tYmFyIG8taXNsYW5kIHUtYmFja2dyb3VuZC1jcy1iXCI+XG4gIDxwPkluZm86IDxhIGhyZWY9XCIjXCI+cmVhZCBtb3JlPC9hPjwvcD5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtaW5mby1iYXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zNWVtIHNvbGlkICNFRkVGRUY7IH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2luZm9fYmFyLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLmMtbGFuZ3VhZ2Utc3dpdGNoZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmMtbGFuZ3VhZ2Utc3dpdGNoZXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmMtbGFuZ3VhZ2Utc3dpdGNoZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDBweDtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5jLWxhbmd1YWdlLXN3aXRjaGVyIC5jLWxhbmd1YWdlLXN3aXRjaGVyX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9tYWluX2hlYWRlci5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBNYWluIGhlYWRlclxubmFtZTogICAgY29tcG9uZW50X21haW5faGVhZGVyXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfbWFpbl9oZWFkZXJfZXhhbXBsZVxuc2VjdGlvbjogY29tcG9uZW50X21haW5faGVhZGVyXG4tLS1cbiovXG4uYy1tYWluLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuICBib3JkZXItdG9wOiAxLjJlbSBzb2xpZCAjRTEwMDFGOyB9XG4gIC5jLW1haW4taGVhZGVyIC5vdXRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAuYy1tYWluLWhlYWRlciAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5jLW1haW4taGVhZGVyX190b3Age1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgOTAlLCAjRTEwMDFGIDkwJSwgI0UxMDAxRiAxMDAlKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jLW1haW4taGVhZGVyX190b3Age1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjAlLCAjRTEwMDFGIDYwJSwgI0UxMDAxRiAxMDAlKTsgfSB9XG5cbi5jLW1haW4taGVhZGVyX19maXJzdCB7XG4gIHBhZGRpbmc6IDFlbSAyZW0gMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk0MHB4KSBhbmQgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gICAgLmMtbWFpbi1oZWFkZXJfX2ZpcnN0IHtcbiAgICAgIHBhZGRpbmc6IDFlbSAwIDAgMDsgfSB9XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLWJsb2NrLWJsb2NraWZ5LWxvZ28gaW1nLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJsb2NrLWJsb2NraWZ5LWxvZ28gaW1nIHtcbiAgbWF4LWhlaWdodDogNjhweDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7IH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X21haW5faGVhZGVyLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9tYWluX21lbnUuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgTWFpbiBtZW51XG5uYW1lOiAgICBjb21wb25lbnRfbWFpbl9tZW51XG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfbWFpbl9tZW51X2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9tYWluX21lbnVcbi0tLVxuKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIG5hdiNtYWluLW1lbnUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxubmF2I21haW4tbWVudSAuYy1tZW51X19saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMjAwOyB9XG5cbm5hdiNtYWluLW1lbnUgPiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgbmF2I21haW4tbWVudSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOmxhc3QtY2hpbGQgLmMtbWVudV9fbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVkNWQ1ZDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41ZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MGVtKSB7XG4gICAgICAgIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07IH0gfVxuICAgIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOm5vdCg6bGFzdC1jaGlsZCkgPiBhIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgbmF2I21haW4tbWVudSA+IHVsID4gbGkgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjdlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBjb2xvcjogIzIyMjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRElOJywgc2Fucy1zZXJpZjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwZW0pIHtcbiAgICAgICAgbmF2I21haW4tbWVudSA+IHVsID4gbGkgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjZlbTsgfSB9XG4gICAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSBhLmlzLWxldmVsMSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgbmF2I21haW4tbWVudSA+IHVsID4gbGkgYS5pcy1sZXZlbDEgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgbmF2I21haW4tbWVudSA+IHVsID4gbGk6aG92ZXIgdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI0UxMDAxRjsgfVxuICAgICAgbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWw6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0UxMDAxRiB0cmFuc3BhcmVudDsgfVxuICAgICAgbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyMDYsIDIwNSwgMjA1LCAwLjQpIDg1JSwgcmdiYSgxNTYsIDE1NiwgMTU2LCAwLjY1KSAxMDAlKTsgfVxuICAgICAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBsaTpmaXJzdC1jaGlsZCBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogNjAlOyB9XG4gICAgICAgIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIC5pcy1sZXZlbDIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVGhla2xhJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW0gIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgICBwYWRkaW5nOiA2cHggM3B4IDBweCAzcHg7IH1cbiAgICAgICAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBsaTpmaXJzdC1jaGlsZCAuaXMtbGV2ZWwyID4gaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9XG4gICAgICAgIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyMDYsIDIwNSwgMjA1LCAwLjQpIDg1JSwgcmdiYSgxNTYsIDE1NiwgMTU2LCAwLjY1KSAxMDAlKTsgfVxuICAgICAgbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgcGFkZGluZzogMXB4IDNweCAwcHggM3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgICAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBhIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiA1cHg7IH1cbiAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bC5jLW1lbnVfX2xpc3QtLWxldmVsMSBsaSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgICAgbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwuYy1tZW51X19saXN0LS1sZXZlbDEgbGkgPiBkaXYgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OyB9XG4gICAgICBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bC5jLW1lbnVfX2xpc3QtLWxldmVsMSBsaSAuYy1tZW51X19saW5rLS1sZXZlbDIge1xuICAgICAgICBmb250LWZhbWlseTogJ0RJTicsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpIC5jLW1lbnVfX2xpbmstLWxldmVsMiBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxubmF2I21haW4tbWVudSAuYy1tZW51X19saXN0LS1sZXZlbDEgLmMtbWVudV9fbGlzdC0tbGV2ZWwxIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBuYXYjbWFpbi1tZW51LFxuICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSAuYy1tZW51X19saXN0LFxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51IC5jLW1lbnVfX2xpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAyMDA7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsLFxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsID4gbGksXG4gIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOmxhc3QtY2hpbGQsXG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsID4gbGk6bGFzdC1jaGlsZCAuYy1tZW51X19saW5rLFxuICAgICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaTpsYXN0LWNoaWxkIC5jLW1lbnVfX2xpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsID4gbGk6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41ZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MGVtKSB7XG4gICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07IH0gfVxuICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOm5vdCg6bGFzdC1jaGlsZCkgPiBhLFxuICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGk6bm90KDpsYXN0LWNoaWxkKSA+IGEge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSBhLFxuICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGkgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjdlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBjb2xvcjogIzIyMjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRElOJywgc2Fucy1zZXJpZjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwZW0pIHtcbiAgICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsID4gbGkgYSxcbiAgICAgICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNmVtOyB9IH1cbiAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIGEuaXMtbGV2ZWwxLFxuICAgICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSBhLmlzLWxldmVsMSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsID4gbGkgYS5pcy1sZXZlbDEgaW1nLFxuICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIGEuaXMtbGV2ZWwxIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOmhvdmVyIHVsLFxuICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGk6aG92ZXIgdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCxcbiAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjRTEwMDFGOyB9XG4gICAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bDpiZWZvcmUsXG4gICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNFMTAwMUYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkLFxuICAgICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDIwNiwgMjA1LCAyMDUsIDAuNCkgODUlLCByZ2JhKDE1NiwgMTU2LCAxNTYsIDAuNjUpIDEwMCUpOyB9XG4gICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIHNwYW4sXG4gICAgICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwgbGk6Zmlyc3QtY2hpbGQgc3BhbiB7XG4gICAgICAgICAgd2lkdGg6IDYwJTsgfVxuICAgICAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBsaTpmaXJzdC1jaGlsZCBhOmhvdmVyLFxuICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIC5pcy1sZXZlbDIsXG4gICAgICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwgbGk6Zmlyc3QtY2hpbGQgLmlzLWxldmVsMiB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdUaGVrbGEnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjhlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDZweCAzcHggMHB4IDNweDsgfVxuICAgICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIC5pcy1sZXZlbDIgPiBpbWcsXG4gICAgICAgICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBsaTpmaXJzdC1jaGlsZCAuaXMtbGV2ZWwyID4gaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9XG4gICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkOmhvdmVyLFxuICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyMDYsIDIwNSwgMjA1LCAwLjQpIDg1JSwgcmdiYSgxNTYsIDE1NiwgMTU2LCAwLjY1KSAxMDAlKTsgfVxuICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwgYSxcbiAgICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgcGFkZGluZzogMXB4IDNweCAwcHggM3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bCBhOmhvdmVyLFxuICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGEgaW1nLFxuICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsIGEgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IDVweDsgfVxuICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpLFxuICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwuYy1tZW51X19saXN0LS1sZXZlbDEgbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpID4gZGl2ID4gLmNvbnRlbnQsXG4gICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpID4gZGl2ID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDsgfVxuICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwuYy1tZW51X19saXN0LS1sZXZlbDEgbGkgLmMtbWVudV9fbGluay0tbGV2ZWwyLFxuICAgICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51ID4gdWwgPiBsaSB1bC5jLW1lbnVfX2xpc3QtLWxldmVsMSBsaSAuYy1tZW51X19saW5rLS1sZXZlbDIge1xuICAgICAgICBmb250LWZhbWlseTogJ0RJTicsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpIC5jLW1lbnVfX2xpbmstLWxldmVsMiBzcGFuLFxuICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpIC5jLW1lbnVfX2xpbmstLWxldmVsMiBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgbmF2I21haW4tbWVudSAuYy1tZW51X19saXN0LS1sZXZlbDEgLmMtbWVudV9fbGlzdC0tbGV2ZWwxLFxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBuYXYjbWFpbi1tZW51IC5jLW1lbnVfX2xpc3QtLWxldmVsMSAuYy1tZW51X19saXN0LS1sZXZlbDEge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gbmF2I21haW4tbWVudSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgLmMtbWVudV9fbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDIwMDsgfVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIG5hdiNtYWluLW1lbnUgPiB1bCA+IGxpOmxhc3QtY2hpbGQgLmMtbWVudV9fbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgY29sb3I6ICMyMjI7IH1cblxubmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbm5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpID4gZGl2ID4gLmNvbnRlbnQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnRfbWFpbl9tZW51LmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLmdtYXAtcG9wdXAgLm1hcC1idWJibGUtbGVmdCwgLmdtYXAtcG9wdXAgLm1hcC1idWJibGUtcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDUwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmdtYXAtcG9wdXAgLm1hcC1idWJibGUtaW1nIHtcbiAgbWFyZ2luOiAwLjJlbSAwLjZlbSAwLjJlbSAwOyB9XG5cbi5nbWFwLXBvcHVwIC5tYXAtYnViYmxlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbWFyZ2luOiAwLjJlbSAwOyB9XG5cbi5nbWFwLXBvcHVwIC5tYXAtYnViYmxlLWFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAwLjJlbTsgfVxuXG4uZ21hcC1wb3B1cCAuYy1ub2RlLWxpY2Vuc2UtcGFydG5lcl9fbG9jYXRpb24tcGhvbmUtY29udGVudCwgLmdtYXAtcG9wdXAgLmMtbm9kZS1saWNlbnNlLXBhcnRuZXJfX2xvY2F0aW9uLWZheCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZ21hcC1wb3B1cCAubWFwLWJ1YmJsZS1waG9uZSBzcGFuLCAuZ21hcC1wb3B1cCAubWFwLWJ1YmJsZS1mYXggc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5nbWFwLXBvcHVwIC5tYXAtYnViYmxlLWVtYWlsIHtcbiAgbWFyZ2luLXRvcDogMC4yZW07IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmMtbWVkaWEtbXVsdGkge1xuICAgIHBhZGRpbmctdG9wOiA1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5jLW1lZGlhLW11bHRpX19sZWZ0LWlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5jLW1lZGlhLW11bHRpX19sZWZ0LWlubmVyIGltZyB7XG4gICAgICB3aWR0aDogMjMwcHg7IH1cbiAgICAgIC5jLW1lZGlhLW11bHRpLS1iaWcgLmMtbWVkaWEtbXVsdGlfX2xlZnQtaW5uZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDM0MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmMtbWVkaWEtbXVsdGlfX2xlZnQtaW5uZXIgaW1nIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgICAuYy1tZWRpYS1tdWx0aS0tYmlnIC5jLW1lZGlhLW11bHRpX19sZWZ0LWlubmVyIGltZyB7XG4gICAgICB3aWR0aDogNDUwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAuYy1wYXJhZ3JhcGhzLWl0ZW0tbWVkaWEtbXVsdGkuby1jb250YWluZXIgLmMtbWVkaWEtbXVsdGlfX2xlZnQtaW5uZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jLW1lZGlhLW11bHRpLS1iaWcgLmMtbWVkaWEtbXVsdGlfX2xlZnQtaW5uZXIgaW1nIHtcbiAgICB3aWR0aDogNTgwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzBlbSkge1xuICAuYy1tZWRpYS1tdWx0aV9fbGVmdC1pbm5lciBpbWcge1xuICAgIHdpZHRoOiA0MDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jLW1lZGlhLW11bHRpX19sZWZ0LWlubmVyIGltZyB7XG4gICAgd2lkdGg6IDQ5MHB4OyB9XG4gICAgLmMtbWVkaWEtbXVsdGktLWJpZyAuYy1tZWRpYS1tdWx0aV9fbGVmdC1pbm5lciBpbWcge1xuICAgICAgd2lkdGg6IDY4MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5jLW1lZGlhLW11bHRpX19sZWZ0LWlubmVyIGltZyB7XG4gICAgd2lkdGg6IDc0MHB4OyB9XG4gICAgLmMtbWVkaWEtbXVsdGktLWJpZyAuYy1tZWRpYS1tdWx0aV9fbGVmdC1pbm5lciBpbWcge1xuICAgICAgd2lkdGg6IDkxMHB4OyB9IH1cblxuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9tZWdhX2Ryb3Bkb3duLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIE1lZ2EgZHJvcGRvd25cbm5hbWU6ICAgIGNvbXBvbmVudF9tZWdhX2Ryb3Bkb3duXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfbWVnYV9kcm9wZG93bl9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfbWVnYV9kcm9wZG93blxuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cImMtbWVnYS1kcm9wZG93blwiIHN0eWxlPVwiaGVpZ2h0OiA2MDBweDtcIj5cbiAgPGRpdiBjbGFzcz1cImMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGMtaW1hZ2UtaGVhZGVyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC84NjB4MTIwXCIgYWx0PVwiXCI+XG4gICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtaGVhZGVyX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgICAgPGgyPkxvcmVtIElwc3VtPGJyIC8+XG4gICAgICAgIERvbG9yIHNpdDwvaDI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx1bCBjbGFzcz1cImMtbWVnYS1kcm9wZG93bl9fY29udGVudCBvLWdyaWRcIj5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuYGBgXG4qL1xuI21haW4tbWVudSAuYy1tZWdhLWRyb3Bkb3duIHtcbiAgbWF4LXdpZHRoOiA4NjBweDtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI0UxMDAxRjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG4gICNtYWluLW1lbnUgLmMtbWVnYS1kcm9wZG93bjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogLTEwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0UxMDAxRiB0cmFuc3BhcmVudDsgfVxuXG4uYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJhY2tncm91bmQ6ICM1ZDVkNWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGg0LCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgZm9vdGVyIC5jLWZvb3Rlci1tZW51IC5vLWdyaWRfX2l0ZW0gPiBhLCBmb290ZXIgLmMtZm9vdGVyLW1lbnUgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5vLWdyaWRfX2l0ZW0gPiBhIHtcbiAgICBtYXJnaW46IDFlbTsgfVxuICAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLmMtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI21haW4tbWVudSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLmMtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHJpZ2h0OiAxMHB4OyB9XG4gICAgICAjbWFpbi1tZW51IC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAuYy10b2dnbGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTY0NlwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJ0aGVtaWZ5XCI7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgOHB4O1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICBwYWRkaW5nOiAwLjZlbSAwLjc1ZW0gMC4zZW0gMC43NWVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpICFpbXBvcnRhbnQ7IH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X21lZ2FfZHJvcGRvd24uY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4jbWFpbi1tZW51IC5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDg2MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICAjbWFpbi1tZW51IC5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IHtcbiAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgIG1heC1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IC5jLW1lZ2EtZHJvcGRvd25fX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmMtbWVnYS1kcm9wZG93bi5wcm9kdWN0X21lbnUgLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCAucHJvZHVjdF9maWx0ZXJzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIG1hcmdpbjogMCAwIDFlbSAwOyB9XG4gICAgLmMtbWVnYS1kcm9wZG93bi5wcm9kdWN0X21lbnUgLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCAucHJvZHVjdF9maWx0ZXJzIC5vLWdyaWRfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IDJlbSAyLjVlbSAwLjVlbSAyLjVlbTsgfVxuICAjbWFpbi1tZW51IC5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IC5jLW1lZ2EtZHJvcGRvd25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDJlbTsgfVxuICAuYy1tZWdhLWRyb3Bkb3duLnByb2R1Y3RfbWVudSAuYy1tZWdhLWRyb3Bkb3duX19jb250ZW50IC5sZXZlbF9wYXJlbnQubGV2ZWxfYl9zZWxmIC5jLWRhdGEtc2hlZXQtbGlzdCBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgLmMtbWVnYS1kcm9wZG93bi5wcm9kdWN0X21lbnUgLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCAuYy1kYXRhLXNoZWV0LWxpc3QgYSB7XG4gICAgcGFkZGluZzogMC4yZW0gMCAhaW1wb3J0YW50OyB9XG4gIC5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IC5jLW1lZ2EtZHJvcGRvd25fX2NvbnRlbnQgLmMtZGF0YS1zaGVldC1saXN0IC5vLWdyaWQgPiAuby1ncmlkX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40ZW0gIWltcG9ydGFudDsgfVxuICAuYy1tZWdhLWRyb3Bkb3duLnByb2R1Y3RfbWVudSAuYy1tZWdhLWRyb3Bkb3duX19jb250ZW50IC5jLWRhdGEtc2hlZXQtbGlzdCBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtICFpbXBvcnRhbnQ7IH1cbiAgLmMtbWVnYS1kcm9wZG93bi5wcm9kdWN0X21lbnUgLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNtYWluLW1lbnUgLmMtbWVnYS1kcm9wZG93bi5wcm9kdWN0X21lbnUgLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi13aWR0aDogYXV0bzsgfVxuICAgIC5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IC5jLW1lZ2EtZHJvcGRvd25fX2NvbnRlbnQgYTpob3ZlciwgLmMtbWVnYS1kcm9wZG93bi5wcm9kdWN0X21lbnUgLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IC5jLW1lZ2EtZHJvcGRvd25fX2NvbnRlbnQgYS5hY3RpdmVfdHJhaWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU2NGNcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInRoZW1pZnlcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgOHB4O1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgY29sb3I6IGdyZWVuO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmMtbWVnYS1kcm9wZG93bi5wcm9kdWN0X21lbnUgLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCAubGV2ZWxfMyB7XG4gICAgbWluLWhlaWdodDogMTQwcHg7IH1cbiAgICAuYy1tZWdhLWRyb3Bkb3duLnByb2R1Y3RfbWVudSAuYy1tZWdhLWRyb3Bkb3duX19jb250ZW50IC5sZXZlbF8zIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtICFpbXBvcnRhbnQ7IH1cbiAgICAuYy1tZWdhLWRyb3Bkb3duLnByb2R1Y3RfbWVudSAuYy1tZWdhLWRyb3Bkb3duX19jb250ZW50IC5sZXZlbF8zIC5jLWRhdGEtc2hlZXQtbGlzdCBhIHtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggMnB4IDVweCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2RjZGNkYztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuYy1tZWdhLWRyb3Bkb3duLnByb2R1Y3RfbWVudSAuYy1tZWdhLWRyb3Bkb3duX19jb250ZW50IC5sZXZlbF8zIC5jLWRhdGEtc2hlZXQtbGlzdCBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjsgfVxuXG4uYy1ub2RlLWxhbmRpbmctcGFnZSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jLW1lbnVfX2xpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmMtbWVzc2FnZSB7XG4gIHBhZGRpbmc6IDEuNWVtO1xuICBib3JkZXItbGVmdDogMC4xNWVtIHNvbGlkOyB9XG4gIC5jLW1lc3NhZ2UgKyAuYy1tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuXG4uYy1tZXNzYWdlLS1zdGF0dXMge1xuICBjb2xvcjogIzNBODdBRDtcbiAgYmFja2dyb3VuZDogI2YzZjhmYTsgfVxuXG4uYy1tZXNzYWdlLS1lcnJvciB7XG4gIGNvbG9yOiAjYjk0YTQ4O1xuICBiYWNrZ3JvdW5kOiAjZmJmNGY0OyB9XG5cbi5jLW1lc3NhZ2UtLXdhcm5pbmcge1xuICBjb2xvcjogI2MwOTg1MztcbiAgYmFja2dyb3VuZDogI2ZiZjlmNTsgfVxuXG4uYy1ibG9jay1tb2JpbGUtbWVudSwgLmMtdG9nZ2xlLWljb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jLXNtYWxsLWxvZ28ge1xuICB3aWR0aDogMTY0cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kZWx0YWJsb2MtbG9nby1zbWFsbC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0O1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtc21hbGwtbG9nbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL3Bob25vYmxvYy1sb2dvLXNtYWxsLnBuZ1wiKTsgfVxuICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1zbWFsbC1sb2dvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvY2l0eWJsb2MtbG9nby1zbWFsbC5wbmdcIik7IH1cbiAgLmMtc21hbGwtbG9nbzpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jLXNtYWxsLWxvZ28uc3RpY2t5IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBoZWlnaHQ6IDMzcHg7IH1cblxuI21vYmlsZS1tZW51IC5jLXRvcGxpbmtzIC5jLXRvcGxpbmtzLXNlcGVyYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI21vYmlsZS1tZW51IC5jLXRvcGxpbmtzIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBtYXJnaW46IDAuNWVtIDA7IH1cbiAgI21vYmlsZS1tZW51IC5jLXRvcGxpbmtzIGEudGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjBlbSkge1xuICBoZWFkZXIgLmMtYnJhbmQtZWRnZV9fcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA0MCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDVlbSkge1xuICBoZWFkZXIgLmMtYnJhbmQtZWRnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgaGVhZGVyICNtYWluLW1lbnUsIGhlYWRlciAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIgLmMtYnJhbmQtZWRnZV9fbGVmdCB7XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBoZWFkZXIgLmMtbWFpbi1oZWFkZXJfX3RvcCB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmMtdG9nZ2xlLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmMtdG9nZ2xlLWljb246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU2OGVcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInRoZW1pZnlcIjtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZDogI0UxMDAxRjtcbiAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtdG9nZ2xlLWljb246YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1MjkyOyB9XG4gICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLXRvZ2dsZS1pY29uOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzM5ODA3MzsgfVxuICAuYy1oZXJvIHtcbiAgICBoZWlnaHQ6IDMwZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAuYy1tb2JpbGUtc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5jLW1vYmlsZS1zZWFyY2g6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU2MTBcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInRoZW1pZnlcIjtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGNvbG9yOiAjRTEwMDFGO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tb2JpbGUtc2VhcmNoOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgY29sb3I6ICMwMDUyOTI7IH1cbiAgICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtbW9iaWxlLXNlYXJjaDphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGNvbG9yOiAjMzk4MDczOyB9IH1cblxuLmRhdGUtZGlzcGxheS1zaW5nbGUge1xuICBmb250LXNpemU6IDAuOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jLW5ld3Mtcm93X19saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2OTY5Njk7IH1cbiAgLmMtbmV3cy1yb3dfX2xpc3QgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYy1uZXdzLXJvd19fbGlzdCAuYy1maWVsZC5jLW5vZGUtbmV3c19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5jLW5ld3Mtcm93X19saXN0IC52aWV3cy1maWVsZC52aWV3cy1maWVsZC12aWV3LW5vZGUge1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uYy1uZXdzLWFyY2hpdmVsaXN0IGgzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY5Njk2OTtcbiAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuXG4ubm9kZS10eXBlLW5ld3MgI21haW4ge1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuLmMtdmlldy1uZXdzLS1ibG9jay0xIHtcbiAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgcGFkZGluZzogMS41ZW07IH1cbiAgLmMtdmlldy1uZXdzLS1ibG9jay0xIC5kYXRlLWRpc3BsYXktc2luZ2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jLXZpZXctbmV3cy0tYmxvY2stMSAudmlld3MtZmllbGQtdmlldy1ub2RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLnNlY3Rpb24tbmV3cyAuZWFzeS1icmVhZGNydW1iX3NlZ21lbnQtdGl0bGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2RiLW5ld3MtaWNvbi13aGl0ZS5wbmcpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgcGFkZGluZzogNHB4IDAgMCAyOHB4ICFpbXBvcnRhbnQ7IH1cblxuLmMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAgIC5jLW92ZXJsYXkgLmMtb3ZlcmxheXR5cGUtb3ZlcmxheSwgLmMtb3ZlcmxheSAuYy1vdmVybGF5dHlwZS1ncmFkaWVudCB7XG4gICAgICBvcGFjaXR5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5jLW92ZXJsYXkgLmMtb3ZlcmxheXR5cGUtb3ZlcmxheSwgLmMtb3ZlcmxheSAuYy1vdmVybGF5dHlwZS1ncmFkaWVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5jLW92ZXJsYXkgLmMtb3ZlcmxheXR5cGUtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuYy1vdmVybGF5IC5jLW92ZXJsYXl0eXBlLWdyYWRpZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjY2NjY2NjLCAjMDAwMDAwKTsgfSB9XG4gIC5jLW92ZXJsYXkgLmMtZWRpdG9yLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGFnZS1zZWFyY2ggLmMtZm9ybV9fZmllbGQuY29udGFpbmVyLWlubGluZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnZS1zZWFyY2ggLmMtZm9ybV9fZmllbGQuY29udGFpbmVyLWlubGluZSAuYy1mb3JtX19pdGVtLS1rZXlzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLnBhZ2Utc2VhcmNoIC5zZWFyY2gtcmVzdWx0cyB7XG4gIG1hcmdpbi1ib3R0b206IDVlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ucGFnZS1zZWFyY2ggLnNlYXJjaC1pbmZvIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS1zZWFyY2ggLnNlYXJjaC1yZXN1bHQge1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuLnBhZ2Utc2VhcmNoIC5jLXBhZ2VyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYWdlLXNlYXJjaCAuYy1wYWdlcl9faXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW46IC41ZW07IH1cblxuLnUtcmVnIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICBmb250LXNpemU6IC42NWVtO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5jLXZpZXctc2VhcmNoIC5jLXBhZ2VyIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jLXZpZXctc2VhcmNoIC5jLXBhZ2VyX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jLXZpZXctc2VhcmNoIC5pdGVtLWxpc3QgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jLXZpZXctc2VhcmNoIC52aWV3cy1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmMtdmlldy1zZWFyY2ggLmMtdmlld19fd2lkZ2V0LmMtdmlld19fd2lkZ2V0LS1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG4uYy12aWV3LXNlYXJjaCAuYy1mb3JtIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5jLXZpZXctc2VhcmNoIC5jLWZvcm0gLmMtZm9ybV9fdGV4dCB7XG4gIHBhZGRpbmctbGVmdDogLjVlbTsgfVxuXG4uYy1zdWJoZXJvLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAtMzJweDtcbiAgei1pbmRleDogMjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgODIlLCAjRTEwMDFGIDgyJSwgI0UxMDAxRiAxMDAlKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyZW0pIHtcbiAgICAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3NyUsICNFMTAwMUYgNzclLCAjRTEwMDFGIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMmVtKSB7XG4gICAgLmMtc3ViaGVyby1zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNzIlLCAjRTEwMDFGIDcyJSwgI0UxMDAxRiAxMDAlKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNTBlbSkge1xuICAgIC5jLXN1Ymhlcm8tc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDY4JSwgI0UxMDAxRiA2OCUsICNFMTAwMUYgMTAwJSk7IH0gfVxuICAuYy1zdWJoZXJvLXNlY3Rpb24uc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTAwMUY7IH1cbiAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuYy1zdWJoZXJvLXNlY3Rpb24gLmVhc3ktYnJlYWRjcnVtYiwgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1uZXdzIHtcbiAgICBwYWRkaW5nOiA5cHggMCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtaW4td2lkdGg6IDEyMHB4OyB9XG4gICAgLmlzLWZyb250IC5jLXN1Ymhlcm8tc2VjdGlvbiAuZWFzeS1icmVhZGNydW1iLCAuaXMtZnJvbnQgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1uZXdzIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cbiAgICAuYy1zdWJoZXJvLXNlY3Rpb24gLmVhc3ktYnJlYWRjcnVtYiBhOmhvdmVyLCAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLW5ld3MgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IHtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgI0UxMDAxRjtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2Y2ZjZmNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAgICAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUgYS5hbmNob3ItbWVudTpmb2N1cywgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IGEuYW5jaG9yLW1lbnU6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgICAgICAgcGFkZGluZzogNHB4IDRweCAxcHggNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUgLmMtdmlldy1uZXdzLS1ibG9jayAuaXRlbS1saXN0IHtcbiAgICAgIGZvbnQtc2l6ZTogLjc4ZW07IH1cbiAgICAgIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1zdWJoZXJvLXNlY3Rpb24tc3VibWVudSAuYy12aWV3LW5ld3MtLWJsb2NrIC5pdGVtLWxpc3QgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICAgICAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IC5jLXZpZXctbmV3cy0tYmxvY2sgLml0ZW0tbGlzdCBsaSBkaXYge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gICAgICAgICAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IC5jLXZpZXctbmV3cy0tYmxvY2sgLml0ZW0tbGlzdCBsaSBkaXYgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICAgICAgICBjb2xvcjogI0UxMDAxRjsgfVxuICAgICAgICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IC5jLXZpZXctbmV3cy0tYmxvY2sgLml0ZW0tbGlzdCBsaSBkaXYgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDA1MjkyOyB9XG4gICAgICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1zdWJoZXJvLXNlY3Rpb24tc3VibWVudSAuYy12aWV3LW5ld3MtLWJsb2NrIC5pdGVtLWxpc3QgbGkgZGl2IGEge1xuICAgICAgICAgICAgICBjb2xvcjogIzM5ODA3MzsgfVxuICAgIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1zdWJoZXJvLXNlY3Rpb24tc3VibWVudSAuYy12aWV3LW5ld3MtLWJsb2NrLCAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUgdWwuYy1tZW51X19saXN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHB4OyB9XG4gICAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IC5jLXZpZXctbmV3c19fY29udGVudCA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUgLmMtdmlldy1uZXdzX19jb250ZW50IC52aWV3cy1maWVsZC12aWV3LW5vZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1zdWJoZXJvLXNlY3Rpb24tc3VibWVudSAuYy12aWV3LW5ld3NfX2NvbnRlbnQgLnZpZXdzLWZpZWxkLXZpZXctbm9kZSBhIHtcbiAgICAgICAgY29sb3I6ICNFMTAwMUY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IHVsLmMtbWVudV9fbGlzdCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUgdWwuYy1tZW51X19saXN0IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxudWwuYy1zeXN0ZW0tdGFiIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIHVsLmMtc3lzdGVtLXRhYiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTAwMUY7XG4gICAgbWFyZ2luOiAwLjVlbSAwLjJlbSAwLjVlbSAwOyB9XG4gICAgdWwuYy1zeXN0ZW0tdGFiIGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjE1MzU7IH1cbiAgICB1bC5jLXN5c3RlbS10YWIgbGkgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jLXRleHQtc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA0ZW07XG4gIHBhZGRpbmctYm90dG9tOiA0ZW07IH1cblxuLmMtdGV4dC1zZWN0aW9uX19zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmMtbWFpbi1oZWFkZXJfX3NlY29uZCwgLmMtbWFpbi1oZWFkZXJfX3RoaXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jLW1haW4taGVhZGVyX19zZWNvbmQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmMtdG9wbGlua3MgYSwgLmMtdG9wbGlua3Mgc3BhbiwgLmMtc2VjX3RvcGxpbmtzIGEsIC5jLXNlY190b3BsaW5rcyBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG4uYy10b3BsaW5rcyBzcGFuLmMtdG9wbGlua3Mtc2VwZXJhdG9yLCAuYy1zZWNfdG9wbGlua3Mgc3Bhbi5jLXRvcGxpbmtzLXNlcGVyYXRvciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZmZmZjtcbiAgaGVpZ2h0OiAxNHB4OyB9XG5cbi5jLXRvcGxpbmtzIGEsIC5jLXNlY190b3BsaW5rcyBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuYy10b3BsaW5rcyBhLnRpLCAuYy1zZWNfdG9wbGlua3MgYS50aSB7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlzLWZyb250IC5jLXN1Ymhlcm8tc2VjdGlvbi1uZXdzIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2Fzc2V0cy9kYi1uZXdzLWljb24td2hpdGUucG5nKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIHBhZGRpbmctbGVmdDogMjhweCAhaW1wb3J0YW50OyB9XG5cbi8qLS0tXG50aXRsZTogVXRpbGl0eVxuLS0tXG5cblV0aWxpdHkgY2xhc3NlcyB0aGF0IGRvIHZlcnkgc3BlY2lmaWMgdGhpbmdzIChlLmcuIGNsZWFyZml4KS5cbiovXG4udS1iYWNrZ3JvdW5kLWNzLWEge1xuICBiYWNrZ3JvdW5kOiAjRTEwMDFGOyB9XG4gIC51LWJhY2tncm91bmQtY3MtYSxcbiAgLnUtYmFja2dyb3VuZC1jcy1hIGEsXG4gIC51LWJhY2tncm91bmQtY3MtYSBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi51LWJhY2tncm91bmQtY3MtZ3JleS1jIHtcbiAgYmFja2dyb3VuZDogIzY5Njk2OTsgfVxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYSxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4udS1iYWNrZ3JvdW5kLWNzLWdyZXktZCB7XG4gIGJhY2tncm91bmQ6ICMxMTExMTE7IH1cbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWQsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1kIGEsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1kIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnUtYmFja2dyb3VuZC1jcy1ncmV5LWQtb3BhY2l0eS0tODAsIC5pcy1ub3QtZnJvbnQgLmMtaGVyb19fY29udGVudCAuYy1oZXJvX19jb250ZW50LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE3LCAxNywgMTcsIDAuOCk7IH1cbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWQtb3BhY2l0eS0tODAsIC5pcy1ub3QtZnJvbnQgLmMtaGVyb19fY29udGVudCAuYy1oZXJvX19jb250ZW50LXdyYXBwZXIsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1kLW9wYWNpdHktLTgwIGEsIC5pcy1ub3QtZnJvbnQgLmMtaGVyb19fY29udGVudCAuYy1oZXJvX19jb250ZW50LXdyYXBwZXIgYSxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWQtb3BhY2l0eS0tODAgYTp2aXNpdGVkLCAuaXMtbm90LWZyb250IC5jLWhlcm9fX2NvbnRlbnQgLmMtaGVyb19fY29udGVudC13cmFwcGVyIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmVhc3ktYnJlYWRjcnVtYiAuZWFzeS1icmVhZGNydW1iX3NlZ21lbnQtc2VwYXJhdG9yOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU2NjFcIjtcbiAgbWFyZ2luOiAwIDVweDtcbiAgZm9udC1mYW1pbHk6ICd0aGVtaWZ5JztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMC44ZW07IH1cblxuLmVsZW1lbnQtaW52aXNpYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cbiAgLmVsZW1lbnQtaW52aXNpYmxlICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZWxlbWVudC1pbnZpc2libGUuaXMtZm9jdXNhYmxlOmFjdGl2ZSxcbi5lbGVtZW50LWludmlzaWJsZS5pcy1mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5vdXRib3VuZF9saW5rOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU3MzJcIjtcbiAgZm9udC1mYW1pbHk6IFwidGhlbWlmeVwiO1xuICBtYXJnaW46IC0zcHggMHB4IDBweCAzcHg7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBleHRyYWN0IHV0aWxpdHkuY3NzICovXG4vKiBleHRyYWN0IHV0aWxpdHlfZm9udF9zaXplLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEZvbnQgc2l6ZVxubmFtZTogICAgdXRpbGl0eV9mb250X3NpemVfYmFyXG5zZWN0aW9uOiBVdGlsaXR5XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgdXRpbGl0eV9mb250X3NpemVfZXhhbXBsZVxuc2VjdGlvbjogdXRpbGl0eV9mb250X3NpemVcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxwIGNsYXNzPVwidS1mb250LXNpemUtbFwiPlxuICBMb3JlbSBJcHN1bVxuPC9wPlxuYGBgXG4qL1xuLnUtZm9udC1zaXplLWwge1xuICBmb250LXNpemU6IDEuMjVlbTsgfVxuXG4vKiBlbmQgZXh0cmFjdCB1dGlsaXR5X2ZvbnRfc2l6ZS5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IHV0aWxpdHkuY3NzICovXG4udS1vdXRsaW5lLW5vbmUge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi51LXBhZGRpbmctdG9wLW0ge1xuICBwYWRkaW5nLXRvcDogMS41ZW07IH1cblxuLnUtcGFkZGluZy10b3AtbCB7XG4gIHBhZGRpbmctdG9wOiAyZW07IH1cblxuLnUtcGFkZGluZy10b3AteGwge1xuICBwYWRkaW5nLXRvcDogM2VtOyB9XG5cbi51LXBhZGRpbmctbSB7XG4gIHBhZGRpbmc6IDEuNWVtOyB9XG5cbi51LXBhZGRpbmctbCwgLmlzLW5vdC1mcm9udCAuYy1oZXJvX19jb250ZW50IC5jLWhlcm9fX2NvbnRlbnQtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDJlbTsgfVxuXG4udS1wYWRkaW5nLXhsIHtcbiAgcGFkZGluZzogM2VtOyB9XG5cbi51LXBhZGRpbmctd3JhcCA+ICo6bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLXRvcDogMS41ZW07IH1cblxuLnUtc3BhY2luZy10b3AtbSB7XG4gIG1hcmdpbi10b3A6IDEuNWVtOyB9XG5cbi51LXNwYWNpbmctdG9wLWwge1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuLnUtc3BhY2luZy10b3AteGwge1xuICBtYXJnaW4tdG9wOiAzZW07IH1cblxuLnUtc3BhY2luZy13cmFwID4gKjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDEuNWVtOyB9XG5cbi51LXRleHQtYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAudS10ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH0gfVxuXG4udS10ZXh0LWFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLnUtdGV4dC1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAudS13aWR0aC1vbmUtZmlmdGhcXEBtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmbGV4LWJhc2lzOiAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAudS13aWR0aC0xMFxcQGwge1xuICAgIHdpZHRoOiA4My4zMzMzMzMyJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnUtd2lkdGgtOFxcQHhsIHtcbiAgICB3aWR0aDogNjYuNjY2NjY3JSAhaW1wb3J0YW50OyB9IH1cblxuaHRtbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uaXMtZnJvbnQgLmMtcGFnZS10aXRsZSxcbi5wYWdlLXRheG9ub215LXRlcm0gLmMtcGFnZS10aXRsZSxcbmJvZHlbY2xhc3MqPVwibm9kZS10eXBlXCJdIC5jLXBhZ2UtdGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uYy1wYXJhZ3JhcGhzLWl0ZW0tbWVkaWEtbXVsdGkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbiwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC51LWJhY2tncm91bmQtY3MtYSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmssXG4udS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b24sXG4udS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b24tLWFsdC0tMSxcbi51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmssIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlclxuLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uLS1hbHQtLTEsIC51LWJhY2tncm91bmQtY3MtYSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1hIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbjpob3ZlciwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xOmhvdmVyLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC51LWJhY2tncm91bmQtY3MtYSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6aG92ZXIsIC51LWJhY2tncm91bmQtY3MtYSAuYy1idXR0b246Zm9jdXMsIC51LWJhY2tncm91bmQtY3MtYSAuYy1idXR0b24tLWFsdC0tMTpmb2N1cywgLnUtYmFja2dyb3VuZC1jcy1hIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAudS1iYWNrZ3JvdW5kLWNzLWEgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmZvY3VzLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uOmFjdGl2ZSwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xOmFjdGl2ZSwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6YWN0aXZlLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1hIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC51LWJhY2tncm91bmQtY3MtYSAuYy1idXR0b246dmlzaXRlZCwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xOnZpc2l0ZWQsIC51LWJhY2tncm91bmQtY3MtYSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAudS1iYWNrZ3JvdW5kLWNzLWEgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbixcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uLS1hbHQtLTEsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmssIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlclxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmssXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbjpob3ZlcixcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uLS1hbHQtLTE6aG92ZXIsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6aG92ZXIsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlclxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6aG92ZXIsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbjpmb2N1cyxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uLS1hbHQtLTE6Zm9jdXMsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlclxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbjphY3RpdmUsXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbi0tYWx0LS0xOmFjdGl2ZSxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlclxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6YWN0aXZlLFxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b246dmlzaXRlZCxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uLS1hbHQtLTE6dmlzaXRlZCxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazp2aXNpdGVkLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXJcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uOmhvdmVyLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uLS1hbHQtLTE6aG92ZXIsIC51LWJhY2tncm91bmQtY3MtYSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmhvdmVyLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1hIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbjpmb2N1cywgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xOmZvY3VzLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC51LWJhY2tncm91bmQtY3MtYSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsIC51LWJhY2tncm91bmQtY3MtYSAuYy1idXR0b246YWN0aXZlLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uLS1hbHQtLTE6YWN0aXZlLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAudS1iYWNrZ3JvdW5kLWNzLWEgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmFjdGl2ZSxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uOmhvdmVyLFxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b24tLWFsdC0tMTpob3ZlcixcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlcixcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uOmZvY3VzLFxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b24tLWFsdC0tMTpmb2N1cyxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cyxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uOmFjdGl2ZSxcbiAgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uLS1hbHQtLTE6YWN0aXZlLFxuICAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmFjdGl2ZSwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyXG4gIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4udS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uLS1hbHQtLTEsIC51LWJhY2tncm91bmQtY3MtYSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1hIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbjpob3ZlciwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xOmhvdmVyLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC51LWJhY2tncm91bmQtY3MtYSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6aG92ZXIsIC51LWJhY2tncm91bmQtY3MtYSAuYy1idXR0b246Zm9jdXMsIC51LWJhY2tncm91bmQtY3MtYSAuYy1idXR0b24tLWFsdC0tMTpmb2N1cywgLnUtYmFja2dyb3VuZC1jcy1hIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAudS1iYWNrZ3JvdW5kLWNzLWEgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmZvY3VzLCAudS1iYWNrZ3JvdW5kLWNzLWEgLmMtYnV0dG9uOmFjdGl2ZSwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xOmFjdGl2ZSwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6YWN0aXZlLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1hIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC51LWJhY2tncm91bmQtY3MtYSAuYy1idXR0b246dmlzaXRlZCwgLnUtYmFja2dyb3VuZC1jcy1hIC5jLWJ1dHRvbi0tYWx0LS0xOnZpc2l0ZWQsIC51LWJhY2tncm91bmQtY3MtYSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAudS1iYWNrZ3JvdW5kLWNzLWEgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQge1xuICBjb2xvcjogI0UxMDAxRjsgfVxuXG4udS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b24sIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbi0tYWx0LS0xLCAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rLCAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b246aG92ZXIsIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbi0tYWx0LS0xOmhvdmVyLCAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmhvdmVyLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmhvdmVyLCAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b246Zm9jdXMsIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbi0tYWx0LS0xOmZvY3VzLCAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmZvY3VzLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmZvY3VzLCAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b246YWN0aXZlLCAudS1iYWNrZ3JvdW5kLWNzLWdyZXktYyAuYy1idXR0b24tLWFsdC0tMTphY3RpdmUsIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6YWN0aXZlLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmFjdGl2ZSwgLnUtYmFja2dyb3VuZC1jcy1ncmV5LWMgLmMtYnV0dG9uOnZpc2l0ZWQsIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLWJ1dHRvbi0tYWx0LS0xOnZpc2l0ZWQsIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6dmlzaXRlZCwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC51LWJhY2tncm91bmQtY3MtZ3JleS1jIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazp2aXNpdGVkIHtcbiAgY29sb3I6ICM2OTY5Njk7IH1cblxuZm9vdGVyIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiA2ZW07IH1cblxuLmxvYWRpbmcge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDYwcHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMG5NekJ3ZUNjZ2FHVnBaMmgwUFNjek1IQjRKeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE1EQWdNVEF3SWlCd2NtVnpaWEoyWlVGemNHVmpkRkpoZEdsdlBTSjRUV2xrV1UxcFpDSWdZMnhoYzNNOUluVnBiQzFrWldaaGRXeDBJajQ4Y21WamRDQjRQU0l3SWlCNVBTSXdJaUIzYVdSMGFEMGlNVEF3SWlCb1pXbG5hSFE5SWpFd01DSWdabWxzYkQwaWJtOXVaU0lnWTJ4aGMzTTlJbUpySWo0OEwzSmxZM1ErUEhKbFkzUWdJSGc5SnpRMkxqVW5JSGs5SnpRd0p5QjNhV1IwYUQwbk55Y2dhR1ZwWjJoMFBTY3lNQ2NnY25nOUp6VW5JSEo1UFNjMUp5Qm1hV3hzUFNjak1EQmlNbVptSnlCMGNtRnVjMlp2Y20wOUozSnZkR0YwWlNnd0lEVXdJRFV3S1NCMGNtRnVjMnhoZEdVb01DQXRNekFwSno0Z0lEeGhibWx0WVhSbElHRjBkSEpwWW5WMFpVNWhiV1U5SjI5d1lXTnBkSGtuSUdaeWIyMDlKekVuSUhSdlBTY3dKeUJrZFhJOUp6RnpKeUJpWldkcGJqMG5NSE1uSUhKbGNHVmhkRU52ZFc1MFBTZHBibVJsWm1sdWFYUmxKeTgrUEM5eVpXTjBQanh5WldOMElDQjRQU2MwTmk0MUp5QjVQU2MwTUNjZ2QybGtkR2c5SnpjbklHaGxhV2RvZEQwbk1qQW5JSEo0UFNjMUp5QnllVDBuTlNjZ1ptbHNiRDBuSXpBd1lqSm1aaWNnZEhKaGJuTm1iM0p0UFNkeWIzUmhkR1VvTXpBZ05UQWdOVEFwSUhSeVlXNXpiR0YwWlNnd0lDMHpNQ2tuUGlBZ1BHRnVhVzFoZEdVZ1lYUjBjbWxpZFhSbFRtRnRaVDBuYjNCaFkybDBlU2NnWm5KdmJUMG5NU2NnZEc4OUp6QW5JR1IxY2owbk1YTW5JR0psWjJsdVBTY3dMakE0TXpNek16TXpNek16TXpNek16TXpjeWNnY21Wd1pXRjBRMjkxYm5ROUoybHVaR1ZtYVc1cGRHVW5MejQ4TDNKbFkzUStQSEpsWTNRZ0lIZzlKelEyTGpVbklIazlKelF3SnlCM2FXUjBhRDBuTnljZ2FHVnBaMmgwUFNjeU1DY2djbmc5SnpVbklISjVQU2MxSnlCbWFXeHNQU2NqTURCaU1tWm1KeUIwY21GdWMyWnZjbTA5SjNKdmRHRjBaU2cyTUNBMU1DQTFNQ2tnZEhKaGJuTnNZWFJsS0RBZ0xUTXdLU2MrSUNBOFlXNXBiV0YwWlNCaGRIUnlhV0oxZEdWT1lXMWxQU2R2Y0dGamFYUjVKeUJtY205dFBTY3hKeUIwYnowbk1DY2daSFZ5UFNjeGN5Y2dZbVZuYVc0OUp6QXVNVFkyTmpZMk5qWTJOalkyTmpZMk5qWnpKeUJ5WlhCbFlYUkRiM1Z1ZEQwbmFXNWtaV1pwYm1sMFpTY3ZQand2Y21WamRENDhjbVZqZENBZ2VEMG5ORFl1TlNjZ2VUMG5OREFuSUhkcFpIUm9QU2MzSnlCb1pXbG5hSFE5SnpJd0p5QnllRDBuTlNjZ2NuazlKelVuSUdacGJHdzlKeU13TUdJeVptWW5JSFJ5WVc1elptOXliVDBuY205MFlYUmxLRGt3SURVd0lEVXdLU0IwY21GdWMyeGhkR1VvTUNBdE16QXBKejRnSUR4aGJtbHRZWFJsSUdGMGRISnBZblYwWlU1aGJXVTlKMjl3WVdOcGRIa25JR1p5YjIwOUp6RW5JSFJ2UFNjd0p5QmtkWEk5SnpGekp5QmlaV2RwYmowbk1DNHlOWE1uSUhKbGNHVmhkRU52ZFc1MFBTZHBibVJsWm1sdWFYUmxKeTgrUEM5eVpXTjBQanh5WldOMElDQjRQU2MwTmk0MUp5QjVQU2MwTUNjZ2QybGtkR2c5SnpjbklHaGxhV2RvZEQwbk1qQW5JSEo0UFNjMUp5QnllVDBuTlNjZ1ptbHNiRDBuSXpBd1lqSm1aaWNnZEhKaGJuTm1iM0p0UFNkeWIzUmhkR1VvTVRJd0lEVXdJRFV3S1NCMGNtRnVjMnhoZEdVb01DQXRNekFwSno0Z0lEeGhibWx0WVhSbElHRjBkSEpwWW5WMFpVNWhiV1U5SjI5d1lXTnBkSGtuSUdaeWIyMDlKekVuSUhSdlBTY3dKeUJrZFhJOUp6RnpKeUJpWldkcGJqMG5NQzR6TXpNek16TXpNek16TXpNek16TXpjeWNnY21Wd1pXRjBRMjkxYm5ROUoybHVaR1ZtYVc1cGRHVW5MejQ4TDNKbFkzUStQSEpsWTNRZ0lIZzlKelEyTGpVbklIazlKelF3SnlCM2FXUjBhRDBuTnljZ2FHVnBaMmgwUFNjeU1DY2djbmc5SnpVbklISjVQU2MxSnlCbWFXeHNQU2NqTURCaU1tWm1KeUIwY21GdWMyWnZjbTA5SjNKdmRHRjBaU2d4TlRBZ05UQWdOVEFwSUhSeVlXNXpiR0YwWlNnd0lDMHpNQ2tuUGlBZ1BHRnVhVzFoZEdVZ1lYUjBjbWxpZFhSbFRtRnRaVDBuYjNCaFkybDBlU2NnWm5KdmJUMG5NU2NnZEc4OUp6QW5JR1IxY2owbk1YTW5JR0psWjJsdVBTY3dMalF4TmpZMk5qWTJOalkyTmpZMk5qZHpKeUJ5WlhCbFlYUkRiM1Z1ZEQwbmFXNWtaV1pwYm1sMFpTY3ZQand2Y21WamRENDhjbVZqZENBZ2VEMG5ORFl1TlNjZ2VUMG5OREFuSUhkcFpIUm9QU2MzSnlCb1pXbG5hSFE5SnpJd0p5QnllRDBuTlNjZ2NuazlKelVuSUdacGJHdzlKeU13TUdJeVptWW5JSFJ5WVc1elptOXliVDBuY205MFlYUmxLREU0TUNBMU1DQTFNQ2tnZEhKaGJuTnNZWFJsS0RBZ0xUTXdLU2MrSUNBOFlXNXBiV0YwWlNCaGRIUnlhV0oxZEdWT1lXMWxQU2R2Y0dGamFYUjVKeUJtY205dFBTY3hKeUIwYnowbk1DY2daSFZ5UFNjeGN5Y2dZbVZuYVc0OUp6QXVOWE1uSUhKbGNHVmhkRU52ZFc1MFBTZHBibVJsWm1sdWFYUmxKeTgrUEM5eVpXTjBQanh5WldOMElDQjRQU2MwTmk0MUp5QjVQU2MwTUNjZ2QybGtkR2c5SnpjbklHaGxhV2RvZEQwbk1qQW5JSEo0UFNjMUp5QnllVDBuTlNjZ1ptbHNiRDBuSXpBd1lqSm1aaWNnZEhKaGJuTm1iM0p0UFNkeWIzUmhkR1VvTWpFd0lEVXdJRFV3S1NCMGNtRnVjMnhoZEdVb01DQXRNekFwSno0Z0lEeGhibWx0WVhSbElHRjBkSEpwWW5WMFpVNWhiV1U5SjI5d1lXTnBkSGtuSUdaeWIyMDlKekVuSUhSdlBTY3dKeUJrZFhJOUp6RnpKeUJpWldkcGJqMG5NQzQxT0RNek16TXpNek16TXpNek16TTBjeWNnY21Wd1pXRjBRMjkxYm5ROUoybHVaR1ZtYVc1cGRHVW5MejQ4TDNKbFkzUStQSEpsWTNRZ0lIZzlKelEyTGpVbklIazlKelF3SnlCM2FXUjBhRDBuTnljZ2FHVnBaMmgwUFNjeU1DY2djbmc5SnpVbklISjVQU2MxSnlCbWFXeHNQU2NqTURCaU1tWm1KeUIwY21GdWMyWnZjbTA5SjNKdmRHRjBaU2d5TkRBZ05UQWdOVEFwSUhSeVlXNXpiR0YwWlNnd0lDMHpNQ2tuUGlBZ1BHRnVhVzFoZEdVZ1lYUjBjbWxpZFhSbFRtRnRaVDBuYjNCaFkybDBlU2NnWm5KdmJUMG5NU2NnZEc4OUp6QW5JR1IxY2owbk1YTW5JR0psWjJsdVBTY3dMalkyTmpZMk5qWTJOalkyTmpZMk5qWnpKeUJ5WlhCbFlYUkRiM1Z1ZEQwbmFXNWtaV1pwYm1sMFpTY3ZQand2Y21WamRENDhjbVZqZENBZ2VEMG5ORFl1TlNjZ2VUMG5OREFuSUhkcFpIUm9QU2MzSnlCb1pXbG5hSFE5SnpJd0p5QnllRDBuTlNjZ2NuazlKelVuSUdacGJHdzlKeU13TUdJeVptWW5JSFJ5WVc1elptOXliVDBuY205MFlYUmxLREkzTUNBMU1DQTFNQ2tnZEhKaGJuTnNZWFJsS0RBZ0xUTXdLU2MrSUNBOFlXNXBiV0YwWlNCaGRIUnlhV0oxZEdWT1lXMWxQU2R2Y0dGamFYUjVKeUJtY205dFBTY3hKeUIwYnowbk1DY2daSFZ5UFNjeGN5Y2dZbVZuYVc0OUp6QXVOelZ6SnlCeVpYQmxZWFJEYjNWdWREMG5hVzVrWldacGJtbDBaU2N2UGp3dmNtVmpkRDQ4Y21WamRDQWdlRDBuTkRZdU5TY2dlVDBuTkRBbklIZHBaSFJvUFNjM0p5Qm9aV2xuYUhROUp6SXdKeUJ5ZUQwbk5TY2djbms5SnpVbklHWnBiR3c5SnlNd01HSXlabVluSUhSeVlXNXpabTl5YlQwbmNtOTBZWFJsS0RNd01DQTFNQ0ExTUNrZ2RISmhibk5zWVhSbEtEQWdMVE13S1NjK0lDQThZVzVwYldGMFpTQmhkSFJ5YVdKMWRHVk9ZVzFsUFNkdmNHRmphWFI1SnlCbWNtOXRQU2N4SnlCMGJ6MG5NQ2NnWkhWeVBTY3hjeWNnWW1WbmFXNDlKekF1T0RNek16TXpNek16TXpNek16TXpOSE1uSUhKbGNHVmhkRU52ZFc1MFBTZHBibVJsWm1sdWFYUmxKeTgrUEM5eVpXTjBQanh5WldOMElDQjRQU2MwTmk0MUp5QjVQU2MwTUNjZ2QybGtkR2c5SnpjbklHaGxhV2RvZEQwbk1qQW5JSEo0UFNjMUp5QnllVDBuTlNjZ1ptbHNiRDBuSXpBd1lqSm1aaWNnZEhKaGJuTm1iM0p0UFNkeWIzUmhkR1VvTXpNd0lEVXdJRFV3S1NCMGNtRnVjMnhoZEdVb01DQXRNekFwSno0Z0lEeGhibWx0WVhSbElHRjBkSEpwWW5WMFpVNWhiV1U5SjI5d1lXTnBkSGtuSUdaeWIyMDlKekVuSUhSdlBTY3dKeUJrZFhJOUp6RnpKeUJpWldkcGJqMG5NQzQ1TVRZMk5qWTJOalkyTmpZMk5qWTJjeWNnY21Wd1pXRjBRMjkxYm5ROUoybHVaR1ZtYVc1cGRHVW5MejQ4TDNKbFkzUStQQzl6ZG1jKyk7IH1cblxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBhLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMzk4MDczOyB9XG5cbi5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IC5jLXZpZXctbmV3c19fY29udGVudCAudmlld3MtZmllbGQtdmlldy1ub2RlIGEge1xuICBjb2xvcjogIzM5ODA3MzsgfVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLW1haW4taGVhZGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM5ODA3MzsgfVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMDAwMHB4JTIyJTIwaGVpZ2h0JTNEJTIyODVweCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEwMDAwJTIwODUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlM0NnJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjElMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMDAwMCUyQzAlMjBMOTg2MS4yOTI5NSUyQzg1JTIwTDEzOC43MDcwNSUyQzg1JTIwTDAlMkMwJTIwTDEwMDAwJTJDMCUyMFolMjIlMjBmaWxsJTNEJTIyJTIzMzk4MDZGJTIyJTNFJTNDJTJGcGF0aCUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGxlZnQ7IH1cblxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1icmFuZC1lZGdlX19yaWdodCBhLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtbWFpbi1oZWFkZXJfX3RvcCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA5MCUsICMzOTgwNzMgOTAlLCAjMzk4MDczIDEwMCUpOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1tYWluLWhlYWRlcl9fdG9wIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDYwJSwgIzM5ODA3MyA2MCUsICMzOTgwNzMgMTAwJSk7IH0gfVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5oZWFkcm9vbS0tbm90LXRvcC0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzM5ODA3MyAhaW1wb3J0YW50OyB9XG5cbi5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtc3ViaGVyby1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA5MCUsICMzOTgwNzMgOTAlLCAjMzk4MDczIDEwMCUpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4M2VtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA4MiUsICMzOTgwNzMgODIlLCAjMzk4MDczIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMmVtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3NyUsICMzOTgwNzMgNzclLCAjMzk4MDczIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMmVtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3MiUsICMzOTgwNzMgNzIlLCAjMzk4MDczIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MGVtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA2OCUsICMzOTgwNzMgNjglLCAjMzk4MDczIDEwMCUpOyB9IH1cblxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1mb290ZXItYm90dG9tIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA5MCUsICMzOTgwNzMgOTAlLCAjMzk4MDczIDEwMCUpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4M2VtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1mb290ZXItYm90dG9tIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgODIlLCAjMzk4MDczIDgyJSwgIzM5ODA3MyAxMDAlKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDJlbSkge1xuICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtZm9vdGVyLWJvdHRvbSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDc3JSwgIzM5ODA3MyA3NyUsICMzOTgwNzMgMTAwJSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyZW0pIHtcbiAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWZvb3Rlci1ib3R0b20ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3MiUsICMzOTgwNzMgNzIlLCAjMzk4MDczIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MGVtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1mb290ZXItYm90dG9tIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjglLCAjMzk4MDczIDY4JSwgIzM5ODA3MyAxMDAlKTsgfSB9XG5cbi5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmhhcy1zdWJuYXYgLmMtbWFpbi1tZW51X19saW5rLmlzLWxldmVsMTo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzk4MDczOyB9XG5cbi5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtaW1hZ2UtdGVhc2VyLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWltYWdlLXRlYXNlcjp2aXNpdGVkIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1tZWdhLWRyb3Bkb3duIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM5ODA3MzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLW1haW4taGVhZGVyX19yaWdodDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzOTgwNzM7IH1cbiAgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtYnJhbmQtZWRnZV9fcmlnaHQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzk4MDczOyB9XG4gIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gZm9vdGVyIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzM5ODA3MzsgfSB9XG5cbi5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM5ODA3MzsgfVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJ1dHRvbiwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1idXR0b24tLWFsdC0tMSwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmsge1xuICBiYWNrZ3JvdW5kOiAjMzk4MDczOyB9XG4gIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtYnV0dG9uLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJ1dHRvbi0tYWx0LS0xLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmssIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1idXR0b246aG92ZXIsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtYnV0dG9uLS1hbHQtLTE6aG92ZXIsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmhvdmVyLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJ1dHRvbjpmb2N1cywgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1idXR0b24tLWFsdC0tMTpmb2N1cywgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmZvY3VzLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtYnV0dG9uOmFjdGl2ZSwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1idXR0b24tLWFsdC0tMTphY3RpdmUsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtYnV0dG9uOnZpc2l0ZWQsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtYnV0dG9uLS1hbHQtLTE6dmlzaXRlZCwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJ1dHRvbjpob3ZlciwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1idXR0b24tLWFsdC0tMTpob3ZlciwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmhvdmVyLCAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6aG92ZXIsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtYnV0dG9uOmZvY3VzLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJ1dHRvbi0tYWx0LS0xOmZvY3VzLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6Zm9jdXMsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cywgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1idXR0b246YWN0aXZlLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLWJ1dHRvbi0tYWx0LS0xOmFjdGl2ZSwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmFjdGl2ZSwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzc0YTY5ZDsgfVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC51LWJhY2tncm91bmQtY3MtYSB7XG4gIGJhY2tncm91bmQ6ICMzOTgwNzM7IH1cblxuLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSBmb290ZXIgLmMtZm9vdGVyLWJvdHRvbS1saW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5ODA3MzsgfVxuXG4uaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBhLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzAwNTI5MiAhaW1wb3J0YW50OyB9XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1zdWJoZXJvLXNlY3Rpb24tc3VibWVudSAuYy12aWV3LW5ld3NfX2NvbnRlbnQgLnZpZXdzLWZpZWxkLXZpZXctbm9kZSBhIHtcbiAgY29sb3I6ICMwMDUyOTI7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbWFpbi1oZWFkZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDA1MjkyOyB9XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLWJyYW5kLWVkZ2VfX3JpZ2h0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMDAwMHB4JTIyJTIwaGVpZ2h0JTNEJTIyODVweCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEwMDAwJTIwODUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlM0NnJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjElMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMDAwMCUyQzAlMjBMOTg2MS4yOTI5NSUyQzg1JTIwTDEzOC43MDcwNSUyQzg1JTIwTDAlMkMwJTIwTDEwMDAwJTJDMCUyMFolMjIlMjBmaWxsJTNEJTIyJTIzMDA1MjkyJTIyJTNFJTNDJTJGcGF0aCUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGxlZnQ7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnJhbmQtZWRnZV9fcmlnaHQgYSwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnJhbmQtZWRnZV9fcmlnaHQgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tYWluLWhlYWRlcl9fdG9wIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDkwJSwgIzAwNTI5MiA5MCUsICMwMDUyOTIgMTAwJSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tYWluLWhlYWRlcl9fdG9wIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDYwJSwgIzAwNTI5MiA2MCUsICMwMDUyOTIgMTAwJSk7IH0gfVxuXG4uaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuaGVhZHJvb20tLW5vdC10b3AtLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMwMDUyOTIgIWltcG9ydGFudDsgfVxuXG4uaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDkwJSwgIzAwNTI5MiA5MCUsICMwMDUyOTIgMTAwJSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgzZW0pIHtcbiAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA4MiUsICMwMDUyOTIgODIlLCAjMDA1MjkyIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMmVtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtc3ViaGVyby1zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNzclLCAjMDA1MjkyIDc3JSwgIzAwNTI5MiAxMDAlKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjJlbSkge1xuICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLXN1Ymhlcm8tc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDcyJSwgIzAwNTI5MiA3MiUsICMwMDUyOTIgMTAwJSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTUwZW0pIHtcbiAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA2OCUsICMwMDUyOTIgNjglLCAjMDA1MjkyIDEwMCUpOyB9IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtZm9vdGVyLWJvdHRvbSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgOTAlLCAjMDA1MjkyIDkwJSwgIzAwNTI5MiAxMDAlKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODNlbSkge1xuICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLWZvb3Rlci1ib3R0b20ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA4MiUsICMwMDUyOTIgODIlLCAjMDA1MjkyIDEwMCUpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMmVtKSB7XG4gICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtZm9vdGVyLWJvdHRvbSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDc3JSwgIzAwNTI5MiA3NyUsICMwMDUyOTIgMTAwJSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyZW0pIHtcbiAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1mb290ZXItYm90dG9tIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNzIlLCAjMDA1MjkyIDcyJSwgIzAwNTI5MiAxMDAlKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNTBlbSkge1xuICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLWZvb3Rlci1ib3R0b20ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA2OCUsICMwMDUyOTIgNjglLCAjMDA1MjkyIDEwMCUpOyB9IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmhhcy1zdWJuYXYgLmMtbWFpbi1tZW51X19saW5rLmlzLWxldmVsMTo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDA1MjkyOyB9XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLWltYWdlLXRlYXNlciwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtaW1hZ2UtdGVhc2VyOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tZWdhLWRyb3Bkb3duIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwNTI5MjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tYWluLWhlYWRlcl9fcmlnaHQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA1MjkyOyB9XG4gIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1icmFuZC1lZGdlX19yaWdodDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDUyOTI7IH1cbiAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgZm9vdGVyIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzAwNTI5MjsgfSB9XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1zdWJoZXJvLXNlY3Rpb24tc3VibWVudSB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDUyOTI7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1idXR0b24tLWFsdC0tMSwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluayB7XG4gIGJhY2tncm91bmQ6ICMwMDUyOTI7IH1cbiAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1idXR0b24tLWFsdC0tMSwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uOmhvdmVyLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1idXR0b24tLWFsdC0tMTpob3ZlciwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uOmZvY3VzLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1idXR0b24tLWFsdC0tMTpmb2N1cywgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cywgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uOmFjdGl2ZSwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uLS1hbHQtLTE6YWN0aXZlLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmFjdGl2ZSwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUsIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLWJ1dHRvbjp2aXNpdGVkLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1idXR0b24tLWFsdC0tMTp2aXNpdGVkLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOnZpc2l0ZWQsIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbms6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uOmhvdmVyLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1idXR0b24tLWFsdC0tMTpob3ZlciwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpob3ZlciwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uOmZvY3VzLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1idXR0b24tLWFsdC0tMTpmb2N1cywgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazpmb2N1cywgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uOmFjdGl2ZSwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYnV0dG9uLS1hbHQtLTE6YWN0aXZlLCAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIgYS5wcm9kdWN0LW1lbnUtZGF0YS1zaGVldC1saW5rOmFjdGl2ZSwgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluazphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICM0ZDg2YjM7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLnUtYmFja2dyb3VuZC1jcy1hIHtcbiAgYmFja2dyb3VuZDogIzAwNTI5MjsgfVxuXG4uaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSBmb290ZXIgLmMtZm9vdGVyLWJvdHRvbS1saW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTI5MjsgfVxuXG4vKiBIYWNrIHRvIGZpeCByaWdodCBhbGlnbm1lbnQgZm9yIG92ZXJsYXlzIChkaXJ0eSBuZXN0aW5nKSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXIudS10ZXh0LWFsaWduLXJpZ2h0IC51LWJhY2tncm91bmQtY3MtZ3JleS1kLW9wYWNpdHktLTgwLCAuby1pbWFnZS1iYWNrZ3JvdW5kX19pbm5lci51LXRleHQtYWxpZ24tcmlnaHQgLmlzLW5vdC1mcm9udCAuYy1oZXJvX19jb250ZW50IC5jLWhlcm9fX2NvbnRlbnQtd3JhcHBlciwgLmlzLW5vdC1mcm9udCAuYy1oZXJvX19jb250ZW50IC5vLWltYWdlLWJhY2tncm91bmRfX2lubmVyLnUtdGV4dC1hbGlnbi1yaWdodCAuYy1oZXJvX19jb250ZW50LXdyYXBwZXIge1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5jLWVkaXRvci1jb250ZW50IGg2IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGZvbnQtZmFtaWx5OiAnVGhla2xhJywgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmMtZWRpdG9yLWNvbnRlbnQgaDMge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgLmMtZWRpdG9yLWNvbnRlbnQgaDMsIC5jLWVkaXRvci1jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDFlbTsgfSB9XG5cbi5jLW5vZGUtcHJvZHVjdCBoMiwgLmMtbm9kZS1wcm9kdWN0IC5jLWJ1dHRvbi0tYWx0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnNpZGV0YWIge1xuICB6LWluZGV4OiA5OTk5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IC00M3B4O1xuICBib3R0b206IDIwJTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgcGFkZGluZzogMC4zZW0gMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAuc2lkZXRhYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTI5MjsgfVxuICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5zaWRldGFiIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk4MDczOyB9XG4gIC5zaWRldGFiIGEge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtc3ViaGVyby1zZWN0aW9uIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0LCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogN2VtOyB9XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IGZvb3RlciAuYy1mb290ZXItdG9wLCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGZvb3RlciAuYy1mb290ZXItdG9wIHtcbiAgcGFkZGluZy10b3A6IDEwZW07IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgZm9vdGVyIC5jLWZvb3Rlci1tZW51LCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGZvb3RlciAuYy1mb290ZXItbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgZm9vdGVyIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0LCAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIGZvb3RlciAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogN2VtOyB9XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IC5jLWJsb2NrLWNvbnRlbnQtYmxvY2stZGF0YXNoZWV0cywgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtYmxvY2stY29udGVudC1ibG9jay1leHRyYW5ldCwgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgLmMtbGFuZ3VhZ2UtY29udGVudCwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1ibG9jay1jb250ZW50LWJsb2NrLWRhdGFzaGVldHMsIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gLmMtYmxvY2stY29udGVudC1ibG9jay1leHRyYW5ldCwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAuYy1sYW5ndWFnZS1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTkuOTM3NWVtKSB7XG4gIC5jLXBhcmFncmFwaHMtaXRlbS1ncmlkX19wZy1ibG9jay1ncmlkLWJsb2NrIC5jLXBhcmFncmFwaHMtaXRlbS10ZXh0LXNlY3Rpb25fX3BnLXRleHQtc2VjdGlvbi10aXRsZSwgLmMtcGFyYWdyYXBocy1pdGVtLWdyaWRfX3BnLWJsb2NrLWdyaWQtYmxvY2sgLmMtYnV0dG9uLCAuYy1wYXJhZ3JhcGhzLWl0ZW0tZ3JpZF9fcGctYmxvY2stZ3JpZC1ibG9jayAuYy1idXR0b24tLWFsdC0tMSwgLmMtcGFyYWdyYXBocy1pdGVtLWdyaWRfX3BnLWJsb2NrLWdyaWQtYmxvY2sgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluaywgLmMtbWVnYS1kcm9wZG93bl9faGVhZGVyIC5jLXBhcmFncmFwaHMtaXRlbS1ncmlkX19wZy1ibG9jay1ncmlkLWJsb2NrIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluayB7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfSB9XG5cbiNibG9jay1zZWFyY2gtZm9ybSBpbnB1dCB7XG4gIHdpZHRoOiAxNzBweDtcbiAgbWFyZ2luLXRvcDogLjI1ZW07XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogLjI1ZW07IH1cblxuI2Jsb2NrLXNlYXJjaC1mb3JtIGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4jYmxvY2stc2VhcmNoLWZvcm0gYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICNibG9jay1ibG9jay04IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgICNibG9jay1ibG9jay04IC5vLW1lZGlhX19yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgICNibG9jay1ibG9jay04IC5jLWJ1dHRvbiwgI2Jsb2NrLWJsb2NrLTggLmMtYnV0dG9uLS1hbHQtLTEsICNibG9jay1ibG9jay04IC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmssIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciAjYmxvY2stYmxvY2stOCBhLnByb2R1Y3QtbWVudS1kYXRhLXNoZWV0LWxpbmsge1xuICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgLy8gcHggZmFsbGJhY2sgZm9yIElFIDggYW5kIGVhcmxpZXIuIE5vdGU6IElFIDkvMTAgZG9uJ3QgdW5kZXJzdGFuZCByZW1cbiAgLy8gaW4gZm9udCBzaG9ydGhhbmQsIGJ1dCBmb250LXNpemUgbG9uZ2hhbmQgaXMgZmluZS5cbiAgQGlmICRiYXNlLXVuaXQgPT0gcmVtIGFuZCBzdXBwb3J0LWZvcihpZSwgOCkge1xuICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gICRweC1mYWxsYmFjazogKCk7XG5cbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICAkcHgtdmFsdWU6ICR2YWx1ZTtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgICAgJHB4LXZhbHVlOiAkcHgtdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8sIHB4KTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICAgICRweC1mYWxsYmFjazogYXBwZW5kKCRweC1mYWxsYmFjaywgJHB4LXZhbHVlLCAkc2VwKTtcbiAgfVxuICBAaWYgJGJhc2UtdW5pdCA9PSByZW0gYW5kIHN1cHBvcnQtZm9yKGllLCA4KSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHgtZmFsbGJhY2s7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvKi0tLVxudGl0bGU6ICAgQm94IHNpemluZyByZXNldFxubmFtZTogICAgYmFzZV9ib3hfc2l6aW5nX3Jlc2V0XG5zZWN0aW9uOiBCYXNlXG4tLS1cblxuQmV0dGVyIGJveCBtb2RlbDogW1BhdWwgSXJpc2ggLSAqIHsgQm94LXNpemluZzogQm9yZGVyLWJveCB9IEZUV10oaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy8pXG4qL1xuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19iYXNlX2JveF9zaXppbmdfcmVzZXQvc3R5bGVfZ3VpZGUnO1xuXG4kYmFzZS1ib3gtc2l6aW5nLXJlc2V0OiB0cnVlICFkZWZhdWx0O1xuLyotLS1cbnRpdGxlOiAgIFZhcmlhYmxlXG5uYW1lOiAgICBiYXNlX2JveF9zaXppbmdfcmVzZXRfdmFyaWFibGVcbnNlY3Rpb246IGJhc2VfYm94X3NpemluZ19yZXNldFxuLS0tXG5cbmBgYGNzc1xuJGJhc2UtYm94LXNpemluZy1yZXNldDogI3skYmFzZS1ib3gtc2l6aW5nLXJlc2V0fTtcbmBgYFxuKi9cbiIsIkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfYmFzZV9ib3hfc2l6aW5nX3Jlc2V0L3N0eWxlX2d1aWRlJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfYmFzZV9ib3hfc2l6aW5nX3Jlc2V0L3ZhcmlhYmxlJztcblxuQGlmICRiYXNlLWJveC1zaXppbmctcmVzZXQge1xuICAvKiBleHRyYWN0IGJhc2UuY3NzICovXG4gIC8qIGV4dHJhY3QgYmFzZV9ib3hfc2l6aW5nX3Jlc2V0LmNzcyAqL1xuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICoge1xuICAgICYsXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG4gIC8qIGVuZCBleHRyYWN0IGJhc2VfYm94X3NpemluZ19yZXNldC5jc3MgKi9cbiAgLyogZW5kIGV4dHJhY3QgYmFzZS5jc3MgKi9cbn1cbiIsIi8qLS0tXG50aXRsZTogICBUeXBvZ3JhcGh5XG5uYW1lOiAgICBiYXNlX3R5cG9ncmFwaHlcbnNlY3Rpb246IEJhc2Vcbi0tLVxuXG5Gb250IHNpemVzIG11c3QgYmUgc2V0IGluIGVtIG9yIHJlbSAtIHVzZSBlbSB2YWx1ZXMgZm9yIHRleHQgZWxlbWVudHMgYW5kIHJlbVxudmFsdWVzIGZvciBjb21wb25lbnRzIChpZiBuZWNlc3NhcnkpLiBSZWFkIG1vcmUgYWJvdXQgdGhpcyBmcm9tXG5bQ2hyaXMgQ295aWVyIC0gRm9udCBTaXplIElkZWE6IHB4IGF0IHRoZSBSb290LCByZW0gZm9yIENvbXBvbmVudHMsIGVtIGZvciBUZXh0XG5FbGVtZW50c10oaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9yZW1zLWVtcy8pLiAgXG5PdGhlciBhbGxvd2VkIG1lYXN1cmVtZW50IHVuaXRzIGFyZSB2dywgdmggYW5kICUgLSBiYXNpY2FsbHkgYWxsIHJlbGF0aXZlIHVuaXRzXG5hcmUgYWxsb3dlZC4gIFxuUGl4ZWwgKHB4KSB2YWx1ZXMgYXJlIG9ubHkgYWxsb3dlZCBmb3IgaGFpcmxpbmUgYm9yZGVycyAtIHRoaXMgaXMgYmVjYXVzZVxudGhlcmUgaXMgbm8gb3RoZXIgcmVsaWFibGUgd2F5IHRvIGRpc3BsYXkgMXB4IHdpZGUgbGluZXMgd2l0aCByZWxhdGl2ZSB1bml0cy5cbiovXG4iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2Jhc2VfdHlwb2dyYXBoeS9zdHlsZV9ndWlkZSc7XG5cbi8vIFJlc3BvbnNpdmUgdHlwb2dyYXBoeS5cbiRiYXNlLXR5cG9ncmFwaHktcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQW5jaG9yLlxuJGJhc2UtdHlwb2dyYXBoeS1hLWNvbG9yOiBtYXAtZ2V0KCRjcywgYSkgIWRlZmF1bHQ7XG4kYmFzZS10eXBvZ3JhcGh5LWEtY29sb3ItdmlzaXRlZDogJGJhc2UtdHlwb2dyYXBoeS1hLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtdHlwb2dyYXBoeS1hLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRiYXNlLXR5cG9ncmFwaHktYS10ZXh0LWRlY29yYXRpb24taG92ZXI6IHVuZGVybGluZSAhZGVmYXVsdDtcbi8qLS0tXG50aXRsZTogICBWYXJpYWJsZVxubmFtZTogICAgYmFzZV90eXBvZ3JhcGh5X3ZhcmlhYmxlXG5zZWN0aW9uOiBiYXNlX3R5cG9ncmFwaHlcbm9yZGVyOiAgIDNcbi0tLVxuXG5gYGBjc3NcbiRiYXNlLXR5cG9ncmFwaHktcmVzcG9uc2l2ZTogI3skYmFzZS10eXBvZ3JhcGh5LXJlc3BvbnNpdmV9O1xuJGJhc2UtdHlwb2dyYXBoeS1hLWNvbG9yOiAjeyRiYXNlLXR5cG9ncmFwaHktYS1jb2xvcn07XG4kYmFzZS10eXBvZ3JhcGh5LWEtY29sb3ItdmlzaXRlZDogI3skYmFzZS10eXBvZ3JhcGh5LWEtY29sb3ItdmlzaXRlZH07XG4kYmFzZS10eXBvZ3JhcGh5LWEtdGV4dC1kZWNvcmF0aW9uOiAjeyRiYXNlLXR5cG9ncmFwaHktYS10ZXh0LWRlY29yYXRpb259O1xuJGJhc2UtdHlwb2dyYXBoeS1hLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjogI3skYmFzZS10eXBvZ3JhcGh5LWEtdGV4dC1kZWNvcmF0aW9uLWhvdmVyfTtcbmBgYFxuKi9cbiIsIkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfYmFzZV90eXBvZ3JhcGh5L3N0eWxlX2d1aWRlJztcblxuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICBiYXNlX3R5cG9ncmFwaHlfbWl4aW5cbnNlY3Rpb246IGJhc2VfdHlwb2dyYXBoeVxub3JkZXI6ICAgMlxuLS0tXG5cbmBgYGNzc1xuYmFzZS10eXBvZ3JhcGh5LXdoaXRlc3BhY2UoKVxuYGBgXG4qL1xuQG1peGluIGJhc2UtdHlwb2dyYXBoeS13aGl0ZXNwYWNlKCkge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzcGFjaW5nLCBtKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19iYXNlX3R5cG9ncmFwaHkvc3R5bGVfZ3VpZGUnO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19mdW5jdGlvbl9tYXBfZ2V0X2RlZXAnO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19mdW5jdGlvbl9zdHJpcF91bml0JztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfYmFzZV90eXBvZ3JhcGh5L3ZhcmlhYmxlJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfYmFzZV90eXBvZ3JhcGh5L21peGluJztcblxuLyogZXh0cmFjdCBiYXNlLmNzcyAqL1xuLyogZXh0cmFjdCBiYXNlX3R5cG9ncmFwaHkuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgYmFzZV90eXBvZ3JhcGh5X2V4YW1wbGVcbnNlY3Rpb246IGJhc2VfdHlwb2dyYXBoeVxub3JkZXI6ICAgMVxuLS0tXG4qL1xuaHRtbCxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogJGZvbnQtYmFzZS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6IHVucXVvdGUobWFwLWdldC1kZWVwKCRmb250cywgYSwgZmFtaWx5KSk7XG59XG5cbi8qKlxuICogQmFzaWMgZm9udCBzdHlsZXMuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogc3RyaXAtdW5pdCgkZm9udC1iYXNlLWxpbmUtaGVpZ2h0IC8gJGZvbnQtYmFzZS1zaXplKTtcbiAgQGlmICRiYXNlLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSB7XG4gICAgZm9udC1zaXplOiBzdHJpcC11bml0KCRmb250LWJhc2Utc2l6ZSkgLyAoMTYgLyA4Ny41KSAqIDElO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgcykpIHtcbiAgICAgIGZvbnQtc2l6ZTogc3RyaXAtdW5pdCgkZm9udC1iYXNlLXNpemUpIC8gKDE2IC8gMTAwKSAqIDElO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgZm9udC1zaXplOiBzdHJpcC11bml0KCRmb250LWJhc2Utc2l6ZSkgLyAoMTYgLyAxMDApICogMSU7XG4gIH1cbn1cblxuLyoqXG4gKiBTZXQgb25seSB2ZXJ5IGJhc2ljIGhlYWRpbmcgc3R5bGVzLCBtb3JlIGFib3V0IHN0eWxpbmcgaGVhZGxpbmVzOlxuICogaHR0cDovL2Nzc3dpemFyZHJ5LmNvbS8yMDE2LzAyL21hbmFnaW5nLXR5cG9ncmFwaHktb24tbGFyZ2UtYXBwcy9cbiAqL1xuaDEsXG5oMixcbmgzLFxuaDQge1xuICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGwpO1xufVxuXG5oNSxcbmg2IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cblxuXG4vKi0tLVxudGl0bGU6ICAgQW5jaG9yXG5uYW1lOiAgICBiYXNlX3R5cG9ncmFwaHlfZXhhbXBsZV9hbmNob3JcbnNlY3Rpb246IGJhc2VfdHlwb2dyYXBoeV9leGFtcGxlXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48YSBocmVmPVwiI1wiPnJlYWRtb3JlLi4uPC9hPlxuYGBgXG4qL1xuYSB7XG4gIGNvbG9yOiAkYmFzZS10eXBvZ3JhcGh5LWEtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtdHlwb2dyYXBoeS1hLXRleHQtZGVjb3JhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYmFzZS10eXBvZ3JhcGh5LWEtY29sb3ItdmlzaXRlZDtcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLXR5cG9ncmFwaHktYS10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gIH1cbn1cblxuXG5cbi8qLS0tXG50aXRsZTogICBXaGl0ZXNwYWNlXG5uYW1lOiAgICBiYXNlX3R5cG9ncmFwaHlfZXhhbXBsZV93aGl0ZXNwYWNlXG5zZWN0aW9uOiBiYXNlX3R5cG9ncmFwaHlfZXhhbXBsZVxuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGgxPkxvcmVtIElwc3VtIGRvbG9yPC9oMT5cbjxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteVxuZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtXG52b2x1cHR1YS48L3A+XG48dWw+XG4gIDxsaT5Mb3JlbSBJcHN1bSBkb2xvcjwvbGk+XG4gIDxsaT5Db25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHI8L2xpPlxuPC91bD5cbjxoMj5Mb3JlbSBJcHN1bTwvaDI+XG48cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXlcbmVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbVxudm9sdXB0dWEuPC9wPlxuPGgzPkxvcmVtIElwc3VtPC9oMz5cbjxwPkNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hXG5hbGlxdXlhbSBlcmF0IHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtXG52b2x1cHR1YS48L3A+XG5gYGBcbiovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5oMSArIGgyLFxuaDIgKyBoMyxcbmgzICsgaDQsXG5oNCArIGg1LFxuaDUgKyBoNixcbnAsXG51bCxcbm9sLFxuZGwsXG5wcmUsXG5mb3JtLFxudGFibGUsXG5maWd1cmUsXG5hZGRyZXNzLFxuZmllbGRzZXQsXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuJWJhc2UtdHlwb2dyYXBoeS13aGl0ZXNwYWNlIHtcbiAgQGluY2x1ZGUgYmFzZS10eXBvZ3JhcGh5LXdoaXRlc3BhY2UoKTtcbn1cblxucCxcbnVsLFxub2wsXG5kbCxcbmltZyxcbnByZSxcbmZvcm0sXG50YWJsZSxcbmZpZ3VyZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmJsb2NrcXVvdGUsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBAZXh0ZW5kICViYXNlLXR5cG9ncmFwaHktd2hpdGVzcGFjZTtcbn1cblxudWwsXG5vbCxcbmRsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbi8qKlxuICogTm8gbWFyZ2luIHRvcCBmb3IgbmVzdGVkIGxpc3RzLlxuICovXG5saSB7XG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBObyBtYXJnaW4gdG9wIGZvciBuZXN0ZWQgdGFibGVzLlxuICovXG50YWJsZSB7XG4gIHRhYmxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8qKlxuICogTm9ybWFsaXplIGRlZmF1bHQgZm9udCByZWxhdGVkIHRhZ3MuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogbWFwLWdldC1kZWVwKCRmb250cywgYSwgd2VpZ2h0cywgYm9sZCk7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemVzLCBzKTtcbn1cblxuLyoqXG4gKiBCZXR0ZXIgaW1nIGJlaGF2aW91ci5cbiAqL1xuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyogZW5kIGV4dHJhY3QgYmFzZV90eXBvZ3JhcGh5LmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgYmFzZS5jc3MgKi9cbiIsIi8vIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbi8vIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVtb3ZlIGRlZmF1bHQgZmllbGRzZXQgc3R5bGVzLlxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbnN0cm9uZywgYiB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59IiwiaHRtbCB7XG4gIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0LWRlZXAoJGZvbnRzLCBhLCB3ZWlnaHRzLCBub3JtYWwpO1xufVxuIiwiLyotLS1cbnRpdGxlOiAgIEdyaWRcbm5hbWU6ICAgIG9iamVjdF9ncmlkXG5zZWN0aW9uOiBPYmplY3Rcbi0tLVxuXG5GbHVpZCB3aWR0aCwgcmVzcG9uc2l2ZSBncmlkIHN5c3RlbS5cblxuKipUSVA6KiogTW9zdCBsaWtlbHkgeW91IHdhbnQgdG8gdXNlIHRoaXMgcGFja2FnZSBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZVxuW3dpZHRoIHV0aWxpdHkgcGFja2FnZV0oaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvYXZhbGFuY2hlc2Fzc191dGlsaXR5X3dpZHRoKS5cbiovXG4iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkL3N0eWxlX2d1aWRlJztcblxuJG8tZ3JpZC1uYW1lc3BhY2U6ICcje21hcC1nZXQoJG5hbWVzcGFjZSwgb2JqZWN0KX1ncmlkJyAhZGVmYXVsdDtcblxuLy8gRmxleGJveCBncmlkIHN5c3RlbS5cbiRvLWdyaWQtZmxleDogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRvLWdyaWQtZmxleC1mYWxsYmFjazogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFZlcnRpY2FsIHNwYWNpbmcgc2l6ZXMuXG4kby1ncmlkLXNwYWNlZC12ZXJ0aWNhbC1kZWZhdWx0LXNpemU6IG0gIWRlZmF1bHQ7XG4kby1ncmlkLXNwYWNlZC12ZXJ0aWNhbC1zaXplczogKCkgIWRlZmF1bHQ7XG4vLyBWZXJ0aWNhbCBzcGFjaW5nIHNpemVzIGF0IGRlZmluZWQgYnJlYWtwb2ludHMuXG4vLyBUaGUga2V5IG9mIHRoZSBhc3NvY2lhdGl2ZSBtYXAgZGVmaW5lcyB0aGUgc3BhY2luZyBzaXplLCB0aGUgdmFsdWUgaXMgYSBtYXBcbi8vIHdpdGggYnJlYWtwb2ludCBzaXplcyBmb3Igd2hpY2ggdmVydGljYWwgc3BhY2luZyBjbGFzc2VzIHNob3VsZCBiZSBnZW5lcmF0ZWQuXG4kby1ncmlkLXNwYWNlZC12ZXJ0aWNhbC1zaXplcy13aXRoLWJyZWFrcG9pbnRzOiAoXG4gIG06ICgpLFxuKSAhZGVmYXVsdDtcbi8vIFZlcnRpY2FsIGNvbGxhcHNlZCBncmlkLlxuJG8tZ3JpZC1jb2xsYXBzZWQtdmVydGljYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBIb3Jpem9udGFsIHNwYWNpbmcgc2l6ZXMuXG4kby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLWRlZmF1bHQtc2l6ZTogbSAhZGVmYXVsdDtcbiRvLWdyaWQtc3BhY2VkLWhvcml6b250YWwtc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gSG9yaXpvbnRhbCBzcGFjaW5nIHNpemVzIGF0IGRlZmluZWQgYnJlYWtwb2ludHMuXG4vLyBUaGUga2V5IG9mIHRoZSBhc3NvY2lhdGl2ZSBtYXAgZGVmaW5lcyB0aGUgc3BhY2luZyBzaXplLCB0aGUgdmFsdWUgaXMgYSBtYXBcbi8vIHdpdGggYnJlYWtwb2ludCBzaXplcyBmb3Igd2hpY2ggaG9yaXpvbnRhbCBzcGFjaW5nIGNsYXNzZXMgc2hvdWxkIGJlXG4vLyBnZW5lcmF0ZWQuXG4kby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLXNpemVzLXdpdGgtYnJlYWtwb2ludHM6IChcbiAgbTogKCksXG4pICFkZWZhdWx0O1xuLy8gSG9yaXpvbnRhbCBjb2xsYXBzZWQgZ3JpZC5cbiRvLWdyaWQtY29sbGFwc2VkLWhvcml6b250YWw6IGZhbHNlICFkZWZhdWx0O1xuLyotLS1cbnRpdGxlOiAgIFZhcmlhYmxlXG5uYW1lOiAgICBvYmplY3RfZ3JpZF92YXJpYWJsZVxuc2VjdGlvbjogb2JqZWN0X2dyaWRcbm9yZGVyOiAgIDNcbi0tLVxuXG5gYGBjc3NcbiRvLWdyaWQtbmFtZXNwYWNlOiAnI3skby1ncmlkLW5hbWVzcGFjZX0nO1xuJG8tZ3JpZC1mbGV4OiAjeyRvLWdyaWQtZmxleH07XG4kby1ncmlkLWZsZXgtZmFsbGJhY2s6ICN7JG8tZ3JpZC1mbGV4LWZhbGxiYWNrfTtcbiRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLWRlZmF1bHQtc2l6ZTogI3skby1ncmlkLXNwYWNlZC12ZXJ0aWNhbC1kZWZhdWx0LXNpemV9O1xuJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtc2l6ZXM6ICgjeyRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLXNpemVzfSk7XG4kby1ncmlkLXNwYWNlZC12ZXJ0aWNhbC1zaXplcy13aXRoLWJyZWFrcG9pbnRzOiAobmVzdGVkLW1hcCk7XG4kby1ncmlkLWNvbGxhcHNlZC12ZXJ0aWNhbDogI3skby1ncmlkLWNvbGxhcHNlZC12ZXJ0aWNhbH07XG4kby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLXNpemVzOiAoI3skby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLXNpemVzfSk7XG4kby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLXNpemVzLXdpdGgtYnJlYWtwb2ludHM6IChuZXN0ZWQtbWFwKTtcbiRvLWdyaWQtY29sbGFwc2VkLWhvcml6b250YWw6ICN7JG8tZ3JpZC1jb2xsYXBzZWQtaG9yaXpvbnRhbH07XG5gYGBcbiovXG4iLCIvKi0tLVxudGl0bGU6ICAgQ2xlYXJmaXhcbm5hbWU6ICAgIHV0aWxpdHlfY2xlYXJmaXhcbnNlY3Rpb246IFV0aWxpdHlcbi0tLVxuXG5Db250YWluIGZsb2F0cy5cbiovXG4iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX3V0aWxpdHlfY2xlYXJmaXgvc3R5bGVfZ3VpZGUnO1xuXG4vKi0tLVxudGl0bGU6ICAgTWl4aW5cbm5hbWU6ICAgIHV0aWxpdHlfY2xlYXJmaXhfbWl4aW5cbnNlY3Rpb246IHV0aWxpdHlfY2xlYXJmaXhcbm9yZGVyOiAgIDJcbi0tLVxuXG5gYGBjc3NcbnUtY2xlYXJmaXgoKVxuYGBgXG4qL1xuQG1peGluIHUtY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnICc7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3Nfb2JqZWN0X2dyaWQvc3R5bGVfZ3VpZGUnO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc191dGlsaXR5X2NsZWFyZml4L21peGluJztcblxuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICBvYmplY3RfZ3JpZF9taXhpblxuc2VjdGlvbjogb2JqZWN0X2dyaWRcbm9yZGVyOiAgIDJcbi0tLVxuXG5gYGBjc3Ncbi8vIEJhc2ljIGdyaWQuXG5vLWdyaWQoWyQtZmxleDogdHJ1ZVssICQtZmxleC1mYWxsYmFjazogZmFsc2VdXSlcblxuLy8gVmVydGljYWwgc3BhY2luZyBiZXR3ZWVuIGdyaWQgaXRlbXMuXG5vLWdyaWQtc3BhY2VkLXZlcnRpY2FsKFskLXNwYWNpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIG0pWywgJC1pdGVtLXNlbGVjdG9yOiAnLm8tZ3JpZF9faXRlbSddXSlcblxuLy8gSG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gZ3JpZCBpdGVtcy5cbm8tZ3JpZC1zcGFjZWQtaG9yaXpvbnRhbChbJC1zcGFjaW5nOiBtYXAtZ2V0KCRzcGFjaW5nLCBtKVssICQtaXRlbS1zZWxlY3RvcjogJy5vLWdyaWRfX2l0ZW0nXV0pXG5cbi8vIEJhc2ljIGdyaWQgaXRlbS5cbm8tZ3JpZC1pdGVtKFskLWZsZXg6IHRydWVbLCAkLWZsZXgtZmFsbGJhY2s6IGZhbHNlXV0pXG5gYGBcbiovXG5AbWl4aW4gby1ncmlkKCQtZmxleDogdHJ1ZSwgJC1mbGV4LWZhbGxiYWNrOiBmYWxzZSkge1xuICBAaWYgJC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICBAaWYgbm90ICQtZmxleCBvciAkLWZsZXgtZmFsbGJhY2sge1xuICAgIEBpbmNsdWRlIHUtY2xlYXJmaXgoKTtcbiAgfVxufVxuXG5AbWl4aW4gby1ncmlkLXNwYWNlZC12ZXJ0aWNhbCgkLXNwYWNpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIG0pLCAkLWl0ZW0tc2VsZWN0b3I6ICcuby1ncmlkX19pdGVtJykge1xuICBtYXJnaW4tdG9wOiAtJC1zcGFjaW5nO1xuICA+ICN7JC1pdGVtLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLXRvcDogJC1zcGFjaW5nO1xuICB9XG59XG5cbkBtaXhpbiBvLWdyaWQtc3BhY2VkLWhvcml6b250YWwoJC1zcGFjaW5nOiBtYXAtZ2V0KCRzcGFjaW5nLCBtKSwgJC1pdGVtLXNlbGVjdG9yOiAnLm8tZ3JpZF9faXRlbScpIHtcbiAgbWFyZ2luLWxlZnQ6IC0kLXNwYWNpbmc7XG4gID4gI3skLWl0ZW0tc2VsZWN0b3J9IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICQtc3BhY2luZztcbiAgfVxufVxuXG5AbWl4aW4gby1ncmlkLWl0ZW0oJC1mbGV4OiB0cnVlLCAkLWZsZXgtZmFsbGJhY2s6IGZhbHNlKSB7XG4gICRiYXNlLWJveC1zaXppbmctcmVzZXQ6IGZhbHNlICFkZWZhdWx0O1xuICBAaWYgbm90ICRiYXNlLWJveC1zaXppbmctcmVzZXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgQGlmIG5vdCAkLWZsZXggb3IgJC1mbGV4LWZhbGxiYWNrIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19vYmplY3RfZ3JpZC9zdHlsZV9ndWlkZSc7XG5AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkL3ZhcmlhYmxlJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3Nfb2JqZWN0X2dyaWQvbWl4aW4nO1xuXG4vKiBleHRyYWN0IG9iamVjdC5jc3MgKi9cbi8qIGV4dHJhY3Qgb2JqZWN0X2dyaWQuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgb2JqZWN0X2dyaWRfZXhhbXBsZVxuc2VjdGlvbjogb2JqZWN0X2dyaWRcbm9yZGVyOiAgIDFcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBEZWZhdWx0XG5uYW1lOiAgICBvYmplY3RfZ3JpZF9leGFtcGxlX2RlZmF1bHRcbnNlY3Rpb246IG9iamVjdF9ncmlkX2V4YW1wbGVcbi0tLVxuXG5EZWZhdWx0IHJlc3BvbnNpdmUgZ3JpZCB3aXRoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsIHNwYWNpbmcgYmV0d2VlbiBpdGVtcy5cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1cIj5cbiAgPGRpdiBjbGFzcz1cIiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtXCIgc3R5bGU9XCJ3aWR0aDogNTAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogNTAlPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiA1MCU7XCI+XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IGdyZXk7IHBhZGRpbmc6IDAuNWVtO1wiPndpZHRoOiA1MCU8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCIjeyRvLWdyaWQtbmFtZXNwYWNlfV9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDUwJTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtXCIgc3R5bGU9XCJ3aWR0aDogNTAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogNTAlPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4uI3skby1ncmlkLW5hbWVzcGFjZX0ge1xuICBAaW5jbHVkZSBvLWdyaWQoJG8tZ3JpZC1mbGV4LCAkby1ncmlkLWZsZXgtZmFsbGJhY2spO1xuICBAaWYgJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtZGVmYXVsdC1zaXplIHtcbiAgICBAaW5jbHVkZSBvLWdyaWQtc3BhY2VkLXZlcnRpY2FsKG1hcC1nZXQoJHNwYWNpbmcsICRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLWRlZmF1bHQtc2l6ZSksICcuI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW0nKTtcbiAgfVxuICBAaWYgJG8tZ3JpZC1zcGFjZWQtaG9yaXpvbnRhbC1kZWZhdWx0LXNpemUge1xuICAgIEBpbmNsdWRlIG8tZ3JpZC1zcGFjZWQtaG9yaXpvbnRhbChtYXAtZ2V0KCRzcGFjaW5nLCAkby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLWRlZmF1bHQtc2l6ZSksICcuI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW0nKTtcbiAgfVxufVxuXG4uI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW0ge1xuICBAaW5jbHVkZSBvLWdyaWQtaXRlbSgkby1ncmlkLWZsZXgsICRvLWdyaWQtZmxleC1mYWxsYmFjayk7XG59XG5cblxuXG5AaWYgbGVuZ3RoKCRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLXNpemVzKSA+PSAxIG9yIGxlbmd0aCgkby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLXNpemVzKSA+PSAxIHtcbiAgLyotLS1cbiAgdGl0bGU6ICAgU3BhY2luZ1xuICBuYW1lOiAgICBvYmplY3RfZ3JpZF9leGFtcGxlX3NwYWNpbmdcbiAgc2VjdGlvbjogb2JqZWN0X2dyaWRfZXhhbXBsZVxuICAtLS1cbiAgKi9cbn1cbkBpZiBsZW5ndGgoJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtc2l6ZXMpID49IDEge1xuICAvKi0tLVxuICB0aXRsZTogICBWZXJ0aWNhbFxuICBuYW1lOiAgICBvYmplY3RfZ3JpZF9leGFtcGxlX3NwYWNpbmdfdmVydGljYWxcbiAgc2VjdGlvbjogb2JqZWN0X2dyaWRfZXhhbXBsZV9zcGFjaW5nXG4gIC0tLVxuXG4gIFZlcnRpY2FsIHNwYWNpbmcgYmV0d2VlbiBncmlkIGl0ZW1zLlxuICAqL1xuICBAZWFjaCAkLXNpemUgaW4gJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtc2l6ZXMge1xuICAgICQtYmxvY2stY2xhc3M6ICcjeyRvLWdyaWQtbmFtZXNwYWNlfSAnO1xuICAgICQtY2xhc3MtbmFtZTogJyN7JG8tZ3JpZC1uYW1lc3BhY2V9LS12ZXJ0aWNhbCc7XG4gICAgJC1zaXplLWV4dDogJy0jeyQtc2l6ZX0nO1xuICAgICQtc2VsZWN0b3I6ICcuI3skLWNsYXNzLW5hbWV9JztcbiAgICBAaWYgJC1zaXplID09ICRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLWRlZmF1bHQtc2l6ZSB7XG4gICAgICBAd2FybiAnRGVmaW5pbmcgdGhlIHNhbWUgc2l6ZSBpbiAkby1ncmlkLXNwYWNlZC12ZXJ0aWNhbC1zaXplcyBhcyBzZXQgZm9yICRvLWdyaWQtc3BhY2VkLXZlcnRpY2FsLWRlZmF1bHQtc2l6ZSBpcyByZWR1bmRhbnQsIHJlbW92ZSBcIiN7JC1zaXplfVwiIGZyb20gJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtc2l6ZXMnO1xuICAgIH1cbiAgICAvKi0tLVxuICAgIHRpdGxlOiAgIFNpemU6ICN7JC1zaXplfVxuICAgIG5hbWU6ICAgIG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ192ZXJ0aWNhbF9zaXplXyN7JC1zaXplfVxuICAgIHNlY3Rpb246IG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ192ZXJ0aWNhbFxuICAgIC0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCIjeyQtYmxvY2stY2xhc3N9I3skLWNsYXNzLW5hbWV9I3skLXNpemUtZXh0fVwiPlxuICA8ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogMTAwJTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDEwMCU8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuICAgICovXG4gICAgI3skLXNlbGVjdG9yfSN7JC1zaXplLWV4dH0ge1xuICAgICAgQGluY2x1ZGUgby1ncmlkLXNwYWNlZC12ZXJ0aWNhbChtYXAtZ2V0KCRzcGFjaW5nLCAkLXNpemUpLCAnLiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtJyk7XG4gICAgfVxuICB9XG4gIEBlYWNoICQtc2l6ZS1hbmQtYnJlYWtwb2ludHMgaW4gJG8tZ3JpZC1zcGFjZWQtdmVydGljYWwtc2l6ZXMtd2l0aC1icmVha3BvaW50cyB7XG4gICAgJC1ibG9jay1jbGFzczogJyN7JG8tZ3JpZC1uYW1lc3BhY2V9ICc7XG4gICAgJC1jbGFzcy1uYW1lOiAnI3skby1ncmlkLW5hbWVzcGFjZX0tLXZlcnRpY2FsJztcbiAgICAkLXNpemU6IG50aCgkLXNpemUtYW5kLWJyZWFrcG9pbnRzLCAxKTtcbiAgICAkLWJyZWFrcG9pbnRzOiBudGgoJC1zaXplLWFuZC1icmVha3BvaW50cywgMik7XG5cbiAgICBAZWFjaCAkLWJyZWFrcG9pbnQgaW4gJC1icmVha3BvaW50cyB7XG4gICAgICAkLXNpemUtZXh0OiAnLSN7JC1zaXplfSc7XG4gICAgICAvKi0tLVxuICAgICAgdGl0bGU6ICAgU2l6ZTogI3skLXNpemV9QCN7JC1icmVha3BvaW50fVxuICAgICAgbmFtZTogICAgb2JqZWN0X2dyaWRfZXhhbXBsZV9zcGFjaW5nX3ZlcnRpY2FsX3NpemVfI3skLXNpemV9X2F0XyN7JC1icmVha3BvaW50fVxuICAgICAgc2VjdGlvbjogb2JqZWN0X2dyaWRfZXhhbXBsZV9zcGFjaW5nX3ZlcnRpY2FsXG4gICAgICAtLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiI3skLWJsb2NrLWNsYXNzfSN7JC1jbGFzcy1uYW1lfSN7JC1zaXplLWV4dH1AI3skLWJyZWFrcG9pbnR9XCI+XG4gIDxkaXYgY2xhc3M9XCIjeyRvLWdyaWQtbmFtZXNwYWNlfV9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IGdyZXk7IHBhZGRpbmc6IDAuNWVtO1wiPndpZHRoOiAxMDAlPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogMTAwJTwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4gICAgICAqL1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkLWJyZWFrcG9pbnQpKSB7XG4gICAgICAgICN7JC1zZWxlY3Rvcn0jeyQtc2l6ZS1leHR9XFxAI3skLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvLWdyaWQtc3BhY2VkLXZlcnRpY2FsKG1hcC1nZXQoJHNwYWNpbmcsICQtc2l6ZSksICcuI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW0nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgbGVuZ3RoKCRvLWdyaWQtc3BhY2VkLWhvcml6b250YWwtc2l6ZXMpID49IDEge1xuICAvKi0tLVxuICB0aXRsZTogICBIb3Jpem9udGFsXG4gIG5hbWU6ICAgIG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ19ob3Jpem9udGFsXG4gIHNlY3Rpb246IG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ1xuICAtLS1cblxuICBIb3Jpem9udGFsIHNwYWNpbmcgYmV0d2VlbiBncmlkIGl0ZW1zLlxuICAqL1xuICBAZWFjaCAkLXNpemUgaW4gJG8tZ3JpZC1zcGFjZWQtaG9yaXpvbnRhbC1zaXplcyB7XG4gICAgJC1ibG9jay1jbGFzczogJyN7JG8tZ3JpZC1uYW1lc3BhY2V9ICc7XG4gICAgJC1jbGFzcy1uYW1lOiAnI3skby1ncmlkLW5hbWVzcGFjZX0tLWhvcml6b250YWwnO1xuICAgICQtc2l6ZS1leHQ6ICctI3skLXNpemV9JztcbiAgICAkLXNlbGVjdG9yOiAnLiN7JC1jbGFzcy1uYW1lfSc7XG4gICAgQGlmICQtc2l6ZSA9PSAkby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLWRlZmF1bHQtc2l6ZSB7XG4gICAgICBAd2FybiAnRGVmaW5pbmcgdGhlIHNhbWUgc2l6ZSBpbiAkby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLXNpemVzIGFzIHNldCBmb3IgJG8tZ3JpZC1zcGFjZWQtaG9yaXpvbnRhbC1kZWZhdWx0LXNpemUgaXMgcmVkdW5kYW50LCByZW1vdmUgXCIjeyQtc2l6ZX1cIiBmcm9tICRvLWdyaWQtc3BhY2VkLWhvcml6b250YWwtc2l6ZXMnO1xuICAgIH1cbiAgICAvKi0tLVxuICAgIHRpdGxlOiAgIFNpemU6ICN7JC1zaXplfVxuICAgIG5hbWU6ICAgIG9iamVjdF9ncmlkX2V4YW1wbGVfc3BhY2luZ19ob3Jpem9udGFsX3NpemVfI3skLXNpemV9XG4gICAgc2VjdGlvbjogb2JqZWN0X2dyaWRfZXhhbXBsZV9zcGFjaW5nX2hvcml6b250YWxcbiAgICAtLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiI3skLWJsb2NrLWNsYXNzfSN7JC1jbGFzcy1uYW1lfSN7JC1zaXplLWV4dH1cIj5cbiAgPGRpdiBjbGFzcz1cIiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtXCIgc3R5bGU9XCJ3aWR0aDogNTAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogNTAlPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiA1MCU7XCI+XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IGdyZXk7IHBhZGRpbmc6IDAuNWVtO1wiPndpZHRoOiA1MCU8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuICAgICovXG4gICAgI3skLXNlbGVjdG9yfSN7JC1zaXplLWV4dH0ge1xuICAgICAgQGluY2x1ZGUgby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsKG1hcC1nZXQoJHNwYWNpbmcsICQtc2l6ZSksICcuI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW0nKTtcbiAgICB9XG4gIH1cbiAgQGVhY2ggJC1zaXplLWFuZC1icmVha3BvaW50cyBpbiAkby1ncmlkLXNwYWNlZC1ob3Jpem9udGFsLXNpemVzLXdpdGgtYnJlYWtwb2ludHMge1xuICAgICQtYmxvY2stY2xhc3M6ICcjeyRvLWdyaWQtbmFtZXNwYWNlfSAnO1xuICAgICQtY2xhc3MtbmFtZTogJyN7JG8tZ3JpZC1uYW1lc3BhY2V9LS1ob3Jpem9udGFsJztcbiAgICAkLXNpemU6IG50aCgkLXNpemUtYW5kLWJyZWFrcG9pbnRzLCAxKTtcbiAgICAkLWJyZWFrcG9pbnRzOiBudGgoJC1zaXplLWFuZC1icmVha3BvaW50cywgMik7XG5cbiAgICBAZWFjaCAkLWJyZWFrcG9pbnQgaW4gJC1icmVha3BvaW50cyB7XG4gICAgICAkLXNpemUtZXh0OiAnLSN7JC1zaXplfSc7XG4gICAgICAvKi0tLVxuICAgICAgdGl0bGU6ICAgU2l6ZTogI3skLXNpemV9QCN7JC1icmVha3BvaW50fVxuICAgICAgbmFtZTogICAgb2JqZWN0X2dyaWRfZXhhbXBsZV9zcGFjaW5nX2hvcml6b250YWxfc2l6ZV8jeyQtc2l6ZX1fYXRfI3skLWJyZWFrcG9pbnR9XG4gICAgICBzZWN0aW9uOiBvYmplY3RfZ3JpZF9leGFtcGxlX3NwYWNpbmdfaG9yaXpvbnRhbFxuICAgICAgLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cIiN7JC1ibG9jay1jbGFzc30jeyQtY2xhc3MtbmFtZX0jeyQtc2l6ZS1leHR9QCN7JC1icmVha3BvaW50fVwiPlxuICA8ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiA1MCU7XCI+XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IGdyZXk7IHBhZGRpbmc6IDAuNWVtO1wiPndpZHRoOiA1MCU8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCIjeyRvLWdyaWQtbmFtZXNwYWNlfV9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDUwJTwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4gICAgICAqL1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkLWJyZWFrcG9pbnQpKSB7XG4gICAgICAgICN7JC1zZWxlY3Rvcn0jeyQtc2l6ZS1leHR9XFxAI3skLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvLWdyaWQtc3BhY2VkLWhvcml6b250YWwobWFwLWdldCgkc3BhY2luZywgJC1zaXplKSwgJy4jeyRvLWdyaWQtbmFtZXNwYWNlfV9faXRlbScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG5AaWYgJG8tZ3JpZC1jb2xsYXBzZWQtdmVydGljYWwge1xuICAvKi0tLVxuICB0aXRsZTogICBWZXJ0aWNhbCBjb2xsYXBzZWRcbiAgbmFtZTogICAgb2JqZWN0X2dyaWRfZXhhbXBsZV9jb2xsYXBzZWRfdmVydGljYWxcbiAgc2VjdGlvbjogb2JqZWN0X2dyaWRfZXhhbXBsZVxuICAtLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX0gI3skby1ncmlkLW5hbWVzcGFjZX0tLXZlcnRpY2FsLWNvbGxhcHNlZFwiPlxuICA8ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiBncmV5OyBwYWRkaW5nOiAwLjVlbTtcIj53aWR0aDogMTAwJTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDEwMCU8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuICAqL1xuICAuI3skby1ncmlkLW5hbWVzcGFjZX0tLXZlcnRpY2FsLWNvbGxhcHNlZCB7XG4gICAgQGluY2x1ZGUgby1ncmlkLXNwYWNlZC12ZXJ0aWNhbCgwLCAnLiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtJyk7XG4gIH1cbn1cblxuQGlmICRvLWdyaWQtY29sbGFwc2VkLWhvcml6b250YWwge1xuICAvKi0tLVxuICB0aXRsZTogICBIb3Jpem9udGFsIGNvbGxhcHNlZFxuICBuYW1lOiAgICBvYmplY3RfZ3JpZF9leGFtcGxlX2NvbGxhcHNlZF9ob3Jpem9udGFsXG4gIHNlY3Rpb246IG9iamVjdF9ncmlkX2V4YW1wbGVcbiAgLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cIiN7JG8tZ3JpZC1uYW1lc3BhY2V9ICN7JG8tZ3JpZC1uYW1lc3BhY2V9LS1ob3Jpem9udGFsLWNvbGxhcHNlZFwiPlxuICA8ZGl2IGNsYXNzPVwiI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW1cIiBzdHlsZT1cIndpZHRoOiA1MCU7XCI+XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IGdyZXk7IHBhZGRpbmc6IDAuNWVtO1wiPndpZHRoOiA1MCU8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCIjeyRvLWdyaWQtbmFtZXNwYWNlfV9faXRlbVwiIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogZ3JleTsgcGFkZGluZzogMC41ZW07XCI+d2lkdGg6IDUwJTwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4gICovXG4gIC4jeyRvLWdyaWQtbmFtZXNwYWNlfS0taG9yaXpvbnRhbC1jb2xsYXBzZWQge1xuICAgIEBpbmNsdWRlIG8tZ3JpZC1zcGFjZWQtaG9yaXpvbnRhbCgwLCAnLiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtJyk7XG4gIH1cbn1cbi8qIGVuZCBleHRyYWN0IG9iamVjdF9ncmlkLmNzcyAqL1xuLyogZW5kIGV4dHJhY3Qgb2JqZWN0LmNzcyAqL1xuIiwiLm8tY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNzBlbTsgXG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJHNwYWNpbmcsIG0pO1xuICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJHNwYWNpbmcsIG0pO1xufVxuXG4uby1jb250YWluZXItLXdpZGUge1xuICBtYXgtd2lkdGg6IDg1ZW07XG4gIHBhZGRpbmc6IDA7XG59XG4iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkL3ZhcmlhYmxlJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3Nfb2JqZWN0X2dyaWQvbWl4aW4nO1xuXG4vLyAuby1ncmlkIHtcbi8vICAgQGluY2x1ZGUgby1ncmlkLXNwYWNlZC12ZXJ0aWNhbCgwLCAnLiN7JG8tZ3JpZC1uYW1lc3BhY2V9X19pdGVtJyk7XG4vLyB9XG5cbi8vIC5vLWdyaWQtLXNwYWNlZC12ZXJ0aWNhbCB7XG4vLyAgIEBpbmNsdWRlIG8tZ3JpZC1zcGFjZWQtdmVydGljYWwobWFwLWdldCgkc3BhY2luZywgbSksICcuI3skby1ncmlkLW5hbWVzcGFjZX1fX2l0ZW0nKTtcbi8vIH1cblxuLm8tZ3JpZC0tYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSkge1xuXHQuby1ncmlkX19pdGVtLnUtd2lkdGgtM1xcQGwge3dpZHRoOiAyNSUgIWltcG9ydGFudH1cblx0fVxuICIsIi8qIGV4dHJhY3Qgb2JqZWN0LmNzcyAqL1xuLyogZXh0cmFjdCBvYmplY3RfaW1hZ2VfYmFja2dyb3VuZC5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBJbWFnZSBiYWNrZ3JvdW5kXG5uYW1lOiAgICBvYmplY3RfaW1hZ2VfYmFja2dyb3VuZFxuc2VjdGlvbjogT2JqZWN0XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgb2JqZWN0X2ltYWdlX2JhY2tncm91bmRfZXhhbXBsZVxuc2VjdGlvbjogb2JqZWN0X2ltYWdlX2JhY2tncm91bmRcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRcIj5cbiAgPGltZyBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2VcIiBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0Lzg1MHgzMDBcIiBhbHQ9XCJcIj5cbiAgPGRpdiBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICA8IS0tIHlvdXIgY29udGVudCAtLT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbi5vLWltYWdlLWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vLWltYWdlLWJhY2tncm91bmRfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMS41ZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHRhYmxldF93aWRlKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfSAgXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHRhYmxldF93aWRlKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5vLWltYWdlLWJhY2tncm91bmRfX2lubmVyIHtcbiAgZmxleC1ncm93OiAxO1xufVxuLyogZW5kIGV4dHJhY3Qgb2JqZWN0X2ltYWdlX2JhY2tncm91bmQuY3NzICovXG4vKiBlbmQgZXh0cmFjdCBvYmplY3QuY3NzICovXG4iLCJAbWl4aW4gYnJlYWtwb2ludCgkcG9pbnQpIHtcbiAgIEBpZiAkcG9pbnQgPT0gb25seV9tb2JpbGUge1xuICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIHMpKSB7IEBjb250ZW50IDsgfVxuICB9XG4gICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0IHtcbiAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBzKSkgeyBAY29udGVudCA7IH1cbiAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRfd2lkZSB7XG4gICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbSkpIHsgQGNvbnRlbnQgOyB9XG4gIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbCkpIHsgQGNvbnRlbnQgOyB9XG4gIH1cbiAgIEBlbHNlIGlmICRwb2ludCA9PSBkZXNrdG9wX3dpZGUge1xuICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIHhsKSkgIHsgQGNvbnRlbnQgOyB9XG4gIH1cbn1cbiIsIi8qLS0tXG50aXRsZTogICBoTlxubmFtZTogICAgY29tcG9uZW50X2huXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi8iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9obi9zdHlsZV9ndWlkZSc7XG5cbiRjLWhuLW5hbWVzcGFjZTogJyN7bWFwLWdldCgkbmFtZXNwYWNlLCBjb21wb25lbnQpfWgnICFkZWZhdWx0O1xuXG4kYy1obi1uOiAoXG4gIDE6IChcbiAgICBmb250LXdlaWdodDogYm9sZCxcbiAgICBmb250LXNpemU6IHh4eGwsXG4gICAgZm9udC1mYW1pbHk6IGEsXG4gICAgbGluZS1oZWlnaHQ6IDEuMjUsXG4gICksXG4gIDI6IChcbiAgICBmb250LXdlaWdodDogYm9sZCxcbiAgICBmb250LXNpemU6IHh4bCxcbiAgICBmb250LWZhbWlseTogYSxcbiAgICBsaW5lLWhlaWdodDogMS4yNSxcbiAgKSxcbiAgMzogKFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkLFxuICAgIGZvbnQtc2l6ZTogeGwsXG4gICAgZm9udC1mYW1pbHk6IGEsXG4gICAgbGluZS1oZWlnaHQ6IDEuMjUsXG4gICksXG4gIDQ6IChcbiAgICBmb250LXdlaWdodDogYm9sZCxcbiAgICBmb250LXNpemU6IGwsXG4gICAgZm9udC1mYW1pbHk6IGEsXG4gICAgbGluZS1oZWlnaHQ6IDEuMjUsXG4gICksXG4gIDU6IChcbiAgICBmb250LXdlaWdodDogYm9sZCxcbiAgICBmb250LXNpemU6IG0sXG4gICAgZm9udC1mYW1pbHk6IGEsXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQsXG4gICksXG4gIDY6IChcbiAgICBmb250LXdlaWdodDogbm9ybWFsLFxuICAgIGZvbnQtc2l6ZTogbSxcbiAgICBmb250LWZhbWlseTogYSxcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdCxcbiAgKSxcbikgIWRlZmF1bHQ7XG4vKi0tLVxudGl0bGU6ICAgVmFyaWFibGVcbm5hbWU6ICAgIGNvbXBvbmVudF9obl92YXJpYWJsZVxuc2VjdGlvbjogY29tcG9uZW50X2huXG5vcmRlcjogICAzXG4tLS1cblxuYGBgY3NzXG4kYy1obi1uYW1lc3BhY2U6ICcjeyRjLWhuLW5hbWVzcGFjZX0nO1xuJGMtaG4tbjogKG5lc3RlZC1tYXApO1xuYGBgXG4qLyIsIkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfZnVuY3Rpb25fbWFwX2dldF9kZWVwJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfY29tcG9uZW50X2huL3N0eWxlX2d1aWRlJztcblxuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICBjb21wb25lbnRfaG5fbWl4aW5cbnNlY3Rpb246IGNvbXBvbmVudF9oblxub3JkZXI6ICAgMlxuLS0tXG5cbmBgYGNzc1xuYy1oKCQtbjogMSlcbmBgYFxuKi9cbkBtaXhpbiBjLWgoJC1uOiAxKSB7XG4gICQtZm9udC13ZWlnaHQ6IG1hcC1nZXQtZGVlcCgkYy1obi1uLCAkLW4sIGZvbnQtd2VpZ2h0KTtcbiAgJC1mb250LXNpemU6IG1hcC1nZXQtZGVlcCgkYy1obi1uLCAkLW4sIGZvbnQtc2l6ZSk7XG4gICQtZm9udC1mYW1pbHk6IG1hcC1nZXQtZGVlcCgkYy1obi1uLCAkLW4sIGZvbnQtZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IG1hcC1nZXQtZGVlcCgkZm9udHMsICQtZm9udC1mYW1pbHksIHdlaWdodHMsICQtZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsICQtZm9udC1zaXplKTtcbiAgZm9udC1mYW1pbHk6IHVucXVvdGUobWFwLWdldC1kZWVwKCRmb250cywgJC1mb250LWZhbWlseSwgZmFtaWx5KSk7XG4gIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0LWRlZXAoJGMtaG4tbiwgJC1uLCBsaW5lLWhlaWdodCk7XG59XG4iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9obi9zdHlsZV9ndWlkZSc7XG5AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9obi92YXJpYWJsZSc7XG5AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9obi9taXhpbic7XG5cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfaG4uY3NzICovXG5AaWYgbGVuZ3RoKCRjLWhuLW4pID49IDEge1xuICAvKi0tLVxuICB0aXRsZTogICBFeGFtcGxlXG4gIG5hbWU6ICAgIGNvbXBvbmVudF9obl9leGFtcGxlXG4gIHNlY3Rpb246IGNvbXBvbmVudF9oblxuICAtLS1cblxuICBIZWFkbGluZSBjbGFzc2VzLlxuXG5gYGBleGFtcGxlOmh0bWxcbjxoMSBjbGFzcz1cImMtaDFcIj5IZWFkbGluZSAxPC9oMT5cbjxoMiBjbGFzcz1cImMtaDJcIj5IZWFkbGluZSAyPC9oMj5cbjxoMyBjbGFzcz1cImMtaDNcIj5IZWFkbGluZSAzPC9oMz5cbjxoNCBjbGFzcz1cImMtaDRcIj5IZWFkbGluZSA0PC9oND5cbjxoNSBjbGFzcz1cImMtaDVcIj5IZWFkbGluZSA1PC9oNT5cbjxoNiBjbGFzcz1cImMtaDZcIj5IZWFkbGluZSA2PC9oNj5cbmBgYFxuICAqL1xuICBAZWFjaCAkLW4tZGF0YSBpbiAkYy1obi1uIHtcbiAgICAkLW46IG50aCgkLW4tZGF0YSwgMSk7XG4gICAgLiN7JGMtaG4tbmFtZXNwYWNlfSN7JC1ufSB7XG4gICAgICBAaW5jbHVkZSBjLWgoJC1uKTtcbiAgICB9XG4gIH1cbn1cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9obi5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbiIsIiRjLWhuLW46IChcbiAgMTogKFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkLFxuICAgIGZvbnQtc2l6ZTogeGwsXG4gICAgZm9udC1mYW1pbHk6IGIsXG4gICAgbGluZS1oZWlnaHQ6IDEuMjUsXG4gICksXG4gIDI6IChcbiAgICBmb250LXdlaWdodDogYm9sZCxcbiAgICBmb250LXNpemU6IGwsXG4gICAgZm9udC1mYW1pbHk6IGIsXG4gICAgbGluZS1oZWlnaHQ6IDEuMjUsXG4gICksXG4gIDM6IChcbiAgICBmb250LXdlaWdodDogbm9ybWFsLFxuICAgIGZvbnQtc2l6ZTogbCxcbiAgICBmb250LWZhbWlseTogYixcbiAgICBsaW5lLWhlaWdodDogMS4yNSxcbiAgKSxcbiAgNDogKFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkLFxuICAgIGZvbnQtc2l6ZTogbSxcbiAgICBmb250LWZhbWlseTogYixcbiAgICBsaW5lLWhlaWdodDogMS4yNSxcbiAgKSxcbiAgNTogKFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkLFxuICAgIGZvbnQtc2l6ZTogbSxcbiAgICBmb250LWZhbWlseTogYSxcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdCxcbiAgKSxcbiAgNjogKFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwsXG4gICAgZm9udC1zaXplOiBtLFxuICAgIGZvbnQtZmFtaWx5OiBhLFxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0LFxuICApLFxuKTtcbiIsIi8qLS0tXG50aXRsZTogICBFZGl0b3IgY29udGVudFxubmFtZTogICAgY29tcG9uZW50X2VkaXRvcl9jb250ZW50XG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuXG5TdHlsZSBIVE1MIG91dHB1dCBvZiBlZGl0b3JzIChtb3N0bHkgdXNlciBnZW5lcmF0ZWQgY29udGVudCkuXG4qL1xuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfZWRpdG9yX2NvbnRlbnQvc3R5bGVfZ3VpZGUnO1xuXG4kYy1lZGl0b3ItY29udGVudC1uYW1lc3BhY2U6ICcje21hcC1nZXQoJG5hbWVzcGFjZSwgY29tcG9uZW50KX1lZGl0b3ItY29udGVudCcgIWRlZmF1bHQ7XG5cbiRjLWVkaXRvci1jb250ZW50LXRhYmxlLXplYnJhLXN0cmlwaW5nOiB0cnVlICFkZWZhdWx0O1xuLyotLS1cbnRpdGxlOiAgIFZhcmlhYmxlXG5uYW1lOiAgICBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnRfdmFyaWFibGVcbnNlY3Rpb246IGNvbXBvbmVudF9lZGl0b3JfY29udGVudFxub3JkZXI6ICAgMlxuLS0tXG5cbmBgYGNzc1xuJGMtZWRpdG9yLWNvbnRlbnQtbmFtZXNwYWNlOiAnI3skYy1lZGl0b3ItY29udGVudC1uYW1lc3BhY2V9JztcbiRjLWVkaXRvci1jb250ZW50LXRhYmxlLXplYnJhLXN0cmlwaW5nOiAjeyRjLWVkaXRvci1jb250ZW50LXRhYmxlLXplYnJhLXN0cmlwaW5nfTtcbmBgYFxuKi9cbiIsIkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfY29tcG9uZW50X2VkaXRvcl9jb250ZW50L3N0eWxlX2d1aWRlJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfY29tcG9uZW50X2VkaXRvcl9jb250ZW50L3ZhcmlhYmxlJztcblxuQGlmIHZhcmlhYmxlLWV4aXN0cyhjLWhuLW5hbWVzcGFjZSkgb3IgdmFyaWFibGUtZXhpc3RzKGMtdGFibGUtbmFtZXNwYWNlKSB7XG4gIC8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuICAvKiBleHRyYWN0IGNvbXBvbmVudF9lZGl0b3JfY29udGVudC5jc3MgKi9cbiAgLyotLS1cbiAgdGl0bGU6ICAgRXhhbXBsZVxuICBuYW1lOiAgICBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnRfZXhhbXBsZVxuICBzZWN0aW9uOiBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnRcbiAgb3JkZXI6ICAgMVxuICAtLS1cbiAgKi9cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhjLWhuLW5hbWVzcGFjZSkgYW5kIGxlbmd0aCgkYy1obi1uKSA+PSAxIHtcbiAgICAvKi0tLVxuICAgIHRpdGxlOiAgIGhOXG4gICAgbmFtZTogICAgY29tcG9uZW50X2VkaXRvcl9jb250ZW50X2V4YW1wbGVfaG5cbiAgICBzZWN0aW9uOiBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnRfZXhhbXBsZVxuICAgIG9yZGVyOiAgIDFcbiAgICAtLS1cblxuICAgIGBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cIiN7JGMtZWRpdG9yLWNvbnRlbnQtbmFtZXNwYWNlfVwiPlxuICA8aDE+SGVhZGxpbmUgMTwvaDE+XG4gIDxoMj5IZWFkbGluZSAyPC9oMj5cbiAgPGgzPkhlYWRsaW5lIDM8L2gzPlxuICA8aDQ+SGVhZGxpbmUgNDwvaDQ+XG4gIDxoNT5IZWFkbGluZSA1PC9oNT5cbiAgPGg2PkhlYWRsaW5lIDY8L2g2PlxuPC9kaXY+XG4gICAgYGBgXG4gICAgKi9cbiAgICAuI3skYy1lZGl0b3ItY29udGVudC1uYW1lc3BhY2V9IHtcbiAgICAgIEBlYWNoICQtbi1kYXRhIGluICRjLWhuLW4ge1xuICAgICAgICAkLW46IG50aCgkLW4tZGF0YSwgMSk7XG4gICAgICAgIGgjeyQtbn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGMtaCgkLW4pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhjLXRhYmxlLW5hbWVzcGFjZSkge1xuICAgIC8qLS0tXG4gICAgdGl0bGU6ICAgVGFibGVcbiAgICBuYW1lOiAgICBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnRfZXhhbXBsZV90YWJsZVxuICAgIHNlY3Rpb246IGNvbXBvbmVudF9lZGl0b3JfY29udGVudF9leGFtcGxlXG4gICAgb3JkZXI6ICAgMVxuICAgIC0tLVxuXG4gICAgYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiI3skYy1lZGl0b3ItY29udGVudC1uYW1lc3BhY2V9XCI+XG4gIDx0YWJsZT5cbiAgICA8dGhlYWQ+XG4gICAgICA8dHI+XG4gICAgICAgIDx0aD5Db2x1bW4gMTwvdGg+XG4gICAgICAgIDx0aD5Db2x1bW4gMTwvdGg+XG4gICAgICAgIDx0aD5Db2x1bW4gMTwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgPHRyPlxuICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICA8dGQ+SXBzdW08L3RkPlxuICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgPHRkPklwc3VtPC90ZD5cbiAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgIDx0ZD5JcHN1bTwvdGQ+XG4gICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiAgICBgYGBcbiAgICAqL1xuICAgIC4jeyRjLWVkaXRvci1jb250ZW50LW5hbWVzcGFjZX0ge1xuICAgICAgdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBjLXRhYmxlKCRjLXRhYmxlLWNvbHVtbi1wYWRkaW5nLCAkYy10YWJsZS1jb2x1bW4tYm9yZGVyKTtcbiAgICAgIH1cbiAgICAgIEBpZiB2YXJpYWJsZS1leGlzdHMoYy16ZWJyYS1zdHJpcGluZy1uYW1lc3BhY2UpIGFuZCAkYy1lZGl0b3ItY29udGVudC10YWJsZS16ZWJyYS1zdHJpcGluZyB7XG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICBAaW5jbHVkZSBjLXplYnJhLXN0cmlwaW5nKCRjLXplYnJhLXN0cmlwaW5nLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBlbmQgZXh0cmFjdCBjb21wb25lbnRfZWRpdG9yX2NvbnRlbnQuY3NzICovXG4gIC8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbn1cbiIsIi8qLS0tXG50aXRsZTogICBCdXR0b25cbm5hbWU6ICAgIGNvbXBvbmVudF9idXR0b25cbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfYnV0dG9uL3N0eWxlX2d1aWRlJztcblxuJGMtYnV0dG9uLW5hbWVzcGFjZTogJyN7bWFwLWdldCgkbmFtZXNwYWNlLCBjb21wb25lbnQpfWJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vIFNpemVzLlxuJGMtYnV0dG9uLXNpemVzOiAobSkgIWRlZmF1bHQ7XG4kYy1idXR0b24tZnVsbC13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kYy1idXR0b24tZm9udC1zaXplczogKCkgIWRlZmF1bHQ7XG5cbi8vIENvbG9yIHNjaGVtZS5cbiRjLWJ1dHRvbi1jczogKCkgIWRlZmF1bHQ7XG4kYy1idXR0b24tY3MtYWxlcnRzOiAoKSAhZGVmYXVsdDtcbiRjLWJ1dHRvbi1jcy1ncmV5OiAoKSAhZGVmYXVsdDtcbi8qLS0tXG50aXRsZTogICBWYXJpYWJsZVxubmFtZTogICAgY29tcG9uZW50X2J1dHRvbl92YXJpYWJsZVxuc2VjdGlvbjogY29tcG9uZW50X2J1dHRvblxub3JkZXI6ICAgM1xuLS0tXG5cbmBgYGNzc1xuJGMtYnV0dG9uLW5hbWVzcGFjZTogJyN7JGMtYnV0dG9uLW5hbWVzcGFjZX0nO1xuJGMtYnV0dG9uLXNpemVzOiAoI3skYy1idXR0b24tc2l6ZXN9KTtcbiRjLWJ1dHRvbi1mdWxsLXdpZHRoOiAjeyRjLWJ1dHRvbi1mdWxsLXdpZHRofTtcbiRjLWJ1dHRvbi1mb250LXNpemVzOiAoI3skYy1idXR0b24tZm9udC1zaXplc30pO1xuJGMtYnV0dG9uLWNzOiAoI3skYy1idXR0b24tY3N9KTtcbiRjLWJ1dHRvbi1jcy1hbGVydHM6ICgjeyRjLWJ1dHRvbi1jcy1hbGVydHN9KTtcbiRjLWJ1dHRvbi1jcy1ncmV5OiAoI3skYy1idXR0b24tY3MtZ3JleX0pO1xuYGBgXG4qL1xuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfYnV0dG9uL3N0eWxlX2d1aWRlJztcblxuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX21peGluXG5zZWN0aW9uOiBjb21wb25lbnRfYnV0dG9uXG5vcmRlcjogICAyXG4tLS1cblxuYGBgY3NzXG4vLyBEZWZhdWx0IGJ1dHRvbi5cbmMtYnV0dG9uKFskLXNpemU6IG1bLCAkLWNzOiBhXV0pXG5cbi8vIFNpemUuXG5jLWJ1dHRvbi1zaXplKCQtc2l6ZSlcbmMtYnV0dG9uLWZ1bGwtd2lkdGgoKVxuXG4vLyBGb250IHNpemUuXG5jLWJ1dHRvbi1mb250LXNpemUoJC1mb250LXNpemUpXG5cbi8vIENvbG9yLlxuYy1idXR0b24tY29sb3IoJC1jb2xvciwgJC1jb250cmFzdC1jb2xvcilcbmMtYnV0dG9uLWNzKFskLWNzOiBhXSlcbmMtYnV0dG9uLWNzLWFsZXJ0KFskLWNzLWFsZXJ0OiBuZXV0cmFsXSlcbmMtYnV0dG9uLWNzLWdyZXkoWyQtY3MtZ3JleTogYV0pXG5gYGBcbiovXG5AbWl4aW4gYy1idXR0b24tc2l6ZSgkLXNpemUpIHtcbiAgcGFkZGluZzogKG1hcC1nZXQoJHNwYWNpbmcsICQtc2l6ZSkgLyAzKSAobWFwLWdldCgkc3BhY2luZywgJC1zaXplKSAvIDIpO1xufVxuXG5AbWl4aW4gYy1idXR0b24tZnVsbC13aWR0aCgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGMtYnV0dG9uLWZvbnQtc2l6ZSgkLWZvbnQtc2l6ZSkge1xuICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsICQtZm9udC1zaXplKTtcbn1cblxuQG1peGluIGMtYnV0dG9uLWNvbG9yKCQtY29sb3IsICQtY29udHJhc3QtY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJC1jb2xvcjtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICQtY29udHJhc3QtY29sb3I7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IG1peCgkLWNvbG9yLCAkLWNvbnRyYXN0LWNvbG9yLCA3MCUpO1xuICB9XG59XG5cbkBtaXhpbiBjLWJ1dHRvbi1jcygkLWNzOiBhKSB7XG4gIEBpbmNsdWRlIGMtYnV0dG9uLWNvbG9yKG1hcC1nZXQoJGNzLCAkLWNzKSwgbWFwLWdldCgkY3MtY29udHJhc3QsICQtY3MpKVxufVxuXG5AbWl4aW4gYy1idXR0b24tY3MtYWxlcnQoJC1jcy1hbGVydDogbmV1dHJhbCkge1xuICBAaW5jbHVkZSBjLWJ1dHRvbi1jb2xvcihtYXAtZ2V0KCRjcy1hbGVydHMsICQtY3MtYWxlcnQpLCAjZmZmKTtcbn1cblxuQG1peGluIGMtYnV0dG9uLWNzLWdyZXkoJC1jcy1ncmV5OiBhKSB7XG4gICQtY29sb3I6IG1hcC1nZXQoJGNzLWdyZXksICQtY3MtZ3JleSk7XG4gIEBpbmNsdWRlIGMtYnV0dG9uLWNvbG9yKCQtY29sb3IsIGRhcmtlbigkLWNvbG9yLCA1NSUpKTtcbn1cblxuQG1peGluIGMtYnV0dG9uKCQtc2l6ZTogbSwgJC1jczogYSkge1xuICBAaW5jbHVkZSBjLWJ1dHRvbi1zaXplKCQtc2l6ZSk7XG4gIEBpbmNsdWRlIGMtYnV0dG9uLWNzKCQtY3MpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmOnZpc2l0ZWQge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX2NvbXBvbmVudF9idXR0b24vc3R5bGVfZ3VpZGUnO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19jb21wb25lbnRfYnV0dG9uL3ZhcmlhYmxlJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfY29tcG9uZW50X2J1dHRvbi9taXhpbic7XG5cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfYnV0dG9uLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9idXR0b25fZXhhbXBsZVxuc2VjdGlvbjogY29tcG9uZW50X2J1dHRvblxub3JkZXI6ICAgMVxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIERlZmF1bHRcbm5hbWU6ICAgIGNvbXBvbmVudF9idXR0b25fZXhhbXBsZV9kZWZhdWx0XG5zZWN0aW9uOiBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxhIGhyZWY9XCIjXCIgY2xhc3M9XCIjeyRjLWJ1dHRvbi1uYW1lc3BhY2V9XCI+QnV0dG9uPC9hPlxuPGJ1dHRvbiBjbGFzcz1cIiN7JGMtYnV0dG9uLW5hbWVzcGFjZX1cIj5CdXR0b248L2J1dHRvbj5cbmBgYFxuKi9cbi4jeyRjLWJ1dHRvbi1uYW1lc3BhY2V9IHtcbiAgQGluY2x1ZGUgYy1idXR0b24oKTtcbn1cblxuQGVhY2ggJC1zaXplIGluICRjLWJ1dHRvbi1zaXplcyB7XG4gICQtc2l6ZS1jbGFzczogJyN7JGMtYnV0dG9uLW5hbWVzcGFjZX0tLSN7JC1zaXplfSc7XG4gIEBpZiAkLXNpemUgIT0gbSB7XG4gICAgLyotLS1cbiAgICB0aXRsZTogICBTaXplOiAjeyQtc2l6ZX1cbiAgICBuYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVfc2l6ZV8jeyQtc2l6ZX1cbiAgICBzZWN0aW9uOiBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVcbiAgICAtLS1cblxuYGBgZXhhbXBsZTpodG1sXG48YSBocmVmPVwiI1wiIGNsYXNzPVwiI3skYy1idXR0b24tbmFtZXNwYWNlfSAjeyQtc2l6ZS1jbGFzc31cIj5CdXR0b24gI3skLXNpemV9PC9hPlxuYGBgXG4gICAgKi9cbiAgICAuI3skLXNpemUtY2xhc3N9IHtcbiAgICAgIEBpbmNsdWRlIGMtYnV0dG9uLXNpemUoJC1zaXplKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRjLWJ1dHRvbi1mdWxsLXdpZHRoIHtcbiAgLyotLS1cbiAgdGl0bGU6ICAgU2l6ZTogZnVsbCB3aWR0aFxuICBuYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVfc2l6ZV9mdWxsX3dpZHRoXG4gIHNlY3Rpb246IGNvbXBvbmVudF9idXR0b25fZXhhbXBsZVxuICAtLS1cblxuYGBgZXhhbXBsZTpodG1sXG48YSBocmVmPVwiI1wiIGNsYXNzPVwiI3skYy1idXR0b24tbmFtZXNwYWNlfSAjeyRjLWJ1dHRvbi1uYW1lc3BhY2V9LS1mdWxsLXdpZHRoXCI+QnV0dG9uIGZ1bGwgd2lkdGg8L2E+XG5gYGBcbiAgKi9cbiAgLiN7JGMtYnV0dG9uLW5hbWVzcGFjZX0tLWZ1bGwtd2lkdGgge1xuICAgIEBpbmNsdWRlIGMtYnV0dG9uLWZ1bGwtd2lkdGgoKTtcbiAgfVxufVxuXG5AZWFjaCAkLWZvbnQtc2l6ZSBpbiAkYy1idXR0b24tZm9udC1zaXplcyB7XG4gICQtZm9udC1zaXplLWNsYXNzOiAnI3skYy1idXR0b24tbmFtZXNwYWNlfS0tZm9udC1zaXplLSN7JC1mb250LXNpemV9JztcbiAgQGlmICQtZm9udC1zaXplICE9IG0ge1xuICAgIC8qLS0tXG4gICAgdGl0bGU6ICAgRm9udCBzaXplOiAjeyQtZm9udC1zaXplfVxuICAgIG5hbWU6ICAgIGNvbXBvbmVudF9idXR0b25fZXhhbXBsZV9mb250X3NpemVfI3skLWZvbnQtc2l6ZX1cbiAgICBzZWN0aW9uOiBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVcbiAgICAtLS1cblxuYGBgZXhhbXBsZTpodG1sXG48YSBocmVmPVwiI1wiIGNsYXNzPVwiI3skYy1idXR0b24tbmFtZXNwYWNlfSAjeyQtZm9udC1zaXplLWNsYXNzfVwiPkJ1dHRvbiBmb250IHNpemUgI3skLWZvbnQtc2l6ZX08L2E+XG5gYGBcbiAgICAqL1xuICAgIC4jeyQtZm9udC1zaXplLWNsYXNzfSB7XG4gICAgICBAaW5jbHVkZSBjLWJ1dHRvbi1mb250LXNpemUoJC1mb250LXNpemUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkLWNzIGluICRjLWJ1dHRvbi1jcyB7XG4gICQtY3MtY2xhc3M6ICcjeyRjLWJ1dHRvbi1uYW1lc3BhY2V9LS1jcy0jeyQtY3N9JztcbiAgQGlmICQtY3MgIT0gYSB7XG4gICAgLyotLS1cbiAgICB0aXRsZTogICBjczogI3skLWNzfVxuICAgIG5hbWU6ICAgIGNvbXBvbmVudF9idXR0b25fZXhhbXBsZV9jc18jeyQtY3N9XG4gICAgc2VjdGlvbjogY29tcG9uZW50X2J1dHRvbl9leGFtcGxlXG4gICAgLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGEgaHJlZj1cIiNcIiBjbGFzcz1cIiN7JGMtYnV0dG9uLW5hbWVzcGFjZX0gI3skLWNzLWNsYXNzfVwiPkJ1dHRvbiBjcyAjeyQtY3N9PC9hPlxuYGBgXG4gICAgKi9cbiAgICAuI3skLWNzLWNsYXNzfSB7XG4gICAgICBAaW5jbHVkZSBjLWJ1dHRvbi1jcygkLWNzKTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJC1jcy1hbGVydCBpbiAkYy1idXR0b24tY3MtYWxlcnRzIHtcbiAgJC1jcy1hbGVydC1jbGFzczogJyN7JGMtYnV0dG9uLW5hbWVzcGFjZX0tLWNzLWFsZXJ0LSN7JC1jcy1hbGVydH0nO1xuICAvKi0tLVxuICB0aXRsZTogICBjcy1hbGVydDogI3skLWNzLWFsZXJ0fVxuICBuYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVfY3NfYWxlcnRfI3skLWNzLWFsZXJ0fVxuICBzZWN0aW9uOiBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVcbiAgLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGEgaHJlZj1cIiNcIiBjbGFzcz1cIiN7JGMtYnV0dG9uLW5hbWVzcGFjZX0gI3skLWNzLWFsZXJ0LWNsYXNzfVwiPkJ1dHRvbiBjcy1hbGVydCAjeyQtY3MtYWxlcnR9PC9hPlxuYGBgXG4gICovXG4gIC4jeyQtY3MtYWxlcnQtY2xhc3N9IHtcbiAgICBAaW5jbHVkZSBjLWJ1dHRvbi1jcy1hbGVydCgkLWNzLWFsZXJ0KTtcbiAgfVxufVxuXG5AZWFjaCAkLWNzLWdyZXkgaW4gJGMtYnV0dG9uLWNzLWdyZXkge1xuICAkLWNzLWdyZXktY2xhc3M6ICcjeyRjLWJ1dHRvbi1uYW1lc3BhY2V9LS1jcy1ncmV5LSN7JC1jcy1ncmV5fSc7XG4gIC8qLS0tXG4gIHRpdGxlOiAgIGNzLWdyZXk6ICN7JC1jcy1ncmV5fVxuICBuYW1lOiAgICBjb21wb25lbnRfYnV0dG9uX2V4YW1wbGVfY3NfZ3JleV8jeyQtY3MtZ3JleX1cbiAgc2VjdGlvbjogY29tcG9uZW50X2J1dHRvbl9leGFtcGxlXG4gIC0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxhIGhyZWY9XCIjXCIgY2xhc3M9XCIjeyRjLWJ1dHRvbi1uYW1lc3BhY2V9ICN7JC1jcy1ncmV5LWNsYXNzfVwiPkJ1dHRvbiBjcy1ncmV5ICN7JC1jcy1ncmV5fTwvYT5cbmBgYFxuICAqL1xuICAuI3skLWNzLWdyZXktY2xhc3N9IHtcbiAgICBAaW5jbHVkZSBjLWJ1dHRvbi1jcy1ncmV5KCQtY3MtZ3JleSk7XG4gIH1cbn1cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9idXR0b24uY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4iLCIvKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2JyYW5kX2VkZ2UuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgQnJhbmQgZWRnZVxubmFtZTogICAgY29tcG9uZW50X2JyYW5kX2VkZ2VcbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9icmFuZF9lZGdlX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9icmFuZF9lZGdlXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiYy1icmFuZC1lZGdlXCI+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX2xlZnRcIj5cbiAgICBMZWZ0IGJyYW5kIGVkZ2UgYXJlYS5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX3JpZ2h0XCI+XG4gICAgUmlnaHQgYnJhbmQgZWRnZSBhcmVhLlxuICA8L2Rpdj5cbjwvZGl2PlxuPGJyIC8+IFxuPGRpdiBjbGFzcz1cImMtYnJhbmQtZWRnZSBjLWJyYW5kLWVkZ2UtLWZsaXBcIj5cbiAgPGRpdiBjbGFzcz1cImMtYnJhbmQtZWRnZV9fbGVmdFwiPlxuICAgIExlZnQgYnJhbmQgZWRnZSBhcmVhLlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImMtYnJhbmQtZWRnZV9fcmlnaHRcIj5cbiAgICBSaWdodCBicmFuZCBlZGdlIGFyZWEuXG4gIDwvZGl2PlxuPC9kaXY+XG48YnIgLz5cbjxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2UgYy1icmFuZC1lZGdlLS1mbGlwXCI+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX2xlZnRcIj5cbiAgICBMZWZ0IGJyYW5kIGVkZ2UgYXJlYS5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWJyYW5kLWVkZ2VfX3JpZ2h0IGMtYnJhbmQtZWRnZV9faXRlbS1ncm93XCI+XG4gICAgUmlnaHQgYnJhbmQgZWRnZSBhcmVhLlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtYnJhbmQtZWRnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYy1icmFuZC1lZGdlX19yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogbWFwLWdldCgkY3MtY29udHJhc3QsIGEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogN2VtO1xuICAuaXMtZnJvbnQgJiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzZW07XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTAwMDBweCUyMiUyMGhlaWdodCUzRCUyMjg1cHglMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMDAwMCUyMDg1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTNDZyUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTAwMDAlMkMwJTIwTDk4NjEuMjkyOTUlMkM4NSUyMEwxMzguNzA3MDUlMkM4NSUyMEwwJTJDMCUyMEwxMDAwMCUyQzAlMjBaJTIyJTIwZmlsbCUzRCUyMiUyM0UxMDAxRiUyMiUzRSUzQyUyRnBhdGglM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFJykgbm8tcmVwZWF0IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gIH1cbiAgLmMtYnJhbmQtZWRnZS0tZmxpcCAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjcy1jb250cmFzdCwgYSk7XG4gIH1cbn1cblxuLmMtYnJhbmQtZWRnZV9faXRlbS1ncm93IHtcbiAgZmxleC1ncm93OiAxO1xufVxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2JyYW5kX2VkZ2UuY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4iLCIvKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2JyYW5kX3NlY3Rpb24uY3NzICovXG4vKi0tLVxudGl0bGU6ICAgQnJhbmQgc2VjdGlvblxubmFtZTogICAgY29tcG9uZW50X2JyYW5kX3NlY3Rpb25cbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9icmFuZF9zZWN0aW9uX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9icmFuZF9zZWN0aW9uXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiYy1icmFuZC1zZWN0aW9uXCI+XG4gIDxoMj5Mb3JlbSBJcHN1bTwvaDI+XG48L2Rpdj5cbmBgYFxuKi9cbi5jLWJyYW5kLXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2luZywgbSk7XG4gIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRzcGFjaW5nLCBtKTtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkY3MtZ3JleSwgYSk7XG4gIC8vIGJhY2tncm91bmQ6ICdsb2dvJztcbn1cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9icmFuZF9zZWN0aW9uLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuIiwiZGl2W2NsYXNzKj1cImMtcGFyYWdyYXBoc1wiXSBsaSwgLmMtbm9kZS1wcm9kdWN0X19wcm9kdWN0LXRleHRhcmVhIGxpLCAuYnVsbGV0bGlzdCBsaSAge1xuXHRsaXN0LXN0eWxlLWltYWdlOnVybCguLi9hc3NldHMvdHJpYW5nbGUtYnVsbGV0LnBuZyk7XG5cdC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1ICYge1xuXHRcdGxpc3Qtc3R5bGUtaW1hZ2U6dXJsKC4uL2Fzc2V0cy90cmlhbmdsZS1idWxsZXQwMDUyOTIucG5nKTtcblx0fSBcblx0LmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSAmIHtcblx0XHRsaXN0LXN0eWxlLWltYWdlOnVybCguLi9hc3NldHMvdHJpYW5nbGUtYnVsbGV0Mzk4MDZGLnBuZyk7XG5cdH0gXG5cdGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xufSAgIiwiLmMtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwLjZlbSAwLjc1ZW0gMC40ZW0gMC43NWVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAuYy1wYXJhZ3JhcGhzLWl0ZW0tdGV4dC1zZWN0aW9uICYge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYy1idXR0b24tLWFsdCB7XG4gIEBpbmNsdWRlIGMtYnV0dG9uLWNvbG9yKHRyYW5zcGFyZW50LCAkZm9udC1iYXNlLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAycHggc29saWQgbGlnaHRlbigkZm9udC1iYXNlLWNvbG9yLCAyMCUpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogJGZvbnQtYmFzZS1jb2xvcjtcbiAgfVxufVxuLmMtYnV0dG9uLS1hbHQtLTEge1xuICBAZXh0ZW5kIC5jLWJ1dHRvbjtcbn1cblxuLmMtYnV0dG9uLWF0dGFjaGVkLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogLjc1ZW07XG4gIHBhZGRpbmctdG9wOiAxLjFlbTtcbiAgcGFkZGluZy1sZWZ0OiAuNWVtO1xufSAiLCJAaW1wb3J0ICdvYmplY3QvaW1hZ2VfYmFja2dyb3VuZCc7XG5cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfaW1hZ2VfaGVhZGVyLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEltYWdlIGhlYWRlclxubmFtZTogICAgY29tcG9uZW50X2ltYWdlX2hlYWRlclxuc2VjdGlvbjogQ29tcG9uZW50XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgY29tcG9uZW50X2ltYWdlX2hlYWRlcl9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfaW1hZ2VfaGVhZGVyXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IGNsYXNzPVwiYy1pbWFnZS1oZWFkZXIgby1pbWFnZS1iYWNrZ3JvdW5kXCI+XG4gIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC84NTB4MTE1XCIgYWx0PVwiXCI+XG4gIDxkaXYgY2xhc3M9XCJjLWltYWdlLWhlYWRlcl9fY29udGVudCBvLWltYWdlLWJhY2tncm91bmRfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbm5lclwiPlxuICAgICAgPGgyPkxvcmVtIElwc3VtPGJyIC8+XG4gICAgICBEb2xvciBzaXQ8L2gyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtaW1hZ2UtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jLWltYWdlLWhlYWRlcl9fY29udGVudCB7XG4gIHBhZGRpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIG0pIG1hcC1nZXQoJHNwYWNpbmcsIGwpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2ltYWdlX2hlYWRlci5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbiIsIkBpbXBvcnQgJ29iamVjdC9pbWFnZV9iYWNrZ3JvdW5kJztcblxuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9pbWFnZV90ZWFzZXIuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgSW1hZ2UgdGVhc2VyXG5uYW1lOiAgICBjb21wb25lbnRfaW1hZ2VfdGVhc2VyXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfaW1hZ2VfdGVhc2VyX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9pbWFnZV90ZWFzZXJcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjLWltYWdlLXRlYXNlciBvLWltYWdlLWJhY2tncm91bmRcIiBzdHlsZT1cIndpZHRoOiAzMDBweDtcIj5cbiAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19iYWNrZ3JvdW5kXCI+XG4gICAgPGltZyBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2VcIiBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0LzMwMHgyMDBcIiBhbHQ9XCJcIj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9fY29udGVudCBvLWltYWdlLWJhY2tncm91bmRfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2lubmVyIG8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgIDxoNT5Mb3JlbSBJcHN1bSBkb2xvciBzaXQ8L2g1PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYT5cbmBgYFxuKi9cbi5jLWltYWdlLXRlYXNlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYsXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCMyMjIsIDAuNyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIGJhY2tncm91bmQgMC4ycztcbiAgfVxufVxuXG4uYy1pbWFnZS10ZWFzZXJfX2JhY2tncm91bmQge1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jLWltYWdlLXRlYXNlcl9fY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtaW1hZ2UtdGVhc2VyX19pbm5lciB7XG4gIHBhZGRpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIHMpO1xuICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwLCAjMjIyIDEwMCUpO1xufVxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2ltYWdlX3RlYXNlci5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbiIsIi8qLS0tXG50aXRsZTogICBXaWR0aFxubmFtZTogICAgdXRpbGl0eV93aWR0aFxuc2VjdGlvbjogVXRpbGl0eVxuLS0tXG5cbldpZHRoIGNsYXNzZXMuXG4qL1xuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc191dGlsaXR5X3dpZHRoL3N0eWxlX2d1aWRlJztcblxuJHUtd2lkdGgtbmFtZXNwYWNlOiAnI3ttYXAtZ2V0KCRuYW1lc3BhY2UsIHV0aWxpdHkpfXdpZHRoJyAhZGVmYXVsdDtcblxuJHUtd2lkdGgtaXRlbS1jb3VudDogMTIgIWRlZmF1bHQ7XG4kdS13aWR0aC1icmVha3BvaW50czogKG0pICFkZWZhdWx0O1xuLyotLS1cbnRpdGxlOiAgIFZhcmlhYmxlXG5uYW1lOiAgICB1dGlsaXR5X3dpZHRoX3ZhcmlhYmxlXG5zZWN0aW9uOiB1dGlsaXR5X3dpZHRoXG5vcmRlcjogICAzXG4tLS1cblxuYGBgY3NzXG4kdS13aWR0aC1uYW1lc3BhY2U6ICcjeyR1LXdpZHRoLW5hbWVzcGFjZX0nO1xuJHUtd2lkdGgtaXRlbS1jb3VudDogI3skdS13aWR0aC1pdGVtLWNvdW50fTtcbiR1LXdpZHRoLWJyZWFrcG9pbnRzOiAoI3skdS13aWR0aC1icmVha3BvaW50c30pO1xuYGBgXG4qL1xuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc191dGlsaXR5X3dpZHRoL3N0eWxlX2d1aWRlJztcblxuLyotLS1cbnRpdGxlOiAgIE1peGluXG5uYW1lOiAgICB1dGlsaXR5X3dpZHRoX21peGluXG5zZWN0aW9uOiB1dGlsaXR5X3dpZHRoXG5vcmRlcjogICAyXG4tLS1cblxuYGBgY3NzXG51LXdpZHRoKCQtc2l6ZVssICQtaXRlbS1jb3VudDogMTJdKVxuYGBgXG4qL1xuQG1peGluIHUtd2lkdGgoJC1zaXplLCAkLWl0ZW0tY291bnQ6IDEyKSB7XG4gICQtYmFzZS1zaXplOiAoMTAwJSAvICQtaXRlbS1jb3VudCk7XG4gIHdpZHRoOiAoJC1iYXNlLXNpemUgKiAkLXNpemUpICFpbXBvcnRhbnQ7XG59IiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc191dGlsaXR5X3dpZHRoL3N0eWxlX2d1aWRlJztcbkBpbXBvcnQgJ2F2YWxhbmNoZXNhc3NfdXRpbGl0eV93aWR0aC92YXJpYWJsZSc7XG5AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX3V0aWxpdHlfd2lkdGgvbWl4aW4nO1xuXG4vKiBleHRyYWN0IHV0aWxpdHkuY3NzICovXG4vKiBleHRyYWN0IHV0aWxpdHlfd2lkdGguY3NzICovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgdXRpbGl0eV93aWR0aF9leGFtcGxlXG5zZWN0aW9uOiB1dGlsaXR5X3dpZHRoXG5vcmRlcjogICAxXG4tLS1cblxuYGBgZXhhbXBsZTpodG1sXG48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTFcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTJcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTNcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MzwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTRcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+NDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTVcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+NTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTZcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+NjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTdcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+NzwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LThcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+ODwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTlcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+OTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiI3skdS13aWR0aC1uYW1lc3BhY2V9LTEwXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiAjZmZmO3BhZGRpbmc6IDAuNWVtO1wiPjEwPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCIjeyR1LXdpZHRoLW5hbWVzcGFjZX0tMTFcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogMC41ZW07XCI+MTE8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIiN7JHUtd2lkdGgtbmFtZXNwYWNlfS0xMlwiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZmZjtwYWRkaW5nOiAwLjVlbTtcIj4xMjwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG5AZm9yICQtc2l6ZSBmcm9tIDEgdGhyb3VnaCAkdS13aWR0aC1pdGVtLWNvdW50IHtcbiAgLiN7JHUtd2lkdGgtbmFtZXNwYWNlfS0jeyQtc2l6ZX0ge1xuICAgIEBpbmNsdWRlIHUtd2lkdGgoJC1zaXplLCAkdS13aWR0aC1pdGVtLWNvdW50KTtcbiAgfVxufVxuXG5AZWFjaCAkLWJyZWFrcG9pbnQgaW4gJHUtd2lkdGgtYnJlYWtwb2ludHMge1xuICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICQtYnJlYWtwb2ludCkpIHtcbiAgICBAZm9yICQtc2l6ZSBmcm9tIDEgdGhyb3VnaCAkdS13aWR0aC1pdGVtLWNvdW50IHtcbiAgICAgIC4jeyR1LXdpZHRoLW5hbWVzcGFjZX0tI3skLXNpemV9XFxAI3skLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgdS13aWR0aCgkLXNpemUsICR1LXdpZHRoLWl0ZW0tY291bnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogZW5kIGV4dHJhY3QgdXRpbGl0eV93aWR0aC5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IHV0aWxpdHkuY3NzICovXG4iLCJAaW1wb3J0ICdhdmFsYW5jaGVzYXNzX29iamVjdF9ncmlkJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9pbWFnZV9oZWFkZXInO1xuQGltcG9ydCAnY29tcG9uZW50L2ltYWdlX3RlYXNlcic7XG5AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX3V0aWxpdHlfd2lkdGgnO1xuXG4vKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2NhdGVnb3J5X3RlYXNlcl9saXN0LmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIENhdGVnb3J5IHRlYXNlciBsaXN0XG5uYW1lOiAgICBjb21wb25lbnRfY2F0ZWdvcnlfdGVhc2VyX2xpc3RcbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9jYXRlZ29yeV90ZWFzZXJfbGlzdF9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfY2F0ZWdvcnlfdGVhc2VyX2xpc3Rcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJjLWNhdGVnb3J5LXRlYXNlci1saXN0IG8tZ3JpZFwiPlxuICA8ZGl2IGNsYXNzPVwiYy1jYXRlZ29yeS10ZWFzZXItbGlzdF9faXRlbSBvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTZAbVwiPlxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjLWltYWdlLXRlYXNlciBvLWltYWdlLWJhY2tncm91bmRcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC83ODB4NDMwXCIgYWx0PVwiXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9faW5uZXIgby1pbWFnZS1iYWNrZ3JvdW5kX19pbm5lclwiPlxuICAgICAgICAgIDxoNT5Mb3JlbSBJcHN1bSBkb2xvciBzaXQ8L2g1PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWNhdGVnb3J5LXRlYXNlci1saXN0X19pdGVtIG8tZ3JpZF9faXRlbSB1LXdpZHRoLTEyIHUtd2lkdGgtNkBtXCI+XG4gICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgPGltZyBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2VcIiBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0Lzc4MHg0MzBcIiBhbHQ9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9fY29udGVudCBvLWltYWdlLWJhY2tncm91bmRfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgPGg1PkxvcmVtIElwc3VtIGRvbG9yIHNpdDwvaDU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9hPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImMtY2F0ZWdvcnktdGVhc2VyLWxpc3RfX2l0ZW0gby1ncmlkX19pdGVtIHUtd2lkdGgtMTIgdS13aWR0aC02QG1cIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYy1pbWFnZS10ZWFzZXIgby1pbWFnZS1iYWNrZ3JvdW5kXCI+XG4gICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvNzgweDQzMFwiIGFsdD1cIlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2lubmVyIG8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYy1jYXRlZ29yeS10ZWFzZXItbGlzdF9faXRlbSBvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTZAbVwiPlxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjLWltYWdlLXRlYXNlciBvLWltYWdlLWJhY2tncm91bmRcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC83ODB4NDMwXCIgYWx0PVwiXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9faW5uZXIgby1pbWFnZS1iYWNrZ3JvdW5kX19pbm5lclwiPlxuICAgICAgICAgIDxoNT5Mb3JlbSBJcHN1bSBkb2xvciBzaXQ8L2g1PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjLWNhdGVnb3J5LXRlYXNlci1saXN0X19pdGVtIG8tZ3JpZF9faXRlbSB1LXdpZHRoLTEyIHUtd2lkdGgtNkBtXCI+XG4gICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgPGltZyBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2VcIiBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0Lzc4MHg0MzBcIiBhbHQ9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXRlYXNlcl9fY29udGVudCBvLWltYWdlLWJhY2tncm91bmRfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgPGg1PkxvcmVtIElwc3VtIGRvbG9yIHNpdDwvaDU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtY2F0ZWdvcnktdGVhc2VyLWxpc3RfX2l0ZW0ge1xuICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG0pKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBcbiAgICB9XG4gIH1cbn1cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9jYXRlZ29yeV90ZWFzZXJfbGlzdC5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbiIsIi5jLWNvbnRhaW5tZW50LWxldmVscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sZXZlbCB7XG4gIHdpZHRoOiAxMCU7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNzLWdyZXksIGEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0LWRlZXAoJGZvbnRzLCBhLCB3ZWlnaHRzLCBib2xkKTtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGwpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmc6IDAuMzVlbSAwO1xufVxuXG4uYy1jb250YWlubWVudC1sZXZlbHNfX2wxLFxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sMixcbi5jLWNvbnRhaW5tZW50LWxldmVsc19fbDMsXG4uYy1jb250YWlubWVudC1sZXZlbHNfX2w0YSxcbi5jLWNvbnRhaW5tZW50LWxldmVsc19fbDRiIHtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmZmY7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgbSk7XG59XG5cbi5jLWNvbnRhaW5tZW50LWxldmVsc19fdDEge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sMSB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5jLWNvbnRhaW5tZW50LWxldmVsc19fbGV2ZWwtLXRlc3RlZCB7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNzLCBhKTtcbn1cblxuLmMtY29udGFpbm1lbnQtbGV2ZWxzX19sZXZlbC0tY292ZXJlZC1ieS1oaWdoZXItbGV2ZWwge1xuICBiYWNrZ3JvdW5kOiBtaXgobWFwLWdldCgkY3MsIGEpLCAjZmZmLCA1MCUpO1xufVxuIiwiLmMtZGF0YS1zaGVldCB7XG4gIC5jLWRhdGEtc2hlZXQtbGlzdCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5O1xuICAgIG1hcmdpbi10b3A6IDVweDsgXG4gICAgcGFkZGluZy10b3A6IDEwcHg7IFxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTZhN1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJ0aGVtaWZ5XCI7XG4gICAgICAgIG1hcmdpbjogMCA4cHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xuICAgIH1cbiAgfVxufSIsIi5jLWRpdmlkZXIge1xuXHRib3JkZXItdG9wOiAwLjNlbSBzb2xpZCAkY29sb3ItcmVkO1xuICAgIG1hcmdpbjogNGVtIDA7ICAgIFxuICAgIHNwYW4ge1xuICAgIFx0ZGlzcGxheTpibG9jaztcbiAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcdCY6YWZ0ZXIge1xuXHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdFx0ICAgIGJvdHRvbTogLTFlbTtcblx0XHQgICAgbGVmdDogMWVtO1xuXHRcdCAgICB3aWR0aDogMDtcblx0XHQgICAgaGVpZ2h0OiAwO1xuXHRcdCAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdCAgICBib3JkZXItd2lkdGg6IDFlbSAxZW0gMCAxZW07XG5cdFx0ICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXJlZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHR9XG4gICAgfVxuIH0iLCIuYy12aWV3LWRvd25sb2FkcyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbSkpIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIFxuICAuYy12aWV3X19yb3cge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07IFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7IFxuICAgIHBhZGRpbmctdG9wOiAxMHB4OyBcbiAgXG4gICAgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTZhN1wiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInRoZW1pZnlcIjtcbiAgICAgICAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4uZmllbGQtY29udGVudCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyZXktZGFyazsgXG4gICAgfVxuICB9XG59XG4uYy1ub2RlLWpvYnNfX2pvYnMtb3Blbi1wb3NpdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxLjVlbSAwIDAgMDtcbiAgICAuYy1ub2RlLWpvYnNfX2pvYnMtb3Blbi1wb3NpdGlvbnNfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbi5jLWpvYi1saW5rLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuLmMtYnV0dG9uIHt9XG59IiwiLmMtZHJvcGRvd24ge1xuICBtYXgtd2lkdGg6IDEyMHB4O1xuICBmbG9hdDogcmlnaHQ7XG5cbiAgc3BhbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxuICAuYy1sYW5ndWFnZS1zd2l0Y2hlcl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjllbTtcblxuICAgIHBhZGRpbmc6IC41ZW0gMWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEzcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLmMtbGFuZ3VhZ2Utc3dpdGNoZXJfX2xpbmsgIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjcywgYSk7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgIH1cblxuXG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgXG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgLmMtbGFuZ3VhZ2Utc3dpdGNoZXJfX2xpbmsgIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICBcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDA7IFxuICAgICAgICBoZWlnaHQ6IDA7IFxuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIHJpZ2h0OiAwOyAgICAgXG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi5jLWVkaXRvci1jb250ZW50IHtcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cbiIsIiAuYy1ibG9jay1jb250YWN0X190aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuZm9ybS5jLWZvcm0ge1xuICAuYy1mb3JtX19sZWdlbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBpbnB1dC5jLWZvcm1fX3JhZGlvLCBpbnB1dC5jLWZvcm1fX2NoZWNrYm94IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbiAgbGFiZWwuYy1mb3JtX19sYWJlbC0tYmVmb3JlIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5jLWZvcm1fX2l0ZW0tLXRleHRhcmVhIHtcbiAgICBsYWJlbC5jLWZvcm1fX2xhYmVsLS1iZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cbiAgaW5wdXQuYy1mb3JtX190ZXh0LCB0ZXh0YXJlYS5jLWZvcm1fX3RleHRhcmVhIHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gIH1cbn1cblxuXG4iLCJmb290ZXIge1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktbGlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgI2Zvb3Rlci13YXRlcm1hcmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbiAgI2Zvb3Rlci1sb2dvIHtcbiAgICBmbG9hdDogcmlnaHQ7IFxuICAgIG1hcmdpbjogMCAtMWVtIDAuNWVtIDA7XG4gIH1cbiAgLmMtZm9vdGVyLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vYXNzZXRzL3dhdGVybWFyay5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gIH1cbiAgLmMtZm9vdGVyLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogLTJlbTtcbiAgfVxuXG4gIC5jLWZvb3Rlci1tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgcyk7IFxuICAgIC5vLWdyaWRfX2l0ZW0gPiBhe1xuICAgICAgQGV4dGVuZCBoNDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuOWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgZm9udC1zaXplOiAxLjJlbVxuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwOyBcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICB1bCA+IGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowLjhlbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDAuMmVtO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmMtYnJhbmQtbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjZweDtcbiAgfVxuICAuYy1icmFuZC1sb2dvLWltZyB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG4gIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0IHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpO1xuICAgIHotaW5kZXg6IDQwMDtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDAgMjBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cy1tYXgsIG0pKSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDAgN3B4O1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7ICAgICAgfVxuICAgIH1cbiAgfVxuICAgIC5jLWZvb3Rlci1ib3R0b20tbGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgbSk7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH0gXG4gICB9XG59XG5cbi5jLWZvb3Rlci1ib3R0b20ge1xuICAvLyBEaXJ0eSBcImhhY2tcIiBmb3IgZnVsbCB3aWR0aCBiYWNrZ3JvdW5kIG9uIHRoZSByaWdodC5cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA4MCUsIG1hcC1nZXQoJGNzLCBhKSA4MCUsIG1hcC1nZXQoJGNzLCBhKSAxMDAlKTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDgzZW0pIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDgyJSwgbWFwLWdldCgkY3MsIGEpIDgyJSwgbWFwLWdldCgkY3MsIGEpIDEwMCUpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDJlbSkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNzclLCBtYXAtZ2V0KCRjcywgYSkgNzclLCBtYXAtZ2V0KCRjcywgYSkgMTAwJSk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMmVtKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3MiUsIG1hcC1nZXQoJGNzLCBhKSA3MiUsIG1hcC1nZXQoJGNzLCBhKSAxMDAlKTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTUwZW0pIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDY4JSwgbWFwLWdldCgkY3MsIGEpIDY4JSwgbWFwLWdldCgkY3MsIGEpIDEwMCUpO1xuICB9XG59XG4iLCIuYy1wYXJhZ3JhcGhzLWl0ZW0tZ3JpZF9fcGctYmxvY2stZ3JpZC1ibG9jayB7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG5cdC5jLXRleHQtc2VjdGlvbiB7XG4gICAgXHRwYWRkaW5nLXRvcDogMmVtO1xuICAgIFx0cGFkZGluZy1ib3R0b206IDJlbTtcblx0fVxuXHQuby1tZWRpYV9fcmlnaHQge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cdGEuYy1idXR0b24ge1xuXHRcdGZsb2F0OnJpZ2h0OyBcblx0fVxufSIsIi8qKiBIZWFkcm9vbSAqL1xuLmhlYWRyb29tIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIHotaW5kZXg6IDk5OTg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAxcztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5oZWFkcm9vbS0tdG9wIHtcbiAgdG9wOjAgIWltcG9ydGFudDtcbn1cbi5oZWFkcm9vbS0tdW5waW5uZWQge1xuICAgIHRvcDogMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IDFzO1xuICAtby10cmFuc2l0aW9uOiAxcztcbiAgLW1vei10cmFuc2l0aW9uOiAxcztcbiAgLW1zLXRyYW5zaXRpb246IDFzO1xuICB0cmFuc2l0aW9uOiAxcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDJweCk7XG4gIC51c2VyLWxvZ2dlZC1pbiAmIHtcbiAgICB0b3A6IDMwcHg7XG4gIH1cbn1cblxuLmhlYWRyb29tLS1waW5uZWQge1xuICB0b3A6IC0xMDJweDtcbiAgdHJhbnNpdGlvbjogMXM7XG59XG4uaGVhZHJvb20uaGVhZHJvb20tLW5vdC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLyoqIEhlYWRyb29tICovXG4uaGVhZHJvb20tLXNlY29uZGFyeSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDFzO1xuICB9XG4uaGVhZHJvb20tLW5vdC10b3AtLXNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjcywgYSkgIWltcG9ydGFudDtcbiAgfVxuLmhlYWRyb29tLS11bnBpbm5lZC0tc2Vjb25kYXJ5IHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogNzJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAxcztcbiAgLW8tdHJhbnNpdGlvbjogMXM7XG4gIC1tb3otdHJhbnNpdGlvbjogMXM7XG4gIC1tcy10cmFuc2l0aW9uOiAxcztcbiAgdHJhbnNpdGlvbjogMXM7IFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgLnVzZXItbG9nZ2VkLWluICYge1xuICAgIHRvcDogMTAycHg7XG4gIH1cbiAgfVxuXG4uaGVhZHJvb20tLXBpbm5lZC0tc2Vjb25kYXJ5IHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogNzJweDtcbiAgdHJhbnNpdGlvbjogMXM7XG4gIFxufVxuLmhlYWRyb29tLS10b3AtLXNlY29uZGFyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB0b3A6IDA7XG59IiwiLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9oZXJvLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEhlcm9cbm5hbWU6ICAgIGNvbXBvbmVudF9oZXJvXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfaGVyb19leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfaGVyb1xuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cImMtaGVyb1wiIHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9wbGFjZWhvbGQuaXQvODAweDQwMCk7XCI+XG4gIDxkaXYgY2xhc3M9XCJjLWhlcm9fX2NvbnRlbnRcIj5cbiAgICA8aDE+TG9yZW0gSXBzdW08L2gxPlxuICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXQganVzdG8gZHVvPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtaGVybyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSkge1xuICAgIGhlaWdodDogMjdlbTtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG0pKSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjhlbTtcbiAgICB9XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAxZW07IFxuICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICB9XG4gIC5pcy1mcm9udCAmIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4uYy1oZXJvX19jb250ZW50IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICB3aWR0aDogMTAwJTtcbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbSkpIHtcbiAgLmlzLWZyb250ICYge1xuICAgIG1heC13aWR0aDogODMlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyBcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDEuMmVtOyBcbiAgICB9XG4gIH1cblxufVxuICAuaXMtbm90LWZyb250ICYge1xuICAgIC5jLWhlcm9fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBAZXh0ZW5kIC51LWJhY2tncm91bmQtY3MtZ3JleS1kLW9wYWNpdHktLTgwO1xuICAgICAgQGV4dGVuZCAudS1wYWRkaW5nLWw7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG0pKSB7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmlzLWZyb250ICYge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyBcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiA3MCU7XG4gIH1cbiAgcCB7Zm9udC1mYW1pbHk6IHVucXVvdGUobWFwLWdldC1kZWVwKCRmb250cywgYiwgZmFtaWx5KSk7IGZvbnQtd2VpZ2h0OiBtYXAtZ2V0LWRlZXAoJGZvbnRzLCBiLCB3ZWlnaHRzLCBsaWdodCk7fVxufVxuXG4udS1mcm9udC1oZXJvLWgxIHtcbiAgZm9udC1zaXplOiAyZW0gIWltcG9ydGFudDtcbn1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2hlcm8uY3NzICovXG4vKiBlbmQgZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4iLCIuYy1oMSxcbi5jLWgyLFxuLmMtaDMsXG4uYy1oNCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCJAaW1wb3J0ICdvYmplY3QvaW1hZ2VfYmFja2dyb3VuZCc7XG5cbi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfaW1hZ2Vfc2VjdGlvbi5jc3MgKi9cbi8qLS0tXG50aXRsZTogICBJbWFnZSBzZWN0aW9uXG5uYW1lOiAgICBjb21wb25lbnRfaW1hZ2Vfc2VjdGlvblxuc2VjdGlvbjogQ29tcG9uZW50XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgY29tcG9uZW50X2ltYWdlX3NlY3Rpb25fZXhhbXBsZVxuc2VjdGlvbjogY29tcG9uZW50X2ltYWdlX3NlY3Rpb25cbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJjLWltYWdlLXNlY3Rpb24gYy1pbWFnZS1zZWN0aW9uLS1kYXJrIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvODAweDYwMFwiIGFsdD1cIlwiPlxuICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS1zZWN0aW9uX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjLWltYWdlLXNlY3Rpb25fX2lubmVyIG8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgIDxoMj5Mb3JlbSBJcHN1bSBkb2xvcjwvaDI+XG4gICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0uPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtaW1hZ2Utc2VjdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLm8taW1hZ2UtYmFja2dyb3VuZF9faW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLW1heCwgbSkpIHtcbiAgICAgIG1heC1oZWlnaHQ6MzAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMtbWF4LCBtKSkge1xuICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICAgIG1pbi13aWR0aDogMTI4MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH0gICAgXG59XG59XG59XG5cbi5jLWltYWdlLXNlY3Rpb24tLWRhcmsge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldF93aWRlKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLmMtaW1hZ2Utc2VjdGlvbl9fY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLW1heCwgbSkpIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzcGFjaW5nLCBtKTtcbiAgfVxufVxuXG4uYy1pbWFnZS1zZWN0aW9uX19pbm5lciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0X3dpZGUpIHtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2luZywgeGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRzcGFjaW5nLCB4bCk7XG4gIH1cbn1cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9pbWFnZV9zZWN0aW9uLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuIiwiLy9AaW1wb3J0ICdhdmFsYW5jaGVzYXNzX29iamVjdF9pc2xhbmQnO1xuXG4vKiBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbi8qIGV4dHJhY3QgY29tcG9uZW50X2luZm9fYmFyLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEluZm8gYmFyXG5uYW1lOiAgICBjb21wb25lbnRfaW5mb19iYXJcbnNlY3Rpb246IENvbXBvbmVudFxuLS0tXG4qL1xuLyotLS1cbnRpdGxlOiAgIEV4YW1wbGVcbm5hbWU6ICAgIGNvbXBvbmVudF9pbmZvX2Jhcl9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfaW5mb19iYXJcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxkaXYgY2xhc3M9XCJjLWluZm8tYmFyIG8taXNsYW5kIHUtYmFja2dyb3VuZC1jcy1iXCI+XG4gIDxwPkluZm86IDxhIGhyZWY9XCIjXCI+cmVhZCBtb3JlPC9hPjwvcD5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtaW5mby1iYXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zNWVtIHNvbGlkIG1hcC1nZXQoJGNzLWdyZXksIGEpO1xufVxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X2luZm9fYmFyLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuIiwiLmMtbGFuZ3VhZ2Utc3dpdGNoZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59ICBcblxuLmMtbGFuZ3VhZ2Utc3dpdGNoZXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWxhbmd1YWdlLXN3aXRjaGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDQwcHg7XG5cdHotaW5kZXg6IDEwMDtcblx0LmMtbGFuZ3VhZ2Utc3dpdGNoZXJfX2l0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxufSIsIi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfbWFpbl9oZWFkZXIuY3NzICovXG4vKi0tLVxudGl0bGU6ICAgTWFpbiBoZWFkZXJcbm5hbWU6ICAgIGNvbXBvbmVudF9tYWluX2hlYWRlclxuc2VjdGlvbjogQ29tcG9uZW50XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgY29tcG9uZW50X21haW5faGVhZGVyX2V4YW1wbGVcbnNlY3Rpb246IGNvbXBvbmVudF9tYWluX2hlYWRlclxuLS0tXG4qL1xuLmMtbWFpbi1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcbiAgYm9yZGVyLXRvcDogMS4yZW0gc29saWQgbWFwLWdldCgkY3MsIGEpO1xuICAub3V0ZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cbiAgLmMtYnJhbmQtZWRnZV9fcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uYy1tYWluLWhlYWRlcl9fdG9wIHtcbiAgLy8gRGlydHkgXCJoYWNrXCIgZm9yIGZ1bGwgd2lkdGggYmFja2dyb3VuZCBvbiB0aGUgcmlnaHQuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgcykpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDkwJSwgbWFwLWdldCgkY3MsIGEpIDkwJSwgbWFwLWdldCgkY3MsIGEpIDEwMCUpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgeGwpKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA2MCUsIG1hcC1nZXQoJGNzLCBhKSA2MCUsIG1hcC1nZXQoJGNzLCBhKSAxMDAlKTtcbiAgfVxufVxuXG4uYy1tYWluLWhlYWRlcl9fZmlyc3Qge1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5nLCBzKSAyZW0gMCAwO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwODBweCkge3BhZGRpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIHMpIDAgMCAwO31cblxufVxuXG4uaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSB7XG4gIC5jLWJsb2NrLWJsb2NraWZ5LWxvZ28ge1xuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA2OHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDExcHg7XG4gICAgfSBcbiAgfVxufSBcbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9tYWluX2hlYWRlci5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cbiIsIi8qIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuLyogZXh0cmFjdCBjb21wb25lbnRfbWFpbl9tZW51LmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIE1haW4gbWVudVxubmFtZTogICAgY29tcG9uZW50X21haW5fbWVudVxuc2VjdGlvbjogQ29tcG9uZW50XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgY29tcG9uZW50X21haW5fbWVudV9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfbWFpbl9tZW51XG4tLS1cbiovXG5cblxuXG5uYXYjbWFpbi1tZW51IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICBcbiAgXG4gICAgLmMtbWVudV9fbGlzdCB7IFxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDIwMDtcbiAgICBcbiAgfVxuICAmPnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgICY+bGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuYy1tZW51X19saW5rIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IFxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWRhcmtlcjtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG4gICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJj5hIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogbWFwLWdldCgkc3BhY2luZywgcykgMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjdlbTtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgcyk7XG4gICAgICBjb2xvcjogJGZvbnQtYmFzZS1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiB1bnF1b3RlKG1hcC1nZXQtZGVlcCgkZm9udHMsIGEsIGZhbWlseSkpO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBsKSkge1xuICAgICAgICBmb250LXNpemU6IDAuNmVtO1xuICAgICAgfVxuICAgICAgJi5pcy1sZXZlbDEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICAgICY6aG92ZXIgdWwgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktbGlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkIG1hcC1nZXQoJGNzLCBhKTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkZGVsdGFibG9jLWJhc2UtY29sb3IgdHJhbnNwYXJlbnQ7IFxuICAgICAgICB9XG4gICAgICAgIGxpIHsgICAgICAgICAgXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pcy1sZXZlbDIge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogdW5xdW90ZShtYXAtZ2V0LWRlZXAoJGZvbnRzLCBiLCBmYW1pbHkpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggM3B4IDBweCAzcHg7XG4gICAgICAgICAgICAgICY+aW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgLy8gZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyMDYsIDIwNSwgMjA1LCAwLjQpIDg1JSwgcmdiYSgxNTYsIDE1NiwgMTU2LCAwLjY1KSAxMDAlKTs7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyMDYsIDIwNSwgMjA1LCAwLjQpIDg1JSwgcmdiYSgxNTYsIDE1NiwgMTU2LCAwLjY1KSAxMDAlKTs7XG4gICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgcGFkZGluZzogMXB4IDNweCAwcHggM3B4OyBcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1saWdodGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgICAgIC8vIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGNvbnRyYXN0KDEwMCUpIGJyaWdodG5lc3MoMjAwJSk7ICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1bC5jLW1lbnVfX2xpc3QtLWxldmVsMSBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAgJGNvbG9yLWdyZXk7IFxuICAgICAgICAgPiBkaXYgPiAuY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICB9IFxuICAgICAgICAuYy1tZW51X19saW5rLS1sZXZlbDIge1xuICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB1bnF1b3RlKG1hcC1nZXQtZGVlcCgkZm9udHMsIGEsIGZhbWlseSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemVzLCBtKTtcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmMtbWVudV9fbGluayB7XG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYy1tZW51X19saXN0LS1sZXZlbDEgLmMtbWVudV9fbGlzdC0tbGV2ZWwxIHtkaXNwbGF5OiBub25lO31cbn1cblxuLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUsXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIHtcblx0bmF2I21haW4tbWVudSB7XG4gIFx0ICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG4gIFx0ICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIFx0ICAgIH1cbiAgXHRcbiAgXHRcbiAgXHQgIC5jLW1lbnVfX2xpc3QgeyBcbiAgXHQgICAgZGlzcGxheTogbm9uZTtcbiAgXHQgICAgei1pbmRleDogMjAwO1xuICBcdCAgXG4gIFx0fVxuICBcdCY+dWwge1xuICBcdCAgbGlzdC1zdHlsZTogbm9uZTtcbiAgXHQgIHBhZGRpbmc6IDA7XG4gIFx0ICBtYXJnaW46IDA7XG4gIFx0ICAmPmxpIHtcbiAgXHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBcdCAgICAmOmxhc3QtY2hpbGQge1xuICBcdCAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXHQgICAgICAuYy1tZW51X19saW5rIHtcbiAgXHQgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgXG4gIFx0ICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBcbiAgXHQgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgXHQgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIFx0ICAgICAgfVxuICBcdCAgICB9XG4gIFx0ICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICBcdCAgICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbiAgXHQgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG4gIFx0ICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBcdCAgICAgIH1cbiAgXHQgICAgfVxuICBcdCAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICBcdCAgICAgICY+YSB7XG4gIFx0ICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIFx0ICAgICAgfVxuICBcdCAgICB9XG4gIFx0ICAgIGEge1xuICBcdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIFx0ICAgIHBhZGRpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIHMpIDA7XG4gIFx0ICAgIHBhZGRpbmctYm90dG9tOiAwLjdlbTtcbiAgXHQgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemVzLCBzKTtcbiAgXHQgICAgY29sb3I6ICRmb250LWJhc2UtY29sb3I7XG4gIFx0ICAgIGZvbnQtZmFtaWx5OiB1bnF1b3RlKG1hcC1nZXQtZGVlcCgkZm9udHMsIGEsIGZhbWlseSkpO1xuICBcdCAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG4gIFx0ICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgXHQgICAgfVxuICBcdCAgICAmLmlzLWxldmVsMSB7XG4gIFx0ICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgXHQgICAgICBpbWcge1xuICBcdCAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgXHQgICAgICB9XG4gIFx0ICAgICAgfVxuICBcdCAgICB9IFxuICBcdCAgICAmOmhvdmVyIHVsICB7XG4gIFx0ICAgICAgZGlzcGxheTogYmxvY2s7XG4gIFx0ICAgIH1cbiAgXHQgICAgdWwge1xuICBcdCAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgXHQgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBcdCAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LWxpZ2h0O1xuICBcdCAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gIFx0ICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgXHQgICAgICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCBtYXAtZ2V0KCRjcywgYSk7XG4gIFx0ICAgICAgJjpiZWZvcmUge1xuICBcdCAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IFxuICBcdCAgICAgICAgY29udGVudDogXCJcIjtcbiAgXHQgICAgICAgIHRvcDogLTEwcHg7XG4gIFx0ICAgICAgICBsZWZ0OiAyMHB4O1xuICBcdCAgICAgICAgd2lkdGg6IDA7XG4gIFx0ICAgICAgICBoZWlnaHQ6IDA7XG4gIFx0ICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBcdCAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuICBcdCAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkZGVsdGFibG9jLWJhc2UtY29sb3IgdHJhbnNwYXJlbnQ7IFxuICBcdCAgICAgIH1cbiAgXHQgICAgICBsaSB7ICAgICAgICAgIFxuICBcdCAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gIFx0ICAgICAgICAgIHNwYW4ge1xuICBcdCAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gIFx0ICAgICAgICAgIH1cbiAgXHQgICAgICAgICAgYTpob3ZlciB7XG4gIFx0ICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIFx0ICAgICAgICAgIH1cbiAgXHQgICAgICAgICAgLmlzLWxldmVsMiB7XG4gIFx0ICAgICAgICAgICAgZm9udC1mYW1pbHk6IHVucXVvdGUobWFwLWdldC1kZWVwKCRmb250cywgYiwgZmFtaWx5KSkgIWltcG9ydGFudDtcbiAgXHQgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpICFpbXBvcnRhbnQ7XG4gIFx0ICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgXHQgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgXHQgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBcdCAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIFx0ICAgICAgICAgICAgcGFkZGluZzogNnB4IDNweCAwcHggM3B4O1xuICBcdCAgICAgICAgICAgICY+aW1nIHtcbiAgXHQgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICBcdCAgICAgICAgICAgIH1cbiAgXHQgICAgICAgICAgfVxuICBcdCAgICAgICAgICBpbWcge1xuICBcdCAgICAgICAgICAgIC8vIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBcdCAgICAgICAgICB9XG4gIFx0ICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDIwNiwgMjA1LCAyMDUsIDAuNCkgODUlLCByZ2JhKDE1NiwgMTU2LCAxNTYsIDAuNjUpIDEwMCUpOztcbiAgXHQgICAgICAgICY6aG92ZXIge1xuICBcdCAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyMDYsIDIwNSwgMjA1LCAwLjQpIDg1JSwgcmdiYSgxNTYsIDE1NiwgMTU2LCAwLjY1KSAxMDAlKTs7XG4gIFx0ICAgICAgICB9XG4gIFx0ICAgICAgICB9XG5cbiAgXHQgICAgICB9XG4gIFx0ICAgICAgYSB7XG4gIFx0ICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICBcdCAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgXHQgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgXHQgICAgICAgIHBhZGRpbmc6IDFweCAzcHggMHB4IDNweDsgXG4gIFx0ICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgXHQgICAgICAgICY6aG92ZXIge1xuICBcdCAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktbGlnaHRlcjtcbiAgXHQgICAgICAgICAgaW1nIHtcbiAgXHQgICAgICAgICAgICBcbiAgXHQgICAgICAgICAgfVxuICBcdCAgICAgICAgfVxuICBcdCAgICAgICAgaW1nIHtcbiAgXHQgICAgICAgICAgbWFyZ2luOiA1cHg7XG4gIFx0ICAgICAgICAgIC8vIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGNvbnRyYXN0KDEwMCUpIGJyaWdodG5lc3MoMjAwJSk7ICAgICAgICAgXG4gIFx0ICAgICAgICB9XG4gIFx0ICAgICAgfVxuICBcdCAgICB9XG4gIFx0ICAgIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpIHtcbiAgXHQgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgICRjb2xvci1ncmV5OyBcbiAgXHQgICAgICAgPiBkaXYgPiAuY29udGVudCB7XG4gIFx0ICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICBcdCAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICBcdCAgICAgICB9IFxuICBcdCAgICAgIC5jLW1lbnVfX2xpbmstLWxldmVsMiB7XG4gIFx0ICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogNDVweDtcbiAgXHQgICAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgXHQgICAgICAgICAgZm9udC1mYW1pbHk6IHVucXVvdGUobWFwLWdldC1kZWVwKCRmb250cywgYSwgZmFtaWx5KSk7XG4gIFx0ICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgbSk7XG4gIFx0ICAgICAgICAgIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIFx0ICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIFx0ICAgICAgICAgIHNwYW4ge1xuICBcdCAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgXHQgICAgICAgICAgfVxuICBcdCAgICAgIH1cbiAgXHQgICAgICAgICYuYWN0aXZlLXRyYWlsIHtcbiAgXHQgICAgICAgICAgXG4gIFx0ICAgICAgICAgIC5jLW1lbnVfX2xpbmsge1xuICBcdCAgICAgICAgICAgIGltZyB7XG4gIFx0ICAgICAgICAgICAgICBcbiAgXHQgICAgICAgICAgICB9XG4gIFx0ICAgICAgICAgIH1cbiAgXHQgICAgICAgIH1cbiAgXHQgICAgICBcbiAgXHQgICAgfVxuICBcdCAgfVxuICBcdH1cbiAgXHQuYy1tZW51X19saXN0LS1sZXZlbDEgLmMtbWVudV9fbGlzdC0tbGV2ZWwxIHtkaXNwbGF5OiBub25lO31cblx0fVxufVxuXG4uaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tIHtcblx0bmF2I21haW4tbWVudSB7XG4gIFx0ICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG4gIFx0ICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIFx0ICAgIH1cbiAgXHRcbiAgXHRcbiAgXHQgIC5jLW1lbnVfX2xpc3QgeyBcbiAgXHQgICAgZGlzcGxheTogbm9uZTtcbiAgXHQgICAgei1pbmRleDogMjAwO1xuICBcdCAgXG4gIFx0fVxuICBcdCY+dWwge1xuICBcdCAgbGlzdC1zdHlsZTogbm9uZTtcbiAgXHQgIHBhZGRpbmc6IDA7XG4gIFx0ICBtYXJnaW46IDA7XG4gIFx0ICAmPmxpIHtcbiAgXHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBcdCAgICAmOmxhc3QtY2hpbGQge1xuICBcdCAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXHQgICAgICAuYy1tZW51X19saW5rIHtcbiAgXHQgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgXG4gIFx0ICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBcbiAgXHQgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgXHQgICAgICAgIGNvbG9yOiAjMjIyO1xuICBcdCAgICAgIH1cbiAgXHQgICAgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxubmF2I21haW4tbWVudSA+IHVsID4gbGkgdWwgeyBtYXJnaW4tdG9wOiAwO31cbm5hdiNtYWluLW1lbnUgPiB1bCA+IGxpIHVsLmMtbWVudV9fbGlzdC0tbGV2ZWwxIGxpID4gZGl2ID4gLmNvbnRlbnQgeyB3aWR0aDogMTAwJTsgfVxuICAvLyAuYy1tYWluLW1lbnUge1xuICAvLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gICB0ZXh0LWFsaWduOiByaWdodDtcbiAgLy8gICA+IHVsIHtcbiAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIC8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gLmMtbWVnYS1kcm9wZG93bl9fY29udGVudCB7XG4gIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyB9XG5cbiAgLy8gLmMtbWFpbi1tZW51X19pdGVtIHtcbiAgLy8gICAmLmlzLWxldmVsMSB7XG4gIC8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgLy8gICAgICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJHNwYWNpbmcsIG0pO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIC5jLW1haW4tbWVudV9fbGluayB7XG4gIC8vICAgJi5pcy1sZXZlbDEge1xuICAvLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvLyAgICAgcGFkZGluZzogbWFwLWdldCgkc3BhY2luZywgcykgMDtcbiAgLy8gICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8vICAgICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpO1xuICAvLyAgICAgY29sb3I6ICRmb250LWJhc2UtY29sb3I7XG4gIC8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vICAgfVxuICAvLyAgIC5oYXMtc3VibmF2ICYuaXMtbGV2ZWwxOjphZnRlciB7XG4gIC8vICAgICBjb250ZW50OiAnJztcbiAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gICAgIGJvdHRvbTogMDtcbiAgLy8gICAgIGxlZnQ6IDUwJTtcbiAgLy8gICAgIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIC8vICAgICBib3JkZXI6IDAuNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAvLyAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkY3MsIGEpO1xuICAvLyAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAvLyAgICAgb3BhY2l0eTogMDtcbiAgLy8gICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLy8gICB9XG4gIC8vICAgLmhhcy1zdWJuYXY6aG92ZXIgJi5pcy1sZXZlbDEsXG4gIC8vICAgLmhhcy1zdWJuYXY6Zm9jdXMgJi5pcy1sZXZlbDEge1xuICAvLyAgICAgJjo6YWZ0ZXIge1xuICAvLyAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAvLyAgICAgICBvcGFjaXR5OiAxO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIC5jLW1haW4tbWVudV9fZHJvcGRvd24ge1xuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gICByaWdodDogMDtcbiAgLy8gICB3aWR0aDogMTAwJTtcbiAgLy8gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC8vICAgb3BhY2l0eTogMDtcbiAgLy8gICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpO1xuICAvLyAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLy8gICAuYy1tYWluLW1lbnVfX2l0ZW06aG92ZXIgJixcbiAgLy8gICAuYy1tYWluLW1lbnVfX2l0ZW06Zm9jdXMgJiB7XG4gIC8vICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAvLyAgICAgb3BhY2l0eTogMTtcbiAgLy8gICB9XG4gIC8vIH1cblxuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50X21haW5fbWVudS5jc3MgKi9cbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudC5jc3MgKi9cblxuIiwiLmdtYXAtcG9wdXAge1xuXHQubWFwLWJ1YmJsZS1sZWZ0LCAubWFwLWJ1YmJsZS1yaWdodCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyBcblx0XHR3aWR0aDphdXRvOyBcblx0XHRtaW4td2lkdGg6IDUwcHg7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxuXHQubWFwLWJ1YmJsZS1pbWcge1xuXHRcdG1hcmdpbjogMC4yZW0gMC42ZW0gMC4yZW0gMDsgXG5cdH0gXG5cdC5tYXAtYnViYmxlLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDEuMmVtOyBcblx0XHRtYXJnaW46IDAuMmVtIDA7IFxuXHR9XG5cdC5tYXAtYnViYmxlLWFkZHJlc3Mge1xuXHRcdG1hcmdpbi1ib3R0b206IDAuMmVtO1xuXHR9XG5cdC5jLW5vZGUtbGljZW5zZS1wYXJ0bmVyX19sb2NhdGlvbi1waG9uZS1jb250ZW50LCAuYy1ub2RlLWxpY2Vuc2UtcGFydG5lcl9fbG9jYXRpb24tZmF4IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxuXHR9XG5cdC5tYXAtYnViYmxlLXBob25lLCAubWFwLWJ1YmJsZS1mYXgge1xuXHRcdHNwYW4ge1xuXHRcdFx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0XHR9XG5cdH1cblx0Lm1hcC1idWJibGUtZW1haWwge1xuXHRcdG1hcmdpbi10b3A6IDAuMmVtO1xuXHR9XG5cbn0iLCIuYy1tZWRpYS1tdWx0aSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbSkpIHtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2luZywgeHh4bCk7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHNwYWNpbmcsIHh4eGwpO1xuICB9XG59XG5cbi5jLW1lZGlhLW11bHRpX19sZWZ0LWlubmVyIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAuYy1tZWRpYS1tdWx0aS0tYmlnICYge1xuICAgICAgICB3aWR0aDogMzQwcHg7XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIC5jLW1lZGlhLW11bHRpLS1iaWcgJiB7XG4gICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4bCkpIHtcbiAgICBpbWcge1xuICAgICAgICAuYy1wYXJhZ3JhcGhzLWl0ZW0tbWVkaWEtbXVsdGkuby1jb250YWluZXIgJiB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIH0gXG4gICAgICAuYy1tZWRpYS1tdWx0aS0tYmlnICYge1xuICAgICAgICB3aWR0aDogNTgwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MGVtKSB7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiBcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogNDkwcHg7XG4gICAgICAuYy1tZWRpYS1tdWx0aS0tYmlnICYge1xuICAgICAgICB3aWR0aDogNjgwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogNzQwcHg7XG4gICAgICAuYy1tZWRpYS1tdWx0aS0tYmlnICYge1xuICAgICAgICB3aWR0aDogOTEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9IFxufVxuIiwiQGltcG9ydCAnYXZhbGFuY2hlc2Fzc19vYmplY3RfZ3JpZCc7XG5AaW1wb3J0ICdjb21wb25lbnQvaW1hZ2VfaGVhZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudC9pbWFnZV90ZWFzZXInO1xuQGltcG9ydCAnYXZhbGFuY2hlc2Fzc191dGlsaXR5X3dpZHRoJztcblxuLyogZXh0cmFjdCBjb21wb25lbnQuY3NzICovXG4vKiBleHRyYWN0IGNvbXBvbmVudF9tZWdhX2Ryb3Bkb3duLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIE1lZ2EgZHJvcGRvd25cbm5hbWU6ICAgIGNvbXBvbmVudF9tZWdhX2Ryb3Bkb3duXG5zZWN0aW9uOiBDb21wb25lbnRcbi0tLVxuKi9cbi8qLS0tXG50aXRsZTogICBFeGFtcGxlXG5uYW1lOiAgICBjb21wb25lbnRfbWVnYV9kcm9wZG93bl9leGFtcGxlXG5zZWN0aW9uOiBjb21wb25lbnRfbWVnYV9kcm9wZG93blxuLS0tXG5cbmBgYGV4YW1wbGU6aHRtbFxuPGRpdiBjbGFzcz1cImMtbWVnYS1kcm9wZG93blwiIHN0eWxlPVwiaGVpZ2h0OiA2MDBweDtcIj5cbiAgPGRpdiBjbGFzcz1cImMtbWVnYS1kcm9wZG93bl9faGVhZGVyIGMtaW1hZ2UtaGVhZGVyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgIDxpbWcgY2xhc3M9XCJvLWltYWdlLWJhY2tncm91bmRfX2ltYWdlXCIgc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC84NjB4MTIwXCIgYWx0PVwiXCI+XG4gICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtaGVhZGVyX19jb250ZW50IG8taW1hZ2UtYmFja2dyb3VuZF9fY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXJcIj5cbiAgICAgICAgPGgyPkxvcmVtIElwc3VtPGJyIC8+XG4gICAgICAgIERvbG9yIHNpdDwvaDI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx1bCBjbGFzcz1cImMtbWVnYS1kcm9wZG93bl9fY29udGVudCBvLWdyaWRcIj5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJvLWdyaWRfX2l0ZW0gdS13aWR0aC0xMiB1LXdpZHRoLTRAbVwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyIG8taW1hZ2UtYmFja2dyb3VuZFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiby1pbWFnZS1iYWNrZ3JvdW5kX19pbWFnZVwiIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMjUweDE0MFwiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQgby1pbWFnZS1iYWNrZ3JvdW5kX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImMtaW1hZ2UtdGVhc2VyX19pbm5lciBvLWltYWdlLWJhY2tncm91bmRfX2lubmVyXCI+XG4gICAgICAgICAgICA8aDU+TG9yZW0gSXBzdW0gZG9sb3Igc2l0PC9oNT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuYGBgXG4qL1xuLmMtbWVnYS1kcm9wZG93biB7XG4gICNtYWluLW1lbnUgJiB7XG4gICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCBtYXAtZ2V0KCRjcywgYSk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLDAuMTYpLDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMTIpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRkZWx0YWJsb2MtYmFzZS1jb2xvciB0cmFuc3BhcmVudDsgXG4gICAgICAgICAgfVxuICB9XG59XG4uYy1tZWdhLWRyb3Bkb3duX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LWRhcmtlcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgaDQge1xuICAgIG1hcmdpbjogMWVtOyBcbiAgfVxuICAuYy10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IFxuICAgICNtYWluLW1lbnUgJiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgY29udGVudDogXCJcXGU2NDZcIjtcbiAgICAgICAgICAgZm9udC1mYW1pbHk6IFwidGhlbWlmeVwiO1xuICAgICAgICAgICBtYXJnaW46IDAgMCAwIDhweDtcbiAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICB9XG4gICAgfVxuICB9XG4gIGEucHJvZHVjdC1tZW51LWRhdGEtc2hlZXQtbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICBwYWRkaW5nOiAwLjZlbSAwLjc1ZW0gMC4zZW0gMC43NWVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIEBleHRlbmQgLmMtYnV0dG9uOyAgXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgIWltcG9ydGFudDtcbiAgICB9IFxuICB9XG59XG5cbiBcbi8qIGVuZCBleHRyYWN0IGNvbXBvbmVudF9tZWdhX2Ryb3Bkb3duLmNzcyAqL1xuLyogZW5kIGV4dHJhY3QgY29tcG9uZW50LmNzcyAqL1xuXG5cbi5jLW1lZ2EtZHJvcGRvd24ucHJvZHVjdF9tZW51IHtcbiAgI21haW4tbWVudSAmIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDg2MHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMtbWF4LCBsKSkge1xuICAgIHdpZHRoOiA1NTBweDtcbiAgICBtYXgtaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICB9XG4gIC5jLW1lZ2EtZHJvcGRvd25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgLnByb2R1Y3RfZmlsdGVycyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleTtcbiAgICAgIG1hcmdpbjogMCAwIDFlbSAwO1xuICAgICAgJiAuby1ncmlkX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMmVtIDIuNWVtIDAuNWVtIDIuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAjbWFpbi1tZW51ICYge1xuICAgICAgcGFkZGluZzogMmVtO1xuICAgIH1cbiAgICAubGV2ZWxfcGFyZW50LmxldmVsX2Jfc2VsZiB7XG4gICAgICAuYy1kYXRhLXNoZWV0LWxpc3R7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLy8gLmxldmVsX3BhcmVudDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgLy8gICAgIC5jLWRhdGEtc2hlZXQtbGlzdHtcbiAgLy8gICAgIGEge1xuICAvLyAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5jLWRhdGEtc2hlZXQtbGlzdHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDAuMmVtIDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm8tZ3JpZCA+IC5vLWdyaWRfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjRlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6MyU7XG4gICAgXG4gICAgI21haW4tbWVudSAmIHtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIH0gIFxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgICYuYWN0aXZlX3RyYWlsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICBjb250ZW50OiBcIlxcZTY0Y1wiO1xuICAgICAgICAgZm9udC1mYW1pbHk6IFwidGhlbWlmeVwiO1xuICAgICAgICAgbWFyZ2luOiAwIDAgMCA4cHg7XG4gICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICBjb2xvcjogZ3JlZW47XG4gICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICB9XG4gICAgIH1cbiAgfVxuXG4gIC5sZXZlbF8zIHtcbiAgICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgICBoMiB7bWFyZ2luLWJvdHRvbTogMS41ZW0gIWltcG9ydGFudDt9XG4gICAgLmMtZGF0YS1zaGVldC1saXN0IHtcbiAgICAgIGEge1xuICAgICAgcGFkZGluZzogNXB4IDVweCAycHggNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LWxpZ2h0O1xuICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxufVxuXG4uYy1ub2RlLWxhbmRpbmctcGFnZSB7XG4gIC5jLW1lZ2EtZHJvcGRvd25fX2hlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIuYy1tZW51X19saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuIiwiLmMtbWVzc2FnZSB7XG4gIHBhZGRpbmc6IG1hcC1nZXQoJHNwYWNpbmcsIG0pO1xuICBib3JkZXItbGVmdDogMC4xNWVtIHNvbGlkO1xuICArIC5jLW1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJHNwYWNpbmcsIHhzKTtcbiAgfVxufVxuXG4uYy1tZXNzYWdlLS1zdGF0dXMge1xuICBjb2xvcjogbWFwLWdldCgkY3MtYWxlcnRzLCBuZXV0cmFsKTtcbiAgYmFja2dyb3VuZDogbWl4KG1hcC1nZXQoJGNzLWFsZXJ0cywgbmV1dHJhbCksICNmZmYsIDYlKTtcbn1cblxuLmMtbWVzc2FnZS0tZXJyb3Ige1xuICBjb2xvcjogbWFwLWdldCgkY3MtYWxlcnRzLCBuZWdhdGl2ZSk7XG4gIGJhY2tncm91bmQ6IG1peChtYXAtZ2V0KCRjcy1hbGVydHMsIG5lZ2F0aXZlKSwgI2ZmZiwgNiUpO1xufVxuXG4uYy1tZXNzYWdlLS13YXJuaW5nIHtcbiAgY29sb3I6IG1hcC1nZXQoJGNzLWFsZXJ0cywgY2F1dGlvdXMpO1xuICBiYWNrZ3JvdW5kOiBtaXgobWFwLWdldCgkY3MtYWxlcnRzLCBjYXV0aW91cyksICNmZmYsIDYlKTtcbn1cbiIsIi5jLWJsb2NrLW1vYmlsZS1tZW51LCAuYy10b2dnbGUtaWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLXNtYWxsLWxvZ28geyBcblx0d2lkdGg6IDE2NHB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvZGVsdGFibG9jLWxvZ28tc21hbGwucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIFx0dHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDtcbiAgICBvcGFjaXR5OiAwOyBcbiAgICBoZWlnaHQ6IDA7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tICYge1xuICAgIFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL3Bob25vYmxvYy1sb2dvLXNtYWxsLnBuZ1wiKTtcbiAgICB9XG4gICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgJiB7XG4gICAgXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvY2l0eWJsb2MtbG9nby1zbWFsbC5wbmdcIik7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgIFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblx0Ji5zdGlja3kge1xuXHRcdG9wYWNpdHk6IDE7XHRcdFxuXHRcdG1hcmdpbi10b3A6IDZweDtcbiAgICBcdGhlaWdodDogMzNweDtcblx0fVxufVxuXG4jbW9iaWxlLW1lbnUge1xuXHQuYy10b3BsaW5rcyB7XG5cdFx0LmMtdG9wbGlua3Mtc2VwZXJhdG9yIHtkaXNwbGF5OiBub25lO31cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07IFxuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRtYXJnaW46IDAuNWVtIDA7XG5cdFx0XHQmLnRpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IDJlbTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG5cdGhlYWRlciAuYy1icmFuZC1lZGdlX19yaWdodCB7cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IHdpZHRoOiA0MCU7fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG0pKSB7XG5cdGhlYWRlciAuYy1icmFuZC1lZGdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cdH1cblx0XG5cdGhlYWRlciAjbWFpbi1tZW51LCBoZWFkZXIgLmMtYnJhbmQtZWRnZV9fcmlnaHQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH0gXHRcblx0aGVhZGVyIC5jLWJyYW5kLWVkZ2VfX2xlZnQge21heC13aWR0aDogNjAlOyBwYWRkaW5nOiAwOyBmbG9hdDogcmlnaHQ7IG1hcmdpbi10b3A6IDEwcHg7fVxuXHRoZWFkZXIgLmMtbWFpbi1oZWFkZXJfX3RvcCB7YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOiAxMHB4O30gXG5cdC5jLXRvZ2dsZS1pY29uIHtcblx0XHRcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jazsgXG5cdFx0XHRmbG9hdDogbGVmdDsgXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4OyBcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTY4ZVwiO1xuXHRcdFx0XHRmb250LWZhbWlseTogXCJ0aGVtaWZ5XCI7XG5cdFx0ICAgICAgICBmb250LXNpemU6IDJlbTtcblx0XHQgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0ICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdCAgICAgICAgYmFja2dyb3VuZDogJGRlbHRhYmxvYy1iYXNlLWNvbG9yO1xuXHRcdCAgICAgICAgcGFkZGluZzogNXB4O1xuXHRcdCAgICAgICAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgJiB7XG5cdFx0ICAgICAgICBcdGJhY2tncm91bmQ6ICRjaXR5YmxvYy1jb2xvcjtcblx0XHQgICAgICAgIH1cblx0XHQgICAgICAgIC5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20gJiB7XG5cdFx0ICAgICAgICBcdGJhY2tncm91bmQ6ICRwaG9ub2Jsb2MtY29sb3I7XG5cdFx0ICAgICAgICB9XG5cdFx0XHR9XG5cdFx0XG5cdH1cblx0LmMtaGVybyB7XG4gICAgaGVpZ2h0OiAzMGVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBzKSkge1xuICAuYy1tb2JpbGUtc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCAgZmxvYXQ6IGxlZnQ7XG5cdCAgbWFyZ2luLXRvcDogMTBweDtcblx0XHQmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGU2MTBcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwidGhlbWlmeVwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgY29sb3I6ICRkZWx0YWJsb2MtYmFzZS1jb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIC5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1ICYge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2l0eWJsb2MtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tICYge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcGhvbm9ibG9jLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4iLCIuZGF0ZS1kaXNwbGF5LXNpbmdsZSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbi5jLW5ld3Mtcm93X19saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGNzLWdyZXksIGMpO1xuICBcbiAgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAuYy1maWVsZC5jLW5vZGUtbmV3c19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuICAudmlld3MtZmllbGQudmlld3MtZmllbGQtdmlldy1ub2RlIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG59XG59XG4uYy1uZXdzLWFyY2hpdmVsaXN0IHtcbiAgaDMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgbWFwLWdldCgkY3MtZ3JleSwgYyk7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgfVxufVxuXG4ubm9kZS10eXBlLW5ld3MgI21haW4ge1xuICBtYXJnaW4tdG9wOiAyZW07XG5cbn1cblxuLmMtdmlldy1uZXdzLS1ibG9jay0xIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktbGlnaHQ7XG4gIHBhZGRpbmc6IDEuNWVtO1xuICAuZGF0ZS1kaXNwbGF5LXNpbmdsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudmlld3MtZmllbGQtdmlldy1ub2RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgXG59XG4uc2VjdGlvbi1uZXdzIC5lYXN5LWJyZWFkY3J1bWJfc2VnbWVudC10aXRsZXtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2Fzc2V0cy9kYi1uZXdzLWljb24td2hpdGUucG5nKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIHBhZGRpbmc6IDRweCAwIDAgMjhweCAhaW1wb3J0YW50O1xuXG59IiwiLmMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmMtb3ZlcmxheXR5cGUtb3ZlcmxheSwgLmMtb3ZlcmxheXR5cGUtZ3JhZGllbnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQob25seV9tb2JpbGUpIHtcbiAgICAgIG9wYWNpdHk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXRfd2lkZSl7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDsgXG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuICAuYy1vdmVybGF5dHlwZS1vdmVybGF5IHsgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXRfd2lkZSl7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyAgXG4gICAgfSAgXG4gIH1cbiAgLmMtb3ZlcmxheXR5cGUtZ3JhZGllbnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0X3dpZGUpe1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNjY2NjY2MsICMwMDAwMDApO1xuICAgIH1cbiAgfVxuICAuYy1lZGl0b3ItY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59IiwiLnBhZ2Utc2VhcmNoIHtcbiAgLmMtZm9ybV9fZmllbGQuY29udGFpbmVyLWlubGluZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5jLWZvcm1fX2l0ZW0tLWtleXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cbiAgfVxuICAuc2VhcmNoLXJlc3VsdHMge1xuICAgIG1hcmdpbi1ib3R0b206IDVlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIC5zZWFyY2gtaW5mbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2VhcmNoLXJlc3VsdCB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICB9XG4gIC5jLXBhZ2VyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmMtcGFnZXJfX2l0ZW0ge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAuNWVtO1xuICB9XG59XG4iLCIudS1yZWcge1xuXHR2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG5cdGZvbnQtc2l6ZTogLjY1ZW07XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59IiwiLmMtdmlldy1zZWFyY2gge1xuXHQuYy1wYWdlciB7XG5cdFx0Zm9udC1zaXplOiAxLjFlbTtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5jLXBhZ2VyX19pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuaXRlbS1saXN0IHVsIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHR9XG5cblx0LnZpZXdzLXJvdyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR9XG5cblx0LmMtdmlld19fd2lkZ2V0LmMtdmlld19fd2lkZ2V0LS1zdWJtaXQge1xuXHRcdG1hcmdpbi10b3A6IC41ZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG5cdH1cblxuXHQuYy1mb3JtIHtcblx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdH1cblxuXHQuYy1mb3JtIC5jLWZvcm1fX3RleHQge1xuXHRcdHBhZGRpbmctbGVmdDogLjVlbTtcblx0fVxufSIsIi5jLXN1Ymhlcm8tc2VjdGlvbiB7XG4gIFx0bWFyZ2luLXRvcDogLTMycHg7IFxuICBcdHotaW5kZXg6IDIwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gRGlydHkgXCJoYWNrXCIgZm9yIGZ1bGwgd2lkdGggYmFja2dyb3VuZCBvbiB0aGUgcmlnaHQuXG4gICBcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgODIlLCBtYXAtZ2V0KCRjcywgYSkgODIlLCBtYXAtZ2V0KCRjcywgYSkgMTAwJSk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyZW0pIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNzclLCBtYXAtZ2V0KCRjcywgYSkgNzclLCBtYXAtZ2V0KCRjcywgYSkgMTAwJSk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjJlbSkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3MiUsIG1hcC1nZXQoJGNzLCBhKSA3MiUsIG1hcC1nZXQoJGNzLCBhKSAxMDAlKTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MGVtKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDY4JSwgbWFwLWdldCgkY3MsIGEpIDY4JSwgbWFwLWdldCgkY3MsIGEpIDEwMCUpO1xuICAgIH1cbiAgICAmLnN0aWNreSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UxMDAxRjtcbiAgICB9XG4gICAgLmMtYnJhbmQtZWRnZV9fcmlnaHQge1xuICAgIFx0Zm9udC13ZWlnaHQ6IDQwMDtcbiAgICBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgXHRmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpO1xuICAgIH1cbiAgICAuZWFzeS1icmVhZGNydW1iLCAuYy1zdWJoZXJvLXNlY3Rpb24tbmV3cyB7XG4gICAgXHRwYWRkaW5nOiA5cHggMCAwIDA7XG4gICAgXHRsaW5lLWhlaWdodDogMWVtO1xuICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgIC5pcy1mcm9udCAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUge1xuICBcdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICRjb2xvci1yZWQ7IFxuICBcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvci1ncmV5LWxpZ2h0O1xuICBcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXk7IFxuICBcdFx0ZGlzcGxheTpibG9jaztcbiAgICBcdHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIFx0YSB7XG4gICAgXHRcdGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgXHRcdGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgcyk7XG4gICAgXHRcdCY6dmlzaXRlZCB7XG4gICAgXHRcdFx0Y29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBcdFx0fVxuICAgICAgICAmLmFuY2hvci1tZW51IHtcbiAgICAgICAgICAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1saWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA0cHggMXB4IDRweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LWRhcms7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcdH1cbiAgICAgIC5jLXZpZXctbmV3cy0tYmxvY2sgLml0ZW0tbGlzdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc4ZW07XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY3MsIGEpO1xuICAgICAgICAgICAgICAuaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwNTI5MjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMzk4MDczO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBcdC5jLXZpZXctbmV3cy0tYmxvY2ssIHVsLmMtbWVudV9fbGlzdCB7XG4gIFx0XHRcdHBhZGRpbmctdG9wOiA3cHg7XG4gICAgXHRcdHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgXHR9XG4gICAgXHQuYy12aWV3LW5ld3NfX2NvbnRlbnQge1xuICAgIFx0XHQmPmRpdiB7XG4gICAgXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFx0XHR9XG4gICAgXHRcdC52aWV3cy1maWVsZC12aWV3LW5vZGUge1xuICAgIFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIFx0XHRcdGEge1xuICAgIFx0XHRcdFx0Y29sb3I6ICRjb2xvci1yZWQ7XG4gICAgXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBcdFx0XHR9XG4gICAgXHRcdH1cbiAgICBcdH1cbiAgXHRcdHVsLmMtbWVudV9fbGlzdCB7XG4gIFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG4gIFx0XHRcdGxpIHtcbiAgXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ibGFjazsgXG4gIFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG4gIFx0XHRcdH1cbiAgXHRcdH1cbiAgXHR9XG59XG4iLCJ1bC5jLXN5c3RlbS10YWIge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpIHtcbiAgICBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcdGJhY2tncm91bmQtY29sb3I6ICRkZWx0YWJsb2MtYmFzZS1jb2xvcjtcbiAgICBcdG1hcmdpbjogMC41ZW0gMC4yZW0gMC41ZW0gMDtcbiAgICAmOmhvdmVyIHtcbiAgICBcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGRlbHRhYmxvYy1iYXNlLWNvbG9yLCAxMCUpO1xuICAgIH1cbiAgICBhIHtcbiAgICBcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgXHRwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgXHRkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cdH1cbn0iLCIuYy10ZXh0LXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2luZywgeHhsKTtcbiAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHNwYWNpbmcsIHh4bCk7XG59XG5cbi5jLXRleHQtc2VjdGlvbl9fc3ViLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuIiwiLmMtbWFpbi1oZWFkZXJfX3NlY29uZCwgLmMtbWFpbi1oZWFkZXJfX3RoaXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmMtbWFpbi1oZWFkZXJfX3NlY29uZCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5jLXRvcGxpbmtzLCAuYy1zZWNfdG9wbGlua3Mge1xuXHRhLCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICB9XG4gIHNwYW4uYy10b3BsaW5rcy1zZXBlcmF0b3Ige1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLXdoaXRlOyBcbiAgICBoZWlnaHQ6IDE0cHg7XG4gIH1cbiAgYSB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHMpO1xuXHRcdCYudGkge1xuXHRcdFx0Zm9udC1zaXplOiAxLjFlbTtcblx0XHRcdHBhZGRpbmc6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fSBcbn0iLCIuaXMtZnJvbnQge1xuXHQuYy1zdWJoZXJvLXNlY3Rpb24tbmV3cyB7XG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2Fzc2V0cy9kYi1uZXdzLWljb24td2hpdGUucG5nKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0Zm9udC1zaXplOiAxLjNlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDI4cHggIWltcG9ydGFudDsgXG5cdH1cbn0iLCIudS1iYWNrZ3JvdW5kLWNzLWEge1xuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjcywgYSk7XG4gICYsXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNzLWNvbnRyYXN0LCBhKTtcbiAgfVxufVxuXG4udS1iYWNrZ3JvdW5kLWNzLWdyZXktYyB7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNzLWdyZXksIGMpO1xuICAmLFxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi51LWJhY2tncm91bmQtY3MtZ3JleS1kIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkY3MtZ3JleSwgZCk7XG4gICYsXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLnUtYmFja2dyb3VuZC1jcy1ncmV5LWQtb3BhY2l0eS0tODAge1xuICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGNzLWdyZXksIGQpLC44KTtcbiAgJixcbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufSIsIi5lYXN5LWJyZWFkY3J1bWIgeyBcblx0YS5lYXN5LWJyZWFkY3J1bWJfc2VnbWVudCB7XG5cdFx0XG5cdCAgICBcblx0fVxuXG5cdC5lYXN5LWJyZWFkY3J1bWJfc2VnbWVudC1zZXBhcmF0b3J7XG5cdCY6YWZ0ZXIge1xuXHRcdCAgICBjb250ZW50OiBcIlxcZTY2MVwiO1xuXHRcdCAgICBtYXJnaW46IDAgNXB4O1xuXHRcdCAgICBmb250LWZhbWlseTogJ3RoZW1pZnknO1xuXHRcdCAgICBzcGVhazogbm9uZTtcblx0XHQgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdCAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdCAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0XHQgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0ICAgIGxpbmUtaGVpZ2h0OiAxO1xuXHRcdCAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHQgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHQgICAgZm9udC1zaXplOiAwLjhlbTtcblx0XHR9XG5cdH1cbn1cblxuIiwiLmVsZW1lbnQtaW52aXNpYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uZWxlbWVudC1pbnZpc2libGUuaXMtZm9jdXNhYmxlOmFjdGl2ZSxcbi5lbGVtZW50LWludmlzaWJsZS5pcy1mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xufVxuIiwiLm91dGJvdW5kX2xpbms6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlxcZTczMlwiO1xuXHRmb250LWZhbWlseTogXCJ0aGVtaWZ5XCI7XG5cdG1hcmdpbjogLTNweCAwcHggMHB4IDNweDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufSAiLCIvKiBleHRyYWN0IHV0aWxpdHkuY3NzICovXG4vKiBleHRyYWN0IHV0aWxpdHlfZm9udF9zaXplLmNzcyAqL1xuLyotLS1cbnRpdGxlOiAgIEZvbnQgc2l6ZVxubmFtZTogICAgdXRpbGl0eV9mb250X3NpemVfYmFyXG5zZWN0aW9uOiBVdGlsaXR5XG4tLS1cbiovXG4vKi0tLVxudGl0bGU6ICAgRXhhbXBsZVxubmFtZTogICAgdXRpbGl0eV9mb250X3NpemVfZXhhbXBsZVxuc2VjdGlvbjogdXRpbGl0eV9mb250X3NpemVcbi0tLVxuXG5gYGBleGFtcGxlOmh0bWxcbjxwIGNsYXNzPVwidS1mb250LXNpemUtbFwiPlxuICBMb3JlbSBJcHN1bVxuPC9wPlxuYGBgXG4qL1xuLnUtZm9udC1zaXplLWwge1xuICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGwpO1xufVxuLyogZW5kIGV4dHJhY3QgdXRpbGl0eV9mb250X3NpemUuY3NzICovXG4vKiBlbmQgZXh0cmFjdCB1dGlsaXR5LmNzcyAqL1xuIiwiLnUtb3V0bGluZS1ub25lIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbiIsIi51LXBhZGRpbmctdG9wLW0ge1xuICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2luZywgbSk7XG59XG5cbi51LXBhZGRpbmctdG9wLWwge1xuICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2luZywgbCk7XG59XG5cbi51LXBhZGRpbmctdG9wLXhsIHtcbiAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHNwYWNpbmcsIHhsKTtcbn1cblxuLnUtcGFkZGluZy1tIHtcbiAgcGFkZGluZzogbWFwLWdldCgkc3BhY2luZywgbSk7XG59XG4udS1wYWRkaW5nLWwge1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5nLCBsKTtcbn1cbi51LXBhZGRpbmcteGwge1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5nLCB4bCk7XG59XG5cblxuLnUtcGFkZGluZy13cmFwIHtcbiAgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2luZywgbSk7XG4gIH1cbn1cbiIsIi51LXNwYWNpbmctdG9wLW0ge1xuICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzcGFjaW5nLCBtKTtcbn1cblxuLnUtc3BhY2luZy10b3AtbCB7XG4gIG1hcmdpbi10b3A6IG1hcC1nZXQoJHNwYWNpbmcsIGwpO1xufVxuXG4udS1zcGFjaW5nLXRvcC14bCB7XG4gIG1hcmdpbi10b3A6IG1hcC1nZXQoJHNwYWNpbmcsIHhsKTtcbn1cblxuLnUtc3BhY2luZy13cmFwIHtcbiAgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzcGFjaW5nLCBtKTtcbiAgfVxufVxuIiwiLnUtdGV4dC1hbGlnbi1yaWdodCB7XG5cdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAodGFibGV0X3dpZGUpIHtcbiAgXHRcdHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLnUtdGV4dC1hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4udS10ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KSB7XG4gICBAaWYgJHBvaW50ID09IG9ubHlfbW9iaWxlIHtcbiAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBzKSkgeyBAY29udGVudCA7IH1cbiAgfVxuICAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgcykpIHsgQGNvbnRlbnQgOyB9XG4gIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0X3dpZGUge1xuICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG0pKSB7IEBjb250ZW50IDsgfVxuICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3Age1xuICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7IEBjb250ZW50IDsgfVxuICB9XG4gICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcF93aWRlIHtcbiAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4bCkpICB7IEBjb250ZW50IDsgfVxuICB9XG59XG4iLCIudS13aWR0aC1vbmUtZmlmdGhcXEBtIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXRfd2lkZSkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGwpKSB7XG5cdC51LXdpZHRoLTEwXFxAbCB7XG5cdFx0d2lkdGg6IDgzLjMzMzMzMzIlICFpbXBvcnRhbnQ7XG5cdH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgeGwpKSB7XG5cdC51LXdpZHRoLThcXEB4bCB7XG5cdFx0d2lkdGg6IDY2LjY2NjY2NyUgIWltcG9ydGFudDtcblx0fVxufSIsImh0bWwge1xuICAvLyBPdGhlcndpc2UgdGhlIGhlYWRlciByZWQgYmFja2dyb3VuZCBmb3JjZXMgaG9yaXpvbnRhbCBzY3JvbGxiYXJzLlxuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uaXMtZnJvbnQsXG4ucGFnZS10YXhvbm9teS10ZXJtLFxuYm9keVtjbGFzcyo9XCJub2RlLXR5cGVcIl0ge1xuICAvLyBIaWRlIHRoZSBwYWdlIHRpdGxlIG9uIHNvbWUgY29udGVudCAvIHBhZ2UgdHlwZXMuXG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMuXG5pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuXG4uYy1wYXJhZ3JhcGhzLWl0ZW0tbWVkaWEtbXVsdGkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuXG4udS1iYWNrZ3JvdW5kLWNzLWEsXG4udS1iYWNrZ3JvdW5kLWNzLWdyZXktYyB7XG4gIC5jLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYy1idXR0b24tY29sb3IoI2ZmZiwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG5cbi51LWJhY2tncm91bmQtY3MtYSB7XG4gIC5jLWJ1dHRvbiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjcywgYSk7XG4gICAgfVxuICB9XG59XG5cbi51LWJhY2tncm91bmQtY3MtZ3JleS1jIHtcbiAgLmMtYnV0dG9uIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNzLWdyZXksIGMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4vLyAgICAgcGFkZGluZy1sZWZ0OiA3ZW07XG4vLyB9XG5mb290ZXIgLmMtYnJhbmQtZWRnZV9fcmlnaHR7XG4gICAgcGFkZGluZy1sZWZ0OiA2ZW07XG59XG5cbi5sb2FkaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBuTXpCd2VDY2dhR1ZwWjJoMFBTY3pNSEI0SnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNREFnTVRBd0lpQndjbVZ6WlhKMlpVRnpjR1ZqZEZKaGRHbHZQU0o0VFdsa1dVMXBaQ0lnWTJ4aGMzTTlJblZwYkMxa1pXWmhkV3gwSWo0OGNtVmpkQ0I0UFNJd0lpQjVQU0l3SWlCM2FXUjBhRDBpTVRBd0lpQm9aV2xuYUhROUlqRXdNQ0lnWm1sc2JEMGlibTl1WlNJZ1kyeGhjM005SW1KcklqNDhMM0psWTNRK1BISmxZM1FnSUhnOUp6UTJMalVuSUhrOUp6UXdKeUIzYVdSMGFEMG5OeWNnYUdWcFoyaDBQU2N5TUNjZ2NuZzlKelVuSUhKNVBTYzFKeUJtYVd4c1BTY2pNREJpTW1abUp5QjBjbUZ1YzJadmNtMDlKM0p2ZEdGMFpTZ3dJRFV3SURVd0tTQjBjbUZ1YzJ4aGRHVW9NQ0F0TXpBcEp6NGdJRHhoYm1sdFlYUmxJR0YwZEhKcFluVjBaVTVoYldVOUoyOXdZV05wZEhrbklHWnliMjA5SnpFbklIUnZQU2N3SnlCa2RYSTlKekZ6SnlCaVpXZHBiajBuTUhNbklISmxjR1ZoZEVOdmRXNTBQU2RwYm1SbFptbHVhWFJsSnk4K1BDOXlaV04wUGp4eVpXTjBJQ0I0UFNjME5pNDFKeUI1UFNjME1DY2dkMmxrZEdnOUp6Y25JR2hsYVdkb2REMG5NakFuSUhKNFBTYzFKeUJ5ZVQwbk5TY2dabWxzYkQwbkl6QXdZakptWmljZ2RISmhibk5tYjNKdFBTZHliM1JoZEdVb016QWdOVEFnTlRBcElIUnlZVzV6YkdGMFpTZ3dJQzB6TUNrblBpQWdQR0Z1YVcxaGRHVWdZWFIwY21saWRYUmxUbUZ0WlQwbmIzQmhZMmwwZVNjZ1puSnZiVDBuTVNjZ2RHODlKekFuSUdSMWNqMG5NWE1uSUdKbFoybHVQU2N3TGpBNE16TXpNek16TXpNek16TXpNek16Y3ljZ2NtVndaV0YwUTI5MWJuUTlKMmx1WkdWbWFXNXBkR1VuTHo0OEwzSmxZM1ErUEhKbFkzUWdJSGc5SnpRMkxqVW5JSGs5SnpRd0p5QjNhV1IwYUQwbk55Y2dhR1ZwWjJoMFBTY3lNQ2NnY25nOUp6VW5JSEo1UFNjMUp5Qm1hV3hzUFNjak1EQmlNbVptSnlCMGNtRnVjMlp2Y20wOUozSnZkR0YwWlNnMk1DQTFNQ0ExTUNrZ2RISmhibk5zWVhSbEtEQWdMVE13S1NjK0lDQThZVzVwYldGMFpTQmhkSFJ5YVdKMWRHVk9ZVzFsUFNkdmNHRmphWFI1SnlCbWNtOXRQU2N4SnlCMGJ6MG5NQ2NnWkhWeVBTY3hjeWNnWW1WbmFXNDlKekF1TVRZMk5qWTJOalkyTmpZMk5qWTJOalp6SnlCeVpYQmxZWFJEYjNWdWREMG5hVzVrWldacGJtbDBaU2N2UGp3dmNtVmpkRDQ4Y21WamRDQWdlRDBuTkRZdU5TY2dlVDBuTkRBbklIZHBaSFJvUFNjM0p5Qm9aV2xuYUhROUp6SXdKeUJ5ZUQwbk5TY2djbms5SnpVbklHWnBiR3c5SnlNd01HSXlabVluSUhSeVlXNXpabTl5YlQwbmNtOTBZWFJsS0Rrd0lEVXdJRFV3S1NCMGNtRnVjMnhoZEdVb01DQXRNekFwSno0Z0lEeGhibWx0WVhSbElHRjBkSEpwWW5WMFpVNWhiV1U5SjI5d1lXTnBkSGtuSUdaeWIyMDlKekVuSUhSdlBTY3dKeUJrZFhJOUp6RnpKeUJpWldkcGJqMG5NQzR5TlhNbklISmxjR1ZoZEVOdmRXNTBQU2RwYm1SbFptbHVhWFJsSnk4K1BDOXlaV04wUGp4eVpXTjBJQ0I0UFNjME5pNDFKeUI1UFNjME1DY2dkMmxrZEdnOUp6Y25JR2hsYVdkb2REMG5NakFuSUhKNFBTYzFKeUJ5ZVQwbk5TY2dabWxzYkQwbkl6QXdZakptWmljZ2RISmhibk5tYjNKdFBTZHliM1JoZEdVb01USXdJRFV3SURVd0tTQjBjbUZ1YzJ4aGRHVW9NQ0F0TXpBcEp6NGdJRHhoYm1sdFlYUmxJR0YwZEhKcFluVjBaVTVoYldVOUoyOXdZV05wZEhrbklHWnliMjA5SnpFbklIUnZQU2N3SnlCa2RYSTlKekZ6SnlCaVpXZHBiajBuTUM0ek16TXpNek16TXpNek16TXpNek16Y3ljZ2NtVndaV0YwUTI5MWJuUTlKMmx1WkdWbWFXNXBkR1VuTHo0OEwzSmxZM1ErUEhKbFkzUWdJSGc5SnpRMkxqVW5JSGs5SnpRd0p5QjNhV1IwYUQwbk55Y2dhR1ZwWjJoMFBTY3lNQ2NnY25nOUp6VW5JSEo1UFNjMUp5Qm1hV3hzUFNjak1EQmlNbVptSnlCMGNtRnVjMlp2Y20wOUozSnZkR0YwWlNneE5UQWdOVEFnTlRBcElIUnlZVzV6YkdGMFpTZ3dJQzB6TUNrblBpQWdQR0Z1YVcxaGRHVWdZWFIwY21saWRYUmxUbUZ0WlQwbmIzQmhZMmwwZVNjZ1puSnZiVDBuTVNjZ2RHODlKekFuSUdSMWNqMG5NWE1uSUdKbFoybHVQU2N3TGpReE5qWTJOalkyTmpZMk5qWTJOamR6SnlCeVpYQmxZWFJEYjNWdWREMG5hVzVrWldacGJtbDBaU2N2UGp3dmNtVmpkRDQ4Y21WamRDQWdlRDBuTkRZdU5TY2dlVDBuTkRBbklIZHBaSFJvUFNjM0p5Qm9aV2xuYUhROUp6SXdKeUJ5ZUQwbk5TY2djbms5SnpVbklHWnBiR3c5SnlNd01HSXlabVluSUhSeVlXNXpabTl5YlQwbmNtOTBZWFJsS0RFNE1DQTFNQ0ExTUNrZ2RISmhibk5zWVhSbEtEQWdMVE13S1NjK0lDQThZVzVwYldGMFpTQmhkSFJ5YVdKMWRHVk9ZVzFsUFNkdmNHRmphWFI1SnlCbWNtOXRQU2N4SnlCMGJ6MG5NQ2NnWkhWeVBTY3hjeWNnWW1WbmFXNDlKekF1TlhNbklISmxjR1ZoZEVOdmRXNTBQU2RwYm1SbFptbHVhWFJsSnk4K1BDOXlaV04wUGp4eVpXTjBJQ0I0UFNjME5pNDFKeUI1UFNjME1DY2dkMmxrZEdnOUp6Y25JR2hsYVdkb2REMG5NakFuSUhKNFBTYzFKeUJ5ZVQwbk5TY2dabWxzYkQwbkl6QXdZakptWmljZ2RISmhibk5tYjNKdFBTZHliM1JoZEdVb01qRXdJRFV3SURVd0tTQjBjbUZ1YzJ4aGRHVW9NQ0F0TXpBcEp6NGdJRHhoYm1sdFlYUmxJR0YwZEhKcFluVjBaVTVoYldVOUoyOXdZV05wZEhrbklHWnliMjA5SnpFbklIUnZQU2N3SnlCa2RYSTlKekZ6SnlCaVpXZHBiajBuTUM0MU9ETXpNek16TXpNek16TXpNek0wY3ljZ2NtVndaV0YwUTI5MWJuUTlKMmx1WkdWbWFXNXBkR1VuTHo0OEwzSmxZM1ErUEhKbFkzUWdJSGc5SnpRMkxqVW5JSGs5SnpRd0p5QjNhV1IwYUQwbk55Y2dhR1ZwWjJoMFBTY3lNQ2NnY25nOUp6VW5JSEo1UFNjMUp5Qm1hV3hzUFNjak1EQmlNbVptSnlCMGNtRnVjMlp2Y20wOUozSnZkR0YwWlNneU5EQWdOVEFnTlRBcElIUnlZVzV6YkdGMFpTZ3dJQzB6TUNrblBpQWdQR0Z1YVcxaGRHVWdZWFIwY21saWRYUmxUbUZ0WlQwbmIzQmhZMmwwZVNjZ1puSnZiVDBuTVNjZ2RHODlKekFuSUdSMWNqMG5NWE1uSUdKbFoybHVQU2N3TGpZMk5qWTJOalkyTmpZMk5qWTJOalp6SnlCeVpYQmxZWFJEYjNWdWREMG5hVzVrWldacGJtbDBaU2N2UGp3dmNtVmpkRDQ4Y21WamRDQWdlRDBuTkRZdU5TY2dlVDBuTkRBbklIZHBaSFJvUFNjM0p5Qm9aV2xuYUhROUp6SXdKeUJ5ZUQwbk5TY2djbms5SnpVbklHWnBiR3c5SnlNd01HSXlabVluSUhSeVlXNXpabTl5YlQwbmNtOTBZWFJsS0RJM01DQTFNQ0ExTUNrZ2RISmhibk5zWVhSbEtEQWdMVE13S1NjK0lDQThZVzVwYldGMFpTQmhkSFJ5YVdKMWRHVk9ZVzFsUFNkdmNHRmphWFI1SnlCbWNtOXRQU2N4SnlCMGJ6MG5NQ2NnWkhWeVBTY3hjeWNnWW1WbmFXNDlKekF1TnpWekp5QnlaWEJsWVhSRGIzVnVkRDBuYVc1a1pXWnBibWwwWlNjdlBqd3ZjbVZqZEQ0OGNtVmpkQ0FnZUQwbk5EWXVOU2NnZVQwbk5EQW5JSGRwWkhSb1BTYzNKeUJvWldsbmFIUTlKekl3SnlCeWVEMG5OU2NnY25rOUp6VW5JR1pwYkd3OUp5TXdNR0l5Wm1ZbklIUnlZVzV6Wm05eWJUMG5jbTkwWVhSbEtETXdNQ0ExTUNBMU1Da2dkSEpoYm5Oc1lYUmxLREFnTFRNd0tTYytJQ0E4WVc1cGJXRjBaU0JoZEhSeWFXSjFkR1ZPWVcxbFBTZHZjR0ZqYVhSNUp5Qm1jbTl0UFNjeEp5QjBiejBuTUNjZ1pIVnlQU2N4Y3ljZ1ltVm5hVzQ5SnpBdU9ETXpNek16TXpNek16TXpNek16TkhNbklISmxjR1ZoZEVOdmRXNTBQU2RwYm1SbFptbHVhWFJsSnk4K1BDOXlaV04wUGp4eVpXTjBJQ0I0UFNjME5pNDFKeUI1UFNjME1DY2dkMmxrZEdnOUp6Y25JR2hsYVdkb2REMG5NakFuSUhKNFBTYzFKeUJ5ZVQwbk5TY2dabWxzYkQwbkl6QXdZakptWmljZ2RISmhibk5tYjNKdFBTZHliM1JoZEdVb016TXdJRFV3SURVd0tTQjBjbUZ1YzJ4aGRHVW9NQ0F0TXpBcEp6NGdJRHhoYm1sdFlYUmxJR0YwZEhKcFluVjBaVTVoYldVOUoyOXdZV05wZEhrbklHWnliMjA5SnpFbklIUnZQU2N3SnlCa2RYSTlKekZ6SnlCaVpXZHBiajBuTUM0NU1UWTJOalkyTmpZMk5qWTJOalkyY3ljZ2NtVndaV0YwUTI5MWJuUTlKMmx1WkdWbWFXNXBkR1VuTHo0OEwzSmxZM1ErUEM5emRtYyspO1xuXG59XG5cbi5pcy1kb21haW4td3d3LXBob25vYmxvYy1jb20ge1xuICBhIHtcbiAgICAmLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJHBob25vYmxvYy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUgLmMtdmlldy1uZXdzX19jb250ZW50IC52aWV3cy1maWVsZC12aWV3LW5vZGUgYSB7XG4gICAgICAgIGNvbG9yOiAkcGhvbm9ibG9jLWNvbG9yO1xuICB9XG5cbiAgLmMtbWFpbi1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwaG9ub2Jsb2MtY29sb3I7XG4gIH1cbiAgLmMtYnJhbmQtZWRnZV9fcmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwMDAwcHglMjIlMjBoZWlnaHQlM0QlMjI4NXB4JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTAwMDAlMjA4NSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUzQ2clMjBzdHJva2UlM0QlMjJub25lJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMSUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEwMDAwJTJDMCUyMEw5ODYxLjI5Mjk1JTJDODUlMjBMMTM4LjcwNzA1JTJDODUlMjBMMCUyQzAlMjBMMTAwMDAlMkMwJTIwWiUyMiUyMGZpbGwlM0QlMjIlMjMzOTgwNkYlMjIlM0UlM0MlMkZwYXRoJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRScpIG5vLXJlcGVhdCBsZWZ0O1xuICAgIH1cbiAgfVxuICAuYy1icmFuZC1lZGdlX19yaWdodCBhLCAuYy1icmFuZC1lZGdlX19yaWdodCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLmMtbWFpbi1oZWFkZXJfX3RvcCB7XG4gIC8vIERpcnR5IFwiaGFja1wiIGZvciBmdWxsIHdpZHRoIGJhY2tncm91bmQgb24gdGhlIHJpZ2h0LlxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgcykpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgOTAlLCAkcGhvbm9ibG9jLWNvbG9yIDkwJSwgJHBob25vYmxvYy1jb2xvciAxMDAlKTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4bCkpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjAlLCAkcGhvbm9ibG9jLWNvbG9yIDYwJSwgJHBob25vYmxvYy1jb2xvciAxMDAlKTtcbiAgICB9XG4gIH1cblxuICAuaGVhZHJvb20tLW5vdC10b3AtLXNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGhvbm9ibG9jLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmMtc3ViaGVyby1zZWN0aW9uIHtcbiAgICAvLyBEaXJ0eSBcImhhY2tcIiBmb3IgZnVsbCB3aWR0aCBiYWNrZ3JvdW5kIG9uIHRoZSByaWdodC5cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDkwJSwkcGhvbm9ibG9jLWNvbG9yIDkwJSwgJHBob25vYmxvYy1jb2xvciAxMDAlKTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODNlbSkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA4MiUsICRwaG9ub2Jsb2MtY29sb3IgODIlLCAkcGhvbm9ibG9jLWNvbG9yIDEwMCUpO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyZW0pIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNzclLCAkcGhvbm9ibG9jLWNvbG9yIDc3JSwgJHBob25vYmxvYy1jb2xvciAxMDAlKTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMmVtKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDcyJSwgJHBob25vYmxvYy1jb2xvciA3MiUsICRwaG9ub2Jsb2MtY29sb3IgMTAwJSk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNTBlbSkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA2OCUsICRwaG9ub2Jsb2MtY29sb3IgNjglLCAkcGhvbm9ibG9jLWNvbG9yIDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5jLWZvb3Rlci1ib3R0b20ge1xuICAvLyBEaXJ0eSBcImhhY2tcIiBmb3IgZnVsbCB3aWR0aCBiYWNrZ3JvdW5kIG9uIHRoZSByaWdodC5cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA5MCUsICRwaG9ub2Jsb2MtY29sb3IgOTAlLCAkcGhvbm9ibG9jLWNvbG9yIDEwMCUpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogODNlbSkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgODIlLCAkcGhvbm9ibG9jLWNvbG9yIDgyJSwgJHBob25vYmxvYy1jb2xvciAxMDAlKTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyZW0pIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDc3JSwgJHBob25vYmxvYy1jb2xvciA3NyUsICRwaG9ub2Jsb2MtY29sb3IgMTAwJSk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMmVtKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3MiUsICRwaG9ub2Jsb2MtY29sb3IgNzIlLCAkcGhvbm9ibG9jLWNvbG9yIDEwMCUpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNTBlbSkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjglLCAkcGhvbm9ibG9jLWNvbG9yIDY4JSwgJHBob25vYmxvYy1jb2xvciAxMDAlKTtcbiAgfVxufVxuXG5cblxuXG4gIC5oYXMtc3VibmF2IC5jLW1haW4tbWVudV9fbGluay5pcy1sZXZlbDE6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcGhvbm9ibG9jLWNvbG9yO1xuICB9XG4gIC5jLWltYWdlLXRlYXNlciwgLmMtaW1hZ2UtdGVhc2VyOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5jLW1lZ2EtZHJvcGRvd24ge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwaG9ub2Jsb2MtY29sb3I7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSkge1xuICAgIC5jLW1haW4taGVhZGVyX19yaWdodDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBob25vYmxvYy1jb2xvcjtcbiAgICB9XG4gICAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0OjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGhvbm9ibG9jLWNvbG9yO1xuICAgIH1cbiAgICBmb290ZXIgLmMtYnJhbmQtZWRnZV9fcmlnaHQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwaG9ub2Jsb2MtY29sb3I7XG4gICAgfVxuICB9XG4gIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1zdWJoZXJvLXNlY3Rpb24tc3VibWVudSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBob25vYmxvYy1jb2xvcjtcbiAgfVxuICAuYy1idXR0b24ge1xuICAgIEBpbmNsdWRlIGMtYnV0dG9uLWNvbG9yKCRwaG9ub2Jsb2MtY29sb3IsICNmZmYpO1xuICB9XG4gIC51LWJhY2tncm91bmQtY3MtYSB7XG4gICAgYmFja2dyb3VuZDogJHBob25vYmxvYy1jb2xvcjtcbiAgfVxuICBmb290ZXIgLmMtZm9vdGVyLWJvdHRvbS1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGhvbm9ibG9jLWNvbG9yO1xuICB9XG59XG5cbi5pcy1kb21haW4td3d3LWNpdHlibG9jLWV1IHtcbiAgYSB7XG4gICAgJixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRjaXR5YmxvYy1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuYy1zdWJoZXJvLXNlY3Rpb24gLmMtc3ViaGVyby1zZWN0aW9uLXN1Ym1lbnUgLmMtdmlldy1uZXdzX19jb250ZW50IC52aWV3cy1maWVsZC12aWV3LW5vZGUgYSB7XG4gICAgICAgIGNvbG9yOiAkY2l0eWJsb2MtY29sb3I7XG4gIH1cbiAgLmMtbWFpbi1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjaXR5YmxvYy1jb2xvcjtcbiAgfVxuICAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTAwMDBweCUyMiUyMGhlaWdodCUzRCUyMjg1cHglMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMDAwMCUyMDg1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTNDZyUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTAwMDAlMkMwJTIwTDk4NjEuMjkyOTUlMkM4NSUyMEwxMzguNzA3MDUlMkM4NSUyMEwwJTJDMCUyMEwxMDAwMCUyQzAlMjBaJTIyJTIwZmlsbCUzRCUyMiUyMzAwNTI5MiUyMiUzRSUzQyUyRnBhdGglM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFJykgbm8tcmVwZWF0IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0IGEsIC5jLWJyYW5kLWVkZ2VfX3JpZ2h0IGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxuXG4gICAuYy1tYWluLWhlYWRlcl9fdG9wIHtcbiAgLy8gRGlydHkgXCJoYWNrXCIgZm9yIGZ1bGwgd2lkdGggYmFja2dyb3VuZCBvbiB0aGUgcmlnaHQuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBzKSkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA5MCUsICRjaXR5YmxvYy1jb2xvciA5MCUsICRjaXR5YmxvYy1jb2xvciAxMDAlKTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4bCkpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjAlLCAkY2l0eWJsb2MtY29sb3IgNjAlLCAkY2l0eWJsb2MtY29sb3IgMTAwJSk7XG4gICAgfVxuICB9XG4gIC5oZWFkcm9vbS0tbm90LXRvcC0tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNpdHlibG9jLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYy1zdWJoZXJvLXNlY3Rpb24ge1xuICAgIC8vIERpcnR5IFwiaGFja1wiIGZvciBmdWxsIHdpZHRoIGJhY2tncm91bmQgb24gdGhlIHJpZ2h0LlxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgOTAlLCAkY2l0eWJsb2MtY29sb3IgOTAlLCAkY2l0eWJsb2MtY29sb3IgMTAwJSk7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgzZW0pIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgODIlLCAkY2l0eWJsb2MtY29sb3IgODIlLCAkY2l0eWJsb2MtY29sb3IgMTAwJSk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDJlbSkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3NyUsICRjaXR5YmxvYy1jb2xvciA3NyUsICRjaXR5YmxvYy1jb2xvciAxMDAlKTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMmVtKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDcyJSwgJGNpdHlibG9jLWNvbG9yIDcyJSwgJGNpdHlibG9jLWNvbG9yIDEwMCUpO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwZW0pIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjglLCAkY2l0eWJsb2MtY29sb3IgNjglLCAkY2l0eWJsb2MtY29sb3IgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLmMtZm9vdGVyLWJvdHRvbSB7XG4gIC8vIERpcnR5IFwiaGFja1wiIGZvciBmdWxsIHdpZHRoIGJhY2tncm91bmQgb24gdGhlIHJpZ2h0LlxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDkwJSwgJGNpdHlibG9jLWNvbG9yIDkwJSwgJGNpdHlibG9jLWNvbG9yIDEwMCUpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogODNlbSkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgODIlLCAkY2l0eWJsb2MtY29sb3IgODIlLCAkY2l0eWJsb2MtY29sb3IgMTAwJSk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMmVtKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA3NyUsICRjaXR5YmxvYy1jb2xvciA3NyUsICRjaXR5YmxvYy1jb2xvciAxMDAlKTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyZW0pIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDcyJSwgJGNpdHlibG9jLWNvbG9yIDcyJSwgJGNpdHlibG9jLWNvbG9yIDEwMCUpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNTBlbSkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNjglLCAkY2l0eWJsb2MtY29sb3IgNjglLCAkY2l0eWJsb2MtY29sb3IgMTAwJSk7XG4gIH1cbn1cblxuICAuaGFzLXN1Ym5hdiAuYy1tYWluLW1lbnVfX2xpbmsuaXMtbGV2ZWwxOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNpdHlibG9jLWNvbG9yO1xuICB9XG4gIC5jLWltYWdlLXRlYXNlciwgLmMtaW1hZ2UtdGVhc2VyOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5jLW1lZ2EtZHJvcGRvd24ge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjaXR5YmxvYy1jb2xvcjtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG0pKSB7XG4gICAgLmMtbWFpbi1oZWFkZXJfX3JpZ2h0OjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2l0eWJsb2MtY29sb3I7XG4gICAgfVxuICAgIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1icmFuZC1lZGdlX19yaWdodDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNpdHlibG9jLWNvbG9yO1xuICAgIH1cbiAgICBmb290ZXIgLmMtYnJhbmQtZWRnZV9fcmlnaHQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjaXR5YmxvYy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgLmMtc3ViaGVyby1zZWN0aW9uIC5jLXN1Ymhlcm8tc2VjdGlvbi1zdWJtZW51IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY2l0eWJsb2MtY29sb3I7XG4gIH1cbiAgLmMtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjLWJ1dHRvbi1jb2xvcigkY2l0eWJsb2MtY29sb3IsICNmZmYpO1xuICB9XG4gIC51LWJhY2tncm91bmQtY3MtYSB7XG4gICAgYmFja2dyb3VuZDogJGNpdHlibG9jLWNvbG9yO1xuICB9XG4gIGZvb3RlciAuYy1mb290ZXItYm90dG9tLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaXR5YmxvYy1jb2xvcjtcbiAgfVxufVxuXG4vKiBIYWNrIHRvIGZpeCByaWdodCBhbGlnbm1lbnQgZm9yIG92ZXJsYXlzIChkaXJ0eSBuZXN0aW5nKSAqL1xuLm8taW1hZ2UtYmFja2dyb3VuZF9faW5uZXIudS10ZXh0LWFsaWduLXJpZ2h0IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtKSkge1xuICAgIC51LWJhY2tncm91bmQtY3MtZ3JleS1kLW9wYWNpdHktLTgwIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLmMtZWRpdG9yLWNvbnRlbnQgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgZm9udC1mYW1pbHk6ICdUaGVrbGEnLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1lZGl0b3ItY29udGVudCBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIH1cbi5jLWVkaXRvci1jb250ZW50IGgzLCAuYy1lZGl0b3ItY29udGVudCBoMiB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cy1tYXgsIG0pKSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuLmMtbm9kZS1wcm9kdWN0IGgyLCAuYy1ub2RlLXByb2R1Y3QgLmMtYnV0dG9uLS1hbHQge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuXG5cbi5zaWRldGFiIHtcbiAgei1pbmRleDogOTk5OTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0Oi00M3B4O1xuICBib3R0b206IDIwJTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgcGFkZGluZzogMC4zZW0gMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLmlzLWRvbWFpbi13d3ctY2l0eWJsb2MtZXUgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTI5MjtcbiAgfVxuICAuaXMtZG9tYWluLXd3dy1waG9ub2Jsb2MtY29tICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTgwNzM7XG4gIH1cbiAgYSB7Y29sb3I6ICNmZmYgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7fVxufVxuXG4uaXMtZG9tYWluLXd3dy1jaXR5YmxvYy1ldSwgLmlzLWRvbWFpbi13d3ctcGhvbm9ibG9jLWNvbSB7XG4gIC5jLXN1Ymhlcm8tc2VjdGlvbiAuYy1icmFuZC1lZGdlX19yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogN2VtO1xuICB9XG4gIGZvb3RlciB7XG4gICAgLmMtZm9vdGVyLXRvcCB7cGFkZGluZy10b3A6IDEwZW07fVxuICAgIC5jLWZvb3Rlci1tZW51IHtkaXNwbGF5OiBub25lO31cbiAgICAuYy1icmFuZC1lZGdlX19yaWdodCB7cGFkZGluZy1sZWZ0OiA3ZW07fVxuICB9XG4gIC5jLWJsb2NrLWNvbnRlbnQtYmxvY2stZGF0YXNoZWV0cywgLmMtYmxvY2stY29udGVudC1ibG9jay1leHRyYW5ldCwgLmMtbGFuZ3VhZ2UtY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyAuYy1ibG9jay04IC5jLXBhcmFncmFwaHMtaXRlbS1ncmlkX19wZy1ibG9jay1ncmlkLWJsb2NrID4gLm8tZ3JpZF9faXRlbSB7XG4vLyAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cy1tYXgsIGwpKSB7XG4vLyAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuLy8gICB9XG4vLyB9XG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMtbWF4LCBsKSkge1xuLmMtcGFyYWdyYXBocy1pdGVtLWdyaWRfX3BnLWJsb2NrLWdyaWQtYmxvY2sgLmMtcGFyYWdyYXBocy1pdGVtLXRleHQtc2VjdGlvbl9fcGctdGV4dC1zZWN0aW9uLXRpdGxlLCAuYy1wYXJhZ3JhcGhzLWl0ZW0tZ3JpZF9fcGctYmxvY2stZ3JpZC1ibG9jayAuYy1idXR0b24ge1xuICBmb250LXNpemU6IDAuOGVtO1xufVxufVxuXG4jYmxvY2stc2VhcmNoLWZvcm0ge1xuICBpbnB1dCB7XG4gICAgd2lkdGg6IDE3MHB4O1xuXHRcdG1hcmdpbi10b3A6IC4yNWVtO1xuXHRcdGJvcmRlcjogMDtcblx0XHRwYWRkaW5nOiAuMjVlbTtcbiAgfVxuICBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXHRidXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLW1heCwgcykpIHtcbiNibG9jay1ibG9jay04IHtcblx0dGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG5cdC5vLW1lZGlhX19yaWdodCB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cdC5jLWJ1dHRvbiB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdH1cbn1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
