@charset "UTF-8";
html {
  box-sizing: border-box; }

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

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after 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,
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.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

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

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
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.
 */
/**
 * 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: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  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.
 */
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.
 */
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.
 */
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
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * 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.
 */
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; }

/**
 * Reset ==============================================================
 * Based on http://meyerweb.com/eric/tools/css/reset
 */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
input,
select,
textarea,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0px;
  padding: 0px;
  border: 0px;
  outline: 0px;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  line-height: inherit; }

ol,
ul,
.item-list ul,
.item-list ul li {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

/* remember to define focus styles! */
:focus {
  outline: 0px; }

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

/*! normalize-opentype.css v0.2.3 | MIT License | kennethormandy.com/journal/normalize-opentype-css */
/**
 * 1. Inherit style issues with custom selections, per robsterlini.co.uk/journal/opentype-and-selection-dont-mix
 * 2. Turn on kerning, standard ligatures, and proportional, oldstyle numerals
 *    Turn off all other ligatures, tabular, lining numerals, and alternates
 * 3. Hard-codes fallback text selection for issue #18, color is Chrome’s per via http://stackoverflow.com/a/16094931/864799
 */
::-moz-selection {
  color: inherit;
  /* 1. */
  text-shadow: inherit;
  /* 2. */
  background-color: #ACCEF7;
  /* 3. */ }

::selection {
  color: inherit;
  /* 1. */
  text-shadow: inherit;
  /* 2. */
  background-color: #ACCEF7;
  /* 3. */ }

html, body, table {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0;
  -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0;
  /* 2. */ }

/* Headings
========================================================================== */
/**
 * 1. Turn on discretionary ligatures for larger headings
 */
h1, h2, h3 {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 1;
  -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 1;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 1;
  /* 1. */ }

/* Text-level semantics
========================================================================== */
/**
 * 1. Change all letters to uppercase
 * 2. Turn on small caps for upper and lowercase letters
 */
abbr {
  text-transform: uppercase;
  /* 1 */
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "smcp" 1, "c2sc" 1;
  -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "smcp" 1, "c2sc" 1;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "smcp" 1, "c2sc" 1;
  /* 2 */ }

/*
 * TODO: Turn on diagonal fractions where appropriate
 */
time {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0;
  -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0; }

/*
 * 1. Turn off kerning and ligatures,
 *    Turn on lining, tabular numerals, slashed zero
 */
pre, kbd, samp, code {
  -webkit-font-feature-settings: "kern" 0, "liga" 0, "calt" 1, "dlig" 0, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1;
  -moz-font-feature-settings: "kern" 0, "liga" 0, "calt" 1, "dlig" 0, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1;
  font-feature-settings: "kern" 0, "liga" 0, "calt" 1, "dlig" 0, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1;
  /* 1. */ }

/**
 * 1. Turn on proper supercript numerals
 */
sup {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "sups" 1;
  -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "sups" 1;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "sups" 1;
  /* 1. */ }

/**
 * 1. Turn on proper subscript numerals
 */
sub {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "subs" 1;
  -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "subs" 1;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "subs" 1;
  /* 1. */ }

/* Grouping content
========================================================================== */
/**
 * TODO: Adds proper bullets
 */
/*
 * TODO:
 * 1. Adds counters for lists
 * 2. Use proper numerals for lists
 */
/**
 * Adds proper small caps
 */
/**
 * TODO: scmp, sc2c, pnum, case sensitive forms for postal codes
 */
/* Forms
========================================================================== */
/**
 * 1. Turns on lining, proportional numerals without clarified zeroes
 * TODO: Additional input modes https://developer.mozilla.org/en/docs/Web/HTML/Element/Input#attr-inputmode
 */
input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="number"], input[type="range"], input[type="tel"], input[type="week"] {
  -webkit-font-feature-settings: "kern" 0, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 0, "lnum" 1, "zero" 0;
  -moz-font-feature-settings: "kern" 0, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 0, "lnum" 1, "zero" 0;
  font-feature-settings: "kern" 0, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 0, "lnum" 1, "zero" 0;
  /* 1. */ }

/* Localisation
========================================================================== */
/* Tables
========================================================================== */
/**
 * 1. Resets tables to the same settings as the body.
 * 2. Turns on tabular, lining numerals and slashed zero
 */
table {
  /* 1.*/ }

tbody, caption {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 0;
  -moz-font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 0;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 0;
  /* 2. */ }

/* Platform - H1 font */
@font-face {
  font-family: 'Platform-Hairline';
  src: url("../graphics/fonts/platform/Platform-Hairline.otf");
  font-weight: 100;
  font-style: normal; }

@font-face {
  font-family: 'Platform-Light';
  src: url("../graphics/fonts/platform/Platform-Light.otf");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'Platform-Medium';
  src: url("../graphics/fonts/platform/Platform-Medium.woff"), url("../graphics/fonts/platform/Platform-Medium.ttf") url("../graphics/fonts/platform/Platform-Medium.otf");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Platform-Regular';
  src: url("../graphics/fonts/platform/Platform-Regular.woff"), url("../graphics/fonts/platform/Platform-Regular.ttf"), url("../graphics/fonts/platform/Platform-Regular.otf");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Platform-Bold';
  src: url("../graphics/fonts/platform/Platform-Bold.otf");
  font-weight: 900;
  font-style: normal; }

/* Simplon - Body font */
@font-face {
  font-family: 'Simplon-Light';
  src: url("../graphics/fonts/simplon/Simplon_BP_Light_1.ttf"), url("../graphics/fonts/simplon/Simplon_BP_Light_1.otf");
  font-weight: 100;
  font-style: normal; }

@font-face {
  font-family: 'Simplon-Regular';
  src: url("../graphics/fonts/simplon/Simplon_BP_Regular_1.ttf"), url("../graphics/fonts/simplon/Simplon_BP_Regular_1.otf");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Simplon-Medium';
  src: url("../graphics/fonts/simplon/Simplon_BP_Medium_1.woff"), url("../graphics/fonts/simplon/Simplon_BP_Medium_1.ttf"), url("../graphics/fonts/simplon/Simplon_BP_Medium_1.otf");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: 'Simplon-Bold';
  src: url("../graphics/fonts/simplon/Simplon_BP_Bold_2.woff"), url("../graphics/fonts/simplon/Simplon_BP_Bold_2.ttf"), url("../graphics/fonts/simplon/Simplon_BP_Bold_2.otf");
  font-weight: 900;
  font-style: normal; }

/* FONTS */
/* Platform - H1 font */
/* Simplon - Body font */
/* COLORS */
/* Categories */
/* Alerts */
/* Links */
/* LAYOUT */
/* Horizontal Bar Chart */
/* Horizontal Bar Chart - Index page*/
/* BACKGROUND IMAGE
- @include bg-image($background-size);
- @include bg-image(cover);
- @include bg-image(contain);
*/
/* ICONS - UI icon font: ds.o UI Icons - Designed by Development Seed */
@font-face {
  font-family: "collecticons";
  src: url("../graphics/fonts/collecticons.eot");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "collecticons";
  src: url("../graphics/fonts/collecticons.ttf");
  src: url("../graphics/fonts/collecticons.woff");
  font-weight: normal;
  font-style: normal; }

.collecticon, [class^="collecticon-"], [class*=" collecticon-"] {
  font-family: "collecticons";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  vertical-align: bottom;
  /* Better Font Rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.collecticon-arrow-down:before {
  content: "\EA01"; }

.collecticon-arrow-left:before {
  content: "\EA02"; }

.collecticon-arrow-loop:before {
  content: "\EA03"; }

.collecticon-arrow-return:before {
  content: "\EA04"; }

.collecticon-arrow-right:before {
  content: "\EA05"; }

.collecticon-arrow-spin-clockwise:before {
  content: "\EA06"; }

.collecticon-arrow-up:before {
  content: "\EA07"; }

.collecticon-bell:before {
  content: "\EA08"; }

.collecticon-book:before {
  content: "\EA09"; }

.collecticon-briefcase:before {
  content: "\EA0A"; }

.collecticon-calendar:before {
  content: "\EA0B"; }

.collecticon-camera:before {
  content: "\EA0C"; }

.collecticon-chart-line:before {
  content: "\EA0D"; }

.collecticon-chevron-down:before {
  content: "\EA0E"; }

.collecticon-chevron-left:before {
  content: "\EA0F"; }

.collecticon-chevron-right:before {
  content: "\EA10"; }

.collecticon-chevron-step-backward:before {
  content: "\EA11"; }

.collecticon-chevron-step-forward:before {
  content: "\EA12"; }

.collecticon-chevron-up:before {
  content: "\EA13"; }

.collecticon-circle-exclamation:before {
  content: "\EA14"; }

.collecticon-circle-information:before {
  content: "\EA15"; }

.collecticon-circle-play-next:before {
  content: "\EA16"; }

.collecticon-circle-play:before {
  content: "\EA17"; }

.collecticon-circle-question:before {
  content: "\EA18"; }

.collecticon-circle-stop:before {
  content: "\EA19"; }

.collecticon-circle-tick:before {
  content: "\EA1A"; }

.collecticon-circle-xmark:before {
  content: "\EA1B"; }

.collecticon-clipboard-list:before {
  content: "\EA1C"; }

.collecticon-clipboard-tick:before {
  content: "\EA1D"; }

.collecticon-clock-back:before {
  content: "\A1E"; }

.collecticon-clock:before {
  content: "\EA1F"; }

.collecticon-cog:before {
  content: "\EA20"; }

.collecticon-collecticons:before {
  content: "\EA21"; }

.collecticon-compass:before {
  content: "\EA22"; }

.collecticon-crosshair-2:before {
  content: "\EA23"; }

.collecticon-crosshair:before {
  content: "\EA24"; }

.collecticon-devseed-inner:before {
  content: "\EA25"; }

.collecticon-devseed:before {
  content: "\EA26"; }

.collecticon-disc-dollar:before {
  content: "\EA27"; }

.collecticon-disc-xmark:before {
  content: "\EA28"; }

.collecticon-download:before {
  content: "\EA29"; }

.collecticon-drop:before {
  content: "\EA2A"; }

.collecticon-envelope:before {
  content: "\EA2B"; }

.collecticon-expand-down-left:before {
  content: "\EA2C"; }

.collecticon-expand-down-right:before {
  content: "\EA2D"; }

.collecticon-expand-top-left:before {
  content: "\EA2E"; }

.collecticon-expand-top-right:before {
  content: "\EA2F"; }

.collecticon-eye:before {
  content: "\EA30"; }

.collecticon-facebook:before {
  content: "\EA31"; }

.collecticon-factory:before {
  content: "\EA32"; }

.collecticon-flag:before {
  content: "\EA33"; }

.collecticon-flame:before {
  content: "\EA34"; }

.collecticon-flickr:before {
  content: "\EA35"; }

.collecticon-gauge:before {
  content: "\EA36"; }

.collecticon-github:before {
  content: "\EA37"; }

.collecticon-globe:before {
  content: "\EA38"; }

.collecticon-google-plus:before {
  content: "\EA39"; }

.collecticon-grid-3x3:before {
  content: "\EA3A"; }

.collecticon-hamburger-menu:before {
  content: "\EA3B"; }

.collecticon-heart-full:before {
  content: "\EA3C"; }

.collecticon-house:before {
  content: "\EA3D"; }

.collecticon-human-rights:before {
  content: "\EA3E"; }

.collecticon-id-editor:before {
  content: "\EA3F"; }

.collecticon-instagram:before {
  content: "\EA40"; }

.collecticon-lastfm:before {
  content: "\EA41"; }

.collecticon-leaf:before {
  content: "\EA42"; }

.collecticon-link:before {
  content: "\EA43"; }

.collecticon-linkedin:before {
  content: "\EA44"; }

.collecticon-list:before {
  content: "\EA45"; }

.collecticon-location:before {
  content: "\EA46"; }

.collecticon-lock-2:before {
  content: "\EA47"; }

.collecticon-lock-open:before {
  content: "\EA48"; }

.collecticon-lock:before {
  content: "\EA49"; }

.collecticon-magnifier-left:before {
  content: "\EA4A"; }

.collecticon-magnifier-right:before {
  content: "\EA4B"; }

.collecticon-map:before {
  content: "\EA4C"; }

.collecticon-marker:before {
  content: "\EA4D"; }

.collecticon-minus:before {
  content: "\EA4E"; }

.collecticon-mobile-phone:before {
  content: "\EA4F"; }

.collecticon-page-cog:before {
  content: "\EA50"; }

.collecticon-page-lock-open:before {
  content: "\EA51"; }

.collecticon-page-tick:before {
  content: "\EA52"; }

.collecticon-page:before {
  content: "\EA53"; }

.collecticon-pencil:before {
  content: "\EA54"; }

.collecticon-picture:before {
  content: "\EA55"; }

.collecticon-plus:before {
  content: "\EA56"; }

.collecticon-pop-down:before {
  content: "\EA57"; }

.collecticon-pop-up:before {
  content: "\EA58"; }

.collecticon-printer:before {
  content: "\EA59"; }

.collecticon-quote-left:before {
  content: "\EA5A"; }

.collecticon-quote-right:before {
  content: "\EA5B"; }

.collecticon-repo-fork:before {
  content: "\EA5C"; }

.collecticon-resize-in:before {
  content: "\EA5D"; }

.collecticon-resize-out:before {
  content: "\EA5E"; }

.collecticon-rock:before {
  content: "\EA5F"; }

.collecticon-rss-feed:before {
  content: "\EA60"; }

.collecticon-satellite:before {
  content: "\EA61"; }

.collecticon-share:before {
  content: "\EA62"; }

.collecticon-sign-danger:before {
  content: "\EA63"; }

.collecticon-skype:before {
  content: "\EA64"; }

.collecticon-sliders-horizontal:before {
  content: "\EA65"; }

.collecticon-sm-chevron-down:before {
  content: "\EA66"; }

.collecticon-sm-chevron-left:before {
  content: "\EA67"; }

.collecticon-sm-chevron-right:before {
  content: "\EA68"; }

.collecticon-sm-chevron-up:before {
  content: "\EA69"; }

.collecticon-sm-minus:before {
  content: "\EA6A"; }

.collecticon-sm-plus:before {
  content: "\EA6B"; }

.collecticon-sm-square:before {
  content: "\EA6C"; }

.collecticon-sm-tick:before {
  content: "\EA6D"; }

.collecticon-sm-triangle-down:before {
  content: "\EA6E"; }

.collecticon-sm-triangle-left:before {
  content: "\EA6F"; }

.collecticon-sm-triangle-right:before {
  content: "\EA70"; }

.collecticon-sm-triangle-up:before {
  content: "\EA71"; }

.collecticon-sm-xmark:before {
  content: "\EA72"; }

.collecticon-sort-asc:before {
  content: "\EA73"; }

.collecticon-sort-desc:before {
  content: "\EA74"; }

.collecticon-sort-none:before {
  content: "\EA75"; }

.collecticon-sort:before {
  content: "\EA76"; }

.collecticon-soundcloud:before {
  content: "\EA77"; }

.collecticon-spark:before {
  content: "\EA78"; }

.collecticon-star-full:before {
  content: "\EA79"; }

.collecticon-steam:before {
  content: "\EA7A"; }

.collecticon-tag:before {
  content: "\EA7B"; }

.collecticon-target:before {
  content: "\EA7C"; }

.collecticon-tick:before {
  content: "\EA7D"; }

.collecticon-trash-bin:before {
  content: "\EA7E"; }

.collecticon-triangle-down:before {
  content: "\EA7F"; }

.collecticon-triangle-left:before {
  content: "\EA80"; }

.collecticon-triangle-right:before {
  content: "\EA81"; }

.collecticon-triangle-up:before {
  content: "\EA82"; }

.collecticon-tumblr-reblog:before {
  content: "\EA83"; }

.collecticon-tumblr:before {
  content: "\EA84"; }

.collecticon-twitter:before {
  content: "\EA85"; }

.collecticon-ufo:before {
  content: "\EA86"; }

.collecticon-user-group:before {
  content: "\EA87"; }

.collecticon-user:before {
  content: "\EA88"; }

.collecticon-users:before {
  content: "\EA89"; }

.collecticon-xmark:before {
  content: "\EA8A"; }

.antialiased, body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.truncated {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.hidden {
  display: none !important;
  visibility: hidden; }

.visually-hidden {
  border: 0 none;
  clip: rect(0px, 0px, 0px, 0px);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

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

.visually-hidden-undo {
  position: inherit;
  overflow: visible;
  height: auto;
  width: auto;
  margin: auto; }

.invisible {
  visibility: hidden; }

.clearfix:before, .row:before, .row-contained:before, .right--nav_inline:before, .page--body > .inner:before, .page--footer > .inner:before, .inverted:before, .clearfix:after, .row:after, .row-contained:after, .right--nav_inline:after, .page--body > .inner:after, .page--footer > .inner:after, .inverted:after {
  content: " ";
  display: table; }

.clearfix:after, .row:after, .row-contained:after, .right--nav_inline:after, .page--body > .inner:after, .page--footer > .inner:after, .inverted:after {
  clear: both; }

.disabled {
  opacity: 0.48;
  pointer-events: none;
  cursor: not-allowed; }

.debugged {
  background: red !important; }

/*.contain {
  @include media(xlarge-up) {
    margin-left: 15%;
    margin-right: 15%;
  }
}*/
@media only screen and (min-width: 1366px) {
  .contain, .data, .right--nav_inline, #index--viz_container {
    margin-left: 5%;
    margin-right: 5%; } }

@media only screen and (min-width: 1440px) {
  .contain, .data, .right--nav_inline, #index--viz_container {
    margin-left: 10%;
    margin-right: 10%; } }

@media only screen and (min-width: 1600px) {
  .contain, .data, .right--nav_inline, #index--viz_container {
    /* margin-left: 15%;
    margin-right: 15%;*/
    margin-left: 10%;
    margin-right: 10%; } }

@media only screen and (min-width: 1920px) {
  .contain, .data, .right--nav_inline, #index--viz_container {
    /*margin-left: 17%;
    margin-right: 17%;*/
    margin-left: 10%;
    margin-right: 10%; } }

@media only screen and (min-width: 1200px) {
  .contain-full {
    margin-left: 10%;
    margin-right: 10%;
    width: 80%; } }

/* Html */
html {
  width: 100%;
  overflow-x: hidden; }

/* Body */
body {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
  width: 100%;
  overflow-x: hidden; }

/* Headlines */
h1, h2, h3, h4, h5, h6 {
  font-family: "Platform-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-top: 0em;
  margin-bottom: .5em;
  padding: 0; }

h1 {
  color: #313131;
  font-size: 26px; }
  @media only screen and (min-width: 544px) {
    h1 {
      font-size: 26px; } }
  @media only screen and (min-width: 768px) {
    h1 {
      font-size: 28px; } }
  @media only screen and (min-width: 992px) {
    h1 {
      font-size: 35px; } }
  @media only screen and (min-width: 1200px) {
    h1 {
      font-size: 41px; } }

h2 {
  color: #313131;
  font-size: 16px; }
  @media only screen and (min-width: 544px) {
    h2 {
      font-size: 20px; } }
  @media only screen and (min-width: 768px) {
    h2 {
      font-size: 19px; } }
  @media only screen and (min-width: 992px) {
    h2 {
      font-size: 25px; } }
  @media only screen and (min-width: 1200px) {
    h2 {
      font-size: 32px; } }

h3 {
  color: #313131;
  font-size: 14px; }
  @media only screen and (min-width: 544px) {
    h3 {
      font-size: 18px; } }
  @media only screen and (min-width: 768px) {
    h3 {
      font-size: 17px; } }
  @media only screen and (min-width: 992px) {
    h3 {
      font-size: 19px; } }
  @media only screen and (min-width: 1200px) {
    h3 {
      font-size: 23px; } }

/* Paragraphs */
p {
  font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 1px;
  margin-bottom: 5px; }
  @media only screen and (min-width: 544px) {
    p {
      font-size: 14px;
      margin-bottom: 5px; } }
  @media only screen and (min-width: 768px) {
    p {
      font-size: 15px;
      margin-bottom: 5px; } }
  @media only screen and (min-width: 992px) {
    p {
      font-size: 16px;
      margin-bottom: 10px; } }
  @media only screen and (min-width: 1200px) {
    p {
      font-size: 16px;
      margin-bottom: 10px; } }

/* Spans */
span {
  color: #313131;
  font-size: 13px;
  line-height: 1.3; }
  @media only screen and (min-width: 544px) {
    span {
      font-size: 14px; } }
  @media only screen and (min-width: 768px) {
    span {
      font-size: 15px; } }
  @media only screen and (min-width: 992px) {
    span {
      font-size: 16px; } }
  @media only screen and (min-width: 1200px) {
    span {
      font-size: 16px; } }

/* Strong */
strong {
  font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600; }

/* Labels */
label {
  color: #313131;
  line-height: 1.3;
  letter-spacing: 0px; }

/* Links */
a:link, a:visited, a:hover, a:active {
  color: #4D9ECF;
  /*
  font-family: $simplon-light;
  font-size: 13px;
  line-height: 1.3; 
  letter-spacing: 1px;*/
  text-decoration: none;
  cursor: pointer;
  /*@include media(small-up) {
    font-size: 14px;  
    }  
    @include media(medium-up) {
    font-size: 15px;  
    }
    @include media(large-up) {
    font-size: 16px;
    }
    @include media(xlarge-up) {
    font-size: 16px;  
    }*/ }

a:hover {
  text-decoration: underline; }

/* Selects & Options */
select, option {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 1px; }
  @media only screen and (min-width: 544px) {
    select, option {
      font-size: 14px; } }
  @media only screen and (min-width: 768px) {
    select, option {
      font-size: 15px; } }
  @media only screen and (min-width: 992px) {
    select, option {
      font-size: 16px; } }
  @media only screen and (min-width: 1200px) {
    select, option {
      font-size: 16px; } }

/* Inputs & Textareas */
input, textarea {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 1px; }
  @media only screen and (min-width: 544px) {
    input, textarea {
      font-size: 14px; } }
  @media only screen and (min-width: 768px) {
    input, textarea {
      font-size: 15px; } }
  @media only screen and (min-width: 992px) {
    input, textarea {
      font-size: 16px; } }
  @media only screen and (min-width: 1200px) {
    input, textarea {
      font-size: 16px; } }

/* Lists */
li {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  line-height: 1.5;
  letter-spacing: 1px; }

/* Images */
.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

/* Sections */
section {
  padding-top: 0.75em;
  padding-bottom: 0.5em; }
  @media only screen and (min-width: 544px) {
    section {
      padding-top: 1.5em;
      padding-bottom: 1em; } }
  @media only screen and (min-width: 768px) {
    section {
      padding-top: 1.5em;
      padding-bottom: 1em; } }
  @media only screen and (min-width: 992px) {
    section {
      padding-top: 1.5em;
      padding-bottom: 1em; } }
  @media only screen and (min-width: 1200px) {
    section {
      padding-top: 1.5em;
      padding-bottom: 1em; } }

/* Spaced row */
.spaced-row {
  margin-top: 0.75em !important;
  margin-bottom: 0.5em !important; }
  @media only screen and (min-width: 544px) {
    .spaced-row {
      margin-top: 1.5em;
      margin-bottom: 1em; } }
  @media only screen and (min-width: 768px) {
    .spaced-row {
      margin-top: 1.5em;
      margin-bottom: 1em; } }
  @media only screen and (min-width: 992px) {
    .spaced-row {
      margin-top: 1.5em;
      margin-bottom: 1em; } }
  @media only screen and (min-width: 1200px) {
    .spaced-row {
      margin-top: 1.5em;
      margin-bottom: 1em; } }

/* Section Backgrounds */
.non-highlihted-bg {
  background-color: #FFF; }

.highlihted-bg {
  background-color: #F7F7F7; }

.highlihted-bg-colored {
  background-color: #4D9ECF;
  padding-bottom: 2em; }

/* Categories */
.total {
  color: #457CA4 !important; }
  .total:hover {
    color: #27465c !important; }
  .total .collecticon {
    color: #457CA4 !important; }

.governance {
  color: #57A8D5 !important; }
  .governance:hover {
    color: #28749e !important; }
  .governance .collecticon {
    color: #57A8D5 !important; }

.freedom {
  color: #21BCB3 !important; }
  .freedom:hover {
    color: #126560 !important; }
  .freedom .collecticon {
    color: #21BCB3 !important; }

.privacy {
  color: #238E88 !important; }
  .privacy:hover {
    color: #0F3C3A !important; }
  .privacy .collecticon {
    color: #238E88 !important; }

.lt-ie10 #site-canvas {
  display: none; }

.lt-ie10 #nocando {
  margin: 200px auto;
  padding: 32px;
  max-width: 440px;
  background: #fff; }
  .lt-ie10 #nocando h1 {
    font-size: 24px;
    line-height: 1.1;
    margin-bottom: 32px; }

.row, .row-contained, .right--nav_inline, .page--body > .inner, .page--footer > .inner {
  padding-left: 1rem;
  padding-right: 1rem; }
  @media only screen and (min-width: 544px) {
    .row, .row-contained, .right--nav_inline, .page--body > .inner, .page--footer > .inner {
      padding-left: 2rem;
      padding-right: 2rem; } }

.row-centered, .page--body > .inner {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto; }

.row-contained {
  max-width: 860px; }

.data {
  margin-top: .5em;
  text-align: right; }

.outbound {
  margin-bottom: .725em;
  display: inline-block; }

.inverted {
  background: #E5DCD2;
  padding-top: 3em;
  padding-bottom: 2em; }

.spaced-row {
  margin-top: 1.5em;
  margin-bottom: 1em; }

.label {
  color: #575757;
  margin-bottom: .5em;
  font-style: italic; }

.blocklabel, .inlinelabel {
  color: #575757;
  text-transform: uppercase;
  font-size: .8em;
  line-height: 1em;
  margin-top: 1.5em;
  margin-bottom: .5em;
  display: block; }

.inlinelabel {
  display: inline-block;
  margin-left: .5em; }

.breadcrumbs {
  text-transform: uppercase;
  font-size: .9em;
  display: flex;
  align-items: flex-end; }
  .breadcrumbs .collecticon {
    color: #4D9ECF;
    line-height: 1.8em; }

.trigger {
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer; }
  .trigger .js--collapse {
    display: none; }
  .trigger .js--expand {
    display: block; }
  .trigger.expanded .js--collapse {
    display: block; }
  .trigger.expanded .js--expand {
    display: none; }

.collapse--target {
  display: none; }

.go-to-top {
  display: inline-block;
  height: 40px;
  width: 40px;
  position: fixed;
  bottom: 40px;
  right: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  /* image replacement properties */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: #4d9ecf url("/assets/graphics/content/top-arrow.svg") no-repeat center 50%;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity .3s 0s, visibility 0s .3s;
  -moz-transition: opacity .3s 0s, visibility 0s .3s;
  transition: opacity .3s 0s, visibility 0s .3s;
  z-index: 999; }
  .go-to-top.is-visible, .go-to-top.fade-out {
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;
    -moz-transition: opacity .3s 0s, visibility 0s 0s;
    transition: opacity .3s 0s, visibility 0s 0s; }
  .go-to-top .no-touch:hover {
    background-color: #4d9ecf;
    opacity: 1;
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;
    -moz-transition: opacity .3s 0s, visibility 0s 0s;
    transition: opacity .3s 0s, visibility 0s 0s; }
  .go-to-top.is-visible {
    /* the button becomes visible */
    visibility: visible;
    opacity: 1; }
  .go-to-top.fade-out {
    /* if the user keeps scrolling down, the button is out of focus and becomes less visible */
    opacity: .5; }
  @media only screen and (min-width: 768px) {
    .go-to-top {
      right: 20px;
      bottom: 20px; } }
  @media only screen and (min-width: 1024px) {
    .go-to-top {
      height: 60px;
      width: 60px;
      right: 30px;
      bottom: 30px; } }

.banner {
  background: #4D9ECF;
  color: #F7F7F7;
  text-transform: uppercase;
  position: relative;
  z-index: 2;
  padding-top: 1em;
  padding-bottom: 1em; }
  .banner .medium-up {
    margin-top: 7px !important; }
    .banner .medium-up .nav .nav--item a {
      font-size: 16px;
      font-weight: 600;
      font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
      letter-spacing: 0; }

.nav--mobile a,
.nav--mobile a:link,
.nav--mobile a:hover,
.nav--mobile a:active,
.nav--mobile a:visited,
.banner a,
.banner a:link,
.banner a:hover,
.banner a:active,
.banner a:visited {
  color: #F7F7F7; }

.banner--internal {
  width: 100%;
  display: inline-flex;
  align-items: center; }

.logo {
  width: 32px;
  height: 32px; }
  @media only screen and (min-width: 768px) {
    .logo {
      width: 3em;
      height: 3em; } }

.rdr {
  margin-left: .75em;
  width: 180px; }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .rdr {
      width: 320px; } }
  @media only screen and (min-width: 992px) {
    .rdr {
      width: 400px; } }

.nav {
  display: inline-flex;
  align-items: center;
  width: 100%;
  margin-left: 3.05em; }

.nav--item {
  margin: 0 .72em;
  display: inline-block;
  line-height: 1.2em;
  font-weight: 600; }

.nav--item_active > a {
  text-decoration: underline; }

.nav--gear_icon {
  width: 1.6em;
  height: 1.6em; }

/* Mobile menu */
.nav--mobile {
  /*background: darken($base-color, 10%);*/
  width: 100%;
  display: none;
  /*padding: .5 1em .3;*/ }
  .nav--mobile.active {
    display: block; }
  .nav--mobile .nav {
    padding: .5em; }

.nav--vertical {
  text-align: left;
  /*padding-bottom: 1em;*/ }

.blue-nav-bg {
  background-color: #4D9ECF;
  padding-bottom: 1em; }
  .blue-nav-bg a,
  .blue-nav-bg a:link,
  .blue-nav-bg a:hover,
  .blue-nav-bg a:active,
  .blue-nav-bg a:visited {
    color: #F7F7F7;
    line-height: 1;
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 600;
    font-size: 15px; }
  .blue-nav-bg a:hover,
  .blue-nav-bg a:active {
    text-decoration: underline !important; }
  .blue-nav-bg .dropdown--mobile {
    background-color: #FFF; }
  .blue-nav-bg .dropdown--trigger_mobile .collecticon {
    color: #FFF !important; }
  .blue-nav-bg .dropdown--mobile a,
  .blue-nav-bg .dropdown--mobile a:link,
  .blue-nav-bg .dropdown--mobile a:hover,
  .blue-nav-bg .dropdown--mobile a:active,
  .blue-nav-bg .dropdown--mobile a:visited {
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 600;
    line-height: 1;
    font-size: 13px;
    padding: 0.75em 1em; }

.gray-nav-bg {
  background-color: #E5DCD2;
  padding-bottom: 1em; }
  .gray-nav-bg a,
  .gray-nav-bg a:link,
  .gray-nav-bg a:hover,
  .gray-nav-bg a:active,
  .gray-nav-bg a:visited {
    color: #313131;
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 500;
    line-height: 1;
    font-size: 15px; }
  .gray-nav-bg a:hover,
  .gray-nav-bg a:active {
    text-decoration: underline !important; }
  .gray-nav-bg .dropdown--mobile {
    background-color: #FFF; }
  .gray-nav-bg .dropdown--trigger_mobile .collecticon {
    color: #313131 !important; }
  .gray-nav-bg .dropdown--mobile a,
  .gray-nav-bg .dropdown--mobile a:link,
  .gray-nav-bg .dropdown--mobile a:hover,
  .gray-nav-bg .dropdown--mobile a:active,
  .gray-nav-bg .dropdown--mobile a:visited {
    color: #313131;
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 600;
    line-height: 1;
    font-size: 13px;
    padding: 0.75em 1em; }

.nav--item_vertical {
  line-height: 1.2em;
  padding-top: 1em;
  margin-left: 1em;
  margin-right: 1em; }
  .nav--item_vertical > a {
    display: inline-block; }
  .nav--item_vertical > .collecticon {
    float: right; }

.bttn--hamburger {
  margin: -4px 0 0 auto;
  position: relative;
  overflow: hidden;
  width: 36px;
  height: 30px;
  font-size: 0;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
  transition: background 0.4s ease-out;
  background-color: transparent; }
  .bttn--hamburger ::focus {
    outline: none; }
  .bttn--hamburger span {
    display: block;
    position: absolute;
    top: 14px;
    left: 3px;
    right: 3px;
    height: 5px;
    background: #fefded;
    transition: background 0s 0.15s; }
  .bttn--hamburger ::before, .bttn--hamburger ::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #fefded;
    content: "";
    transition-duration: 0.15s, 0.15s;
    transition-delay: 0.15s, 0s; }
  .bttn--hamburger ::before {
    top: -10px;
    transition-property: top, transform; }
  .bttn--hamburger ::after {
    bottom: -10px;
    transition-property: bottom, transform; }
  @media only screen and (min-width: 768px) {
    .bttn--hamburger {
      display: none;
      visibility: hidden; } }

.bttn--hamburger.active span {
  background: none; }
  .bttn--hamburger.active span::before {
    top: 0;
    transform: rotate(45deg);
    transition-delay: 0s, 0.15s; }
  .bttn--hamburger.active span::after {
    bottom: 0;
    transform: rotate(-45deg);
    transition-delay: 0s, 0.15s; }

.secondary-navigation {
  background-color: #E5DCD2;
  padding: 16px 0 14px 0; }
  .secondary-navigation .medium-up {
    float: right; }
    .secondary-navigation .medium-up .nav {
      margin-left: 0;
      text-align: right; }
      .secondary-navigation .medium-up .nav .nav--item a {
        padding: 16px 0 14px 0;
        font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 16px;
        font-weight: 500;
        color: #515151;
        line-height: 1;
        text-transform: uppercase;
        letter-spacing: 0px; }
        .secondary-navigation .medium-up .nav .nav--item a:hover {
          color: #000; }

.right--nav {
  float: right;
  text-align: right;
  position: relative;
  padding-bottom: .5em;
  width: 200px; }
  @media only screen and (min-width: 768px) {
    .right--nav {
      width: 400px;
      padding-bottom: 0; } }

.next,
.subnav--links {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap;
  flex-direction: column; }
  @media only screen and (min-width: 768px) {
    .next,
    .subnav--links {
      flex-direction: row;
      align-items: center; } }

.subnav--dropdown {
  order: 1; }
  @media only screen and (min-width: 768px) {
    .subnav--dropdown {
      order: 0; } }

.subnav--search {
  order: 0; }
  @media only screen and (min-width: 768px) {
    .subnav--search {
      order: 1; } }

.right--nav_inline {
  margin-top: .5em;
  float: none;
  width: auto;
  text-align: right; }
  .right--nav_inline .subnav--links {
    flex-direction: row;
    align-items: center; }
  .right--nav_inline .subnav--dropdown {
    order: 0; }
  .right--nav_inline .subnav--search {
    order: 1; }

.next--item,
.subnav--item {
  position: relative;
  cursor: pointer;
  padding: .4em;
  line-height: 1em; }
  .next--item .collecticon,
  .subnav--item .collecticon {
    font-size: .9em; }

.next--item {
  display: inline-flex;
  align-items: baseline; }
  .next--item .collecticon {
    color: #4D9ECF; }
  @media only screen and (min-width: 768px) {
    .next--item {
      float: right; }
      .next--item:first-child {
        float: left; } }

.tt-menu {
  background: #F5F5F5;
  position: absolute;
  top: 95%;
  left: 2.5%;
  z-index: 100;
  width: 100%;
  margin-bottom: 20px;
  overflow: hidden; }

.tt-suggestion {
  margin: 0;
  font-size: 14px;
  line-height: 1em;
  padding: 1em 1.25em;
  text-shadow: #FFF;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #fff;
  display: block; }

.page {
  position: relative;
  padding-bottom: 4rem;
  margin: 0 1rem; }
  @media only screen and (min-width: 768px) {
    .page {
      margin: 0 2rem; } }
  .page > * {
    position: relative;
    z-index: 2; }

.page .prose {
  float: left;
  display: block;
  margin-right: 2.3576515979%;
  width: 100%; }
  .page .prose:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 544px) {
    .page .prose {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 82.9403914003%;
      margin-left: 8.5298042998%; }
      .page .prose:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 992px) {
    .page .prose {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 65.8807828007%;
      margin-left: 17.0596085997%; }
      .page .prose:last-child {
        margin-right: 0; } }

.page--body {
  padding-top: 4rem;
  -webkit-animation: fade-in 0.8s ease 0s 1;
  -moz-animation: fade-in 0.8s ease 0s 1;
  animation: fade-in 0.8s ease 0s 1; }

.page--footer {
  margin-top: 3rem;
  padding-top: 3rem; }

.displaytext {
  max-width: 860px; }
  .displaytext ul,
  .displaytext ol,
  .displaytext h3,
  .displaytext p {
    line-height: 1.8em;
    margin-bottom: 1.4em;
    cursor: text; }
  .displaytext h3 {
    display: inline-block;
    margin-top: 2em;
    border-bottom: 0.125em solid #E5DCD2;
    text-transform: uppercase; }
  .displaytext li {
    margin-left: 2em;
    margin-bottom: .6em; }
  .displaytext ul li {
    list-style: initial; }
  .displaytext ol li {
    list-style: decimal; }
  .displaytext .js--collapse_trigger {
    display: block; }
  .displaytext img {
    width: 100%; }
    @media only screen and (min-width: 992px) {
      .displaytext img {
        width: auto; } }

blockquote {
  background: #E5DCD2;
  padding: 1em; }
  @media only screen and (min-width: 768px) {
    blockquote {
      padding: 2em; } }

/* Secondary navigation - current page */
#page--index .secondary-navigation .nav--item.index a {
  text-decoration: underline; }

#page--companies .secondary-navigation .nav--item.companies a,
#page--company .secondary-navigation .nav--item.companies a {
  text-decoration: underline; }

#page--services .secondary-navigation .nav--item.services a,
#page--service .secondary-navigation .nav--item.services a {
  text-decoration: underline; }

#page--category .secondary-navigation .nav--item.categories a {
  text-decoration: underline; }

#page--indicators .secondary-navigation .nav--item.indicators a,
#page--indicator .secondary-navigation .nav--item.indicators a {
  text-decoration: underline; }

#page--stories .secondary-navigation .nav--item.findings a {
  text-decoration: underline; }

#page--download .secondary-navigation .nav--item.download a {
  text-decoration: underline; }

.page--intro {
  padding: 1.5em 0 0.5em 0; }
  @media only screen and (min-width: 544px) {
    .page--intro {
      padding: 1.5em 0; } }
  @media only screen and (min-width: 768px) {
    .page--intro {
      padding: 1.5em 0; } }
  @media only screen and (min-width: 992px) {
    .page--intro {
      padding: 2em 0; } }
  @media only screen and (min-width: 1200px) {
    .page--intro {
      padding: 3em 0; } }

.page-title-overtext {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 13px;
  line-height: 1.3;
  margin-bottom: 0px;
  text-transform: uppercase; }
  @media only screen and (min-width: 544px) {
    .page-title-overtext {
      font-size: 14px; } }
  @media only screen and (min-width: 768px) {
    .page-title-overtext {
      font-size: 15px; } }
  @media only screen and (min-width: 992px) {
    .page-title-overtext {
      font-size: 16px; } }
  @media only screen and (min-width: 1200px) {
    .page-title-overtext {
      font-size: 16px; } }

.page--title,
.page--subtitle {
  margin-top: 0em;
  margin-bottom: .325em; }

.page--subtitle--undertext {
  width: 100%;
  font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 1px;
  margin-bottom: 1.5em; }
  @media only screen and (min-width: 544px) {
    .page--subtitle--undertext {
      width: 100%;
      font-size: 14px;
      margin-bottom: 1.5em; } }
  @media only screen and (min-width: 768px) {
    .page--subtitle--undertext {
      width: 100%;
      font-size: 15px;
      margin-bottom: 1.5em; } }
  @media only screen and (min-width: 992px) {
    .page--subtitle--undertext {
      width: 100%;
      font-size: 16px;
      margin-bottom: 1.5em; } }
  @media only screen and (min-width: 1200px) {
    .page--subtitle--undertext {
      width: 60%;
      font-size: 16px;
      margin-bottom: 1.5em; } }

.highlihted-bg-colored .page--subtitle,
.highlihted-bg-colored .page--subtitle--undertext {
  color: #FFF; }

.action-links {
  margin-top: 1em; }
  @media only screen and (min-width: 544px) {
    .action-links {
      margin-top: 1em; } }
  @media only screen and (min-width: 768px) {
    .action-links {
      margin-top: 0em; } }
  @media only screen and (min-width: 992px) {
    .action-links {
      margin-top: 0em; } }
  @media only screen and (min-width: 1200px) {
    .action-links {
      margin-top: 0em; } }
  .action-links a {
    display: block;
    color: #313131;
    line-height: 1.5; }
    .action-links a span {
      text-transform: uppercase;
      font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    .action-links a i {
      color: #313131;
      margin-left: 5px; }

.footer {
  background: #E5DCD2;
  padding-top: 1.25em;
  padding-bottom: 1em;
  position: relative;
  width: 100%;
  bottom: 0;
  left: 0;
  margin-top: 2em; }
  @media only screen and (min-width: 544px) {
    .footer {
      margin-top: 3em; } }
  @media only screen and (min-width: 768px) {
    .footer {
      margin-top: 4em; } }
  @media only screen and (min-width: 992px) {
    .footer {
      margin-top: 5em; } }
  @media only screen and (min-width: 1200px) {
    .footer {
      margin-top: 6em; } }

@media only screen and (min-width: 768px) {
  .footer--links {
    display: flex;
    align-items: center;
    justify-content: center; } }

.footer--link {
  padding: .5em;
  display: flex;
  align-items: center; }
  @media only screen and (min-width: 768px) {
    .footer--link {
      display: inline-flex;
      margin-left: .75em;
      margin-right: .75em; } }
  .footer--link .collecticon {
    margin-right: .25em;
    color: #4D9ECF; }

.commons {
  width: 100px;
  display: inline-block; }
  .commons > img {
    width: 100%; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0); }

.bttn {
  box-shadow: none;
  display: inline-block;
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  border-radius: 0.5em;
  border: 0;
  background-image: none;
  text-transform: uppercase;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  line-height: 1.5rem;
  font-size: 1rem;
  padding: 0.25rem 0.75rem;
  min-height: 2rem;
  min-width: 2.5rem;
  -webkit-transition-property: background-color;
  -moz-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  transition-delay: 0; }
  .open > .bttn, .bttn:active, .bttn.active {
    outline: none;
    -webkit-transform: translate(0);
    -moz-transform: translate(0);
    -ms-transform: translate(0);
    -o-transform: translate(0);
    transform: translate(0); }
  .bttn:hover {
    opacity: 1; }
  .bttn.disabled, .bttn[disabled] {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.6; }

.bttn-default,
.bttn-default:hover,
.bttn-default:visited {
  background-color: #E5DCD2;
  color: #313131; }
  .bttn-default:hover,
  .bttn-default:hover:hover,
  .bttn-default:visited:hover {
    background-color: #d3cac1; }
  .open > .bttn-default, .bttn-default.active, .bttn-default.active:hover, .bttn-default:active, .open >
  .bttn-default:hover,
  .bttn-default:hover.active,
  .bttn-default:hover.active:hover,
  .bttn-default:hover:active, .open >
  .bttn-default:visited,
  .bttn-default:visited.active,
  .bttn-default:visited.active:hover,
  .bttn-default:visited:active {
    background-color: #c0b9b0; }

.bttn-light,
.bttn-light:hover,
.bttn-light:visited {
  background-color: #F7F7F7;
  color: #838383; }
  .bttn-light:hover,
  .bttn-light:hover:hover,
  .bttn-light:visited:hover {
    background-color: #e3e3e3; }
  .open > .bttn-light, .bttn-light.active, .bttn-light.active:hover, .bttn-light:active, .open >
  .bttn-light:hover,
  .bttn-light:hover.active,
  .bttn-light:hover.active:hover,
  .bttn-light:hover:active, .open >
  .bttn-light:visited,
  .bttn-light:visited.active,
  .bttn-light:visited.active:hover,
  .bttn-light:visited:active {
    background-color: #cfcfcf; }

.bttn-success,
.bttn-success:hover,
.bttn-success:visited {
  background-color: #4D9ECF;
  color: #F7F7F7; }
  .bttn-success:hover,
  .bttn-success:hover:hover,
  .bttn-success:visited:hover {
    background-color: #4791be; }
  .open > .bttn-success, .bttn-success.active, .bttn-success.active:hover, .bttn-success:active, .open >
  .bttn-success:hover,
  .bttn-success:hover.active,
  .bttn-success:hover.active:hover,
  .bttn-success:hover:active, .open >
  .bttn-success:visited,
  .bttn-success:visited.active,
  .bttn-success:visited.active:hover,
  .bttn-success:visited:active {
    background-color: #4185ae; }

.bttn-dark,
.bttn-dark:hover,
.bttn-dark:visited {
  background-color: #838383;
  color: #F7F7F7; }
  .bttn-dark:hover,
  .bttn-dark:hover:hover,
  .bttn-dark:visited:hover {
    background-color: #797979; }
  .open > .bttn-dark, .bttn-dark.active, .bttn-dark.active:hover, .bttn-dark:active, .open >
  .bttn-dark:hover,
  .bttn-dark:hover.active,
  .bttn-dark:hover.active:hover,
  .bttn-dark:hover:active, .open >
  .bttn-dark:visited,
  .bttn-dark:visited.active,
  .bttn-dark:visited.active:hover,
  .bttn-dark:visited:active {
    background-color: #6e6e6e; }

.bttn-cta,
.bttn-cta:hover,
.bttn-cta:visited {
  background-color: #e4f2d2; }
  .bttn-cta:hover,
  .bttn-cta:hover:hover,
  .bttn-cta:visited:hover {
    background-color: #d2dfc1; }
  .open > .bttn-cta, .bttn-cta.active, .bttn-cta.active:hover, .bttn-cta:active, .open >
  .bttn-cta:hover,
  .bttn-cta:hover.active,
  .bttn-cta:hover.active:hover,
  .bttn-cta:hover:active, .open >
  .bttn-cta:visited,
  .bttn-cta:visited.active,
  .bttn-cta:visited.active:hover,
  .bttn-cta:visited:active {
    background-color: #c0cbb0; }

.bttn-s,
.bttn-group-s .bttn {
  line-height: 1.25rem;
  font-size: 0.875rem;
  padding: 0.125rem 0.5rem;
  min-height: 1.25rem; }

.bttn-m,
.bttn-group-m .bttn {
  line-height: 1.5rem;
  font-size: 1rem;
  padding: 0.25rem 0.75rem;
  min-height: 2rem; }

/* Large (40px) */
.bttn-l,
.bttn-group-l .bttn {
  line-height: 1.75rem;
  font-size: 1.25rem;
  padding: 0.425rem 1rem 0.175rem;
  min-height: 2.5rem; }

/* Extra-large (44px) */
.bttn-xl,
.bttn-group-xl .bttn {
  line-height: 1.75rem;
  font-size: 1.25rem;
  padding: 0.5rem 1.25rem;
  min-height: 2.75rem; }

.bttn-group {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 0; }
  .bttn-group.bttn-list {
    list-style: none;
    margin: 0;
    padding: 0; }
    .bttn-group.bttn-list > li .bttn {
      display: block; }
  .bttn-group > *,
  .bttn-group > .bttn {
    position: relative;
    float: left;
    margin: 0; }
  .bttn-group > *:first-child:not(:last-child) .bttn,
  .bttn-group > .bttn:first-child:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .bttn-group > *:last-child:not(:first-child) .bttn,
  .bttn-group > .bttn:last-child:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .bttn-group > *:not(:first-child):not(:last-child) .bttn,
  .bttn-group > .bttn:not(:first-child):not(:last-child) {
    border-radius: 0; }
  .bttn-group > .bttn + .bttn,
  .bttn-group.bttn-list > li + li {
    margin-left: -1px; }

input[type="text"],
.search {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-family: inherit;
  font-size: 0.77778rem;
  height: 2.05556rem;
  margin: 0;
  padding: 0.44444rem;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  -moz-transition: border-color 0.15s linear, background 0.15s linear;
  -ms-transition: border-color 0.15s linear, background 0.15s linear;
  -o-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear; }

.tooltip-element,
.tooltip-element:after,
.tooltip-element:before,
.tooltip-element *,
.tooltip-element *:after,
.tooltip-element *:before {
  box-sizing: border-box; }

.tooltip-element {
  position: absolute;
  display: none; }

.tooltip-element.tooltip-open {
  display: block; }

.tooltip-element.tooltip-theme-arrows {
  max-width: 100%;
  max-height: 100%; }

.tooltip-element.tooltip-theme-arrows .tooltip-content {
  position: relative;
  font-family: inherit;
  padding: 0.8em 1em 0.6em;
  text-align: center;
  line-height: 1.4em;
  background: #313131;
  color: #F7F7F7; }

.tooltip-element.tooltip-theme-arrows .tooltip-content:before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-width: 8px;
  border-style: solid; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-center .tooltip-content {
  margin-bottom: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-center .tooltip-content:before {
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border-top-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-center .tooltip-content {
  margin-top: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-center .tooltip-content:before {
  bottom: 100%;
  left: 50%;
  margin-left: -8px;
  border-bottom-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-right.tooltip-element-attached-middle .tooltip-content {
  margin-right: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-right.tooltip-element-attached-middle .tooltip-content:before {
  left: 100%;
  top: 50%;
  margin-top: -8px;
  border-left-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-left.tooltip-element-attached-middle .tooltip-content {
  margin-left: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-left.tooltip-element-attached-middle .tooltip-content:before {
  right: 100%;
  top: 50%;
  margin-top: -8px;
  border-right-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-bottom .tooltip-content {
  margin-top: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-bottom .tooltip-content:before {
  bottom: 100%;
  left: 8px;
  border-bottom-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-bottom .tooltip-content {
  margin-top: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-bottom .tooltip-content:before {
  bottom: 100%;
  right: 8px;
  border-bottom-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-top .tooltip-content {
  margin-bottom: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-top .tooltip-content:before {
  top: 100%;
  left: 8px;
  border-top-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-top .tooltip-content {
  margin-bottom: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-top .tooltip-content:before {
  top: 100%;
  right: 8px;
  border-top-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content {
  margin-right: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content:before {
  top: 8px;
  left: 100%;
  border-left-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content {
  margin-left: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content:before {
  top: 8px;
  right: 100%;
  border-right-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content {
  margin-right: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content:before {
  bottom: 8px;
  left: 100%;
  border-left-color: #000; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content {
  margin-left: 8px; }

.tooltip-element.tooltip-theme-arrows.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content:before {
  bottom: 8px;
  right: 100%;
  border-right-color: #000; }

.tooltip-element.tooltip-theme-arrows {
  pointer-events: none; }

.tooltip-element.tooltip-theme-arrows .tooltip-content {
  padding: 0.5em 1em; }

.table {
  width: 100%;
  border-collapse: collapse;
  empty-cells: show; }
  .table th,
  .table td {
    text-align: center; }
  .table thead tr th:first-child,
  .table tbody tr td:first-child {
    text-align: left;
    padding-left: 1em;
    padding-right: 1em; }
  .table th,
  .table td {
    padding-top: 1.5em;
    padding-bottom: .1em;
    vertical-align: middle; }
  .table th {
    font-weight: normal;
    padding-bottom: .5em;
    font-size: .8em;
    line-height: 1em;
    text-transform: uppercase;
    vertical-align: bottom; }
  .table thead {
    border-bottom: 1px solid #E5DCD2; }
  .table .col_0 {
    background: #E5DCD2; }
  .table .thead--end .col_0 {
    border-bottom: 1px solid #F7F7F7; }

.table--service_label {
  display: block;
  color: #575757;
  margin-bottom: .3em; }

.table--scores {
  line-height: 1.4em;
  table-layout: fixed; }
  .table--scores thead tr th:first-child,
  .table--scores tbody tr td:first-child {
    width: 250px; }
  @media only screen and (min-width: 992px) {
    .table--scores thead tr th:first-child,
    .table--scores tbody tr td:first-child {
      width: 300px; } }

.table--span_3 thead tr th:first-child,
.table--span_3 tbody tr td:first-child, .table--span_4 thead tr th:first-child,
.table--span_4 tbody tr td:first-child {
  width: 350px; }

@media only screen and (min-width: 992px) {
  .table--span_3 thead tr th:first-child,
  .table--span_3 tbody tr td:first-child, .table--span_4 thead tr th:first-child,
  .table--span_4 tbody tr td:first-child {
    width: 400px; } }

.table--span_1 thead tr th:first-child,
.table--span_1 tbody tr td:first-child, .table--span_2 thead tr th:first-child,
.table--span_2 tbody tr td:first-child {
  width: 500px; }

.table--footer td:first-child {
  text-transform: uppercase; }

.dropdown--trigger, .dropdown--trigger_mobile {
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer; }

.dropdown--trigger_mobile .collecticon {
  color: #F7F7F7;
  margin-bottom: 2px; }

.dropdown--trigger_mobile .collecticon-sm-triangle-up {
  display: none; }

.dropdown--trigger_mobile .collecticon-sm-triangle-down {
  display: inline-block; }

.dropdown--trigger_mobile.expanded .collecticon-sm-triangle-up {
  display: inline-block; }

.dropdown--trigger_mobile.expanded .collecticon-sm-triangle-down {
  display: none; }

.dropdown--trigger_mobile:hover a {
  text-decoration: none; }

.dropdown {
  /*top: 15px !important;  */
  width: 200px;
  z-index: 0;
  visibility: hidden;
  position: absolute;
  box-shadow: 0 0 2px #b1b0b0;
  background: #FFF; }
  .dropdown.dropdown-companies {
    width: 300px; }
    @media only screen and (min-width: 768px) {
      .dropdown.dropdown-companies .dropdown--item-wrapper {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%; }
        .dropdown.dropdown-companies .dropdown--item-wrapper:last-child {
          margin-right: 0; } }
    .dropdown.dropdown-companies .dropdown--item-wrapper .internet-and-mobile-companies .dropdown--item a i {
      color: #ed1b24; }
    .dropdown.dropdown-companies .dropdown--item-wrapper .telecommunications-companies .dropdown--item a i {
      color: #f8931f; }

.dropdown--mobile {
  width: 100%;
  background: #F5F5F5;
  position: relative;
  visibility: visible;
  display: none;
  margin-top: .5em; }
  .dropdown--mobile a,
  .dropdown--mobile a:link,
  .dropdown--mobile a:hover,
  .dropdown--mobile a:active,
  .dropdown--mobile a:visited {
    color: #4D9ECF; }
    .dropdown--mobile a:hover,
    .dropdown--mobile a:link:hover,
    .dropdown--mobile a:hover:hover,
    .dropdown--mobile a:active:hover,
    .dropdown--mobile a:visited:hover {
      text-decoration: underline; }

.dropdown--share {
  top: 35px !important;
  width: 250px;
  z-index: 0;
  display: none;
  position: absolute;
  box-shadow: 0 0 2px #b1b0b0;
  background: #313131; }
  .dropdown--share li {
    padding: 10px 18px;
    color: #fff; }
    .dropdown--share li textarea {
      border-bottom: 1px dotted #4e4e4e;
      padding-bottom: 8px;
      width: 100%;
      color: #fff; }
    .dropdown--share li button {
      margin-top: 10px;
      background-color: #313131;
      border: 1px solid #4e4e4e;
      border-radius: 3px; }
      .dropdown--share li button:hover {
        background-color: #4e4e4e; }

.dropdown--item {
  list-style: none;
  margin: 0; }
  .dropdown--item a {
    display: block;
    padding: 0.5em 1em;
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: #515151;
    font-size: 13px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: #FFF; }
    .dropdown--item a i {
      font-size: 10px;
      line-height: 1;
      margin-right: 5px; }
    .dropdown--item a:hover {
      color: #000;
      background: #F5F5F5;
      text-decoration: none; }
  .dropdown--item:first-child {
    margin-top: 10px; }
  .dropdown--item:last-child {
    margin-bottom: 10px; }

.dropdown--category {
  border-top: none;
  border-bottom: none; }
  .dropdown--category:first-child {
    border-top: 1px solid #fff; }
  .dropdown--category:last-child {
    border-bottom: 1px solid #ddd; }

.dropdown--category_child {
  margin-left: .75em;
  position: relative; }

.dropdown--reverse {
  text-align: right;
  width: 180px; }
  .dropdown--reverse .dropdown--category_child {
    margin-left: 0;
    margin-right: .75em; }

.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 1050;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */
  /* Modal Content/Box */ }
  .modal .modal-content {
    margin-top: 7.5em;
    margin-bottom: 7.5em;
    background-color: #F7F7F7;
    /*margin: 15% auto;*/
    /* 15% from the top and centered */
    padding: 15px;
    border: 1px solid #888;
    /*position: absolute;
    top: 20%;
    left: 2%;
    width: 90%; 
    width: 96%; /* Could be more or less, depending on screen size */
    /* The Close Button */ }
    .modal .modal-content .close {
      color: #b1b0b0;
      float: right;
      font-size: 23px;
      line-height: 1;
      font-weight: bold;
      margin-top: -3px; }
      @media only screen and (min-width: 544px) {
        .modal .modal-content .close {
          font-size: 23px;
          margin-top: -3px; } }
      @media only screen and (min-width: 768px) {
        .modal .modal-content .close {
          font-size: 24px;
          margin-top: -3px; } }
      @media only screen and (min-width: 992px) {
        .modal .modal-content .close {
          font-size: 25px;
          margin-top: -3px; } }
      @media only screen and (min-width: 1200px) {
        .modal .modal-content .close {
          font-size: 28px;
          margin-top: -3px; } }
      .modal .modal-content .close:hover, .modal .modal-content .close:focus {
        color: #313131;
        text-decoration: none;
        cursor: pointer; }
    .modal .modal-content h3.indicator--name {
      color: #313131; }
    .modal .modal-content table {
      width: 100%; }
      .modal .modal-content table tr.header th {
        font-weight: normal;
        line-height: 1.2;
        text-transform: uppercase; }
        .modal .modal-content table tr.header th.cell--first {
          text-align: left;
          font-weight: bold; }
        .modal .modal-content table tr.header th.cell--0 {
          text-align: center; }
      .modal .modal-content table tr {
        border-bottom: 1px solid #E5DCD2; }
        .modal .modal-content table tr th, .modal .modal-content table tr td {
          font-size: 10px;
          line-height: 1.2;
          font-weight: bold;
          padding: 10px 5px;
          text-align: center; }
          @media only screen and (min-width: 544px) {
            .modal .modal-content table tr th, .modal .modal-content table tr td {
              font-size: 11px; } }
          @media only screen and (min-width: 768px) {
            .modal .modal-content table tr th, .modal .modal-content table tr td {
              font-size: 13px; } }
          @media only screen and (min-width: 992px) {
            .modal .modal-content table tr th, .modal .modal-content table tr td {
              font-size: 14px; } }
          @media only screen and (min-width: 1200px) {
            .modal .modal-content table tr th, .modal .modal-content table tr td {
              font-size: 16px; } }
        .modal .modal-content table tr th.cell--0, .modal .modal-content table tr td.cell--0 {
          text-align: left;
          font-weight: normal; }
      .modal .modal-content table tr.average {
        background-color: #E5DCD2; }
        .modal .modal-content table tr.average td {
          line-height: 1.2; }
          .modal .modal-content table tr.average td.cell--first {
            text-align: left;
            font-weight: bold;
            text-transform: uppercase; }
          .modal .modal-content table tr.average td.cell--0 {
            text-align: center;
            font-weight: bold; }

/* Index page */
#page--index {
  /* Page intro */
  /* World map */
  /* Key findings */
  /* Company ranking */
  /* Services ranking */
  /* Data stories items */ }
  #page--index .page--intro p {
    font-size: 13px;
    text-align: center; }
    @media only screen and (min-width: 544px) {
      #page--index .page--intro p {
        font-size: 15px;
        text-align: center; } }
    @media only screen and (min-width: 768px) {
      #page--index .page--intro p {
        font-size: 16px;
        text-align: center; } }
    @media only screen and (min-width: 992px) {
      #page--index .page--intro p {
        font-size: 18px;
        text-align: left; } }
    @media only screen and (min-width: 1200px) {
      #page--index .page--intro p {
        font-size: 21px;
        text-align: left; } }
  #page--index .world-map {
    padding-top: 0;
    margin-top: 0em; }
    @media only screen and (min-width: 544px) {
      #page--index .world-map {
        margin-top: 0em; } }
    @media only screen and (min-width: 768px) {
      #page--index .world-map {
        margin-top: 0em; } }
    @media only screen and (min-width: 992px) {
      #page--index .world-map {
        margin-top: 0em; } }
    @media only screen and (min-width: 1200px) {
      #page--index .world-map {
        margin-top: 0em; } }
    #page--index .world-map .row, #page--index .world-map .row-contained, #page--index .world-map .right--nav_inline, #page--index .world-map .page--body > .inner, #page--index .world-map .page--footer > .inner {
      padding-left: 0rem;
      padding-right: 0rem; }
      @media only screen and (min-width: 544px) {
        #page--index .world-map .row, #page--index .world-map .row-contained, #page--index .world-map .right--nav_inline, #page--index .world-map .page--body > .inner, #page--index .world-map .page--footer > .inner {
          padding-left: 1rem;
          padding-right: 1rem; } }
      @media only screen and (min-width: 768px) {
        #page--index .world-map .row, #page--index .world-map .row-contained, #page--index .world-map .right--nav_inline, #page--index .world-map .page--body > .inner, #page--index .world-map .page--footer > .inner {
          padding-left: 1rem;
          padding-right: 1rem; } }
      @media only screen and (min-width: 992px) {
        #page--index .world-map .row, #page--index .world-map .row-contained, #page--index .world-map .right--nav_inline, #page--index .world-map .page--body > .inner, #page--index .world-map .page--footer > .inner {
          padding-left: 1rem;
          padding-right: 1rem; } }
      @media only screen and (min-width: 1200px) {
        #page--index .world-map .row, #page--index .world-map .row-contained, #page--index .world-map .right--nav_inline, #page--index .world-map .page--body > .inner, #page--index .world-map .page--footer > .inner {
          padding-left: 1rem;
          padding-right: 1rem; } }
  @media only screen and (min-width: 768px) {
    #page--index .key-findings .description--texts .description--text {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 48.821174201%; }
      #page--index .key-findings .description--texts .description--text:last-child {
        margin-right: 0; } }
  #page--index .key-findings .description--texts .description--text ul {
    padding-left: 15px; }
    @media only screen and (min-width: 544px) {
      #page--index .key-findings .description--texts .description--text ul {
        padding-left: 15px; } }
    @media only screen and (min-width: 768px) {
      #page--index .key-findings .description--texts .description--text ul {
        padding-left: 15px; } }
    @media only screen and (min-width: 992px) {
      #page--index .key-findings .description--texts .description--text ul {
        padding-left: 15px; } }
    @media only screen and (min-width: 1200px) {
      #page--index .key-findings .description--texts .description--text ul {
        padding-left: 15px; } }
    #page--index .key-findings .description--texts .description--text ul li {
      list-style-type: disc !important;
      font-size: 13px;
      line-height: 1.3;
      letter-spacing: 1px;
      margin-bottom: 5px; }
      @media only screen and (min-width: 544px) {
        #page--index .key-findings .description--texts .description--text ul li {
          font-size: 14px;
          margin-bottom: 5px; } }
      @media only screen and (min-width: 768px) {
        #page--index .key-findings .description--texts .description--text ul li {
          font-size: 15px;
          margin-bottom: 5px; } }
      @media only screen and (min-width: 992px) {
        #page--index .key-findings .description--texts .description--text ul li {
          font-size: 16px;
          margin-bottom: 10px; } }
      @media only screen and (min-width: 1200px) {
        #page--index .key-findings .description--texts .description--text ul li {
          font-size: 16px;
          margin-bottom: 10px; } }
  #page--index .key-findings .description--texts .description--text + .description--text {
    margin-right: 0px;
    margin-top: 0.75em; }
    @media only screen and (min-width: 544px) {
      #page--index .key-findings .description--texts .description--text + .description--text {
        margin-top: 1em; } }
    @media only screen and (min-width: 768px) {
      #page--index .key-findings .description--texts .description--text + .description--text {
        margin-top: 0em; } }
    @media only screen and (min-width: 992px) {
      #page--index .key-findings .description--texts .description--text + .description--text {
        margin-top: 0em; } }
  #page--index .key-findings .description--texts .action-links {
    clear: both;
    margin-top: 1.5em; }
  #page--index .company-ranking .company-ranking-chart {
    /* Horizontal chart (index)*/ }
    #page--index .company-ranking .company-ranking-chart label {
      font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
      text-transform: uppercase;
      color: #313131;
      font-size: 12px;
      line-height: 1.3;
      letter-spacing: 1px;
      margin-bottom: 0px; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart label {
          font-size: 13px; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart label {
          font-size: 14px; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart label {
          font-size: 14px; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart label {
          font-size: 14px; } }
      #page--index .company-ranking .company-ranking-chart label i {
        padding-right: 5px; }
    #page--index .company-ranking .company-ranking-chart #category--internet--home i {
      color: #ed1b24; }
    #page--index .company-ranking .company-ranking-chart #category--telco--home {
      margin-top: 1.5em;
      margin-bottom: 1.5em; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart #category--telco--home {
          margin-top: 1.5em;
          margin-bottom: 1.5em; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart #category--telco--home {
          margin-top: 2.5em;
          margin-bottom: 0em; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart #category--telco--home {
          margin-top: 2.5em;
          margin-bottom: 0em; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart #category--telco--home {
          margin-top: 2.5em;
          margin-bottom: 0em; } }
      #page--index .company-ranking .company-ranking-chart #category--telco--home i {
        color: #f8931f; }
    #page--index .company-ranking .company-ranking-chart .vis--row {
      width: 100%;
      display: inline-flex;
      align-items: center;
      padding-top: 0em;
      padding-bottom: 0;
      line-height: 1.4em;
      cursor: default; }
    #page--index .company-ranking .company-ranking-chart .vis--row + .vis--row {
      padding-top: .3em; }
    #page--index .company-ranking .company-ranking-chart .vis--header {
      border-bottom: none;
      font-size: .75em;
      margin-top: 0.5em;
      align-items: flex-end; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--header {
          margin-top: 1em; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--header {
          margin-top: 1em; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--header {
          margin-top: 1em; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart .vis--header {
          margin-top: 1em; } }
    #page--index .company-ranking .company-ranking-chart #category--internet .vis--header {
      margin-top: 0; }
    #page--index .company-ranking .company-ranking-chart .vis--header_item {
      font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #313131;
      font-size: 10px;
      line-height: 1;
      letter-spacing: 0px;
      text-transform: uppercase;
      overflow: hidden;
      padding-top: 0;
      padding-bottom: 0;
      padding: 5px 0; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_item {
          font-size: 12px;
          padding: 5px 0;
          letter-spacing: 0px; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_item {
          font-size: 10px;
          padding: 5px 0;
          letter-spacing: 0px; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_item {
          font-size: 13px;
          padding: 10px 0;
          letter-spacing: 0px; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_item {
          font-size: 13px;
          padding: 10px 0;
          letter-spacing: 0px; } }
      #page--index .company-ranking .company-ranking-chart .vis--header_item > a {
        font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 10px;
        color: #313131;
        line-height: 1;
        letter-spacing: 0px;
        text-decoration: none;
        transition: color .2s ease-out;
        display: block; }
        @media only screen and (min-width: 544px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item > a {
            font-size: 12px;
            letter-spacing: 0px; } }
        @media only screen and (min-width: 768px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item > a {
            font-size: 10px;
            letter-spacing: 0px; } }
        @media only screen and (min-width: 992px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item > a {
            font-size: 13px;
            letter-spacing: 0px; } }
        @media only screen and (min-width: 1200px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item > a {
            font-size: 13px;
            letter-spacing: 0px; } }
      #page--index .company-ranking .company-ranking-chart .vis--header_item .collecticon {
        font-size: 12px; }
        @media only screen and (min-width: 544px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item .collecticon {
            font-size: 12px; } }
        @media only screen and (min-width: 768px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item .collecticon {
            font-size: 10px; } }
        @media only screen and (min-width: 992px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item .collecticon {
            font-size: 10px; } }
        @media only screen and (min-width: 1200px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item .collecticon {
            font-size: 14px; } }
      #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title {
        font-size: 10px;
        font-weight: 500;
        line-height: 1;
        padding: 5px 0; }
        @media only screen and (min-width: 544px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title {
            font-size: 12px;
            padding: 5px 0; } }
        @media only screen and (min-width: 768px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title {
            font-size: 10px;
            padding: 5px 0; } }
        @media only screen and (min-width: 992px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title {
            font-size: 13px;
            padding: 10px 0; } }
        @media only screen and (min-width: 1200px) {
          #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title {
            font-size: 13px;
            padding: 10px 0; } }
        #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title > a {
          font-size: 10px;
          font-weight: 500;
          line-height: 1; }
          @media only screen and (min-width: 544px) {
            #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title > a {
              font-size: 12px; } }
          @media only screen and (min-width: 768px) {
            #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title > a {
              font-size: 10px; } }
          @media only screen and (min-width: 992px) {
            #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title > a {
              font-size: 13px; } }
          @media only screen and (min-width: 1200px) {
            #page--index .company-ranking .company-ranking-chart .vis--header_item.vis--row_title > a {
              font-size: 13px; } }
    #page--index .company-ranking .company-ranking-chart .vis--row_title {
      font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #313131;
      font-size: 10px;
      line-height: 1.3;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      overflow: hidden;
      padding-top: 0;
      padding-bottom: 0; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          font-size: 12px; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          font-size: 12px; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          font-size: 12px; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          font-size: 14px; } }
      #page--index .company-ranking .company-ranking-chart .vis--row_title > a {
        font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 10px;
        color: #313131;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: 1px;
        text-decoration: none;
        transition: color .2s ease-out;
        display: block; }
        @media only screen and (min-width: 544px) {
          #page--index .company-ranking .company-ranking-chart .vis--row_title > a {
            font-size: 12px; } }
        @media only screen and (min-width: 768px) {
          #page--index .company-ranking .company-ranking-chart .vis--row_title > a {
            font-size: 12px; } }
        @media only screen and (min-width: 992px) {
          #page--index .company-ranking .company-ranking-chart .vis--row_title > a {
            font-size: 12px; } }
        @media only screen and (min-width: 1200px) {
          #page--index .company-ranking .company-ranking-chart .vis--row_title > a {
            font-size: 14px; } }
    #page--index .company-ranking .company-ranking-chart .vis--row_title {
      width: 23%; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          width: 20%; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          width: 10%; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          width: 10%; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_title {
          width: 10%; } }
    #page--index .company-ranking .company-ranking-chart .vis--header_score,
    #page--index .company-ranking .company-ranking-chart .vis--category_score {
      text-align: center;
      width: 17%; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_score,
        #page--index .company-ranking .company-ranking-chart .vis--category_score {
          width: 15%; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_score,
        #page--index .company-ranking .company-ranking-chart .vis--category_score {
          width: 10%; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_score,
        #page--index .company-ranking .company-ranking-chart .vis--category_score {
          width: 10%; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart .vis--header_score,
        #page--index .company-ranking .company-ranking-chart .vis--category_score {
          width: 10%; } }
    #page--index .company-ranking .company-ranking-chart .vis--row_bars {
      display: inline-flex;
      align-items: flex-end;
      justify-content: space-between;
      width: 60%; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_bars {
          width: 65%; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_bars {
          width: 80%; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_bars {
          width: 80%; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_bars {
          width: 80%; } }
    #page--index .company-ranking .company-ranking-chart .vis--row_bar {
      width: 100%;
      text-align: center; }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--row_bar {
          width: 22%; } }
    #page--index .company-ranking .company-ranking-chart .vis--category_score_value,
    #page--index .company-ranking .company-ranking-chart .vis--category_score_value span {
      font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #457CA4 !important;
      font-size: 12px;
      line-height: 1.3;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      overflow: hidden;
      background: transparent;
      padding-top: .5em;
      padding-bottom: .5em; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value,
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value span {
          font-size: 12px; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value,
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value span {
          font-size: 13px; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value,
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value span {
          font-size: 14px; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value,
        #page--index .company-ranking .company-ranking-chart .vis--category_score_value span {
          font-size: 14px; } }
    #page--index .company-ranking .company-ranking-chart .vis--horiz_bar_container {
      position: relative;
      height: 1.2em;
      background: #E5DCD2;
      overflow: hidden;
      transition: background .2s ease-in; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar_container {
          height: 1.2em; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar_container {
          height: 1.2em; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar_container {
          height: 1.2em; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar_container {
          height: 1.2em; } }
    #page--index .company-ranking .company-ranking-chart .vis--horiz_bar {
      position: absolute;
      left: 0;
      top: 0;
      height: 1.2em;
      display: block; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar {
          height: 1.2em; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar {
          height: 1.2em; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar {
          height: 1.2em; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .company-ranking-chart .vis--horiz_bar {
          height: 1.2em; } }
  #page--index .company-ranking .graph-legend {
    justify-content: flex-end; }
    #page--index .company-ranking .graph-legend .graph-legend-interaction {
      padding: 0.5em 0.5em; }
      @media only screen and (min-width: 544px) {
        #page--index .company-ranking .graph-legend .graph-legend-interaction {
          padding: 1em 1em; } }
      @media only screen and (min-width: 768px) {
        #page--index .company-ranking .graph-legend .graph-legend-interaction {
          padding: 1em 1em; } }
      @media only screen and (min-width: 992px) {
        #page--index .company-ranking .graph-legend .graph-legend-interaction {
          padding: 1em 0 1em 2em; } }
      @media only screen and (min-width: 1200px) {
        #page--index .company-ranking .graph-legend .graph-legend-interaction {
          padding: 1em 0 1em 2em; } }
  #page--index .services-ranking {
    /* Tabbed graphs */ }
    #page--index .services-ranking a {
      color: #FFF; }
    #page--index .services-ranking .tabbed-graphs {
      margin-top: 1em;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      @media only screen and (min-width: 544px) {
        #page--index .services-ranking .tabbed-graphs {
          margin-top: 1em; } }
      @media only screen and (min-width: 768px) {
        #page--index .services-ranking .tabbed-graphs {
          margin-top: 2em; } }
      @media only screen and (min-width: 992px) {
        #page--index .services-ranking .tabbed-graphs {
          margin-top: 2em; } }
      @media only screen and (min-width: 1200px) {
        #page--index .services-ranking .tabbed-graphs {
          margin-top: 2em; } }
      #page--index .services-ranking .tabbed-graphs .nav-tabs {
        display: flex;
        flex-direction: column;
        width: 31%;
        margin: 0px;
        padding: 0px;
        list-style: none; }
        @media only screen and (min-width: 544px) {
          #page--index .services-ranking .tabbed-graphs .nav-tabs {
            width: 35%; } }
        @media only screen and (min-width: 768px) {
          #page--index .services-ranking .tabbed-graphs .nav-tabs {
            width: 21%; } }
        @media only screen and (min-width: 992px) {
          #page--index .services-ranking .tabbed-graphs .nav-tabs {
            width: 17%; } }
        @media only screen and (min-width: 1200px) {
          #page--index .services-ranking .tabbed-graphs .nav-tabs {
            width: 21%; } }
        #page--index .services-ranking .tabbed-graphs .nav-tabs li {
          position: relative;
          float: none;
          margin: 0;
          padding: 5px 3px;
          color: #FFF;
          cursor: pointer;
          font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
          text-transform: uppercase;
          font-size: 8px;
          line-height: 1; }
          @media only screen and (min-width: 544px) {
            #page--index .services-ranking .tabbed-graphs .nav-tabs li {
              font-size: 10px;
              padding: 7px 7px; } }
          @media only screen and (min-width: 768px) {
            #page--index .services-ranking .tabbed-graphs .nav-tabs li {
              font-size: 10px;
              padding: 10px 15px; } }
          @media only screen and (min-width: 992px) {
            #page--index .services-ranking .tabbed-graphs .nav-tabs li {
              font-size: 12px;
              padding: 13px 8px; } }
          @media only screen and (min-width: 1200px) {
            #page--index .services-ranking .tabbed-graphs .nav-tabs li {
              font-size: 16px;
              padding: 15px 15px; } }
          #page--index .services-ranking .tabbed-graphs .nav-tabs li.current {
            border: 1px solid #FFF;
            border-right: none; }
            #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:after, #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:before {
              left: 100%;
              top: 50%;
              border: solid transparent;
              content: " ";
              height: 0;
              width: 0;
              position: absolute;
              pointer-events: none; }
            #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:after {
              border-color: rgba(77, 158, 207, 0);
              border-left-color: #4D9ECF;
              border-width: 5px;
              margin-top: -5px;
              z-index: 10; }
              @media only screen and (min-width: 544px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:after {
                  border-width: 7px;
                  margin-top: -7px; } }
              @media only screen and (min-width: 768px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:after {
                  border-width: 8px;
                  margin-top: -8px; } }
              @media only screen and (min-width: 992px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:after {
                  border-width: 9px;
                  margin-top: -9px; } }
              @media only screen and (min-width: 1200px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:after {
                  border-width: 9px;
                  margin-top: -9px; } }
            #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:before {
              border-color: rgba(255, 255, 255, 0);
              border-left-color: #FFF;
              border-width: 6px;
              margin-top: -6px;
              z-index: 9; }
              @media only screen and (min-width: 544px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:before {
                  border-width: 8px;
                  margin-top: -8px; } }
              @media only screen and (min-width: 768px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:before {
                  border-width: 9px;
                  margin-top: -9px; } }
              @media only screen and (min-width: 992px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:before {
                  border-width: 10px;
                  margin-top: -10px; } }
              @media only screen and (min-width: 1200px) {
                #page--index .services-ranking .tabbed-graphs .nav-tabs li.current:before {
                  border-width: 10px;
                  margin-top: -10px; } }
      #page--index .services-ranking .tabbed-graphs .tab-content {
        display: flex;
        position: relative;
        justify-content: center;
        width: 69%;
        border: 1px solid #FFF; }
        @media only screen and (min-width: 544px) {
          #page--index .services-ranking .tabbed-graphs .tab-content {
            width: 65%; } }
        @media only screen and (min-width: 768px) {
          #page--index .services-ranking .tabbed-graphs .tab-content {
            width: 79%; } }
        @media only screen and (min-width: 992px) {
          #page--index .services-ranking .tabbed-graphs .tab-content {
            width: 83%; } }
        @media only screen and (min-width: 1200px) {
          #page--index .services-ranking .tabbed-graphs .tab-content {
            width: 79%; } }
        #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper {
          display: none;
          overflow-x: hidden;
          overflow-y: auto;
          width: 100%;
          justify-content: center; }
          @media only screen and (min-width: 544px) {
            #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper {
              overflow-x: auto;
              overflow-y: auto; } }
          @media only screen and (min-width: 768px) {
            #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper {
              overflow-x: auto;
              overflow-y: auto; } }
          @media only screen and (min-width: 992px) {
            #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper {
              overflow-x: initial;
              overflow-y: initial; } }
          @media only screen and (min-width: 1200px) {
            #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper {
              overflow-x: initial;
              overflow-y: initial; } }
          #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 15px 10px;
            min-height: -webkit-min-content; }
            @media only screen and (min-width: 544px) {
              #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane {
                flex-direction: column;
                padding: 25px 15px; } }
            @media only screen and (min-width: 768px) {
              #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane {
                flex-direction: row;
                padding: 15px; } }
            @media only screen and (min-width: 992px) {
              #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane {
                flex-direction: column;
                padding: 10px; } }
            @media only screen and (min-width: 1200px) {
              #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane {
                flex-direction: column;
                padding: 15px; } }
            #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row {
              display: flex;
              flex-direction: column; }
              @media only screen and (min-width: 544px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row {
                  flex-direction: column; } }
              @media only screen and (min-width: 768px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row {
                  flex-direction: column; } }
              @media only screen and (min-width: 992px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row {
                  flex-direction: row; } }
              @media only screen and (min-width: 1200px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row {
                  flex-direction: row; } }
              #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row .service--circle--chart {
                padding-bottom: 15px;
                margin: 0 10px; }
                @media only screen and (min-width: 544px) {
                  #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row .service--circle--chart {
                    padding-bottom: 15px; } }
                @media only screen and (min-width: 768px) {
                  #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row .service--circle--chart {
                    padding-bottom: 15px; } }
                @media only screen and (min-width: 992px) {
                  #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row .service--circle--chart {
                    padding-bottom: 10px; } }
                @media only screen and (min-width: 1200px) {
                  #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row .service--circle--chart {
                    padding-bottom: 15px; } }
            #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row + .tab-pane-chart-row {
              margin-top: 0em; }
              @media only screen and (min-width: 544px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row + .tab-pane-chart-row {
                  margin-top: 0em; } }
              @media only screen and (min-width: 768px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row + .tab-pane-chart-row {
                  margin-top: 0em; } }
              @media only screen and (min-width: 992px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row + .tab-pane-chart-row {
                  margin-top: -1em; } }
              @media only screen and (min-width: 1200px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane .tab-pane-chart-row + .tab-pane-chart-row {
                  margin-top: 0em; } }
            #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane i {
              position: absolute;
              bottom: 10px;
              right: 10px;
              display: block;
              color: #FFF;
              font-size: 15px; }
              @media only screen and (min-width: 544px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane i {
                  bottom: 15px;
                  right: 15px;
                  display: block; } }
              @media only screen and (min-width: 768px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane i {
                  bottom: 20px;
                  right: 20px;
                  display: block; } }
              @media only screen and (min-width: 992px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane i {
                  display: none; } }
              @media only screen and (min-width: 1200px) {
                #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper .tab-pane i {
                  display: none; } }
          #page--index .services-ranking .tabbed-graphs .tab-content .tab-pane-wrapper.current {
            display: flex; }
  #page--index .data-stories .data-stories-items {
    clear: both;
    margin-top: 0em;
    margin-bottom: .325em; }
    #page--index .data-stories .data-stories-items .data-stories-item {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--index .data-stories .data-stories-items .data-stories-item:last-child {
        margin-right: 0; }
      @media only screen and (min-width: 544px) {
        #page--index .data-stories .data-stories-items .data-stories-item {
          float: left;
          display: block;
          margin-right: 2.3576515979%;
          width: 100%; }
          #page--index .data-stories .data-stories-items .data-stories-item:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 768px) {
        #page--index .data-stories .data-stories-items .data-stories-item {
          float: left;
          display: block;
          margin-right: 2.3576515979%;
          width: 48.821174201%; }
          #page--index .data-stories .data-stories-items .data-stories-item:last-child {
            margin-right: 0; }
          #page--index .data-stories .data-stories-items .data-stories-item:nth-child(2n) {
            margin-right: 0; } }
      @media only screen and (min-width: 992px) {
        #page--index .data-stories .data-stories-items .data-stories-item {
          float: left;
          display: block;
          margin-right: 2.3576515979%;
          width: 23.2317613015%; }
          #page--index .data-stories .data-stories-items .data-stories-item:last-child {
            margin-right: 0; }
          #page--index .data-stories .data-stories-items .data-stories-item:nth-child(2n) {
            margin-right: 2.3576515979%; }
          #page--index .data-stories .data-stories-items .data-stories-item:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1200px) {
        #page--index .data-stories .data-stories-items .data-stories-item {
          float: left;
          display: block;
          margin-right: 2.3576515979%;
          width: 23.2317613015%; }
          #page--index .data-stories .data-stories-items .data-stories-item:last-child {
            margin-right: 0; }
          #page--index .data-stories .data-stories-items .data-stories-item:nth-child(2n) {
            margin-right: 2.3576515979%; }
          #page--index .data-stories .data-stories-items .data-stories-item:last-child {
            margin-right: 0; } }
      #page--index .data-stories .data-stories-items .data-stories-item h3 {
        margin-top: 0.8em;
        margin-bottom: 0.5em; }
        #page--index .data-stories .data-stories-items .data-stories-item h3 a {
          color: #313131; }
    #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item {
      margin-top: 1.5em; }
      @media only screen and (min-width: 544px) {
        #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item {
          margin-top: 1.5em; } }
      @media only screen and (min-width: 768px) {
        #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item {
          margin-top: 0em; }
          #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item:nth-child(n+3) {
            margin-top: 1.5em; } }
      @media only screen and (min-width: 992px) {
        #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item {
          margin-top: 0em; }
          #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item:nth-child(n+3) {
            margin-top: 0em; } }
      @media only screen and (min-width: 1200px) {
        #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item {
          margin-top: 0em; }
          #page--index .data-stories .data-stories-items .data-stories-item + .data-stories-item:nth-child(n+3) {
            margin-top: 0em; } }

@media only screen and (min-width: 768px) {
  #page--companies .page--companies--content--row .page--companies--content--column {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    #page--companies .page--companies--content--row .page--companies--content--column:last-child {
      margin-right: 0; } }

#page--companies .page--companies--content--row .page--companies--content--column .category--title {
  margin-bottom: 1em; }
  @media only screen and (min-width: 544px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--title {
      margin-bottom: 1em; } }
  @media only screen and (min-width: 768px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--title {
      margin-bottom: 1em; } }
  @media only screen and (min-width: 992px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--title {
      margin-bottom: 1em; } }
  @media only screen and (min-width: 1200px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--title {
      margin-bottom: 1em; } }

#page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_title {
  text-align: right; }
  #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_title a {
    font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #313131;
    font-size: 12px;
    line-height: 1;
    text-transform: uppercase;
    vertical-align: middle; }
    @media only screen and (min-width: 544px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_title a {
        font-size: 12px; } }
    @media only screen and (min-width: 768px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_title a {
        font-size: 13px; } }
    @media only screen and (min-width: 992px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_title a {
        font-size: 15px; } }
    @media only screen and (min-width: 1200px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_title a {
        font-size: 16px; } }
    #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_title a:hover {
      text-decoration: underline; }

#page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value {
  width: 1.6em;
  height: 1.6em;
  display: inline-block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%; }
  @media only screen and (min-width: 544px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value {
      width: 1.6em;
      height: 1.6em; } }
  @media only screen and (min-width: 768px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value {
      width: 1.4em;
      height: 1.4em; } }
  @media only screen and (min-width: 992px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value {
      width: 1.5em;
      height: 1.5em; } }
  @media only screen and (min-width: 1200px) {
    #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value {
      width: 1.5em;
      height: 1.5em; } }
  #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value span {
    font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #FFF;
    font-size: 10px;
    line-height: 2.4; }
    @media only screen and (min-width: 544px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value span {
        font-size: 10px;
        line-height: 2.4; } }
    @media only screen and (min-width: 768px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value span {
        font-size: 10px;
        line-height: 2.4; } }
    @media only screen and (min-width: 992px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value span {
        font-size: 13px;
        line-height: 2.2; } }
    @media only screen and (min-width: 1200px) {
      #page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--category_score .vis--category_score_value span {
        font-size: 13px;
        line-height: 2.2; } }

#page--companies .page--companies--content--row .page--companies--content--column .category--graph .vis--row .vis--row_bar {
  width: 100%; }

#page--companies .page--companies--content--row .page--companies--content--column .category--graph.internet-and-mobile-companies .vis--category_score .vis--category_score_value {
  background-color: #ed1b24; }

#page--companies .page--companies--content--row .page--companies--content--column .category--graph.telecommunications-companies .vis--category_score .vis--category_score_value {
  background-color: #f8931f; }

#page--companies .page--companies--content--row .page--companies--content--column + .page--companies--content--column {
  margin-top: 2em; }
  @media only screen and (min-width: 544px) {
    #page--companies .page--companies--content--row .page--companies--content--column + .page--companies--content--column {
      margin-top: 2em; } }
  @media only screen and (min-width: 768px) {
    #page--companies .page--companies--content--row .page--companies--content--column + .page--companies--content--column {
      margin-top: 0em; } }
  @media only screen and (min-width: 992px) {
    #page--companies .page--companies--content--row .page--companies--content--column + .page--companies--content--column {
      margin-top: 0em; } }

#page--company {
  /* Introduction */
  /* Key findings */
  /* Circle chart */
  /* Section analysis */
  /* Section governance, freedom & privacy */
  /* Company line chart */
  /* Section governance */ }
  #page--company.internet-and-mobile-companies .introduction .company-type i {
    color: #ed1b24; }
  #page--company.telecommunications-companies .introduction .company-type i {
    color: #f8931f; }
  @media only screen and (min-width: 544px) {
    #page--company .introduction .row .container--left, #page--company .introduction .row-contained .container--left, #page--company .introduction .right--nav_inline .container--left, #page--company .introduction .page--body > .inner .container--left, #page--company .introduction .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .introduction .row .container--left:last-child, #page--company .introduction .row-contained .container--left:last-child, #page--company .introduction .right--nav_inline .container--left:last-child, #page--company .introduction .page--body > .inner .container--left:last-child, #page--company .introduction .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    #page--company .introduction .row .container--left, #page--company .introduction .row-contained .container--left, #page--company .introduction .right--nav_inline .container--left, #page--company .introduction .page--body > .inner .container--left, #page--company .introduction .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 40.2913699012%; }
      #page--company .introduction .row .container--left:last-child, #page--company .introduction .row-contained .container--left:last-child, #page--company .introduction .right--nav_inline .container--left:last-child, #page--company .introduction .page--body > .inner .container--left:last-child, #page--company .introduction .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 992px) {
    #page--company .introduction .row .container--left, #page--company .introduction .row-contained .container--left, #page--company .introduction .right--nav_inline .container--left, #page--company .introduction .page--body > .inner .container--left, #page--company .introduction .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 40.2913699012%; }
      #page--company .introduction .row .container--left:last-child, #page--company .introduction .row-contained .container--left:last-child, #page--company .introduction .right--nav_inline .container--left:last-child, #page--company .introduction .page--body > .inner .container--left:last-child, #page--company .introduction .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  #page--company .introduction .row .container--right, #page--company .introduction .row-contained .container--right, #page--company .introduction .right--nav_inline .container--right, #page--company .introduction .page--body > .inner .container--right, #page--company .introduction .page--footer > .inner .container--right {
    margin-right: 0; }
    @media only screen and (min-width: 544px) {
      #page--company .introduction .row .container--right, #page--company .introduction .row-contained .container--right, #page--company .introduction .right--nav_inline .container--right, #page--company .introduction .page--body > .inner .container--right, #page--company .introduction .page--footer > .inner .container--right {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 100%; }
        #page--company .introduction .row .container--right:last-child, #page--company .introduction .row-contained .container--right:last-child, #page--company .introduction .right--nav_inline .container--right:last-child, #page--company .introduction .page--body > .inner .container--right:last-child, #page--company .introduction .page--footer > .inner .container--right:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 768px) {
      #page--company .introduction .row .container--right, #page--company .introduction .row-contained .container--right, #page--company .introduction .right--nav_inline .container--right, #page--company .introduction .page--body > .inner .container--right, #page--company .introduction .page--footer > .inner .container--right {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 57.3509785009%; }
        #page--company .introduction .row .container--right:last-child, #page--company .introduction .row-contained .container--right:last-child, #page--company .introduction .right--nav_inline .container--right:last-child, #page--company .introduction .page--body > .inner .container--right:last-child, #page--company .introduction .page--footer > .inner .container--right:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 992px) {
      #page--company .introduction .row .container--right, #page--company .introduction .row-contained .container--right, #page--company .introduction .right--nav_inline .container--right, #page--company .introduction .page--body > .inner .container--right, #page--company .introduction .page--footer > .inner .container--right {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 57.3509785009%; }
        #page--company .introduction .row .container--right:last-child, #page--company .introduction .row-contained .container--right:last-child, #page--company .introduction .right--nav_inline .container--right:last-child, #page--company .introduction .page--body > .inner .container--right:last-child, #page--company .introduction .page--footer > .inner .container--right:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 544px) {
      #page--company .introduction .row .container--right .comp--score, #page--company .introduction .row-contained .container--right .comp--score, #page--company .introduction .right--nav_inline .container--right .comp--score, #page--company .introduction .page--body > .inner .container--right .comp--score, #page--company .introduction .page--footer > .inner .container--right .comp--score {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 40.2913699012%; }
        #page--company .introduction .row .container--right .comp--score:last-child, #page--company .introduction .row-contained .container--right .comp--score:last-child, #page--company .introduction .right--nav_inline .container--right .comp--score:last-child, #page--company .introduction .page--body > .inner .container--right .comp--score:last-child, #page--company .introduction .page--footer > .inner .container--right .comp--score:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 768px) {
      #page--company .introduction .row .container--right .comp--score, #page--company .introduction .row-contained .container--right .comp--score, #page--company .introduction .right--nav_inline .container--right .comp--score, #page--company .introduction .page--body > .inner .container--right .comp--score, #page--company .introduction .page--footer > .inner .container--right .comp--score {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 31.7615656014%; }
        #page--company .introduction .row .container--right .comp--score:last-child, #page--company .introduction .row-contained .container--right .comp--score:last-child, #page--company .introduction .right--nav_inline .container--right .comp--score:last-child, #page--company .introduction .page--body > .inner .container--right .comp--score:last-child, #page--company .introduction .page--footer > .inner .container--right .comp--score:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 992px) {
      #page--company .introduction .row .container--right .comp--score, #page--company .introduction .row-contained .container--right .comp--score, #page--company .introduction .right--nav_inline .container--right .comp--score, #page--company .introduction .page--body > .inner .container--right .comp--score, #page--company .introduction .page--footer > .inner .container--right .comp--score {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 31.7615656014%; }
        #page--company .introduction .row .container--right .comp--score:last-child, #page--company .introduction .row-contained .container--right .comp--score:last-child, #page--company .introduction .right--nav_inline .container--right .comp--score:last-child, #page--company .introduction .page--body > .inner .container--right .comp--score:last-child, #page--company .introduction .page--footer > .inner .container--right .comp--score:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 544px) {
      #page--company .introduction .row .container--right .comp--among, #page--company .introduction .row-contained .container--right .comp--among, #page--company .introduction .right--nav_inline .container--right .comp--among, #page--company .introduction .page--body > .inner .container--right .comp--among, #page--company .introduction .page--footer > .inner .container--right .comp--among {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 57.3509785009%; }
        #page--company .introduction .row .container--right .comp--among:last-child, #page--company .introduction .row-contained .container--right .comp--among:last-child, #page--company .introduction .right--nav_inline .container--right .comp--among:last-child, #page--company .introduction .page--body > .inner .container--right .comp--among:last-child, #page--company .introduction .page--footer > .inner .container--right .comp--among:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 768px) {
      #page--company .introduction .row .container--right .comp--among, #page--company .introduction .row-contained .container--right .comp--among, #page--company .introduction .right--nav_inline .container--right .comp--among, #page--company .introduction .page--body > .inner .container--right .comp--among, #page--company .introduction .page--footer > .inner .container--right .comp--among {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 65.8807828007%; }
        #page--company .introduction .row .container--right .comp--among:last-child, #page--company .introduction .row-contained .container--right .comp--among:last-child, #page--company .introduction .right--nav_inline .container--right .comp--among:last-child, #page--company .introduction .page--body > .inner .container--right .comp--among:last-child, #page--company .introduction .page--footer > .inner .container--right .comp--among:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 992px) {
      #page--company .introduction .row .container--right .comp--among, #page--company .introduction .row-contained .container--right .comp--among, #page--company .introduction .right--nav_inline .container--right .comp--among, #page--company .introduction .page--body > .inner .container--right .comp--among, #page--company .introduction .page--footer > .inner .container--right .comp--among {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 65.8807828007%; }
        #page--company .introduction .row .container--right .comp--among:last-child, #page--company .introduction .row-contained .container--right .comp--among:last-child, #page--company .introduction .right--nav_inline .container--right .comp--among:last-child, #page--company .introduction .page--body > .inner .container--right .comp--among:last-child, #page--company .introduction .page--footer > .inner .container--right .comp--among:last-child {
          margin-right: 0; } }
  #page--company .introduction .company-type {
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #313131;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase; }
    @media only screen and (min-width: 544px) {
      #page--company .introduction .company-type {
        font-size: 11px; } }
    @media only screen and (min-width: 768px) {
      #page--company .introduction .company-type {
        font-size: 12px; } }
    @media only screen and (min-width: 992px) {
      #page--company .introduction .company-type {
        font-size: 13px; } }
    @media only screen and (min-width: 1200px) {
      #page--company .introduction .company-type {
        font-size: 13px; } }
  #page--company .introduction .comp--sub_headquarters,
  #page--company .introduction .comp--sub_website {
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #313131;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: 1px; }
    @media only screen and (min-width: 544px) {
      #page--company .introduction .comp--sub_headquarters,
      #page--company .introduction .comp--sub_website {
        font-size: 14px; } }
    @media only screen and (min-width: 768px) {
      #page--company .introduction .comp--sub_headquarters,
      #page--company .introduction .comp--sub_website {
        font-size: 15px; } }
    @media only screen and (min-width: 992px) {
      #page--company .introduction .comp--sub_headquarters,
      #page--company .introduction .comp--sub_website {
        font-size: 16px; } }
    @media only screen and (min-width: 1200px) {
      #page--company .introduction .comp--sub_headquarters,
      #page--company .introduction .comp--sub_website {
        font-size: 16px; } }
    #page--company .introduction .comp--sub_headquarters label,
    #page--company .introduction .comp--sub_website label {
      font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    #page--company .introduction .comp--sub_headquarters a,
    #page--company .introduction .comp--sub_website a {
      color: #313131; }
  #page--company .introduction .comp--score {
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #313131;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 1em; }
    @media only screen and (min-width: 544px) {
      #page--company .introduction .comp--score {
        font-size: 11px;
        margin-top: 2em; } }
    @media only screen and (min-width: 768px) {
      #page--company .introduction .comp--score {
        font-size: 12px;
        margin-top: 0em; } }
    @media only screen and (min-width: 992px) {
      #page--company .introduction .comp--score {
        font-size: 13px;
        margin-top: 0em; } }
    @media only screen and (min-width: 1200px) {
      #page--company .introduction .comp--score {
        font-size: 13px;
        margin-top: 0em; } }
    #page--company .introduction .comp--score .comp--score--value {
      margin-top: 0em;
      font-family: "Platform-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #b1b0b0;
      line-height: 1;
      font-size: 40px;
      letter-spacing: 2px; }
      @media only screen and (min-width: 544px) {
        #page--company .introduction .comp--score .comp--score--value {
          margin-top: 0.5em;
          font-size: 65px; } }
      @media only screen and (min-width: 768px) {
        #page--company .introduction .comp--score .comp--score--value {
          margin-top: 0.5em;
          font-size: 65px; } }
      @media only screen and (min-width: 992px) {
        #page--company .introduction .comp--score .comp--score--value {
          margin-top: 0.5em;
          font-size: 65px; } }
      @media only screen and (min-width: 1200px) {
        #page--company .introduction .comp--score .comp--score--value {
          margin-top: 0.5em;
          font-size: 70px; } }
  #page--company .introduction .comp--among {
    margin-top: 1em;
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #313131;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase; }
    @media only screen and (min-width: 544px) {
      #page--company .introduction .comp--among {
        margin-top: 2em;
        font-size: 11px; } }
    @media only screen and (min-width: 768px) {
      #page--company .introduction .comp--among {
        margin-top: 0em;
        font-size: 12px; } }
    @media only screen and (min-width: 992px) {
      #page--company .introduction .comp--among {
        margin-top: 0em;
        font-size: 13px; } }
    @media only screen and (min-width: 1200px) {
      #page--company .introduction .comp--among {
        margin-top: 0em;
        font-size: 13px; } }
    #page--company .introduction .comp--among #comp--position_among_label {
      padding-left: 5px; }
    #page--company .introduction .comp--among .comp--bar_chart {
      margin-top: 0.5em; }
      @media only screen and (min-width: 544px) {
        #page--company .introduction .comp--among .comp--bar_chart {
          margin-top: 1em; } }
      @media only screen and (min-width: 768px) {
        #page--company .introduction .comp--among .comp--bar_chart {
          margin-top: 1em; } }
      @media only screen and (min-width: 992px) {
        #page--company .introduction .comp--among .comp--bar_chart {
          margin-top: 1.5em; } }
      @media only screen and (min-width: 1200px) {
        #page--company .introduction .comp--among .comp--bar_chart {
          margin-top: 1.5em; } }
      #page--company .introduction .comp--among .comp--bar_chart .bar--chart {
        padding-left: 8px; }
        #page--company .introduction .comp--among .comp--bar_chart .bar--chart .bar--axis_x_current_company_bar {
          fill: #ed1b24; }
        #page--company .introduction .comp--among .comp--bar_chart .bar--chart .bar--axis_x_current_company {
          text-align: center;
          line-height: 2;
          fill: #FFF;
          font-weight: 600;
          font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
          font-size: 12px; }
          @media only screen and (min-width: 544px) {
            #page--company .introduction .comp--among .comp--bar_chart .bar--chart .bar--axis_x_current_company {
              font-size: 12px; } }
          @media only screen and (min-width: 768px) {
            #page--company .introduction .comp--among .comp--bar_chart .bar--chart .bar--axis_x_current_company {
              font-size: 12px; } }
          @media only screen and (min-width: 992px) {
            #page--company .introduction .comp--among .comp--bar_chart .bar--chart .bar--axis_x_current_company {
              font-size: 12px; } }
          @media only screen and (min-width: 1200px) {
            #page--company .introduction .comp--among .comp--bar_chart .bar--chart .bar--axis_x_current_company {
              font-size: 12px; } }
  @media only screen and (min-width: 544px) {
    #page--company .key-findings .row .container--left, #page--company .key-findings .row-contained .container--left, #page--company .key-findings .right--nav_inline .container--left, #page--company .key-findings .page--body > .inner .container--left, #page--company .key-findings .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .key-findings .row .container--left:last-child, #page--company .key-findings .row-contained .container--left:last-child, #page--company .key-findings .right--nav_inline .container--left:last-child, #page--company .key-findings .page--body > .inner .container--left:last-child, #page--company .key-findings .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    #page--company .key-findings .row .container--left, #page--company .key-findings .row-contained .container--left, #page--company .key-findings .right--nav_inline .container--left, #page--company .key-findings .page--body > .inner .container--left, #page--company .key-findings .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .key-findings .row .container--left:last-child, #page--company .key-findings .row-contained .container--left:last-child, #page--company .key-findings .right--nav_inline .container--left:last-child, #page--company .key-findings .page--body > .inner .container--left:last-child, #page--company .key-findings .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 992px) {
    #page--company .key-findings .row .container--left, #page--company .key-findings .row-contained .container--left, #page--company .key-findings .right--nav_inline .container--left, #page--company .key-findings .page--body > .inner .container--left, #page--company .key-findings .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 48.821174201%; }
      #page--company .key-findings .row .container--left:last-child, #page--company .key-findings .row-contained .container--left:last-child, #page--company .key-findings .right--nav_inline .container--left:last-child, #page--company .key-findings .page--body > .inner .container--left:last-child, #page--company .key-findings .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 544px) {
    #page--company .key-findings .row .container--right, #page--company .key-findings .row-contained .container--right, #page--company .key-findings .right--nav_inline .container--right, #page--company .key-findings .page--body > .inner .container--right, #page--company .key-findings .page--footer > .inner .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .key-findings .row .container--right:last-child, #page--company .key-findings .row-contained .container--right:last-child, #page--company .key-findings .right--nav_inline .container--right:last-child, #page--company .key-findings .page--body > .inner .container--right:last-child, #page--company .key-findings .page--footer > .inner .container--right:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    #page--company .key-findings .row .container--right, #page--company .key-findings .row-contained .container--right, #page--company .key-findings .right--nav_inline .container--right, #page--company .key-findings .page--body > .inner .container--right, #page--company .key-findings .page--footer > .inner .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .key-findings .row .container--right:last-child, #page--company .key-findings .row-contained .container--right:last-child, #page--company .key-findings .right--nav_inline .container--right:last-child, #page--company .key-findings .page--body > .inner .container--right:last-child, #page--company .key-findings .page--footer > .inner .container--right:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 992px) {
    #page--company .key-findings .row .container--right, #page--company .key-findings .row-contained .container--right, #page--company .key-findings .right--nav_inline .container--right, #page--company .key-findings .page--body > .inner .container--right, #page--company .key-findings .page--footer > .inner .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 48.821174201%; }
      #page--company .key-findings .row .container--right:last-child, #page--company .key-findings .row-contained .container--right:last-child, #page--company .key-findings .right--nav_inline .container--right:last-child, #page--company .key-findings .page--body > .inner .container--right:last-child, #page--company .key-findings .page--footer > .inner .container--right:last-child {
        margin-right: 0; } }
  #page--company .key-findings .comp--key_findings ul {
    padding-left: 15px; }
    @media only screen and (min-width: 544px) {
      #page--company .key-findings .comp--key_findings ul {
        padding-left: 15px; } }
    @media only screen and (min-width: 768px) {
      #page--company .key-findings .comp--key_findings ul {
        padding-left: 15px; } }
    @media only screen and (min-width: 992px) {
      #page--company .key-findings .comp--key_findings ul {
        padding-left: 15px; } }
    @media only screen and (min-width: 1200px) {
      #page--company .key-findings .comp--key_findings ul {
        padding-left: 15px; } }
    #page--company .key-findings .comp--key_findings ul li {
      list-style-type: disc !important;
      font-size: 13px;
      line-height: 1.3;
      letter-spacing: 1px;
      margin-bottom: 5px; }
      @media only screen and (min-width: 544px) {
        #page--company .key-findings .comp--key_findings ul li {
          font-size: 14px;
          margin-bottom: 5px; } }
      @media only screen and (min-width: 768px) {
        #page--company .key-findings .comp--key_findings ul li {
          font-size: 15px;
          margin-bottom: 5px; } }
      @media only screen and (min-width: 992px) {
        #page--company .key-findings .comp--key_findings ul li {
          font-size: 16px;
          margin-bottom: 10px; } }
      @media only screen and (min-width: 1200px) {
        #page--company .key-findings .comp--key_findings ul li {
          font-size: 16px;
          margin-bottom: 10px; } }
  #page--company .key-findings .comp--services_evaluated .comp--services_evaluated-title {
    margin-top: 2em;
    text-transform: uppercase;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #313131; }
  #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper {
    margin-top: 1em;
    margin-bottom: 1em;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start; }
    @media only screen and (min-width: 544px) {
      #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper {
        margin-top: 1em;
        margin-bottom: 1em;
        align-items: flex-start; } }
    @media only screen and (min-width: 768px) {
      #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper {
        margin-top: 1em;
        margin-bottom: 0em;
        align-items: flex-start; } }
    @media only screen and (min-width: 992px) {
      #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper {
        margin-top: 1em;
        margin-bottom: 0em;
        align-items: flex-start; } }
    @media only screen and (min-width: 1200px) {
      #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper {
        margin-top: 1em;
        margin-bottom: 0em;
        align-items: flex-start; } }
    #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess label {
      font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
      text-transform: uppercase;
      color: #313131;
      font-size: 10px;
      line-height: 1.3;
      letter-spacing: 1px;
      margin-bottom: 0px; }
      @media only screen and (min-width: 544px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess label {
          font-size: 11px; } }
      @media only screen and (min-width: 768px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess label {
          font-size: 11px; } }
      @media only screen and (min-width: 992px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess label {
          font-size: 13px; } }
      @media only screen and (min-width: 1200px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess label {
          font-size: 13px; } }
      #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess label a {
        color: #313131; }
    #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess .comp--name {
      margin-top: 0.5em;
      font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #313131;
      font-size: 12px;
      line-height: 1.3;
      letter-spacing: 1px;
      text-transform: uppercase; }
      @media only screen and (min-width: 544px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess .comp--name {
          font-size: 14px; } }
      @media only screen and (min-width: 768px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess .comp--name {
          font-size: 14px; } }
      @media only screen and (min-width: 992px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess .comp--name {
          font-size: 15px; } }
      @media only screen and (min-width: 1200px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess .comp--name {
          font-size: 20px; } }
    #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess + .comp--instant_mess {
      margin-left: 1em; }
      @media only screen and (min-width: 544px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess + .comp--instant_mess {
          margin-left: 2em; } }
      @media only screen and (min-width: 768px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess + .comp--instant_mess {
          margin-left: 2em; } }
      @media only screen and (min-width: 992px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess + .comp--instant_mess {
          margin-left: 2em; } }
      @media only screen and (min-width: 1200px) {
        #page--company .key-findings .comp--services_evaluated .comp--instant_mess-wrapper .comp--instant_mess + .comp--instant_mess {
          margin-left: 2em; } }
  #page--company .circle-chart .circle--charts_container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%; }
    @media only screen and (min-width: 544px) {
      #page--company .circle-chart .circle--charts_container {
        flex-direction: column; } }
    @media only screen and (min-width: 768px) {
      #page--company .circle-chart .circle--charts_container {
        flex-direction: column; } }
    @media only screen and (min-width: 992px) {
      #page--company .circle-chart .circle--charts_container {
        flex-direction: row; } }
    @media only screen and (min-width: 1200px) {
      #page--company .circle-chart .circle--charts_container {
        flex-direction: row; } }
    #page--company .circle-chart .circle--charts_container .circle--chart {
      text-align: center;
      width: 100%; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_G,
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_F,
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_P {
        font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0px;
        margin-bottom: 0px;
        text-transform: uppercase; }
        @media only screen and (min-width: 544px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_G,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_F,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_P {
            font-size: 16px; } }
        @media only screen and (min-width: 768px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_G,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_F,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_P {
            font-size: 17px; } }
        @media only screen and (min-width: 992px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_G,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_F,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_P {
            font-size: 18px; } }
        @media only screen and (min-width: 1200px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_G,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_F,
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_P {
            font-size: 18px; } }
        #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_G:hover,
        #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_F:hover,
        #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_P:hover {
          cursor: pointer;
          text-decoration: underline; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_G {
        fill: #57A8D5; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_F {
        fill: #21BCB3; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_name_P {
        fill: #238E88; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_val {
        font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #313131;
        font-size: 25px;
        line-height: 1.3;
        letter-spacing: 1px;
        margin-bottom: 0px; }
        @media only screen and (min-width: 544px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_val {
            font-size: 25px; } }
        @media only screen and (min-width: 768px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_val {
            font-size: 28px; } }
        @media only screen and (min-width: 992px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_val {
            font-size: 32px; } }
        @media only screen and (min-width: 1200px) {
          #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--label_val {
            font-size: 35px; } }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--arc .circle--arc_remainder {
        fill: #E5DCD2; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--arc .circle--arc_commitment {
        fill: #57A8D5; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--arc .circle--arc_freedom {
        fill: #21BCB3; }
      #page--company .circle-chart .circle--charts_container .circle--chart .circle--container .circle--arc .circle--arc_privacy {
        fill: #238E88; }
    #page--company .circle-chart .circle--charts_container .circle--chart + .circle--chart {
      margin-top: 1em; }
      @media only screen and (min-width: 544px) {
        #page--company .circle-chart .circle--charts_container .circle--chart + .circle--chart {
          margin-top: 1em; } }
      @media only screen and (min-width: 768px) {
        #page--company .circle-chart .circle--charts_container .circle--chart + .circle--chart {
          margin-top: 1em; } }
      @media only screen and (min-width: 992px) {
        #page--company .circle-chart .circle--charts_container .circle--chart + .circle--chart {
          margin-top: 0; } }
      @media only screen and (min-width: 1200px) {
        #page--company .circle-chart .circle--charts_container .circle--chart + .circle--chart {
          margin-top: 0; } }
  @media only screen and (min-width: 544px) {
    #page--company .section--analysis .row .container--left, #page--company .section--analysis .row-contained .container--left, #page--company .section--analysis .right--nav_inline .container--left, #page--company .section--analysis .page--body > .inner .container--left, #page--company .section--analysis .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .section--analysis .row .container--left:last-child, #page--company .section--analysis .row-contained .container--left:last-child, #page--company .section--analysis .right--nav_inline .container--left:last-child, #page--company .section--analysis .page--body > .inner .container--left:last-child, #page--company .section--analysis .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    #page--company .section--analysis .row .container--left, #page--company .section--analysis .row-contained .container--left, #page--company .section--analysis .right--nav_inline .container--left, #page--company .section--analysis .page--body > .inner .container--left, #page--company .section--analysis .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .section--analysis .row .container--left:last-child, #page--company .section--analysis .row-contained .container--left:last-child, #page--company .section--analysis .right--nav_inline .container--left:last-child, #page--company .section--analysis .page--body > .inner .container--left:last-child, #page--company .section--analysis .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 992px) {
    #page--company .section--analysis .row .container--left, #page--company .section--analysis .row-contained .container--left, #page--company .section--analysis .right--nav_inline .container--left, #page--company .section--analysis .page--body > .inner .container--left, #page--company .section--analysis .page--footer > .inner .container--left {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 48.821174201%; }
      #page--company .section--analysis .row .container--left:last-child, #page--company .section--analysis .row-contained .container--left:last-child, #page--company .section--analysis .right--nav_inline .container--left:last-child, #page--company .section--analysis .page--body > .inner .container--left:last-child, #page--company .section--analysis .page--footer > .inner .container--left:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 544px) {
    #page--company .section--analysis .row .container--right, #page--company .section--analysis .row-contained .container--right, #page--company .section--analysis .right--nav_inline .container--right, #page--company .section--analysis .page--body > .inner .container--right, #page--company .section--analysis .page--footer > .inner .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .section--analysis .row .container--right:last-child, #page--company .section--analysis .row-contained .container--right:last-child, #page--company .section--analysis .right--nav_inline .container--right:last-child, #page--company .section--analysis .page--body > .inner .container--right:last-child, #page--company .section--analysis .page--footer > .inner .container--right:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    #page--company .section--analysis .row .container--right, #page--company .section--analysis .row-contained .container--right, #page--company .section--analysis .right--nav_inline .container--right, #page--company .section--analysis .page--body > .inner .container--right, #page--company .section--analysis .page--footer > .inner .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--company .section--analysis .row .container--right:last-child, #page--company .section--analysis .row-contained .container--right:last-child, #page--company .section--analysis .right--nav_inline .container--right:last-child, #page--company .section--analysis .page--body > .inner .container--right:last-child, #page--company .section--analysis .page--footer > .inner .container--right:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 992px) {
    #page--company .section--analysis .row .container--right, #page--company .section--analysis .row-contained .container--right, #page--company .section--analysis .right--nav_inline .container--right, #page--company .section--analysis .page--body > .inner .container--right, #page--company .section--analysis .page--footer > .inner .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 48.821174201%; }
      #page--company .section--analysis .row .container--right:last-child, #page--company .section--analysis .row-contained .container--right:last-child, #page--company .section--analysis .right--nav_inline .container--right:last-child, #page--company .section--analysis .page--body > .inner .container--right:last-child, #page--company .section--analysis .page--footer > .inner .container--right:last-child {
        margin-right: 0; } }
  #page--company .section--analysis .title-section {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    margin-bottom: .5em; }
    #page--company .section--analysis .title-section h2 {
      margin-bottom: 0; }
    #page--company .section--analysis .title-section .overall-score {
      margin-left: 1em; }
      #page--company .section--analysis .title-section .overall-score label {
        font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
        text-transform: uppercase;
        color: #313131;
        font-size: 12px;
        line-height: 1.3;
        letter-spacing: 1px;
        margin-bottom: 0px; }
        @media only screen and (min-width: 544px) {
          #page--company .section--analysis .title-section .overall-score label {
            font-size: 12px; } }
        @media only screen and (min-width: 768px) {
          #page--company .section--analysis .title-section .overall-score label {
            font-size: 13px; } }
        @media only screen and (min-width: 992px) {
          #page--company .section--analysis .title-section .overall-score label {
            font-size: 14px; } }
        @media only screen and (min-width: 1200px) {
          #page--company .section--analysis .title-section .overall-score label {
            font-size: 14px; } }
      #page--company .section--analysis .title-section .overall-score .overall-score-value {
        font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #b1b0b0;
        font-size: 19px;
        line-height: 1.3;
        letter-spacing: 1px;
        margin-bottom: 0px; }
        @media only screen and (min-width: 544px) {
          #page--company .section--analysis .title-section .overall-score .overall-score-value {
            font-size: 19px; } }
        @media only screen and (min-width: 768px) {
          #page--company .section--analysis .title-section .overall-score .overall-score-value {
            font-size: 20px; } }
        @media only screen and (min-width: 992px) {
          #page--company .section--analysis .title-section .overall-score .overall-score-value {
            font-size: 25px; } }
        @media only screen and (min-width: 1200px) {
          #page--company .section--analysis .title-section .overall-score .overall-score-value {
            font-size: 30px; } }
  #page--company .section--analysis .title-line-chart {
    height: 5px;
    background-color: #b1b0b0;
    margin-bottom: 1.5em; }
    #page--company .section--analysis .title-line-chart .title-line-chart-value {
      height: 5px;
      background-color: #313131; }
  #page--company .section--analysis .comp--industry,
  #page--company .section--analysis .comp--mark,
  #page--company .section--analysis .comp--sank {
    margin-top: 1em;
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #313131;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: 1px; }
    @media only screen and (min-width: 544px) {
      #page--company .section--analysis .comp--industry,
      #page--company .section--analysis .comp--mark,
      #page--company .section--analysis .comp--sank {
        font-size: 14px; } }
    @media only screen and (min-width: 768px) {
      #page--company .section--analysis .comp--industry,
      #page--company .section--analysis .comp--mark,
      #page--company .section--analysis .comp--sank {
        font-size: 15px; } }
    @media only screen and (min-width: 992px) {
      #page--company .section--analysis .comp--industry,
      #page--company .section--analysis .comp--mark,
      #page--company .section--analysis .comp--sank {
        font-size: 16px; } }
    @media only screen and (min-width: 1200px) {
      #page--company .section--analysis .comp--industry,
      #page--company .section--analysis .comp--mark,
      #page--company .section--analysis .comp--sank {
        font-size: 16px; } }
    #page--company .section--analysis .comp--industry label,
    #page--company .section--analysis .comp--mark label,
    #page--company .section--analysis .comp--sank label {
      font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif; }
  #page--company .section--governance,
  #page--company .section--freedom,
  #page--company .section--privacy {
    padding-top: 0;
    padding-bottom: 0; }
    #page--company .section--governance .row, #page--company .section--governance .row-contained, #page--company .section--governance .right--nav_inline, #page--company .section--governance .page--body > .inner, #page--company .section--governance .page--footer > .inner,
    #page--company .section--freedom .row,
    #page--company .section--freedom .row-contained,
    #page--company .section--freedom .right--nav_inline,
    #page--company .section--freedom .page--body > .inner,
    #page--company .section--freedom .page--footer > .inner,
    #page--company .section--privacy .row,
    #page--company .section--privacy .row-contained,
    #page--company .section--privacy .right--nav_inline,
    #page--company .section--privacy .page--body > .inner,
    #page--company .section--privacy .page--footer > .inner {
      border-top: 2px solid #313131;
      padding-top: 1.5em;
      padding-bottom: 1em; }
      @media only screen and (min-width: 544px) {
        #page--company .section--governance .row .container--left, #page--company .section--governance .row-contained .container--left, #page--company .section--governance .right--nav_inline .container--left, #page--company .section--governance .page--body > .inner .container--left, #page--company .section--governance .page--footer > .inner .container--left,
        #page--company .section--freedom .row .container--left,
        #page--company .section--freedom .row-contained .container--left,
        #page--company .section--freedom .right--nav_inline .container--left,
        #page--company .section--freedom .page--body > .inner .container--left,
        #page--company .section--freedom .page--footer > .inner .container--left,
        #page--company .section--privacy .row .container--left,
        #page--company .section--privacy .row-contained .container--left,
        #page--company .section--privacy .right--nav_inline .container--left,
        #page--company .section--privacy .page--body > .inner .container--left,
        #page--company .section--privacy .page--footer > .inner .container--left {
          float: left;
          display: block;
          margin-right: 2.3576515979%;
          width: 100%; }
          #page--company .section--governance .row .container--left:last-child, #page--company .section--governance .row-contained .container--left:last-child, #page--company .section--governance .right--nav_inline .container--left:last-child, #page--company .section--governance .page--body > .inner .container--left:last-child, #page--company .section--governance .page--footer > .inner .container--left:last-child,
          #page--company .section--freedom .row .container--left:last-child,
          #page--company .section--freedom .row-contained .container--left:last-child,
          #page--company .section--freedom .right--nav_inline .container--left:last-child,
          #page--company .section--freedom .page--body > .inner .container--left:last-child,
          #page--company .section--freedom .page--footer > .inner .container--left:last-child,
          #page--company .section--privacy .row .container--left:last-child,
          #page--company .section--privacy .row-contained .container--left:last-child,
          #page--company .section--privacy .right--nav_inline .container--left:last-child,
          #page--company .section--privacy .page--body > .inner .container--left:last-child,
          #page--company .section--privacy .page--footer > .inner .container--left:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 768px) {
        #page--company .section--governance .row .container--left, #page--company .section--governance .row-contained .container--left, #page--company .section--governance .right--nav_inline .container--left, #page--company .section--governance .page--body > .inner .container--left, #page--company .section--governance .page--footer > .inner .container--left,
        #page--company .section--freedom .row .container--left,
        #page--company .section--freedom .row-contained .container--left,
        #page--company .section--freedom .right--nav_inline .container--left,
        #page--company .section--freedom .page--body > .inner .container--left,
        #page--company .section--freedom .page--footer > .inner .container--left,
        #page--company .section--privacy .row .container--left,
        #page--company .section--privacy .row-contained .container--left,
        #page--company .section--privacy .right--nav_inline .container--left,
        #page--company .section--privacy .page--body > .inner .container--left,
        #page--company .section--privacy .page--footer > .inner .container--left {
          float: left;
          display: block;
          margin-right: 2.3576515979%;
          width: 100%; }
          #page--company .section--governance .row .container--left:last-child, #page--company .section--governance .row-contained .container--left:last-child, #page--company .section--governance .right--nav_inline .container--left:last-child, #page--company .section--governance .page--body > .inner .container--left:last-child, #page--company .section--governance .page--footer > .inner .container--left:last-child,
          #page--company .section--freedom .row .container--left:last-child,
          #page--company .section--freedom .row-contained .container--left:last-child,
          #page--company .section--freedom .right--nav_inline .container--left:last-child,
          #page--company .section--freedom .page--body > .inner .container--left:last-child,
          #page--company .section--freedom .page--footer > .inner .container--left:last-child,
          #page--company .section--privacy .row .container--left:last-child,
          #page--company .section--privacy .row-contained .container--left:last-child,
          #page--company .section--privacy .right--nav_inline .container--left:last-child,
          #page--company .section--privacy .page--body > .inner .container--left:last-child,
          #page--company .section--privacy .page--footer > .inner .container--left:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 992px) {
        #page--company .section--governance .row .container--left, #page--company .section--governance .row-contained .container--left, #page--company .section--governance .right--nav_inline .container--left, #page--company .section--governance .page--body > .inner .container--left, #page--company .section--governance .page--footer > .inner .container--left,
        #page--company .section--freedom .row .container--left,
        #page--company .section--freedom .row-contained .container--left,
        #page--company .section--freedom .right--nav_inline .container--left,
        #page--company .section--freedom .page--body > .inner .container--left,
        #page--company .section--freedom .page--footer > .inner .container--left,
        #page--company .section--privacy .row .container--left,
        #page--company .section--privacy .row-contained .container--left,
        #page--company .section--privacy .right--nav_inline .container--left,
        #page--company .section--privacy .page--body > .inner .container--left,
        #page--company .section--privacy .page--footer > .inner .container--left {
          float: left;
          display: block;
          margin-right: 2.3576515979%;
          width: 40.2913699012%; }
          #page--company .section--governance .row .container--left:last-child, #page--company .section--governance .row-contained .container--left:last-child, #page--company .section--governance .right--nav_inline .container--left:last-child, #page--company .section--governance .page--body > .inner .container--left:last-child, #page--company .section--governance .page--footer > .inner .container--left:last-child,
          #page--company .section--freedom .row .container--left:last-child,
          #page--company .section--freedom .row-contained .container--left:last-child,
          #page--company .section--freedom .right--nav_inline .container--left:last-child,
          #page--company .section--freedom .page--body > .inner .container--left:last-child,
          #page--company .section--freedom .page--footer > .inner .container--left:last-child,
          #page--company .section--privacy .row .container--left:last-child,
          #page--company .section--privacy .row-contained .container--left:last-child,
          #page--company .section--privacy .right--nav_inline .container--left:last-child,
          #page--company .section--privacy .page--body > .inner .container--left:last-child,
          #page--company .section--privacy .page--footer > .inner .container--left:last-child {
            margin-right: 0; } }
      #page--company .section--governance .row .container--right, #page--company .section--governance .row-contained .container--right, #page--company .section--governance .right--nav_inline .container--right, #page--company .section--governance .page--body > .inner .container--right, #page--company .section--governance .page--footer > .inner .container--right,
      #page--company .section--freedom .row .container--right,
      #page--company .section--freedom .row-contained .container--right,
      #page--company .section--freedom .right--nav_inline .container--right,
      #page--company .section--freedom .page--body > .inner .container--right,
      #page--company .section--freedom .page--footer > .inner .container--right,
      #page--company .section--privacy .row .container--right,
      #page--company .section--privacy .row-contained .container--right,
      #page--company .section--privacy .right--nav_inline .container--right,
      #page--company .section--privacy .page--body > .inner .container--right,
      #page--company .section--privacy .page--footer > .inner .container--right {
        margin-right: 0; }
        @media only screen and (min-width: 544px) {
          #page--company .section--governance .row .container--right, #page--company .section--governance .row-contained .container--right, #page--company .section--governance .right--nav_inline .container--right, #page--company .section--governance .page--body > .inner .container--right, #page--company .section--governance .page--footer > .inner .container--right,
          #page--company .section--freedom .row .container--right,
          #page--company .section--freedom .row-contained .container--right,
          #page--company .section--freedom .right--nav_inline .container--right,
          #page--company .section--freedom .page--body > .inner .container--right,
          #page--company .section--freedom .page--footer > .inner .container--right,
          #page--company .section--privacy .row .container--right,
          #page--company .section--privacy .row-contained .container--right,
          #page--company .section--privacy .right--nav_inline .container--right,
          #page--company .section--privacy .page--body > .inner .container--right,
          #page--company .section--privacy .page--footer > .inner .container--right {
            float: left;
            display: block;
            margin-right: 2.3576515979%;
            width: 100%; }
            #page--company .section--governance .row .container--right:last-child, #page--company .section--governance .row-contained .container--right:last-child, #page--company .section--governance .right--nav_inline .container--right:last-child, #page--company .section--governance .page--body > .inner .container--right:last-child, #page--company .section--governance .page--footer > .inner .container--right:last-child,
            #page--company .section--freedom .row .container--right:last-child,
            #page--company .section--freedom .row-contained .container--right:last-child,
            #page--company .section--freedom .right--nav_inline .container--right:last-child,
            #page--company .section--freedom .page--body > .inner .container--right:last-child,
            #page--company .section--freedom .page--footer > .inner .container--right:last-child,
            #page--company .section--privacy .row .container--right:last-child,
            #page--company .section--privacy .row-contained .container--right:last-child,
            #page--company .section--privacy .right--nav_inline .container--right:last-child,
            #page--company .section--privacy .page--body > .inner .container--right:last-child,
            #page--company .section--privacy .page--footer > .inner .container--right:last-child {
              margin-right: 0; } }
        @media only screen and (min-width: 768px) {
          #page--company .section--governance .row .container--right, #page--company .section--governance .row-contained .container--right, #page--company .section--governance .right--nav_inline .container--right, #page--company .section--governance .page--body > .inner .container--right, #page--company .section--governance .page--footer > .inner .container--right,
          #page--company .section--freedom .row .container--right,
          #page--company .section--freedom .row-contained .container--right,
          #page--company .section--freedom .right--nav_inline .container--right,
          #page--company .section--freedom .page--body > .inner .container--right,
          #page--company .section--freedom .page--footer > .inner .container--right,
          #page--company .section--privacy .row .container--right,
          #page--company .section--privacy .row-contained .container--right,
          #page--company .section--privacy .right--nav_inline .container--right,
          #page--company .section--privacy .page--body > .inner .container--right,
          #page--company .section--privacy .page--footer > .inner .container--right {
            float: left;
            display: block;
            margin-right: 2.3576515979%;
            width: 100%; }
            #page--company .section--governance .row .container--right:last-child, #page--company .section--governance .row-contained .container--right:last-child, #page--company .section--governance .right--nav_inline .container--right:last-child, #page--company .section--governance .page--body > .inner .container--right:last-child, #page--company .section--governance .page--footer > .inner .container--right:last-child,
            #page--company .section--freedom .row .container--right:last-child,
            #page--company .section--freedom .row-contained .container--right:last-child,
            #page--company .section--freedom .right--nav_inline .container--right:last-child,
            #page--company .section--freedom .page--body > .inner .container--right:last-child,
            #page--company .section--freedom .page--footer > .inner .container--right:last-child,
            #page--company .section--privacy .row .container--right:last-child,
            #page--company .section--privacy .row-contained .container--right:last-child,
            #page--company .section--privacy .right--nav_inline .container--right:last-child,
            #page--company .section--privacy .page--body > .inner .container--right:last-child,
            #page--company .section--privacy .page--footer > .inner .container--right:last-child {
              margin-right: 0; } }
        @media only screen and (min-width: 992px) {
          #page--company .section--governance .row .container--right, #page--company .section--governance .row-contained .container--right, #page--company .section--governance .right--nav_inline .container--right, #page--company .section--governance .page--body > .inner .container--right, #page--company .section--governance .page--footer > .inner .container--right,
          #page--company .section--freedom .row .container--right,
          #page--company .section--freedom .row-contained .container--right,
          #page--company .section--freedom .right--nav_inline .container--right,
          #page--company .section--freedom .page--body > .inner .container--right,
          #page--company .section--freedom .page--footer > .inner .container--right,
          #page--company .section--privacy .row .container--right,
          #page--company .section--privacy .row-contained .container--right,
          #page--company .section--privacy .right--nav_inline .container--right,
          #page--company .section--privacy .page--body > .inner .container--right,
          #page--company .section--privacy .page--footer > .inner .container--right {
            float: left;
            display: block;
            margin-right: 2.3576515979%;
            width: 57.3509785009%; }
            #page--company .section--governance .row .container--right:last-child, #page--company .section--governance .row-contained .container--right:last-child, #page--company .section--governance .right--nav_inline .container--right:last-child, #page--company .section--governance .page--body > .inner .container--right:last-child, #page--company .section--governance .page--footer > .inner .container--right:last-child,
            #page--company .section--freedom .row .container--right:last-child,
            #page--company .section--freedom .row-contained .container--right:last-child,
            #page--company .section--freedom .right--nav_inline .container--right:last-child,
            #page--company .section--freedom .page--body > .inner .container--right:last-child,
            #page--company .section--freedom .page--footer > .inner .container--right:last-child,
            #page--company .section--privacy .row .container--right:last-child,
            #page--company .section--privacy .row-contained .container--right:last-child,
            #page--company .section--privacy .right--nav_inline .container--right:last-child,
            #page--company .section--privacy .page--body > .inner .container--right:last-child,
            #page--company .section--privacy .page--footer > .inner .container--right:last-child {
              margin-right: 0; } }
    #page--company .section--governance label,
    #page--company .section--freedom label,
    #page--company .section--privacy label {
      font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
      text-transform: uppercase;
      color: #313131;
      font-size: 12px;
      line-height: 1.3;
      letter-spacing: 1px;
      margin-bottom: 0px; }
      @media only screen and (min-width: 544px) {
        #page--company .section--governance label,
        #page--company .section--freedom label,
        #page--company .section--privacy label {
          font-size: 12px; } }
      @media only screen and (min-width: 768px) {
        #page--company .section--governance label,
        #page--company .section--freedom label,
        #page--company .section--privacy label {
          font-size: 13px; } }
      @media only screen and (min-width: 992px) {
        #page--company .section--governance label,
        #page--company .section--freedom label,
        #page--company .section--privacy label {
          font-size: 14px; } }
      @media only screen and (min-width: 1200px) {
        #page--company .section--governance label,
        #page--company .section--freedom label,
        #page--company .section--privacy label {
          font-size: 14px; } }
    #page--company .section--governance .title-section,
    #page--company .section--freedom .title-section,
    #page--company .section--privacy .title-section {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      margin-bottom: .5em; }
      #page--company .section--governance .title-section h3,
      #page--company .section--freedom .title-section h3,
      #page--company .section--privacy .title-section h3 {
        margin-bottom: 0; }
      #page--company .section--governance .title-section .category-score,
      #page--company .section--freedom .title-section .category-score,
      #page--company .section--privacy .title-section .category-score {
        margin-left: 1em; }
        #page--company .section--governance .title-section .category-score .score-value,
        #page--company .section--freedom .title-section .category-score .score-value,
        #page--company .section--privacy .title-section .category-score .score-value {
          font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
          color: #b1b0b0;
          font-size: 19px;
          line-height: 1.3;
          letter-spacing: 1px;
          margin-bottom: 0px; }
          @media only screen and (min-width: 544px) {
            #page--company .section--governance .title-section .category-score .score-value,
            #page--company .section--freedom .title-section .category-score .score-value,
            #page--company .section--privacy .title-section .category-score .score-value {
              font-size: 19px; } }
          @media only screen and (min-width: 768px) {
            #page--company .section--governance .title-section .category-score .score-value,
            #page--company .section--freedom .title-section .category-score .score-value,
            #page--company .section--privacy .title-section .category-score .score-value {
              font-size: 20px; } }
          @media only screen and (min-width: 992px) {
            #page--company .section--governance .title-section .category-score .score-value,
            #page--company .section--freedom .title-section .category-score .score-value,
            #page--company .section--privacy .title-section .category-score .score-value {
              font-size: 25px; } }
          @media only screen and (min-width: 1200px) {
            #page--company .section--governance .title-section .category-score .score-value,
            #page--company .section--freedom .title-section .category-score .score-value,
            #page--company .section--privacy .title-section .category-score .score-value {
              font-size: 28px; } }
    #page--company .section--governance .container--left p,
    #page--company .section--freedom .container--left p,
    #page--company .section--privacy .container--left p {
      margin-bottom: 2em; }
      @media only screen and (min-width: 544px) {
        #page--company .section--governance .container--left p,
        #page--company .section--freedom .container--left p,
        #page--company .section--privacy .container--left p {
          margin-bottom: 2em; } }
      @media only screen and (min-width: 768px) {
        #page--company .section--governance .container--left p,
        #page--company .section--freedom .container--left p,
        #page--company .section--privacy .container--left p {
          margin-bottom: 2em; } }
      @media only screen and (min-width: 992px) {
        #page--company .section--governance .container--left p,
        #page--company .section--freedom .container--left p,
        #page--company .section--privacy .container--left p {
          margin-bottom: 2em; } }
      @media only screen and (min-width: 1200px) {
        #page--company .section--governance .container--left p,
        #page--company .section--freedom .container--left p,
        #page--company .section--privacy .container--left p {
          margin-bottom: 3em; } }
    #page--company .section--governance .comp--dot_chart .dotchart,
    #page--company .section--freedom .comp--dot_chart .dotchart,
    #page--company .section--privacy .comp--dot_chart .dotchart {
      margin: 0; }
      #page--company .section--governance .comp--dot_chart .dotchart .dotchart--label,
      #page--company .section--freedom .comp--dot_chart .dotchart .dotchart--label,
      #page--company .section--privacy .comp--dot_chart .dotchart .dotchart--label {
        display: none; }
      #page--company .section--governance .comp--dot_chart .dotchart .dot,
      #page--company .section--freedom .comp--dot_chart .dotchart .dot,
      #page--company .section--privacy .comp--dot_chart .dotchart .dot {
        top: 2.6em; }
        @media only screen and (min-width: 544px) {
          #page--company .section--governance .comp--dot_chart .dotchart .dot,
          #page--company .section--freedom .comp--dot_chart .dotchart .dot,
          #page--company .section--privacy .comp--dot_chart .dotchart .dot {
            top: 2.4em; } }
        @media only screen and (min-width: 768px) {
          #page--company .section--governance .comp--dot_chart .dotchart .dot,
          #page--company .section--freedom .comp--dot_chart .dotchart .dot,
          #page--company .section--privacy .comp--dot_chart .dotchart .dot {
            top: 2.2em; } }
        @media only screen and (min-width: 992px) {
          #page--company .section--governance .comp--dot_chart .dotchart .dot,
          #page--company .section--freedom .comp--dot_chart .dotchart .dot,
          #page--company .section--privacy .comp--dot_chart .dotchart .dot {
            top: 2em; } }
        @media only screen and (min-width: 1200px) {
          #page--company .section--governance .comp--dot_chart .dotchart .dot,
          #page--company .section--freedom .comp--dot_chart .dotchart .dot,
          #page--company .section--privacy .comp--dot_chart .dotchart .dot {
            top: 2.1em; } }
      #page--company .section--governance .comp--dot_chart .dotchart .highlight,
      #page--company .section--freedom .comp--dot_chart .dotchart .highlight,
      #page--company .section--privacy .comp--dot_chart .dotchart .highlight {
        border-color: #b1b0b0;
        background-color: #ed1b24;
        text-align: center;
        width: 2em;
        height: 2em;
        top: 2em;
        line-height: 2;
        color: #FFF;
        font-weight: 600;
        font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 13px; }
        @media only screen and (min-width: 544px) {
          #page--company .section--governance .comp--dot_chart .dotchart .highlight,
          #page--company .section--freedom .comp--dot_chart .dotchart .highlight,
          #page--company .section--privacy .comp--dot_chart .dotchart .highlight {
            font-size: 13px; } }
        @media only screen and (min-width: 768px) {
          #page--company .section--governance .comp--dot_chart .dotchart .highlight,
          #page--company .section--freedom .comp--dot_chart .dotchart .highlight,
          #page--company .section--privacy .comp--dot_chart .dotchart .highlight {
            font-size: 13px; } }
        @media only screen and (min-width: 992px) {
          #page--company .section--governance .comp--dot_chart .dotchart .highlight,
          #page--company .section--freedom .comp--dot_chart .dotchart .highlight,
          #page--company .section--privacy .comp--dot_chart .dotchart .highlight {
            font-size: 13px; } }
        @media only screen and (min-width: 1200px) {
          #page--company .section--governance .comp--dot_chart .dotchart .highlight,
          #page--company .section--freedom .comp--dot_chart .dotchart .highlight,
          #page--company .section--privacy .comp--dot_chart .dotchart .highlight {
            font-size: 13px; } }
  #page--company .company-line-chart .axis .tick {
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #313131;
    font-size: 9px;
    line-height: 1.3;
    letter-spacing: 0px;
    white-space: pre-wrap;
    word-wrap: break-word;
    word-break: normal; }
    @media only screen and (min-width: 544px) {
      #page--company .company-line-chart .axis .tick {
        font-size: 10px; } }
    @media only screen and (min-width: 768px) {
      #page--company .company-line-chart .axis .tick {
        font-size: 10px; } }
    @media only screen and (min-width: 992px) {
      #page--company .company-line-chart .axis .tick {
        font-size: 10px; } }
    @media only screen and (min-width: 1200px) {
      #page--company .company-line-chart .axis .tick {
        font-size: 11px; } }
    #page--company .company-line-chart .axis .tick text {
      font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #313131;
      font-size: 9px !important;
      line-height: 1.3;
      letter-spacing: 0px; }
      @media only screen and (min-width: 544px) {
        #page--company .company-line-chart .axis .tick text {
          font-size: 11px !important; } }
      @media only screen and (min-width: 768px) {
        #page--company .company-line-chart .axis .tick text {
          font-size: 12px !important; } }
      @media only screen and (min-width: 992px) {
        #page--company .company-line-chart .axis .tick text {
          font-size: 13px !important; } }
      @media only screen and (min-width: 1200px) {
        #page--company .company-line-chart .axis .tick text {
          font-size: 15px !important; } }
  #page--company .section--governance .title-line-chart {
    height: 5px;
    background-color: #b1b0b0;
    margin-bottom: 1.5em; }
    #page--company .section--governance .title-line-chart .title-line-chart-value {
      height: 5px;
      background-color: #57A8D5; }
  #page--company .section--governance #indicators--commitment .bar {
    fill: #57A8D5; }
    #page--company .section--governance #indicators--commitment .bar:hover {
      fill: #28749e; }
  #page--company .section--freedom .title-line-chart {
    height: 5px;
    background-color: #b1b0b0;
    margin-bottom: 1.5em; }
    #page--company .section--freedom .title-line-chart .title-line-chart-value {
      height: 5px;
      background-color: #21BCB3; }
  #page--company .section--freedom #indicators--freedom .bar {
    fill: #21BCB3; }
    #page--company .section--freedom #indicators--freedom .bar:hover {
      fill: #126560; }
  #page--company .section--privacy .title-line-chart {
    height: 5px;
    background-color: #b1b0b0;
    margin-bottom: 1.5em; }
    #page--company .section--privacy .title-line-chart .title-line-chart-value {
      height: 5px;
      background-color: #238E88; }
  #page--company .section--privacy #indicators--privacy .bar {
    fill: #238E88; }
    #page--company .section--privacy #indicators--privacy .bar:hover {
      fill: #0F3C3A; }

.page--title {
  /*margin-top: .4em;
  margin-bottom: .325em;
  display: flex;
  align-items: center;*/ }
  .page--title .score--tier {
    font-size: .8em;
    margin-left: .5em;
    padding: .15em .4em .1em; }

.comp--company_link {
  display: inline-block; }

.comp--type {
  margin-left: 1em;
  padding: 0.5em 0.5725em 0.4em;
  background: #E5DCD2;
  display: none; }
  @media only screen and (min-width: 992px) {
    .comp--type {
      display: inline-block; } }

.comp--sub_website {
  color: #4D9ECF; }

@media only screen and (min-width: 768px) {
  .comp--about {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 40.2913699012%; }
    .comp--about:last-child {
      margin-right: 0; } }

.about--subsection {
  margin-top: 1em; }
  @media only screen and (min-width: 768px) {
    .about--subsection {
      margin-top: 2em; } }
  .about--subsection ul {
    list-style: initial; }
    .about--subsection ul li {
      margin-left: 1em; }

.comp--stat {
  margin-top: 1.5em;
  line-height: 1em; }

.stat--key {
  text-transform: uppercase;
  font-size: .75em;
  color: #646464;
  display: block; }

.comp--analysis h3 {
  padding-top: .5em;
  padding-bottom: .3em;
  border-bottom: 1px solid #E5DCD2;
  margin-bottom: 1em;
  position: relative;
  cursor: pointer;
  transition: border-color .2s ease-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .comp--analysis h3:hover {
    border-bottom: 1px solid #575757; }
  .comp--analysis h3:after {
    content: 'Show ▼';
    position: absolute;
    right: 1em; }
  .comp--analysis h3.expanded {
    border-bottom: 1px solid #575757; }
    .comp--analysis h3.expanded:after {
      content: 'Hide ▲'; }

.comp--analysis p {
  display: none; }

#page--services .services--list {
  padding: 0; }
  @media only screen and (min-width: 544px) {
    #page--services .services--list {
      padding: 0; } }
  @media only screen and (min-width: 768px) {
    #page--services .services--list {
      padding: 0; } }
  @media only screen and (min-width: 992px) {
    #page--services .services--list {
      padding: 0; } }
  @media only screen and (min-width: 1200px) {
    #page--services .services--list {
      padding: 1.5em 0 8em 2em; } }
  #page--services .services--list #index--services li i {
    color: #73557d;
    font-size: 17px;
    margin-right: 5px;
    line-height: 1;
    text-align: center; }
    @media only screen and (min-width: 544px) {
      #page--services .services--list #index--services li i {
        font-size: 18px;
        margin-right: 5px; } }
    @media only screen and (min-width: 768px) {
      #page--services .services--list #index--services li i {
        font-size: 18px;
        margin-right: 5px; } }
    @media only screen and (min-width: 992px) {
      #page--services .services--list #index--services li i {
        font-size: 20px;
        margin-right: 5px; } }
    @media only screen and (min-width: 1200px) {
      #page--services .services--list #index--services li i {
        font-size: 20px;
        margin-right: 5px; } }
  #page--services .services--list #index--services li a {
    color: #313131;
    font-family: "Platform-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: 1px; }
    @media only screen and (min-width: 544px) {
      #page--services .services--list #index--services li a {
        font-size: 18px; } }
    @media only screen and (min-width: 768px) {
      #page--services .services--list #index--services li a {
        font-size: 18px; } }
    @media only screen and (min-width: 992px) {
      #page--services .services--list #index--services li a {
        font-size: 20px; } }
    @media only screen and (min-width: 1200px) {
      #page--services .services--list #index--services li a {
        font-size: 23px; } }

#page--service .page-content-dynamic .service-graph .service-indicators .container--left + .container--right {
  /*border-left: 1px solid $light-grey;*/ }

@media only screen and (min-width: 768px) {
  #page--service .page-content-dynamic .service-graph .service-indicators .container--left {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    #page--service .page-content-dynamic .service-graph .service-indicators .container--left:last-child {
      margin-right: 0; } }

#page--service .page-content-dynamic .service-graph .service-indicators .indicator-item + .indicator-item {
  margin-top: 2em; }

#page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_service .tick,
#page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_percent .tick {
  font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 9px; }
  @media only screen and (min-width: 544px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_service .tick,
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_percent .tick {
      font-size: 13px; } }
  @media only screen and (min-width: 768px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_service .tick,
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_percent .tick {
      font-size: 14px; } }
  @media only screen and (min-width: 992px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_service .tick,
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_percent .tick {
      font-size: 14px; } }
  @media only screen and (min-width: 1200px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_service .tick,
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_percent .tick {
      font-size: 14px; } }

#page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_rank .tick {
  text-align: center;
  line-height: 2;
  fill: #FFF;
  font-weight: 600;
  font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px; }
  @media only screen and (min-width: 544px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_rank .tick {
      font-size: 14px; } }
  @media only screen and (min-width: 768px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_rank .tick {
      font-size: 14px; } }
  @media only screen and (min-width: 992px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_rank .tick {
      font-size: 14px; } }
  @media only screen and (min-width: 1200px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_rank .tick {
      font-size: 14px; } }

#page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_company {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  line-height: 1;
  text-transform: uppercase;
  font-size: 9px; }
  @media only screen and (min-width: 544px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_company {
      font-size: 14px; } }
  @media only screen and (min-width: 768px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_company {
      font-size: 16px; } }
  @media only screen and (min-width: 992px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_company {
      font-size: 16px; } }
  @media only screen and (min-width: 1200px) {
    #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_company {
      font-size: 16px; } }
  #page--service .page-content-dynamic .service-graph .service-chart .bar--chart .bar--axis_x_company text {
    fill: #313131; }

#page--service .page-content-dynamic .service-graph .graph-legend {
  justify-content: flex-end; }
  #page--service .page-content-dynamic .service-graph .graph-legend .governance {
    font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #57A8D5 !important; }
    #page--service .page-content-dynamic .service-graph .graph-legend .governance:hover {
      color: #57A8D5 !important; }
  #page--service .page-content-dynamic .service-graph .graph-legend .freedom {
    font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #21BCB3 !important; }
    #page--service .page-content-dynamic .service-graph .graph-legend .freedom:hover {
      color: #21BCB3 !important; }
  #page--service .page-content-dynamic .service-graph .graph-legend .privacy {
    font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #238E88 !important; }
    #page--service .page-content-dynamic .service-graph .graph-legend .privacy:hover {
      color: #238E88 !important; }
  #page--service .page-content-dynamic .service-graph .graph-legend .service-rank {
    margin-bottom: 10px; }
    #page--service .page-content-dynamic .service-graph .graph-legend .service-rank i {
      color: #b1b0b0;
      font-size: 10px; }
      @media only screen and (min-width: 544px) {
        #page--service .page-content-dynamic .service-graph .graph-legend .service-rank i {
          font-size: 15px; } }
      @media only screen and (min-width: 768px) {
        #page--service .page-content-dynamic .service-graph .graph-legend .service-rank i {
          font-size: 20px; } }
      @media only screen and (min-width: 992px) {
        #page--service .page-content-dynamic .service-graph .graph-legend .service-rank i {
          font-size: 20px; } }
      @media only screen and (min-width: 1200px) {
        #page--service .page-content-dynamic .service-graph .graph-legend .service-rank i {
          font-size: 20px; } }
  #page--service .page-content-dynamic .service-graph .graph-legend .graph-legend-values-label {
    margin-bottom: 0px; }

#page--service .page-content-dynamic .service--companies .service--section .comp--industry {
  margin-top: 1em; }
  @media only screen and (min-width: 544px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--industry {
      margin-top: 1em; } }
  @media only screen and (min-width: 768px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--industry {
      margin-top: 0em; } }
  @media only screen and (min-width: 992px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--industry {
      margin-top: 0em; } }
  @media only screen and (min-width: 1200px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--industry {
      margin-top: 0em; } }
  #page--service .page-content-dynamic .service--companies .service--section .comp--industry .rank--section .rank--section_rank_value {
    background-color: #b1b0b0; }

#page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart {
  margin: 0 0 1em; }
  @media only screen and (min-width: 544px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart {
      margin: 0 0 1em; } }
  @media only screen and (min-width: 768px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart {
      margin: 0 0 1em; } }
  @media only screen and (min-width: 992px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart {
      margin: 0 0 3em; } }
  @media only screen and (min-width: 1200px) {
    #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart {
      margin: 0 0 3em; } }
  #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot {
    top: 2.6em; }
    @media only screen and (min-width: 544px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot {
        top: 2.4em; } }
    @media only screen and (min-width: 768px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot {
        top: 2.2em; } }
    @media only screen and (min-width: 992px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot {
        top: 2.1em; } }
    @media only screen and (min-width: 1200px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot {
        top: 2.1em; } }
    #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot.highlight {
      text-align: center;
      width: 2em;
      height: 2em;
      top: 2em;
      line-height: 2;
      color: #FFF;
      font-weight: 600;
      font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
      background-color: #73557d;
      font-size: 13px; }
      @media only screen and (min-width: 544px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot.highlight {
          font-size: 13px; } }
      @media only screen and (min-width: 768px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot.highlight {
          font-size: 13px; } }
      @media only screen and (min-width: 992px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot.highlight {
          font-size: 13px; } }
      @media only screen and (min-width: 1200px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dot.highlight {
          font-size: 13px; } }
  #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label {
    top: 2em; }
    @media only screen and (min-width: 544px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label {
        top: 2em; } }
    @media only screen and (min-width: 768px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label {
        top: 1.5em; } }
    @media only screen and (min-width: 992px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label {
        top: 1.5em; } }
    @media only screen and (min-width: 1200px) {
      #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label {
        top: 1.5em; } }
    #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_left {
      left: -20px; }
      @media only screen and (min-width: 544px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_left {
          left: -20px; } }
      @media only screen and (min-width: 768px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_left {
          left: -25px; } }
      @media only screen and (min-width: 992px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_left {
          left: -25px; } }
      @media only screen and (min-width: 1200px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_left {
          left: -25px; } }
    #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_right {
      right: -15px; }
      @media only screen and (min-width: 544px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_right {
          right: -30px; } }
      @media only screen and (min-width: 768px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_right {
          right: -30px; } }
      @media only screen and (min-width: 992px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_right {
          right: -30px; } }
      @media only screen and (min-width: 1200px) {
        #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .dotchart--label.dotchart--label_right {
          right: -30px; } }
  #page--service .page-content-dynamic .service--companies .service--section .comp--mark .dotchart .collecticon.collecticon-arrow-down {
    display: none; }

#page--service section.service--section .contain.spaced-row.row, #page--service section.service--section .contain.spaced-row.row-contained, #page--service section.service--section .spaced-row.row-contained.data, #page--service section.service--section .spaced-row.row-contained.right--nav_inline, #page--service section.service--section .spaced-row.row-contained#index--viz_container, #page--service section.service--section .spaced-row.row.data, #page--service section.service--section .spaced-row.data.right--nav_inline, #page--service section.service--section .page--body > .spaced-row.data.inner, #page--service section.service--section .page--footer > .spaced-row.data.inner, #page--service section.service--section .spaced-row.right--nav_inline, #page--service section.service--section .page--body > .contain.spaced-row.inner, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container, #page--service section.service--section .page--footer > .contain.spaced-row.inner, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container, #page--service section.service--section .spaced-row.row#index--viz_container, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline {
  border-bottom: 1px solid #313131; }
  #page--service section.service--section .contain.spaced-row.row .title-section, #page--service section.service--section .contain.spaced-row.row-contained .title-section, #page--service section.service--section .spaced-row.row-contained.data .title-section, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section, #page--service section.service--section .spaced-row.row.data .title-section, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section, #page--service section.service--section .spaced-row.right--nav_inline .title-section, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section, #page--service section.service--section .spaced-row.row#index--viz_container .title-section, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: .8em; }
    #page--service section.service--section .contain.spaced-row.row .title-section h3, #page--service section.service--section .contain.spaced-row.row-contained .title-section h3, #page--service section.service--section .spaced-row.row-contained.data .title-section h3, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section h3, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section h3, #page--service section.service--section .spaced-row.row.data .title-section h3, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section h3, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section h3, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section h3, #page--service section.service--section .spaced-row.right--nav_inline .title-section h3, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section h3, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section h3, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section h3, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section h3, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section h3, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section h3, #page--service section.service--section .spaced-row.row#index--viz_container .title-section h3, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section h3 {
      margin-bottom: 0; }
    #page--service section.service--section .contain.spaced-row.row .title-section .overall-score, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score, #page--service section.service--section .spaced-row.row.data .title-section .overall-score, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score {
      margin-left: 1em; }
      #page--service section.service--section .contain.spaced-row.row .title-section .overall-score label, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row.data .title-section .overall-score label, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score label {
        font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
        text-transform: uppercase;
        color: #313131;
        font-size: 12px;
        line-height: 1.3;
        letter-spacing: 1px;
        margin-bottom: 0px; }
        @media only screen and (min-width: 544px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score label, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row.data .title-section .overall-score label, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score label {
            font-size: 12px; } }
        @media only screen and (min-width: 768px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score label, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row.data .title-section .overall-score label, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score label {
            font-size: 13px; } }
        @media only screen and (min-width: 992px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score label, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row.data .title-section .overall-score label, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score label {
            font-size: 14px; } }
        @media only screen and (min-width: 1200px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score label, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score label, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row.data .title-section .overall-score label, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score label, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score label {
            font-size: 14px; } }
      #page--service section.service--section .contain.spaced-row.row .title-section .overall-score .overall-score-value, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score .overall-score-value {
        font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #b1b0b0;
        font-size: 19px;
        line-height: 1.3;
        letter-spacing: 1px;
        margin-bottom: 0px;
        text-transform: uppercase; }
        @media only screen and (min-width: 544px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score .overall-score-value, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score .overall-score-value {
            font-size: 19px; } }
        @media only screen and (min-width: 768px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score .overall-score-value, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score .overall-score-value {
            font-size: 20px; } }
        @media only screen and (min-width: 992px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score .overall-score-value, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score .overall-score-value {
            font-size: 25px; } }
        @media only screen and (min-width: 1200px) {
          #page--service section.service--section .contain.spaced-row.row .title-section .overall-score .overall-score-value, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row.data .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score .overall-score-value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score .overall-score-value {
            font-size: 34px; } }
    #page--service section.service--section .contain.spaced-row.row .title-section .overall-score.service, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score.service, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score.service, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score.service, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score.service, #page--service section.service--section .spaced-row.row.data .title-section .overall-score.service, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score.service, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score.service, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score.service, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score.service, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score.service, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score.service, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score.service, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score.service, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score.service, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score.service, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score.service, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score.service {
      margin-left: 0; }
      #page--service section.service--section .contain.spaced-row.row .title-section .overall-score.service .overall-score-value, #page--service section.service--section .contain.spaced-row.row-contained .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row.row-contained.data .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row.row.data .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row.data.right--nav_inline .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--body > .spaced-row.data.inner .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.data.inner .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row.right--nav_inline .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--body > .contain.spaced-row.inner .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .title-section .overall-score.service .overall-score-value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row.row#index--viz_container .title-section .overall-score.service .overall-score-value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .title-section .overall-score.service .overall-score-value {
        color: #313131; }
  #page--service section.service--section .contain.spaced-row.row .rank--section, #page--service section.service--section .contain.spaced-row.row-contained .rank--section, #page--service section.service--section .spaced-row.row-contained.data .rank--section, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section, #page--service section.service--section .spaced-row.row.data .rank--section, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section, #page--service section.service--section .spaced-row.right--nav_inline .rank--section, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 1em 0 1.2em; }
    #page--service section.service--section .contain.spaced-row.row .rank--section .overall-score, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.data .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row.data .rank--section .overall-score, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .overall-score {
      font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 30px;
      margin-left: 0.5em;
      margin-top: 10px; }
      @media only screen and (min-width: 544px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .overall-score, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.data .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row.data .rank--section .overall-score, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .overall-score {
          font-size: 30px;
          margin-top: 10px; } }
      @media only screen and (min-width: 768px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .overall-score, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.data .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row.data .rank--section .overall-score, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .overall-score {
          font-size: 35px;
          margin-top: 5px; } }
      @media only screen and (min-width: 992px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .overall-score, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.data .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row.data .rank--section .overall-score, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .overall-score {
          font-size: 42px;
          margin-top: 0px; } }
      @media only screen and (min-width: 1200px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .overall-score, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.data .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .overall-score, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row.data .rank--section .overall-score, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .overall-score, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .overall-score, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .overall-score, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .overall-score {
          font-size: 42px;
          margin-top: 00px; } }
    #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value {
      width: 2.2em;
      height: 2.2em;
      text-align: center;
      background-color: #D4D2C9;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      border-radius: 50%; }
      @media only screen and (min-width: 544px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value {
          width: 1.8em;
          height: 1.8em; } }
      @media only screen and (min-width: 768px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value {
          width: 1.8em;
          height: 1.8em; } }
      @media only screen and (min-width: 992px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value {
          width: 1.8em;
          height: 1.8em; } }
      @media only screen and (min-width: 1200px) {
        #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value {
          width: 2.2em;
          height: 2.2em; } }
      #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value span, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value span {
        font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #FFF;
        font-size: 18px;
        line-height: 1.8; }
        @media only screen and (min-width: 544px) {
          #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value span, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value span {
            font-size: 16px;
            line-height: 1.8; } }
        @media only screen and (min-width: 768px) {
          #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value span, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value span {
            font-size: 16px;
            line-height: 2; } }
        @media only screen and (min-width: 992px) {
          #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value span, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value span {
            font-size: 18px;
            line-height: 1.8; } }
        @media only screen and (min-width: 1200px) {
          #page--service section.service--section .contain.spaced-row.row .rank--section .rank--section_rank_value span, #page--service section.service--section .contain.spaced-row.row-contained .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row-contained#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row.data .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.data.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.data.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .contain.spaced-row.inner .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .rank--section .rank--section_rank_value span, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row.row#index--viz_container .rank--section .rank--section_rank_value span, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .rank--section .rank--section_rank_value span {
            font-size: 18px;
            line-height: 2.2; } }
  #page--service section.service--section .contain.spaced-row.row label, #page--service section.service--section .contain.spaced-row.row-contained label, #page--service section.service--section .spaced-row.row-contained.data label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline label, #page--service section.service--section .spaced-row.row-contained#index--viz_container label, #page--service section.service--section .spaced-row.row.data label, #page--service section.service--section .spaced-row.data.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.data.inner label, #page--service section.service--section .page--footer > .spaced-row.data.inner label, #page--service section.service--section .spaced-row.right--nav_inline label, #page--service section.service--section .page--body > .contain.spaced-row.inner label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container label, #page--service section.service--section .page--footer > .contain.spaced-row.inner label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container label, #page--service section.service--section .spaced-row.row#index--viz_container label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline label {
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    color: #313131;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: 1px;
    margin-bottom: 0px; }
    @media only screen and (min-width: 544px) {
      #page--service section.service--section .contain.spaced-row.row label, #page--service section.service--section .contain.spaced-row.row-contained label, #page--service section.service--section .spaced-row.row-contained.data label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline label, #page--service section.service--section .spaced-row.row-contained#index--viz_container label, #page--service section.service--section .spaced-row.row.data label, #page--service section.service--section .spaced-row.data.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.data.inner label, #page--service section.service--section .page--footer > .spaced-row.data.inner label, #page--service section.service--section .spaced-row.right--nav_inline label, #page--service section.service--section .page--body > .contain.spaced-row.inner label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container label, #page--service section.service--section .page--footer > .contain.spaced-row.inner label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container label, #page--service section.service--section .spaced-row.row#index--viz_container label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline label {
        font-size: 12px; } }
    @media only screen and (min-width: 768px) {
      #page--service section.service--section .contain.spaced-row.row label, #page--service section.service--section .contain.spaced-row.row-contained label, #page--service section.service--section .spaced-row.row-contained.data label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline label, #page--service section.service--section .spaced-row.row-contained#index--viz_container label, #page--service section.service--section .spaced-row.row.data label, #page--service section.service--section .spaced-row.data.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.data.inner label, #page--service section.service--section .page--footer > .spaced-row.data.inner label, #page--service section.service--section .spaced-row.right--nav_inline label, #page--service section.service--section .page--body > .contain.spaced-row.inner label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container label, #page--service section.service--section .page--footer > .contain.spaced-row.inner label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container label, #page--service section.service--section .spaced-row.row#index--viz_container label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline label {
        font-size: 13px; } }
    @media only screen and (min-width: 992px) {
      #page--service section.service--section .contain.spaced-row.row label, #page--service section.service--section .contain.spaced-row.row-contained label, #page--service section.service--section .spaced-row.row-contained.data label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline label, #page--service section.service--section .spaced-row.row-contained#index--viz_container label, #page--service section.service--section .spaced-row.row.data label, #page--service section.service--section .spaced-row.data.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.data.inner label, #page--service section.service--section .page--footer > .spaced-row.data.inner label, #page--service section.service--section .spaced-row.right--nav_inline label, #page--service section.service--section .page--body > .contain.spaced-row.inner label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container label, #page--service section.service--section .page--footer > .contain.spaced-row.inner label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container label, #page--service section.service--section .spaced-row.row#index--viz_container label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline label {
        font-size: 14px; } }
    @media only screen and (min-width: 1200px) {
      #page--service section.service--section .contain.spaced-row.row label, #page--service section.service--section .contain.spaced-row.row-contained label, #page--service section.service--section .spaced-row.row-contained.data label, #page--service section.service--section .spaced-row.row-contained.right--nav_inline label, #page--service section.service--section .spaced-row.row-contained#index--viz_container label, #page--service section.service--section .spaced-row.row.data label, #page--service section.service--section .spaced-row.data.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.data.inner label, #page--service section.service--section .page--footer > .spaced-row.data.inner label, #page--service section.service--section .spaced-row.right--nav_inline label, #page--service section.service--section .page--body > .contain.spaced-row.inner label, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container label, #page--service section.service--section .page--footer > .contain.spaced-row.inner label, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline label, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container label, #page--service section.service--section .spaced-row.row#index--viz_container label, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline label {
        font-size: 14px; } }
  #page--service section.service--section .contain.spaced-row.row .container--left, #page--service section.service--section .contain.spaced-row.row-contained .container--left, #page--service section.service--section .spaced-row.row-contained.data .container--left, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .container--left, #page--service section.service--section .spaced-row.row-contained#index--viz_container .container--left, #page--service section.service--section .spaced-row.row.data .container--left, #page--service section.service--section .spaced-row.data.right--nav_inline .container--left, #page--service section.service--section .page--body > .spaced-row.data.inner .container--left, #page--service section.service--section .page--footer > .spaced-row.data.inner .container--left, #page--service section.service--section .spaced-row.right--nav_inline .container--left, #page--service section.service--section .page--body > .contain.spaced-row.inner .container--left, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .container--left, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .container--left, #page--service section.service--section .page--footer > .contain.spaced-row.inner .container--left, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .container--left, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .container--left, #page--service section.service--section .spaced-row.row#index--viz_container .container--left, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .container--left {
    padding-right: 10px; }
    @media only screen and (min-width: 768px) {
      #page--service section.service--section .contain.spaced-row.row .container--left, #page--service section.service--section .contain.spaced-row.row-contained .container--left, #page--service section.service--section .spaced-row.row-contained.data .container--left, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .container--left, #page--service section.service--section .spaced-row.row-contained#index--viz_container .container--left, #page--service section.service--section .spaced-row.row.data .container--left, #page--service section.service--section .spaced-row.data.right--nav_inline .container--left, #page--service section.service--section .page--body > .spaced-row.data.inner .container--left, #page--service section.service--section .page--footer > .spaced-row.data.inner .container--left, #page--service section.service--section .spaced-row.right--nav_inline .container--left, #page--service section.service--section .page--body > .contain.spaced-row.inner .container--left, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .container--left, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .container--left, #page--service section.service--section .page--footer > .contain.spaced-row.inner .container--left, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .container--left, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .container--left, #page--service section.service--section .spaced-row.row#index--viz_container .container--left, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .container--left {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%; }
        #page--service section.service--section .contain.spaced-row.row .container--left:last-child, #page--service section.service--section .contain.spaced-row.row-contained .container--left:last-child, #page--service section.service--section .spaced-row.row-contained.data .container--left:last-child, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .container--left:last-child, #page--service section.service--section .spaced-row.row-contained#index--viz_container .container--left:last-child, #page--service section.service--section .spaced-row.row.data .container--left:last-child, #page--service section.service--section .spaced-row.data.right--nav_inline .container--left:last-child, #page--service section.service--section .page--body > .spaced-row.data.inner .container--left:last-child, #page--service section.service--section .page--footer > .spaced-row.data.inner .container--left:last-child, #page--service section.service--section .spaced-row.right--nav_inline .container--left:last-child, #page--service section.service--section .page--body > .contain.spaced-row.inner .container--left:last-child, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .container--left:last-child, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .container--left:last-child, #page--service section.service--section .page--footer > .contain.spaced-row.inner .container--left:last-child, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .container--left:last-child, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .container--left:last-child, #page--service section.service--section .spaced-row.row#index--viz_container .container--left:last-child, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .container--left:last-child {
          margin-right: 0; } }
  #page--service section.service--section .contain.spaced-row.row .container--right, #page--service section.service--section .contain.spaced-row.row-contained .container--right, #page--service section.service--section .spaced-row.row-contained.data .container--right, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .container--right, #page--service section.service--section .spaced-row.row-contained#index--viz_container .container--right, #page--service section.service--section .spaced-row.row.data .container--right, #page--service section.service--section .spaced-row.data.right--nav_inline .container--right, #page--service section.service--section .page--body > .spaced-row.data.inner .container--right, #page--service section.service--section .page--footer > .spaced-row.data.inner .container--right, #page--service section.service--section .spaced-row.right--nav_inline .container--right, #page--service section.service--section .page--body > .contain.spaced-row.inner .container--right, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .container--right, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .container--right, #page--service section.service--section .page--footer > .contain.spaced-row.inner .container--right, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .container--right, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .container--right, #page--service section.service--section .spaced-row.row#index--viz_container .container--right, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .container--right {
    margin-right: 0;
    padding-left: 10px; }
    @media only screen and (min-width: 768px) {
      #page--service section.service--section .contain.spaced-row.row .container--right, #page--service section.service--section .contain.spaced-row.row-contained .container--right, #page--service section.service--section .spaced-row.row-contained.data .container--right, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .container--right, #page--service section.service--section .spaced-row.row-contained#index--viz_container .container--right, #page--service section.service--section .spaced-row.row.data .container--right, #page--service section.service--section .spaced-row.data.right--nav_inline .container--right, #page--service section.service--section .page--body > .spaced-row.data.inner .container--right, #page--service section.service--section .page--footer > .spaced-row.data.inner .container--right, #page--service section.service--section .spaced-row.right--nav_inline .container--right, #page--service section.service--section .page--body > .contain.spaced-row.inner .container--right, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .container--right, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .container--right, #page--service section.service--section .page--footer > .contain.spaced-row.inner .container--right, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .container--right, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .container--right, #page--service section.service--section .spaced-row.row#index--viz_container .container--right, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .container--right {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%; }
        #page--service section.service--section .contain.spaced-row.row .container--right:last-child, #page--service section.service--section .contain.spaced-row.row-contained .container--right:last-child, #page--service section.service--section .spaced-row.row-contained.data .container--right:last-child, #page--service section.service--section .spaced-row.row-contained.right--nav_inline .container--right:last-child, #page--service section.service--section .spaced-row.row-contained#index--viz_container .container--right:last-child, #page--service section.service--section .spaced-row.row.data .container--right:last-child, #page--service section.service--section .spaced-row.data.right--nav_inline .container--right:last-child, #page--service section.service--section .page--body > .spaced-row.data.inner .container--right:last-child, #page--service section.service--section .page--footer > .spaced-row.data.inner .container--right:last-child, #page--service section.service--section .spaced-row.right--nav_inline .container--right:last-child, #page--service section.service--section .page--body > .contain.spaced-row.inner .container--right:last-child, #page--service section.service--section .page--body > .spaced-row.inner.right--nav_inline .container--right:last-child, #page--service section.service--section .page--body > .spaced-row.inner#index--viz_container .container--right:last-child, #page--service section.service--section .page--footer > .contain.spaced-row.inner .container--right:last-child, #page--service section.service--section .page--footer > .spaced-row.inner.right--nav_inline .container--right:last-child, #page--service section.service--section .page--footer > .spaced-row.inner#index--viz_container .container--right:last-child, #page--service section.service--section .spaced-row.row#index--viz_container .container--right:last-child, #page--service section.service--section .spaced-row#index--viz_container.right--nav_inline .container--right:last-child {
          margin-right: 0; } }

@media only screen and (min-width: 768px) {
  .col-6 {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    .col-6:last-child {
      margin-right: 0; } }

#page--category.governance .page--title,
#page--category.governance .page--subtitle,
#page--category.governance h3 {
  color: #57A8D5 !important; }
  #page--category.governance .page--title a,
  #page--category.governance .page--subtitle a,
  #page--category.governance h3 a {
    color: #57A8D5 !important; }

#page--category.freedom-of-expression .page--title,
#page--category.freedom-of-expression .page--subtitle,
#page--category.freedom-of-expression h3 {
  color: #21BCB3 !important; }
  #page--category.freedom-of-expression .page--title a,
  #page--category.freedom-of-expression .page--subtitle a,
  #page--category.freedom-of-expression h3 a {
    color: #21BCB3 !important; }

#page--category.privacy .page--title,
#page--category.privacy .page--subtitle,
#page--category.privacy h3 {
  color: #238E88 !important; }
  #page--category.privacy .page--title a,
  #page--category.privacy .page--subtitle a,
  #page--category.privacy h3 a {
    color: #238E88 !important; }

@media only screen and (min-width: 768px) {
  #page--category .page-content-dynamic .category-graph .category-chart #category--overview_chart_left,
  #page--category .page-content-dynamic .category-graph .category-chart #category--overview_chart_right {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    #page--category .page-content-dynamic .category-graph .category-chart #category--overview_chart_left:last-child,
    #page--category .page-content-dynamic .category-graph .category-chart #category--overview_chart_right:last-child {
      margin-right: 0; } }

#page--category .page-content-dynamic .category-graph .category-chart #category--overview_chart_left i {
  color: #ed1b24; }

#page--category .page-content-dynamic .category-graph .category-chart #category--overview_chart_right i {
  color: #f8931f; }

#page--category .page-content-dynamic .category-graph .category-chart .graph-title p {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase; }
  @media only screen and (min-width: 544px) {
    #page--category .page-content-dynamic .category-graph .category-chart .graph-title p {
      font-size: 11px; } }
  @media only screen and (min-width: 768px) {
    #page--category .page-content-dynamic .category-graph .category-chart .graph-title p {
      font-size: 12px; } }
  @media only screen and (min-width: 992px) {
    #page--category .page-content-dynamic .category-graph .category-chart .graph-title p {
      font-size: 13px; } }
  @media only screen and (min-width: 1200px) {
    #page--category .page-content-dynamic .category-graph .category-chart .graph-title p {
      font-size: 13px; } }

#page--category .page-content-dynamic .category-graph .category-chart .bar--chart {
  height: 260px; }
  @media only screen and (min-width: 544px) {
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart {
      height: 300px; } }
  @media only screen and (min-width: 768px) {
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart {
      height: 300px; } }
  @media only screen and (min-width: 992px) {
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart {
      height: 300px; } }
  @media only screen and (min-width: 1200px) {
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart {
      height: 300px; } }
  #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick {
    cursor: pointer;
    text-align: center;
    line-height: 2;
    fill: #313131;
    font-weight: 600;
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    font-size: 9px; }
    @media only screen and (min-width: 544px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick {
        font-size: 9px; } }
    @media only screen and (min-width: 768px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick {
        font-size: 10px; } }
    @media only screen and (min-width: 992px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick {
        font-size: 11px; } }
    @media only screen and (min-width: 1200px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick {
        font-size: 13px; } }
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick:hover {
      text-decoration: underline; }
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick text {
      transform: rotate(-90deg); }
      @media only screen and (min-width: 544px) {
        #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick text {
          transform: rotate(-90deg) translate(-10px, 20px); } }
      @media only screen and (min-width: 768px) {
        #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick text {
          transform: rotate(-35deg) translate(-5px, 25px); } }
      @media only screen and (min-width: 992px) {
        #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick text {
          transform: rotate(-35deg) translate(-5px, 25px); } }
      @media only screen and (min-width: 1200px) {
        #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x .tick text {
          transform: rotate(-35deg) translate(-5px, 25px); } }
  #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x_rank .tick {
    text-align: center;
    line-height: 2;
    fill: #FFF;
    font-weight: 600;
    font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px; }
    @media only screen and (min-width: 544px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x_rank .tick {
        font-size: 14px; } }
    @media only screen and (min-width: 768px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x_rank .tick {
        font-size: 14px; } }
    @media only screen and (min-width: 992px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x_rank .tick {
        font-size: 14px; } }
    @media only screen and (min-width: 1200px) {
      #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar--axis_x_rank .tick {
        font-size: 14px; } }
  #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar.bar--governance {
    fill: #57A8D5 !important; }
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar.bar--governance:hover {
      fill: #28749e !important; }
  #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar.bar--freedom {
    fill: #21BCB3 !important; }
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar.bar--freedom:hover {
      fill: #126560 !important; }
  #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar.bar--privacy {
    fill: #238E88 !important; }
    #page--category .page-content-dynamic .category-graph .category-chart .bar--chart .bar.bar--privacy:hover {
      fill: #0F3C3A !important; }

#page--category .page-content-dynamic .category-graph .graph-legend {
  clear: both;
  justify-content: flex-end; }
  #page--category .page-content-dynamic .category-graph .graph-legend .service-rank i {
    color: #b1b0b0;
    font-size: 20px; }
  #page--category .page-content-dynamic .category-graph .graph-legend .graph-legend-values-value {
    font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; }

#page--category .page-content-dynamic .category-indicators .container--left + .container--right {
  /*border-left: 1px solid $light-grey;*/ }

@media only screen and (min-width: 768px) {
  #page--category .page-content-dynamic .category-indicators .container--left {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    #page--category .page-content-dynamic .category-indicators .container--left:last-child {
      margin-right: 0; } }

@media only screen and (min-width: 768px) {
  #page--category .page-content-dynamic .category-indicators .container--right {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    #page--category .page-content-dynamic .category-indicators .container--right:last-child {
      margin-right: 0; } }

#page--category .page-content-dynamic .category-indicators .container--right .indicator-item:first-child {
  margin-top: 1em; }
  @media only screen and (min-width: 544px) {
    #page--category .page-content-dynamic .category-indicators .container--right .indicator-item:first-child {
      margin-top: 1em; } }
  @media only screen and (min-width: 768px) {
    #page--category .page-content-dynamic .category-indicators .container--right .indicator-item:first-child {
      margin-top: 0em; } }
  @media only screen and (min-width: 992px) {
    #page--category .page-content-dynamic .category-indicators .container--right .indicator-item:first-child {
      margin-top: 0em; } }
  @media only screen and (min-width: 1200px) {
    #page--category .page-content-dynamic .category-indicators .container--right .indicator-item:first-child {
      margin-top: 0em; } }

#page--category .page-content-dynamic .category-indicators .indicator-item + .indicator-item {
  margin-top: 1em; }
  @media only screen and (min-width: 544px) {
    #page--category .page-content-dynamic .category-indicators .indicator-item + .indicator-item {
      margin-top: 1em; } }
  @media only screen and (min-width: 768px) {
    #page--category .page-content-dynamic .category-indicators .indicator-item + .indicator-item {
      margin-top: 2em; } }
  @media only screen and (min-width: 992px) {
    #page--category .page-content-dynamic .category-indicators .indicator-item + .indicator-item {
      margin-top: 2em; } }
  @media only screen and (min-width: 1200px) {
    #page--category .page-content-dynamic .category-indicators .indicator-item + .indicator-item {
      margin-top: 2em; } }

#page--indicators .introduction {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  border-bottom: 1px solid #313131; }
  @media only screen and (min-width: 544px) {
    #page--indicators .introduction {
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    #page--indicators .introduction {
      flex-direction: row;
      align-items: space-around; } }
  @media only screen and (min-width: 992px) {
    #page--indicators .introduction {
      flex-direction: row;
      align-items: flex-start; } }
  @media only screen and (min-width: 1200px) {
    #page--indicators .introduction {
      flex-direction: row;
      align-items: flex-start; } }
  #page--indicators .introduction .indicator-item label {
    font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    color: #313131;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: 1px;
    margin-bottom: 0px; }
    @media only screen and (min-width: 544px) {
      #page--indicators .introduction .indicator-item label {
        font-size: 12px; } }
    @media only screen and (min-width: 768px) {
      #page--indicators .introduction .indicator-item label {
        font-size: 13px; } }
    @media only screen and (min-width: 992px) {
      #page--indicators .introduction .indicator-item label {
        font-size: 14px; } }
    @media only screen and (min-width: 1200px) {
      #page--indicators .introduction .indicator-item label {
        font-size: 14px; } }
  #page--indicators .introduction .indicator-item + .indicator-item {
    margin-left: 0em; }
    @media only screen and (min-width: 544px) {
      #page--indicators .introduction .indicator-item + .indicator-item {
        margin-left: 0em; } }
    @media only screen and (min-width: 768px) {
      #page--indicators .introduction .indicator-item + .indicator-item {
        margin-left: 4em; } }
    @media only screen and (min-width: 992px) {
      #page--indicators .introduction .indicator-item + .indicator-item {
        margin-left: 4em; } }
    @media only screen and (min-width: 1200px) {
      #page--indicators .introduction .indicator-item + .indicator-item {
        margin-left: 4em; } }
  #page--indicators .introduction .governance {
    color: #57A8D5 !important; }
    #page--indicators .introduction .governance:hover {
      color: #57A8D5 !important; }
  #page--indicators .introduction .freedom {
    color: #21BCB3 !important; }
    #page--indicators .introduction .freedom:hover {
      color: #21BCB3 !important; }
  #page--indicators .introduction .privacy {
    color: #238E88 !important; }
    #page--indicators .introduction .privacy:hover {
      color: #238E88 !important; }

#page--indicators .indicators-wrapper #G1, #page--indicators .indicators-wrapper #G2, #page--indicators .indicators-wrapper #G3, #page--indicators .indicators-wrapper #G4, #page--indicators .indicators-wrapper #G5,
#page--indicators .indicators-wrapper #F1, #page--indicators .indicators-wrapper #F2, #page--indicators .indicators-wrapper #F3, #page--indicators .indicators-wrapper #F4, #page--indicators .indicators-wrapper #F5, #page--indicators .indicators-wrapper #F6, #page--indicators .indicators-wrapper #F7, #page--indicators .indicators-wrapper #F8, #page--indicators .indicators-wrapper #F9, #page--indicators .indicators-wrapper #F10, #page--indicators .indicators-wrapper #F11,
#page--indicators .indicators-wrapper #P1, #page--indicators .indicators-wrapper #P2, #page--indicators .indicators-wrapper #P3, #page--indicators .indicators-wrapper #P4, #page--indicators .indicators-wrapper #P5, #page--indicators .indicators-wrapper #P6, #page--indicators .indicators-wrapper #P7, #page--indicators .indicators-wrapper #P8, #page--indicators .indicators-wrapper #P9, #page--indicators .indicators-wrapper #P10, #page--indicators .indicators-wrapper #P11, #page--indicators .indicators-wrapper #P12, #page--indicators .indicators-wrapper #P13, #page--indicators .indicators-wrapper #P14, #page--indicators .indicators-wrapper #P15, #page--indicators .indicators-wrapper #P16, #page--indicators .indicators-wrapper #P17, #page--indicators .indicators-wrapper #P18 {
  padding-top: 1.5em;
  padding-bottom: 0em;
  clear: both; }
  @media only screen and (min-width: 544px) {
    #page--indicators .indicators-wrapper #G1, #page--indicators .indicators-wrapper #G2, #page--indicators .indicators-wrapper #G3, #page--indicators .indicators-wrapper #G4, #page--indicators .indicators-wrapper #G5,
    #page--indicators .indicators-wrapper #F1, #page--indicators .indicators-wrapper #F2, #page--indicators .indicators-wrapper #F3, #page--indicators .indicators-wrapper #F4, #page--indicators .indicators-wrapper #F5, #page--indicators .indicators-wrapper #F6, #page--indicators .indicators-wrapper #F7, #page--indicators .indicators-wrapper #F8, #page--indicators .indicators-wrapper #F9, #page--indicators .indicators-wrapper #F10, #page--indicators .indicators-wrapper #F11,
    #page--indicators .indicators-wrapper #P1, #page--indicators .indicators-wrapper #P2, #page--indicators .indicators-wrapper #P3, #page--indicators .indicators-wrapper #P4, #page--indicators .indicators-wrapper #P5, #page--indicators .indicators-wrapper #P6, #page--indicators .indicators-wrapper #P7, #page--indicators .indicators-wrapper #P8, #page--indicators .indicators-wrapper #P9, #page--indicators .indicators-wrapper #P10, #page--indicators .indicators-wrapper #P11, #page--indicators .indicators-wrapper #P12, #page--indicators .indicators-wrapper #P13, #page--indicators .indicators-wrapper #P14, #page--indicators .indicators-wrapper #P15, #page--indicators .indicators-wrapper #P16, #page--indicators .indicators-wrapper #P17, #page--indicators .indicators-wrapper #P18 {
      padding-top: 1.5em;
      padding-bottom: 0em; } }
  @media only screen and (min-width: 768px) {
    #page--indicators .indicators-wrapper #G1, #page--indicators .indicators-wrapper #G2, #page--indicators .indicators-wrapper #G3, #page--indicators .indicators-wrapper #G4, #page--indicators .indicators-wrapper #G5,
    #page--indicators .indicators-wrapper #F1, #page--indicators .indicators-wrapper #F2, #page--indicators .indicators-wrapper #F3, #page--indicators .indicators-wrapper #F4, #page--indicators .indicators-wrapper #F5, #page--indicators .indicators-wrapper #F6, #page--indicators .indicators-wrapper #F7, #page--indicators .indicators-wrapper #F8, #page--indicators .indicators-wrapper #F9, #page--indicators .indicators-wrapper #F10, #page--indicators .indicators-wrapper #F11,
    #page--indicators .indicators-wrapper #P1, #page--indicators .indicators-wrapper #P2, #page--indicators .indicators-wrapper #P3, #page--indicators .indicators-wrapper #P4, #page--indicators .indicators-wrapper #P5, #page--indicators .indicators-wrapper #P6, #page--indicators .indicators-wrapper #P7, #page--indicators .indicators-wrapper #P8, #page--indicators .indicators-wrapper #P9, #page--indicators .indicators-wrapper #P10, #page--indicators .indicators-wrapper #P11, #page--indicators .indicators-wrapper #P12, #page--indicators .indicators-wrapper #P13, #page--indicators .indicators-wrapper #P14, #page--indicators .indicators-wrapper #P15, #page--indicators .indicators-wrapper #P16, #page--indicators .indicators-wrapper #P17, #page--indicators .indicators-wrapper #P18 {
      padding-top: 1.5em;
      padding-bottom: 0em; } }
  @media only screen and (min-width: 992px) {
    #page--indicators .indicators-wrapper #G1, #page--indicators .indicators-wrapper #G2, #page--indicators .indicators-wrapper #G3, #page--indicators .indicators-wrapper #G4, #page--indicators .indicators-wrapper #G5,
    #page--indicators .indicators-wrapper #F1, #page--indicators .indicators-wrapper #F2, #page--indicators .indicators-wrapper #F3, #page--indicators .indicators-wrapper #F4, #page--indicators .indicators-wrapper #F5, #page--indicators .indicators-wrapper #F6, #page--indicators .indicators-wrapper #F7, #page--indicators .indicators-wrapper #F8, #page--indicators .indicators-wrapper #F9, #page--indicators .indicators-wrapper #F10, #page--indicators .indicators-wrapper #F11,
    #page--indicators .indicators-wrapper #P1, #page--indicators .indicators-wrapper #P2, #page--indicators .indicators-wrapper #P3, #page--indicators .indicators-wrapper #P4, #page--indicators .indicators-wrapper #P5, #page--indicators .indicators-wrapper #P6, #page--indicators .indicators-wrapper #P7, #page--indicators .indicators-wrapper #P8, #page--indicators .indicators-wrapper #P9, #page--indicators .indicators-wrapper #P10, #page--indicators .indicators-wrapper #P11, #page--indicators .indicators-wrapper #P12, #page--indicators .indicators-wrapper #P13, #page--indicators .indicators-wrapper #P14, #page--indicators .indicators-wrapper #P15, #page--indicators .indicators-wrapper #P16, #page--indicators .indicators-wrapper #P17, #page--indicators .indicators-wrapper #P18 {
      padding-top: 1.5em;
      padding-bottom: 0em; } }
  @media only screen and (min-width: 1200px) {
    #page--indicators .indicators-wrapper #G1, #page--indicators .indicators-wrapper #G2, #page--indicators .indicators-wrapper #G3, #page--indicators .indicators-wrapper #G4, #page--indicators .indicators-wrapper #G5,
    #page--indicators .indicators-wrapper #F1, #page--indicators .indicators-wrapper #F2, #page--indicators .indicators-wrapper #F3, #page--indicators .indicators-wrapper #F4, #page--indicators .indicators-wrapper #F5, #page--indicators .indicators-wrapper #F6, #page--indicators .indicators-wrapper #F7, #page--indicators .indicators-wrapper #F8, #page--indicators .indicators-wrapper #F9, #page--indicators .indicators-wrapper #F10, #page--indicators .indicators-wrapper #F11,
    #page--indicators .indicators-wrapper #P1, #page--indicators .indicators-wrapper #P2, #page--indicators .indicators-wrapper #P3, #page--indicators .indicators-wrapper #P4, #page--indicators .indicators-wrapper #P5, #page--indicators .indicators-wrapper #P6, #page--indicators .indicators-wrapper #P7, #page--indicators .indicators-wrapper #P8, #page--indicators .indicators-wrapper #P9, #page--indicators .indicators-wrapper #P10, #page--indicators .indicators-wrapper #P11, #page--indicators .indicators-wrapper #P12, #page--indicators .indicators-wrapper #P13, #page--indicators .indicators-wrapper #P14, #page--indicators .indicators-wrapper #P15, #page--indicators .indicators-wrapper #P16, #page--indicators .indicators-wrapper #P17, #page--indicators .indicators-wrapper #P18 {
      padding-top: 1.5em;
      padding-bottom: 0em; } }

#page--indicators .indicators-wrapper #G1 {
  padding-top: 0 !important;
  padding-bottom: 1em !important; }

#page--indicators .indicators-wrapper #G1 h3, #page--indicators .indicators-wrapper #G2 h3, #page--indicators .indicators-wrapper #G3 h3, #page--indicators .indicators-wrapper #G4 h3, #page--indicators .indicators-wrapper #G5 h3 {
  color: #57A8D5 !important; }
  #page--indicators .indicators-wrapper #G1 h3:hover, #page--indicators .indicators-wrapper #G2 h3:hover, #page--indicators .indicators-wrapper #G3 h3:hover, #page--indicators .indicators-wrapper #G4 h3:hover, #page--indicators .indicators-wrapper #G5 h3:hover {
    color: #57A8D5 !important; }

#page--indicators .indicators-wrapper #F1 h3, #page--indicators .indicators-wrapper #F2 h3, #page--indicators .indicators-wrapper #F3 h3, #page--indicators .indicators-wrapper #F4 h3, #page--indicators .indicators-wrapper #F5 h3, #page--indicators .indicators-wrapper #F6 h3, #page--indicators .indicators-wrapper #F7 h3, #page--indicators .indicators-wrapper #F8 h3, #page--indicators .indicators-wrapper #F9 h3, #page--indicators .indicators-wrapper #F10 h3, #page--indicators .indicators-wrapper #F11 h3 {
  color: #21BCB3 !important; }
  #page--indicators .indicators-wrapper #F1 h3:hover, #page--indicators .indicators-wrapper #F2 h3:hover, #page--indicators .indicators-wrapper #F3 h3:hover, #page--indicators .indicators-wrapper #F4 h3:hover, #page--indicators .indicators-wrapper #F5 h3:hover, #page--indicators .indicators-wrapper #F6 h3:hover, #page--indicators .indicators-wrapper #F7 h3:hover, #page--indicators .indicators-wrapper #F8 h3:hover, #page--indicators .indicators-wrapper #F9 h3:hover, #page--indicators .indicators-wrapper #F10 h3:hover, #page--indicators .indicators-wrapper #F11 h3:hover {
    color: #21BCB3 !important; }

#page--indicators .indicators-wrapper #P1 h3, #page--indicators .indicators-wrapper #P2 h3, #page--indicators .indicators-wrapper #P3 h3, #page--indicators .indicators-wrapper #P4 h3, #page--indicators .indicators-wrapper #P5 h3, #page--indicators .indicators-wrapper #P6 h3, #page--indicators .indicators-wrapper #P7 h3, #page--indicators .indicators-wrapper #P8 h3, #page--indicators .indicators-wrapper #P9 h3, #page--indicators .indicators-wrapper #P10 h3, #page--indicators .indicators-wrapper #P11 h3, #page--indicators .indicators-wrapper #P12 h3, #page--indicators .indicators-wrapper #P13 h3, #page--indicators .indicators-wrapper #P14 h3, #page--indicators .indicators-wrapper #P15 h3, #page--indicators .indicators-wrapper #P16 h3, #page--indicators .indicators-wrapper #P17 h3, #page--indicators .indicators-wrapper #P18 h3 {
  color: #238E88 !important; }
  #page--indicators .indicators-wrapper #P1 h3:hover, #page--indicators .indicators-wrapper #P2 h3:hover, #page--indicators .indicators-wrapper #P3 h3:hover, #page--indicators .indicators-wrapper #P4 h3:hover, #page--indicators .indicators-wrapper #P5 h3:hover, #page--indicators .indicators-wrapper #P6 h3:hover, #page--indicators .indicators-wrapper #P7 h3:hover, #page--indicators .indicators-wrapper #P8 h3:hover, #page--indicators .indicators-wrapper #P9 h3:hover, #page--indicators .indicators-wrapper #P10 h3:hover, #page--indicators .indicators-wrapper #P11 h3:hover, #page--indicators .indicators-wrapper #P12 h3:hover, #page--indicators .indicators-wrapper #P13 h3:hover, #page--indicators .indicators-wrapper #P14 h3:hover, #page--indicators .indicators-wrapper #P15 h3:hover, #page--indicators .indicators-wrapper #P16 h3:hover, #page--indicators .indicators-wrapper #P17 h3:hover, #page--indicators .indicators-wrapper #P18 h3:hover {
    color: #238E88 !important; }

#page--indicators .indicators-wrapper .company-type {
  margin-top: 1em;
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase; }
  @media only screen and (min-width: 544px) {
    #page--indicators .indicators-wrapper .company-type {
      font-size: 11px; } }
  @media only screen and (min-width: 768px) {
    #page--indicators .indicators-wrapper .company-type {
      font-size: 12px; } }
  @media only screen and (min-width: 992px) {
    #page--indicators .indicators-wrapper .company-type {
      font-size: 13px; } }
  @media only screen and (min-width: 1200px) {
    #page--indicators .indicators-wrapper .company-type {
      font-size: 13px; } }

#page--indicators .indicators-wrapper .container--left i {
  color: #ed1b24; }

#page--indicators .indicators-wrapper .container--right i {
  color: #f8931f; }

#page--indicators .indicators-wrapper .bar--container label {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  color: #313131;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 1px;
  margin-bottom: 0px; }
  @media only screen and (min-width: 544px) {
    #page--indicators .indicators-wrapper .bar--container label {
      font-size: 12px; } }
  @media only screen and (min-width: 768px) {
    #page--indicators .indicators-wrapper .bar--container label {
      font-size: 13px; } }
  @media only screen and (min-width: 992px) {
    #page--indicators .indicators-wrapper .bar--container label {
      font-size: 14px; } }
  @media only screen and (min-width: 1200px) {
    #page--indicators .indicators-wrapper .bar--container label {
      font-size: 14px; } }

#page--indicators .indicators-wrapper .bar--chart {
  width: 100%; }
  #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick {
    cursor: pointer;
    text-align: center;
    line-height: 2;
    fill: #313131;
    font-weight: 600;
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    font-size: 9px; }
    @media only screen and (min-width: 544px) {
      #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick {
        font-size: 9px; } }
    @media only screen and (min-width: 768px) {
      #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick {
        font-size: 10px; } }
    @media only screen and (min-width: 992px) {
      #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick {
        font-size: 11px; } }
    @media only screen and (min-width: 1200px) {
      #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick {
        font-size: 13px; } }
    #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick:hover {
      text-decoration: underline; }
    #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick text {
      transform: rotate(-90deg); }
      @media only screen and (min-width: 544px) {
        #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick text {
          transform: rotate(-90deg); } }
      @media only screen and (min-width: 768px) {
        #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick text {
          transform: rotate(-35deg); } }
      @media only screen and (min-width: 992px) {
        #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick text {
          transform: rotate(-35deg); } }
      @media only screen and (min-width: 1200px) {
        #page--indicators .indicators-wrapper .bar--chart .bar--axis_x .tick text {
          transform: rotate(-35deg); } }
  #page--indicators .indicators-wrapper .bar--chart .G {
    width: 100% !important; }
    #page--indicators .indicators-wrapper .bar--chart .G .bar--default {
      fill: #57A8D5; }
      #page--indicators .indicators-wrapper .bar--chart .G .bar--default:hover {
        fill: #28749e !important; }
  #page--indicators .indicators-wrapper .bar--chart .F {
    width: 100% !important; }
    #page--indicators .indicators-wrapper .bar--chart .F .bar--default {
      fill: #21BCB3; }
      #page--indicators .indicators-wrapper .bar--chart .F .bar--default:hover {
        fill: #126560 !important; }
  #page--indicators .indicators-wrapper .bar--chart .P {
    width: 100% !important; }
    #page--indicators .indicators-wrapper .bar--chart .P .bar--default {
      fill: #238E88; }
      #page--indicators .indicators-wrapper .bar--chart .P .bar--default:hover {
        fill: #0F3C3A !important; }

@media only screen and (min-width: 544px) {
  #page--indicators .indicators-wrapper .container--left {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%; }
    #page--indicators .indicators-wrapper .container--left:last-child {
      margin-right: 0; } }

@media only screen and (min-width: 768px) {
  #page--indicators .indicators-wrapper .container--left {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    #page--indicators .indicators-wrapper .container--left:last-child {
      margin-right: 0; } }

@media only screen and (min-width: 768px) {
  #page--indicators .indicators-wrapper .container--left {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%; }
    #page--indicators .indicators-wrapper .container--left:last-child {
      margin-right: 0; } }

#page--indicators .indicators-wrapper .container--right {
  margin-right: 0; }
  @media only screen and (min-width: 544px) {
    #page--indicators .indicators-wrapper .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 100%; }
      #page--indicators .indicators-wrapper .container--right:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    #page--indicators .indicators-wrapper .container--right {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 48.821174201%; }
      #page--indicators .indicators-wrapper .container--right:last-child {
        margin-right: 0; } }

/*.indicator--sub_text {
  line-height: 1.8em;
}*/
.indicator--choices,
.indicator--sub_choices {
  margin-top: 1em;
  list-style: initial; }
  .indicator--choices li,
  .indicator--sub_choices li {
    margin-left: 1em; }
    @media only screen and (min-width: 992px) {
      .indicator--choices li,
      .indicator--sub_choices li {
        margin-left: 2em; } }

#page--download .page--content ul li {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 13px; }
  @media only screen and (min-width: 544px) {
    #page--download .page--content ul li {
      font-size: 14px; } }
  @media only screen and (min-width: 768px) {
    #page--download .page--content ul li {
      font-size: 15px; } }
  @media only screen and (min-width: 992px) {
    #page--download .page--content ul li {
      font-size: 15px; } }
  @media only screen and (min-width: 1200px) {
    #page--download .page--content ul li {
      font-size: 15px; } }
  #page--download .page--content ul li a {
    font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: 13px; }
    @media only screen and (min-width: 544px) {
      #page--download .page--content ul li a {
        font-size: 14px; } }
    @media only screen and (min-width: 768px) {
      #page--download .page--content ul li a {
        font-size: 15px; } }
    @media only screen and (min-width: 992px) {
      #page--download .page--content ul li a {
        font-size: 15px; } }
    @media only screen and (min-width: 1200px) {
      #page--download .page--content ul li a {
        font-size: 15px; } }

#page--download .page--content p {
  text-transform: uppercase; }

#page--article .page-content-dynamic h2, #page--article .page-content-dynamic h3 {
  margin-top: 1em; }

#page--article .page-content-dynamic h1 + h2 {
  margin-top: 0em; }

#page--article .page-content-dynamic ul {
  padding-left: 15px; }
  @media only screen and (min-width: 544px) {
    #page--article .page-content-dynamic ul {
      padding-left: 15px; } }
  @media only screen and (min-width: 768px) {
    #page--article .page-content-dynamic ul {
      padding-left: 15px; } }
  @media only screen and (min-width: 992px) {
    #page--article .page-content-dynamic ul {
      padding-left: 15px; } }
  @media only screen and (min-width: 1200px) {
    #page--article .page-content-dynamic ul {
      padding-left: 15px; } }
  #page--article .page-content-dynamic ul li {
    list-style-type: disc !important;
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: 1px;
    margin-bottom: 5px; }
    @media only screen and (min-width: 544px) {
      #page--article .page-content-dynamic ul li {
        font-size: 14px;
        margin-bottom: 5px; } }
    @media only screen and (min-width: 768px) {
      #page--article .page-content-dynamic ul li {
        font-size: 15px;
        margin-bottom: 5px; } }
    @media only screen and (min-width: 992px) {
      #page--article .page-content-dynamic ul li {
        font-size: 16px;
        margin-bottom: 10px; } }
    @media only screen and (min-width: 1200px) {
      #page--article .page-content-dynamic ul li {
        font-size: 16px;
        margin-bottom: 10px; } }
    #page--article .page-content-dynamic ul li ul li {
      list-style-type: circle !important;
      margin-bottom: 5px; }
      @media only screen and (min-width: 544px) {
        #page--article .page-content-dynamic ul li ul li {
          margin-bottom: 5px; } }
      @media only screen and (min-width: 768px) {
        #page--article .page-content-dynamic ul li ul li {
          margin-bottom: 5px; } }
      @media only screen and (min-width: 992px) {
        #page--article .page-content-dynamic ul li ul li {
          margin-bottom: 5px; } }
      @media only screen and (min-width: 1200px) {
        #page--article .page-content-dynamic ul li ul li {
          margin-bottom: 5px; } }

#page--article .page-content-dynamic img {
  display: block;
  max-width: 100%;
  height: auto; }

#page--article .page-content-dynamic .closing-sentance {
  margin-top: 1em; }

.survey-row {
  position: relative;
  padding-top: 1em;
  padding-bottom: 1em; }
  .survey-row:first-child {
    padding-top: 0; }

/*.survey--question_hed {
margin-top: 1.25em;
}*/
.survey--score {
  display: flex; }

.survey--inline {
  margin-top: .5em; }
  @media only screen and (min-width: 768px) {
    .survey--inline {
      margin-left: 1.5em; } }

.survey--inline_name {
  font-size: .9em;
  text-transform: uppercase; }

.survey--item_title {
  margin-top: .5em;
  margin-bottom: .3em; }

.score--tier {
  padding: .5em .75em .4em; }

.score {
  display: flex;
  align-items: center;
  margin-bottom: .5em; }
  .score .score--tier {
    margin-left: .7em;
    padding: .15em .4em .1em;
    font-size: .9em; }

.score--tier {
  min-width: 52px;
  text-align: center;
  display: inline-block; }
  @media only screen and (min-width: 992px) {
    .score--tier {
      min-width: 52px; } }

.score--tier_3 {
  background: #77bc1f; }

.score--tier_2 {
  background: #b1b0b0; }

.score--tier_1 {
  background: #9B2523;
  color: #F7F7F7; }

.score--tier_0 {
  background: #9B2523;
  color: #F7F7F7; }

.score__tier_na {
  background: #575757; }

.score--tier_t {
  background: #457CA4;
  color: #F7F7F7; }

.score--tier_c {
  background: #57A8D5; }

.score--tier_p {
  background: #238E88; }

.score--tier_f {
  background: #21BCB3; }

@media only screen and (min-width: 768px) {
  .level {
    margin-left: 1em; } }

.label--insufficient {
  text-align: center;
  text-transform: uppercase;
  padding-top: 1em;
  padding-bottom: 1em; }

#category--internet,
#category--telco {
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.vis--row {
  width: 100%;
  display: inline-flex;
  align-items: center;
  padding-top: 0em;
  padding-bottom: 0;
  line-height: 1.4em;
  cursor: default; }

.vis--row + .vis--row {
  padding-top: .7em; }

.vis--row_title {
  width: 25%; }
  @media only screen and (min-width: 544px) {
    .vis--row_title {
      width: 20%; } }
  @media only screen and (min-width: 768px) {
    .vis--row_title {
      width: 20%; } }
  @media only screen and (min-width: 992px) {
    .vis--row_title {
      width: 20%; } }
  @media only screen and (min-width: 1200px) {
    .vis--row_title {
      width: 20%; } }

.vis--category_score {
  font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  text-align: center;
  width: 15%; }
  @media only screen and (min-width: 544px) {
    .vis--category_score {
      width: 10%; } }
  @media only screen and (min-width: 768px) {
    .vis--category_score {
      width: 10%; } }
  @media only screen and (min-width: 992px) {
    .vis--category_score {
      width: 10%; } }
  @media only screen and (min-width: 1200px) {
    .vis--category_score {
      width: 10%; } }

.vis--type {
  text-transform: uppercase;
  color: #b1b0b0; }

/* Horizontal chart (index)*/
.vis--header {
  border-bottom: 0.1em solid #e4e3e3;
  font-size: .75em;
  margin-top: 1em;
  align-items: flex-end; }

#category--internet .vis--header {
  margin-top: 0; }

.vis--header_item {
  font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase;
  overflow: hidden;
  background: transparent;
  padding-top: .5em;
  padding-bottom: .5em; }
  .vis--header_item > a {
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #313131;
    line-height: 1.3;
    letter-spacing: 1px;
    text-decoration: none;
    transition: color .2s ease-out;
    display: block; }
  .vis--header_item.vis--row_title {
    font-size: 14px;
    font-weight: 500; }
    .vis--header_item.vis--row_title > a {
      font-size: 14px;
      font-weight: 500; }

.vis--row_title {
  font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #313131;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  overflow: hidden;
  background: transparent;
  padding-top: .5em;
  padding-bottom: .5em; }
  .vis--row_title > a {
    font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    color: #313131;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 1px;
    text-decoration: none;
    transition: color .2s ease-out;
    display: block; }

.sort > .collecticon {
  margin-left: .25em; }

.sort-asc > .collecticon:before {
  content: "\EA73"; }

.sort-desc > .collecticon:before {
  content: "\EA74"; }

.sort-none > .collecticon:before {
  content: "\EA75"; }

.sort-sort > .collecticon:before {
  content: "\EA76"; }

.vis--header_score {
  text-align: center;
  width: 15%; }
  @media only screen and (min-width: 544px) {
    .vis--header_score {
      width: 10%; } }
  @media only screen and (min-width: 768px) {
    .vis--header_score {
      width: 10%; } }
  @media only screen and (min-width: 992px) {
    .vis--header_score {
      width: 10%; } }
  @media only screen and (min-width: 1200px) {
    .vis--header_score {
      width: 10%; } }

.vis--row_bars {
  display: inline-flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 60%; }
  @media only screen and (min-width: 544px) {
    .vis--row_bars {
      width: 70%; } }
  @media only screen and (min-width: 768px) {
    .vis--row_bars {
      width: 70%; } }
  @media only screen and (min-width: 992px) {
    .vis--row_bars {
      width: 70%; } }
  @media only screen and (min-width: 1200px) {
    .vis--row_bars {
      width: 70%; } }

.vis--row_bar {
  width: 100%;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .vis--row_bar {
      width: 22%; } }

.bar--count_1,
.bar--count_2,
.bar--count_3 {
  display: none; }
  @media only screen and (min-width: 768px) {
    .bar--count_1,
    .bar--count_2,
    .bar--count_3 {
      display: block; } }

.vis--horiz_bar_container {
  position: relative;
  height: 1.5em;
  background: #E5DCD2;
  overflow: hidden;
  transition: background .2s ease-in; }
  @media only screen and (min-width: 544px) {
    .vis--horiz_bar_container {
      height: 1.5em; } }
  @media only screen and (min-width: 768px) {
    .vis--horiz_bar_container {
      height: 1.5em; } }
  @media only screen and (min-width: 992px) {
    .vis--horiz_bar_container {
      height: 2em; } }
  @media only screen and (min-width: 992px) {
    .vis--horiz_bar_container {
      height: 2em; } }

.vis--horiz_bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 1.5em;
  height: 2em;
  display: block;
  background: black; }
  @media only screen and (min-width: 544px) {
    .vis--horiz_bar {
      height: 1.5em; } }
  @media only screen and (min-width: 768px) {
    .vis--horiz_bar {
      height: 1.5em; } }
  @media only screen and (min-width: 992px) {
    .vis--horiz_bar {
      height: 2em; } }
  @media only screen and (min-width: 992px) {
    .vis--horiz_bar {
      height: 2em; } }

.vis--bar_total {
  background: #457CA4;
  transition: background .2s ease-in; }
  .vis--bar_total:hover {
    background: #27465c; }

.vis--bar_commitment {
  background: #57A8D5;
  transition: background .2s ease-in; }
  .vis--bar_commitment:hover {
    background: #28749e; }

.vis--bar_freedom {
  background: #21BCB3;
  transition: background .2s ease-in; }
  .vis--bar_freedom:hover {
    background: #126560; }

.vis--bar_privacy {
  background: #238E88;
  transition: background .2s ease-in; }
  .vis--bar_privacy:hover {
    background: #0F3C3A; }

.vis--horiz_bar_container:hover:hover {
  background: #dfd4c8; }

.dotchart {
  position: relative;
  overflow: visible;
  margin: 0 0 3em;
  height: 5em; }
  @media only screen and (min-width: 768px) {
    .dotchart {
      margin: 0 1em 3em; } }

.dotchart--label {
  position: absolute;
  top: 2.95em;
  font-size: 1em;
  color: #575757; }

.dotchart--label_left {
  left: 0; }

.dotchart--label_right {
  right: 0; }

.dotchart--label_highlight {
  top: 0.05em;
  margin-left: -0.5em; }

.dotchart--baseline {
  position: absolute;
  width: 100%;
  height: 0px;
  left: 0;
  top: 2.45em;
  border-bottom: 2px solid #b1b0b0; }

.dot {
  display: inline-block;
  position: absolute;
  width: 0.9em;
  height: 0.9em;
  top: 2.05em;
  margin-left: -0.45em;
  border-width: 1px;
  border-style: solid;
  border-radius: 50%;
  cursor: pointer;
  transition: background .4s ease-out, border-color .4s ease-out;
  background-color: #575757;
  border-color: #e4e3e3; }
  .dot:hover {
    background-color: #4a4a4a; }

.dotchart--total .highlight {
  background-color: #457CA4; }
  .dotchart--total .highlight:hover {
    background-color: #3b698b; }

.dotchart--privacy .highlight {
  background-color: #238E88; }
  .dotchart--privacy .highlight:hover {
    background-color: #1e7974; }

.dotchart--commitment .highlight {
  background-color: #57A8D5; }
  .dotchart--commitment .highlight:hover {
    background-color: #4a8fb5; }

.dotchart--freedom .highlight {
  background-color: #21BCB3; }
  .dotchart--freedom .highlight:hover {
    background-color: #1ca098; }

.dotchart .highlight {
  border-color: #e4e3e3; }

.dot.highlight {
  width: 1.2em;
  height: 1.2em;
  top: 1.9em;
  margin-left: -0.6em; }

.dotchart--tooltip {
  position: absolute;
  text-align: center;
  padding: .8em 1em .6em;
  background-color: #313131;
  color: #F7F7F7;
  bottom: 4.05em;
  opacity: 0;
  transition: bottom .2s ease-out, opacity .2s ease-out;
  text-transform: uppercase;
  font-weight: 600;
  font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px; }
  @media only screen and (min-width: 544px) {
    .dotchart--tooltip {
      font-size: 12px; } }
  @media only screen and (min-width: 768px) {
    .dotchart--tooltip {
      font-size: 12px; } }
  @media only screen and (min-width: 992px) {
    .dotchart--tooltip {
      font-size: 12px; } }
  @media only screen and (min-width: 1200px) {
    .dotchart--tooltip {
      font-size: 12px; } }
  .dotchart--tooltip .rank {
    width: 17px;
    height: 17px;
    display: inline-block;
    color: #313131;
    background-color: white;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    line-height: 1.5;
    font-size: 12px;
    margin-right: 2px; }
    @media only screen and (min-width: 544px) {
      .dotchart--tooltip .rank {
        font-size: 12px; } }
    @media only screen and (min-width: 768px) {
      .dotchart--tooltip .rank {
        font-size: 12px; } }
    @media only screen and (min-width: 992px) {
      .dotchart--tooltip .rank {
        font-size: 12px; } }
    @media only screen and (min-width: 1200px) {
      .dotchart--tooltip .rank {
        font-size: 12px; } }
  .dotchart--tooltip .percent {
    color: #b1b0b0;
    margin-left: 2px;
    font-size: 12px; }
    @media only screen and (min-width: 544px) {
      .dotchart--tooltip .percent {
        font-size: 12px; } }
    @media only screen and (min-width: 768px) {
      .dotchart--tooltip .percent {
        font-size: 12px; } }
    @media only screen and (min-width: 992px) {
      .dotchart--tooltip .percent {
        font-size: 12px; } }
    @media only screen and (min-width: 1200px) {
      .dotchart--tooltip .percent {
        font-size: 12px; } }
  .dotchart--tooltip.active {
    opacity: 1;
    bottom: 4.55em; }

.bar--axis_y path,
.bar--axis_y line,
.bar--axis_x path,
.bar--axis_x line,
.bar--axis_x_service path,
.bar--axis_x_service line {
  fill: none;
  shape-rendering: crispEdges;
  stroke: #b1b0b0; }

.bar--default {
  fill: #457CA4; }

.bar--commitment {
  fill: #57A8D5; }

.bar--freedom {
  fill: #21BCB3; }

.bar--privacy {
  fill: #238E88; }

.bar--zero {
  fill: #9B2523 !important; }

.bar--tip {
  padding: 0.8em 1em 0.6em;
  text-align: center;
  line-height: 1.4em;
  background: #313131;
  color: #F7F7F7;
  transition: opacity .2s ease-out; }

.bar--tip:after {
  box-sizing: border-box;
  display: inline;
  font-size: 1em;
  width: 100%;
  line-height: 1;
  color: #313131;
  content: "\25BC";
  position: absolute;
  text-align: center; }

.G .bar {
  fill: #57A8D5; }

.F .bar {
  fill: #21BCB3; }

.P .bar {
  fill: #238E88; }

.bar--tip.n:after {
  margin: -1px 0 0 0;
  top: 100%;
  left: 0; }

.bar--axis_y {
  font-size: .8em;
  fill: #313131; }

.bar--axis_x_company text {
  font-size: .8em;
  cursor: pointer;
  fill: #4D9ECF; }
  .bar--axis_x_company text:hover {
    text-decoration: underline; }

.graph-legend {
  margin-top: 1em;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: column; }
  @media only screen and (min-width: 544px) {
    .graph-legend {
      margin-top: 1.5em;
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    .graph-legend {
      margin-top: 1em;
      flex-direction: column; } }
  @media only screen and (min-width: 992px) {
    .graph-legend {
      margin-top: 1em;
      flex-direction: row; } }
  @media only screen and (min-width: 1200px) {
    .graph-legend {
      margin-top: 1em;
      flex-direction: row; } }
  .graph-legend .graph-legend-content,
  .graph-legend .graph-legend-values,
  .graph-legend .graph-legend-interaction {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    border-left: none;
    border-top: 1px solid #313131; }
    @media only screen and (min-width: 544px) {
      .graph-legend .graph-legend-content,
      .graph-legend .graph-legend-values,
      .graph-legend .graph-legend-interaction {
        border-left: none;
        border-top: 1px solid #313131; } }
    @media only screen and (min-width: 768px) {
      .graph-legend .graph-legend-content,
      .graph-legend .graph-legend-values,
      .graph-legend .graph-legend-interaction {
        border-left: none;
        border-top: 1px solid #313131; } }
    @media only screen and (min-width: 992px) {
      .graph-legend .graph-legend-content,
      .graph-legend .graph-legend-values,
      .graph-legend .graph-legend-interaction {
        border-top: none;
        border-left: 1px solid #313131; } }
    @media only screen and (min-width: 1200px) {
      .graph-legend .graph-legend-content,
      .graph-legend .graph-legend-values,
      .graph-legend .graph-legend-interaction {
        border-top: none;
        border-left: 1px solid #313131; } }
  .graph-legend .graph-legend-content {
    padding: 0.5em 0.5em; }
    @media only screen and (min-width: 544px) {
      .graph-legend .graph-legend-content {
        padding: 1em 1em; } }
    @media only screen and (min-width: 768px) {
      .graph-legend .graph-legend-content {
        padding: 1em 1em; } }
    @media only screen and (min-width: 992px) {
      .graph-legend .graph-legend-content {
        padding: 1em 3em; } }
    @media only screen and (min-width: 1200px) {
      .graph-legend .graph-legend-content {
        padding: 1em 5em; } }
    @media only screen and (min-width: 1366px) {
      .graph-legend .graph-legend-content {
        padding: 1em 6em; } }
    @media only screen and (min-width: 1440px) {
      .graph-legend .graph-legend-content {
        padding: 1em 5em; } }
    @media only screen and (min-width: 1600px) {
      .graph-legend .graph-legend-content {
        padding: 1em 6.5em; } }
    @media only screen and (min-width: 1680px) {
      .graph-legend .graph-legend-content {
        padding: 1em 7em; } }
    @media only screen and (min-width: 1870px) {
      .graph-legend .graph-legend-content {
        padding: 1em 8.5em; } }
    @media only screen and (min-width: 1920px) {
      .graph-legend .graph-legend-content {
        padding: 1em 8.5em; } }
    .graph-legend .graph-legend-content .graph-legend-content-item {
      text-align: center; }
      .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-value {
        font-family: "Platform-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #313131;
        line-height: 1;
        font-size: 17px;
        letter-spacing: 2px;
        margin-bottom: 5px; }
        @media only screen and (min-width: 544px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-value {
            font-size: 23px; } }
        @media only screen and (min-width: 768px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-value {
            font-size: 25px; } }
        @media only screen and (min-width: 992px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-value {
            font-size: 30px; } }
        @media only screen and (min-width: 1200px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-value {
            font-size: 30px; } }
      .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-label {
        font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #313131;
        line-height: 1;
        font-size: 9px;
        text-transform: uppercase;
        margin-bottom: 0px; }
        @media only screen and (min-width: 544px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-label {
            font-size: 12px;
            margin-bottom: 0px; } }
        @media only screen and (min-width: 768px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-label {
            font-size: 12px;
            margin-bottom: 10px; } }
        @media only screen and (min-width: 992px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-label {
            font-size: 13px;
            margin-bottom: 10px; } }
        @media only screen and (min-width: 1200px) {
          .graph-legend .graph-legend-content .graph-legend-content-item .graph-legend-content-item-label {
            font-size: 12px;
            margin-bottom: 10px; } }
    .graph-legend .graph-legend-content .graph-legend-content-item + .graph-legend-content-item {
      margin-left: 1em; }
      @media only screen and (min-width: 544px) {
        .graph-legend .graph-legend-content .graph-legend-content-item + .graph-legend-content-item {
          margin-left: 2em; } }
      @media only screen and (min-width: 768px) {
        .graph-legend .graph-legend-content .graph-legend-content-item + .graph-legend-content-item {
          margin-left: 3em; } }
      @media only screen and (min-width: 992px) {
        .graph-legend .graph-legend-content .graph-legend-content-item + .graph-legend-content-item {
          margin-left: 1em; } }
      @media only screen and (min-width: 1200px) {
        .graph-legend .graph-legend-content .graph-legend-content-item + .graph-legend-content-item {
          margin-left: 2.5em; } }
  .graph-legend .graph-legend-values {
    padding: 0.5em 0.5em; }
    @media only screen and (min-width: 544px) {
      .graph-legend .graph-legend-values {
        padding: 1em 1em; } }
    @media only screen and (min-width: 768px) {
      .graph-legend .graph-legend-values {
        padding: 1em 1em; } }
    @media only screen and (min-width: 992px) {
      .graph-legend .graph-legend-values {
        padding: 1em 3em; } }
    @media only screen and (min-width: 1200px) {
      .graph-legend .graph-legend-values {
        padding: 1em 4em; } }
    @media only screen and (min-width: 1366px) {
      .graph-legend .graph-legend-values {
        padding: 1em 4em; } }
    @media only screen and (min-width: 1440px) {
      .graph-legend .graph-legend-values {
        padding: 1em 3em; } }
    @media only screen and (min-width: 1600px) {
      .graph-legend .graph-legend-values {
        padding: 1em 5em; } }
    @media only screen and (min-width: 1680px) {
      .graph-legend .graph-legend-values {
        padding: 1em 6em; } }
    @media only screen and (min-width: 1870px) {
      .graph-legend .graph-legend-values {
        padding: 1em 7.5em; } }
    @media only screen and (min-width: 1920px) {
      .graph-legend .graph-legend-values {
        padding: 1em 7.5em; } }
    .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-label {
      font-family: "Simplon-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #313131;
      line-height: 1;
      font-size: 11px;
      text-transform: uppercase;
      margin-bottom: 5px; }
      @media only screen and (min-width: 544px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-label {
          font-size: 13px;
          margin-bottom: 5px; } }
      @media only screen and (min-width: 768px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-label {
          font-size: 14px;
          margin-bottom: 5px; } }
      @media only screen and (min-width: 992px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-label {
          font-size: 14px;
          margin-bottom: 10px; } }
      @media only screen and (min-width: 1200px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-label {
          font-size: 14px;
          margin-bottom: 10px; } }
    .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value {
      font-family: "Simplon-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #313131;
      line-height: 1;
      font-size: 10px;
      letter-spacing: 1px;
      text-transform: uppercase; }
      @media only screen and (min-width: 544px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value {
          font-size: 12px; } }
      @media only screen and (min-width: 768px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value {
          font-size: 12px; } }
      @media only screen and (min-width: 992px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value {
          font-size: 13px; } }
      @media only screen and (min-width: 1200px) {
        .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value {
          font-size: 13px; } }
      .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value i {
        font-size: 10px;
        line-height: 1;
        text-align: center; }
        @media only screen and (min-width: 544px) {
          .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value i {
            font-size: 11px; } }
        @media only screen and (min-width: 768px) {
          .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value i {
            font-size: 12px; } }
        @media only screen and (min-width: 992px) {
          .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value i {
            font-size: 13px; } }
        @media only screen and (min-width: 1200px) {
          .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value i {
            font-size: 13px; } }
      .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value.internet-and-mobile-companies i {
        color: #ed1b24; }
      .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value.telecommunications-companies i {
        color: #f8931f; }
      .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value.rank i {
        color: #b1b0b0; }
      .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value .graph-legend-values-value-bar {
        display: inline-block;
        width: 10em;
        height: 1em;
        background-color: #4D9ECF; }
    .graph-legend .graph-legend-values .graph-legend-values-item .graph-legend-values-value + .graph-legend-values-value {
      margin-top: 5px; }
    .graph-legend .graph-legend-values .graph-legend-values-item + .graph-legend-values-item {
      margin-left: 1em; }
      @media only screen and (min-width: 544px) {
        .graph-legend .graph-legend-values .graph-legend-values-item + .graph-legend-values-item {
          margin-left: 1em; } }
      @media only screen and (min-width: 768px) {
        .graph-legend .graph-legend-values .graph-legend-values-item + .graph-legend-values-item {
          margin-left: 2.5em; } }
      @media only screen and (min-width: 992px) {
        .graph-legend .graph-legend-values .graph-legend-values-item + .graph-legend-values-item {
          margin-left: 1.5em; } }
      @media only screen and (min-width: 1200px) {
        .graph-legend .graph-legend-values .graph-legend-values-item + .graph-legend-values-item {
          margin-left: 2em; } }
  .graph-legend .graph-legend-interaction {
    padding: 0.5em 0.5em; }
    @media only screen and (min-width: 544px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 1em; } }
    @media only screen and (min-width: 768px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 1em; } }
    @media only screen and (min-width: 992px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 3em; } }
    @media only screen and (min-width: 1200px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 5em; } }
    @media only screen and (min-width: 1366px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 5em; } }
    @media only screen and (min-width: 1440px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 5em; } }
    @media only screen and (min-width: 1600px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 5.5em; } }
    @media only screen and (min-width: 1680px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 6em; } }
    @media only screen and (min-width: 1870px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 7.5em; } }
    @media only screen and (min-width: 1920px) {
      .graph-legend .graph-legend-interaction {
        padding: 1em 7.5em; } }
    .graph-legend .graph-legend-interaction .graph-legend-interaction-item {
      display: flex;
      background-color: #313131; }
      .graph-legend .graph-legend-interaction .graph-legend-interaction-item i {
        color: #FFF;
        font-size: 17px;
        line-height: 1;
        padding: 5px 7px;
        text-align: center; }
        @media only screen and (min-width: 544px) {
          .graph-legend .graph-legend-interaction .graph-legend-interaction-item i {
            font-size: 18px; } }
        @media only screen and (min-width: 768px) {
          .graph-legend .graph-legend-interaction .graph-legend-interaction-item i {
            font-size: 18px; } }
        @media only screen and (min-width: 992px) {
          .graph-legend .graph-legend-interaction .graph-legend-interaction-item i {
            font-size: 20px; } }
        @media only screen and (min-width: 1200px) {
          .graph-legend .graph-legend-interaction .graph-legend-interaction-item i {
            font-size: 20px; } }
    .graph-legend .graph-legend-interaction .graph-legend-interaction-item + .graph-legend-interaction-item {
      margin-left: 1em; }

.service--circle--chart .circle--container .circle--label_service {
  text-anchor: middle;
  fill: #FFF;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
  font-family: "Simplon-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase; }
  @media only screen and (min-width: 544px) {
    .service--circle--chart .circle--container .circle--label_service {
      font-size: 13px; } }
  @media only screen and (min-width: 768px) {
    .service--circle--chart .circle--container .circle--label_service {
      font-size: 11px; } }
  @media only screen and (min-width: 992px) {
    .service--circle--chart .circle--container .circle--label_service {
      font-size: 12px; } }
  @media only screen and (min-width: 1200px) {
    .service--circle--chart .circle--container .circle--label_service {
      font-size: 13px; } }

.service--circle--chart .circle--container .circle--label_name {
  text-anchor: middle;
  fill: #FFF;
  font-size: 12px;
  line-height: 1.3;
  text-transform: uppercase; }
  @media only screen and (min-width: 544px) {
    .service--circle--chart .circle--container .circle--label_name {
      font-size: 12px; } }
  @media only screen and (min-width: 768px) {
    .service--circle--chart .circle--container .circle--label_name {
      font-size: 10px; } }
  @media only screen and (min-width: 992px) {
    .service--circle--chart .circle--container .circle--label_name {
      font-size: 11px; } }
  @media only screen and (min-width: 1200px) {
    .service--circle--chart .circle--container .circle--label_name {
      font-size: 12px; } }

.service--circle--chart .circle--container .circle--label_val {
  text-anchor: middle;
  fill: #FFF;
  font-family: "Simplon-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.3; }
  @media only screen and (min-width: 544px) {
    .service--circle--chart .circle--container .circle--label_val {
      font-size: 16px; } }
  @media only screen and (min-width: 768px) {
    .service--circle--chart .circle--container .circle--label_val {
      font-size: 17px; } }
  @media only screen and (min-width: 992px) {
    .service--circle--chart .circle--container .circle--label_val {
      font-size: 20px; } }
  @media only screen and (min-width: 1200px) {
    .service--circle--chart .circle--container .circle--label_val {
      font-size: 20px; } }

.service--circle--chart .circle--container .circle--arc .circle--arc_remainder {
  fill: #a7cae1 !important; }

.service--circle--chart .circle--container .circle--arc .circle--arc--chart--val {
  fill: #73557d; }

.small-only {
  display: block; }
  @media only screen and (min-width: 768px) {
    .small-only {
      display: none; } }

.medium-only {
  display: none; }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .medium-only {
      display: block; } }

.medium-up {
  display: none; }
  @media only screen and (min-width: 768px) {
    .medium-up {
      display: block; } }

.medium-down {
  display: block; }
  @media only screen and (min-width: 992px) {
    .medium-down {
      display: none; } }

.large-up {
  display: none; }
  @media only screen and (min-width: 992px) {
    .large-up {
      display: block; } }

@page {
  margin: 1cm 1.5cm; }

@media print {
  * {
    color: #4D9ECF; }
  a, a:visited {
    color: #4D9ECF; }
  .no-print, .page--footer {
    display: none; }
  .page-body {
    padding-top: 1rem; }
  .modal.destroyed {
    position: static;
    display: block;
    opacity: 1; }
    .modal.destroyed .modal-content {
      width: 90%;
      margin: 2rem 0 0 0;
      padding: 0; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX2JvdXJib24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX2RlcHJlY2F0aW9uLXdhcm5pbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLWRlcHJlY2F0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2Fzc2lnbi1pbnB1dHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19zaGFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RyYW5zaXRpb24tcHJvcGVydHktbmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2NvbHVtbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZmlsdGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faHlwaGVucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19yYWRpYWwtZ3JhZGllbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItd2lkdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19lbGxpcHNpcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fbWFyZ2luLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdGV4dC1pbnB1dHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL193b3JkLXdyYXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19uZWF0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX25lYXQtaGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHJpdmF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fbmV3LWJyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL192aXN1YWwtZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19kaXNhYmxlLXdhcm5pbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcHJpdmF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vbWVnYS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX291dGVyLWNvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NoaWZ0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcGFkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fZmlsbC1wYXJlbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3RvLWRlcHJlY2F0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3Zpc3VhbC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fZGlzcGxheS1jb250ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fZGlyZWN0aW9uLWNvbnRleHQuc2NzcyIsIjAwLXJlc2V0L19ub3JtYWxpemUuc2NzcyIsIjAwLXJlc2V0L19yZXNldC5zY3NzIiwiMDAtcmVzZXQvX25vcm1hbGl6ZS1vcGVudHlwZS5zY3NzIiwiMDEtZ2xvYmFsL19mb250cy5zY3NzIiwiMDEtZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIjAxLWdsb2JhbC9fZnVuY3Rpb25zLnNjc3MiLCIwMS1nbG9iYWwvX21peGlucy5zY3NzIiwiMDEtZ2xvYmFsL19pY29ucy5zY3NzIiwiMDEtZ2xvYmFsL19oZWxwZXJzLnNjc3MiLCIwMS1nbG9iYWwvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIjAxLWdsb2JhbC9fYmFzZS5zY3NzIiwiMDEtZ2xvYmFsL19nby10by10b3Auc2NzcyIsIjAyLWxheW91dC9oZWFkZXIvX2Jhbm5lci1uYXYuc2NzcyIsIjAyLWxheW91dC9oZWFkZXIvX3NlY29uZGFyeS1uYXZpZ2F0aW9uLnNjc3MiLCIwMi1sYXlvdXQvaGVhZGVyL19zdWJuYXYuc2NzcyIsIjAyLWxheW91dC9jb250ZW50L19wYWdlLnNjc3MiLCIwMi1sYXlvdXQvY29udGVudC9fcGFnZS1jb250ZW50LnNjc3MiLCIwMi1sYXlvdXQvZm9vdGVyL19mb290ZXIuc2NzcyIsIjAzLWNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiMDMtY29tcG9uZW50cy9fdGV0aGVyLXRvb2x0aXAuc2NzcyIsIjAzLWNvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIwMy1jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiMDMtY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsIjA0LXBhZ2VzL18wMS1pbmRleC5zY3NzIiwiMDQtcGFnZXMvXzAyLWNvbXBhbmllcy5zY3NzIiwiMDQtcGFnZXMvXzAyLWNvbXBhbnkuc2NzcyIsIjA0LXBhZ2VzL18wMy1zZXJ2aWNlcy5zY3NzIiwiMDQtcGFnZXMvXzAzLXNlcnZpY2Uuc2NzcyIsIjA0LXBhZ2VzL18wNC1jYXRlZ29yaWVzLnNjc3MiLCIwNC1wYWdlcy9fMDQtY2F0ZWdvcnkuc2NzcyIsIjA0LXBhZ2VzL18wNS1pbmRpY2F0b3JzLnNjc3MiLCIwNC1wYWdlcy9fMDctZG93bmxvYWQuc2NzcyIsIjA0LXBhZ2VzL18wOC1hcnRpY2xlLnNjc3MiLCJfc3VydmV5LnNjc3MiLCIwNS1jaGFydHMvX2hvcml6b250YWwtYmFyLWNoYXJ0LnNjc3MiLCIwNS1jaGFydHMvX2NpcmNsZS1jaGFydC5zY3NzIiwiMDUtY2hhcnRzL19kb3QtY2hhcnQuc2NzcyIsIjA1LWNoYXJ0cy9fYmFyLWNoYXJ0LnNjc3MiLCIwNS1jaGFydHMvX2dyYXBoLWxlZ2VuZC5zY3NzIiwiMDUtY2hhcnRzL19jb2NvbnV0LWNoYXJ0LnNjc3MiLCIwNi1wcmludC9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdXBwcmVzcyBkZXByZWNhdGlvbiB3YXJuaW5ncyBmb3IgYm91cmJvbi01LlxuJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ2hhcnNldFxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBMaWJzXG5AaW1wb3J0IFwiYm91cmJvblwiO1xuQGltcG9ydCBcIm5lYXRcIjtcblxuLy8gMDAtcmVzZXQgLSBSZXNldCBhbmQgbm9ybWFsaXplXG5AaW1wb3J0IFwiMDAtcmVzZXQvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiMDAtcmVzZXQvcmVzZXRcIjtcbkBpbXBvcnQgXCIwMC1yZXNldC9ub3JtYWxpemUtb3BlbnR5cGVcIjtcblxuXG5cbi8vIDAxLWdsb2JhbCAtIEdsb2JhbCBzdHlsZXNcblxuQGltcG9ydCBcIjAxLWdsb2JhbC9mb250c1wiO1xuQGltcG9ydCBcIjAxLWdsb2JhbC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIwMS1nbG9iYWwvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiMDEtZ2xvYmFsL21peGluc1wiO1xuQGltcG9ydCBcIjAxLWdsb2JhbC9pY29uc1wiO1xuQGltcG9ydCBcIjAxLWdsb2JhbC9oZWxwZXJzXCI7XG5AaW1wb3J0IFwiMDEtZ2xvYmFsL2dsb2JhbC1zdHlsZXNcIjtcbkBpbXBvcnQgXCIwMS1nbG9iYWwvYmFzZVwiO1xuQGltcG9ydCBcIjAxLWdsb2JhbC9nby10by10b3BcIjtcblxuXG5cblxuXG4vLyAwMi1sYXlvdXQgLSBMYXlvdXQgc3R5bGVzXG5cbkBpbXBvcnQgXCIwMi1sYXlvdXQvaGVhZGVyL2Jhbm5lci1uYXZcIjtcbkBpbXBvcnQgXCIwMi1sYXlvdXQvaGVhZGVyL3NlY29uZGFyeS1uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwiMDItbGF5b3V0L2hlYWRlci9zdWJuYXZcIjtcblxuQGltcG9ydCBcIjAyLWxheW91dC9jb250ZW50L3BhZ2VcIjtcbkBpbXBvcnQgXCIwMi1sYXlvdXQvY29udGVudC9wYWdlLWNvbnRlbnRcIjtcblxuQGltcG9ydCBcIjAyLWxheW91dC9mb290ZXIvZm9vdGVyXCI7XG5cblxuXG4vLyAwMy1jb21wb25lbnRzIC0gQ29tcG9uZW50c1xuXG5AaW1wb3J0IFwiMDMtY29tcG9uZW50cy9idXR0b25cIjtcbkBpbXBvcnQgXCIwMy1jb21wb25lbnRzL3RldGhlci10b29sdGlwXCI7XG5AaW1wb3J0IFwiMDMtY29tcG9uZW50cy90YWJsZVwiO1xuQGltcG9ydCBcIjAzLWNvbXBvbmVudHMvZHJvcGRvd25cIjtcbkBpbXBvcnQgXCIwMy1jb21wb25lbnRzL21vZGFsXCI7XG5cblxuLy8gUGFnZXNcbkBpbXBvcnQgXCIwNC1wYWdlcy8wMS1pbmRleFwiO1xuXG5AaW1wb3J0IFwiMDQtcGFnZXMvMDItY29tcGFuaWVzXCI7XG5AaW1wb3J0IFwiMDQtcGFnZXMvMDItY29tcGFueVwiO1xuXG5AaW1wb3J0IFwiMDQtcGFnZXMvMDMtc2VydmljZXNcIjtcbkBpbXBvcnQgXCIwNC1wYWdlcy8wMy1zZXJ2aWNlXCI7XG5cbkBpbXBvcnQgXCIwNC1wYWdlcy8wNC1jYXRlZ29yaWVzXCI7XG5AaW1wb3J0IFwiMDQtcGFnZXMvMDQtY2F0ZWdvcnlcIjtcblxuQGltcG9ydCBcIjA0LXBhZ2VzLzA1LWluZGljYXRvcnNcIjtcblxuQGltcG9ydCBcIjA0LXBhZ2VzLzA3LWRvd25sb2FkXCI7XG5AaW1wb3J0IFwiMDQtcGFnZXMvMDgtYXJ0aWNsZVwiO1xuXG5cbkBpbXBvcnQgXCJzdXJ2ZXlcIjtcblxuXG5cbi8vIENoYXJ0c1xuQGltcG9ydCBcIjA1LWNoYXJ0cy9ob3Jpem9udGFsLWJhci1jaGFydFwiO1xuQGltcG9ydCBcIjA1LWNoYXJ0cy9jaXJjbGUtY2hhcnRcIjtcbkBpbXBvcnQgXCIwNS1jaGFydHMvZG90LWNoYXJ0XCI7XG5AaW1wb3J0IFwiMDUtY2hhcnRzL2Jhci1jaGFydFwiO1xuQGltcG9ydCBcIjA1LWNoYXJ0cy9ncmFwaC1sZWdlbmRcIjtcbkBpbXBvcnQgXCIwNS1jaGFydHMvY29jb251dC1jaGFydFwiO1xuXG5cbi8vIFByaW50XG5AaW1wb3J0IFwiMDYtcHJpbnQvcHJpbnRcIjtcbiIsIi8vIEJvdXJib24gNC4zLjRcbi8vIGh0dHA6Ly9ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE3IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJzZXR0aW5ncy9kZXByZWNhdGlvbi13YXJuaW5nc1wiO1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVcIjtcblxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1saWdodFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcblxuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XG5AaW1wb3J0IFwiYWRkb25zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZm9udC1zdGFja3NcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xuQGltcG9ydCBcImFkZG9ucy9wYWRkaW5nXCI7XG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwiYWRkb25zL3JldGluYS1pbWFnZVwiO1xuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RpbWluZy1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEVuYWJsZSBvciBkaXNhYmxlIG91dHB1dCBvZiBCb3VyYm9u4oCZcyBkZXByZWNhdGlvbi1yZWxhdGVkIFNhc3Mgd2FybmluZ3MuXG4vLy8gVGhpcyB2YXJpYWJsZSBtdXN0IGJlIGRlY2xhcmVkIF9iZWZvcmVfIGltcG9ydGluZyBCb3VyYm9uLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xuXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4iLCIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVGhyb3dzIFNhc3Mgd2FybmluZ3MgdG8gYW5ub3VuY2UgbGlicmFyeSBkZXByZWNhdGlvbnMuIFlvdSBjYW4gZGlzYWJsZSB0aGVtXG4vLy8gYnkgc2V0dGluZyB0aGUgYCRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nc2AgdmFyaWFibGUgdG8gYGZhbHNlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2JvdXJib24tZGVwcmVjYXRlKCRmZWF0dXJlLCAkbWVzc2FnZTogbnVsbCkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYCN7JGZlYXR1cmV9YCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICAgIFwicmVtb3ZlZCBpbiA1LjAuMC4gI3skbWVzc2FnZX1cIjtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoJGZlYXR1cmUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlKCRmZWF0dXJlLCBcIldlIHN1Z2dlc3QgdXNpbmcgYW4gYXV0b21hdGVkIFwiICtcbiAgICBcInByZWZpeGluZyB0b29sLCBsaWtlIEF1dG9wcmVmaXhlci5cIik7XG59XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgYXNzaWduLWlucHV0c2AgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGNvbnRhaW5zYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBjb250YWlucy1mYWxzeWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBpcy1sZW5ndGhgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXG4gICAgICAgb3IgaW5kZXgoYXV0byBpbmhlcml0IGluaXRpYWwgMCwgJHZhbHVlKVxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yIChIZXgpfSAkY29sb3Jcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgaXMtbGlnaHQoJGNvbG9yKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBpcy1saWdodGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGlzLW51bWJlcmAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGlzLXNpemVgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGVtYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYHJlbWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYHN0cmlwLXVuaXRzYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAgYW5kIHJlcGxhY2VkIGJ5IHRoZSBgc3RyaXAtdW5pdGAgZnVuY3Rpb24uXCI7XG4gIH1cblxuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXNgIGlzIGRlcHJlY2F0ZWQgXCIgK1xuICAgIFwiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICRuZXctcHJvcHM6ICgpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVgIGlzIGRlcHJlY2F0ZWQgXCIgK1xuICAgIFwiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgdW5wYWNrYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJHVzZXItb3V0cHV0LWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2U7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItb3V0cHV0LWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9jb252ZXJ0LXVuaXRzYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIFwiICtcbiAgICBcImJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGNvbGxhcHNlLWRpcmVjdGlvbmFsc2AgaXMgZGVwcmVjYXRlZCBhbmQgXCIgK1xuICAgIFwid2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZShcImRpcmVjdGlvbmFsLXByb3BlcnR5XCIpO1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBmb250LXVybC1wcmVmaXhlcmAgaXMgZGVwcmVjYXRlZCBhbmQgXCIgK1xuICAgIFwid2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtc291cmNlLWRlY2xhcmF0aW9uYCBpcyBkZXByZWNhdGVkIFwiICtcbiAgICBcImFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBfbGluZWFyLWFuZ2xlLXBhcnNlcmAgaXMgXCIgK1xuICAgIFwiZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcblxuICAgICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9saW5lYXItZ3JhZGllbnQtcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9saW5lYXItcG9zaXRpb25zLXBhcnNlcmAgaXMgXCIgK1xuICAgIFwiZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBfcG9zaXRpb24tZmxpcHBlcmAgaXMgXCIgK1xuICAgIFwiZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX3JhZGlhbC1hcmctcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcmAgaXMgXCIgK1xuICAgIFwiZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgJHNoYXBlLXNpemU6IG50aCgkZ3JhZGllbnQtcG9zLCAxKTtcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XG4gICRwb3Mtc3BlYzogaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XG5cbiAgLy8gQWRkIGNvbW1hXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCI7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcblxuICBAcmV0dXJuICRwcmUtc3BlYyAkc3BlYztcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcmAgaXMgXCIgK1xuICAgIFwiZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaXMtc3BlYy1zeW50YXg6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcImF0XCIpO1xuXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xuICAgICRrZXl3b3JkOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGlzLXNwZWMtc3ludGF4IC0gMik7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX3JlbmRlci1ncmFkaWVudHNgIGlzIFwiICtcbiAgICBcImRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9zaGFwZS1zaXplLXN0cmlwcGVyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9zdHItdG8tbnVtYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcblxuICAvLyBSZXN1bHRcbiAgJHJlc3VsdDogMDtcbiAgJGRpdmlkZXI6IDA7XG4gICRtaW51czogZmFsc2U7XG5cbiAgLy8gTG9vcGluZyB0aHJvdWdoIGFsbCBjaGFyYWN0ZXJzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XG4gICAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJGNoYXJhY3Rlcik7XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSBcIi5cIiB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhbmltYXRpb25cIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFuaW1hdGlvbi1uYW1lXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYW5pbWF0aW9uLWR1cmF0aW9uXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb25cIik7XG5cbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudFwiKTtcblxuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYW5pbWF0aW9uLWRpcmVjdGlvblwiKTtcblxuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYW5pbWF0aW9uLXBsYXktc3RhdGVcIik7XG5cbiAgLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhbmltYXRpb24tZGVsYXlcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFuaW1hdGlvbi1maWxsLW1vZGVcIik7XG5cbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhcHBlYXJhbmNlXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJiYWNrZmFjZS12aXNpYmlsaXR5XCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYmFja2dyb3VuZFwiKTtcblxuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYmFja2dyb3VuZC1pbWFnZVwiKTtcblxuICAkd2Via2l0LWltYWdlczogKCk7XG4gICRzcGVjLWltYWdlczogKCk7XG5cbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xuICAgICRzcGVjLWltYWdlOiAoKTtcblxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgJGltYWdlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XG59XG4iLCJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm9yZGVyLWltYWdlXCIpO1xuXG4gICR3ZWJraXQtYm9yZGVyczogKCk7XG4gICRzcGVjLWJvcmRlcnM6ICgpO1xuXG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xuICAgICRib3JkZXItdHlwZTogdHlwZS1vZigkYm9yZGVyKTtcblxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xuICAgICAgJGJvcmRlci1zdHI6IGlmKCRib3JkZXItdHlwZSA9PSBsaXN0LCBudGgoJGJvcmRlciwgMSksICRib3JkZXIpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgIH1cblxuICAgICR3ZWJraXQtYm9yZGVyczogYXBwZW5kKCR3ZWJraXQtYm9yZGVycywgJHdlYmtpdC1ib3JkZXIsIGNvbW1hKTtcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XG4gIH1cblxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4vL0V4YW1wbGVzOlxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShyYWRpYWwtZ3JhZGllbnQodG9wLCBjb3Zlciwgb3JhbmdlLCB5ZWxsb3csIG9yYW5nZSkpO1xuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJjYWxjXCIpO1xuXG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JHZhbHVlfSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbnNcIik7XG5cbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiY29sdW1uLWNvdW50XCIpO1xuXG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbi1nYXBcIik7XG5cbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbi1maWxsXCIpO1xuXG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbi1ydWxlXCIpO1xuXG4gIC8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJjb2x1bW4tcnVsZS1jb2xvclwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiY29sdW1uLXJ1bGUtc3R5bGVcIik7XG5cbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJjb2x1bW4tcnVsZS13aWR0aFwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbi1zcGFuXCIpO1xuXG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJjb2x1bW4td2lkdGhcIik7XG5cbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJmaWx0ZXJcIik7XG5cbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveFwiKTtcblxuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJkaXNwbGF5LWJveFwiKTtcblxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm94LW9yaWVudFwiKTtcblxuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1wYWNrXCIpO1xuXG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtYWxpZ25cIik7XG5cbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm94LWRpcmVjdGlvblwiKTtcblxuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtbGluZXNcIik7XG5cbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtb3JkaW5hbC1ncm91cFwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtZmxleFwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleDogJHZhbHVlOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1mbGV4LWdyb3VwXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJkaXNwbGF5XCIpO1xuXG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXhcIiB7XG4gICAgLy8gMjAwOVxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IGJveDtcblxuICAgIC8vIDIwMTJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXG4vLyAyMDEyIC0gZmxleCAoaW50ZWdlciBpbnRlZ2VyIHdpZHRoKVxuQG1peGluIGZsZXgoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleFwiKTtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImZsZXgtZGlyZWN0aW9uXCIpO1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC13cmFwXCIpO1xuXG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImZsZXgtZmxvd1wiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcIm9yZGVyXCIpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImZsZXgtZ3Jvd1wiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC1zaHJpbmtcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC1iYXNpc1wiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwianVzdGlmeS1jb250ZW50XCIpO1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFsaWduLWl0ZW1zXCIpO1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYWxpZ24tc2VsZlwiKTtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFsaWduLWNvbnRlbnRcIik7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZm9udC1mZWF0dXJlLXNldHRpbmdzXCIpO1xuXG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiaGlkcGlcIik7XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImh5cGhlbnNcIik7XG5cbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImltYWdlLXJlbmRlcmluZ1wiKTtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImtleWZyYW1lc1wiKTtcblxuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImxpbmVhci1ncmFkaWVudFwiKTtcblxuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcbiAgICAkZzU6ICRnNDsgJGc0OiAkZzM7ICRnMzogJGcyOyAkZzI6ICRnMTsgJGcxOiAkcG9zO1xuICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJwZXJzcGVjdGl2ZVwiKTtcblxuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJwZXJzcGVjdGl2ZS1vcmlnaW5cIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInBsYWNlaG9sZGVyXCIpO1xuXG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJyYWRpYWwtZ3JhZGllbnRcIik7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xuICAkZzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSwgXCIsIG51bGwpO1xuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9IFwiIFwiKSBhbmQgKCRwb3MgPT0gbnVsbCksIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSwgXCIsIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSBcIik7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInNlbGVjdGlvblwiKTtcclxuXHJcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0ZXh0LWRlY29yYXRpb25cIik7XG5cbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRleHQtZGVjb3JhdGlvbi1saW5lXCIpO1xuXG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0ZXh0LWRlY29yYXRpb24tc3R5bGVcIik7XG5cbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidGV4dC1kZWNvcmF0aW9uLWNvbG9yXCIpO1xuXG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNmb3JtXCIpO1xuXG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNmb3JtLW9yaWdpblwiKTtcblxuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuICAvLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNmb3JtLXN0eWxlXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvblwiKTtcblxuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tcHJvcGVydHlcIik7XG5cbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tZHVyYXRpb25cIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblwiKTtcblxuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tZGVsYXlcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInVzZXItc2VsZWN0XCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggY29ybmVycyBvbiB0aGUgc2lkZSBvZiBhIGJveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaWlcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDVweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygzcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuLy8vICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1yYWRpdXNgXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZGFzaGVkIG51bGwgc29saWQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXN0eWxlYFxuXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci13aWR0aGBcblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJHVzZXItb3V0cHV0LWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2U7XG5cbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xuXG4kb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLW91dHB1dC1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nO1xuXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzEwMCVdXG4vLy8gICBNYXgtd2lkdGggZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgICAgd29yZC13cmFwOiBub3JtYWw7XG4vLy8gICB9XG5cbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XG4iLCIvLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBoZWlnaHQgYXJndW1lbnQgaW4gdjUuMC4wXG5cbkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogbnVsbCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgJGhlaWdodCB7XG4gICAgQHdhcm4gXCJUaGUgYGhpZGUtdGV4dGAgbWl4aW4gaGFzIGNoYW5nZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlcyBhIGhlaWdodC4gVGhlIGhlaWdodCBhcmd1bWVudCB3aWxsIG5vIGxvbmdlciBiZSBhY2NlcHRlZCBpbiB2NS4wLjBcIjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IDNlbSAyMHZoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuLy8vICAgICBtYXJnaW4tbGVmdDogMjB2aDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgbWFyZ2luYFxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUoXCJyZXRpbmEtaW1hZ2VcIik7XG5cbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNpemVcbi8vLyAgIEEgbGlzdCBvZiBhdCBtb3N0IDIgc2l6ZSB2YWx1ZXMuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgdmFsdWUgaW4gYCRzaXplYCBpdCBpcyB1c2VkIGZvciBib3RoIHdpZHRoIGFuZCBoZWlnaHQuIEFsbCB1bml0cyBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZShhdXRvIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMmVtO1xuLy8vICAgICBoZWlnaHQ6IDJlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IGF1dG87XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlZmFjdG9yIGluIDUuMC4wIHRvIHVzZSBhIGNvbW1hLXNlcGFyYXRlZCBhcmd1bWVudFxuXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcbiAgJGhlaWdodDogJHdpZHRoO1xuXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skd2lkdGh9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJHdpZHRoYCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIHRleHQtYmFzZWQgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC10ZXh0LWlucHV0c31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfSxcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1ob3Zlcn0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4vLy8gICB0ZXh0YXJlYSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbi8vLyAgIHRleHRhcmVhOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmhvdmVyLFxuLy8vICAgdGV4dGFyZWE6aG92ZXIge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSxcbi8vLyAgIHRleHRhcmVhOmFjdGl2ZSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR0ZXh0LWlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibW9udGhcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInVybFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXQ6bm90KFt0eXBlXSknLFxuICAgICAgICAgICAgICAgICAgICd0ZXh0YXJlYSc7XG5cbiR1c2VyLW91dHB1dC1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4kb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuXG4kb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLW91dHB1dC1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZShcImlubGluZS1ibG9ja1wiKTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtaXhpbiBidXR0b24gKCRzdHlsZTogc2ltcGxlLCAkYmFzZS1jb2xvcjogIzQyOTRmMCwgJHRleHQtc2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZShcImJ1dHRvblwiKTtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG4vLyBTZWxlY3RvciBTdHlsZSBCdXR0b25cbkBtaXhpbiBidXR0b25zdHlsZSgkdHlwZSwgJGItY29sb3IsICR0LXNpemUsICRwYWQpIHtcbiAgLy8gR3JheXNjYWxlIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHNoaW55IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gcGlsbCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gZmxhdCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICAvLyBDb2xvcmVkIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHNoaW55IHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gcGlsbCB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gZmxhdCB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG59XG5cbi8vIFNpbXBsZSBCdXR0b25cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRmaXJzdC1zdG9wLWhvdmVyICAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kLXN0b3AtaG92ZXIgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlyZC1zdG9wLWhvdmVyICA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyIDEwMCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBQaWxsIEJ1dHRvblxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNiwgICRzYXR1cmF0aW9uOiAtMi41JSwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDExLCAkc2F0dXJhdGlvbjogIDYlLCAgICRsaWdodG5lc3M6IC0zMSUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA1LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGdyYXlzY2FsZSgkYWN0aXZlLWNvbG9yKTtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbS1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCAzcHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBGbGF0IEJ1dHRvblxuQG1peGluIGZsYXQoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEZsZXhpYmxlIGdyaWRcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZmxleC1ncmlkYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuIEZvciBncmlkIGZ1bmN0aW9ucywgY2hlY2sgb3V0IEJvdXJib24ncyBzaXN0ZXIgbGlicmFyeVwiICtcbiAgICBcIk5lYXQuXCI7XG4gIH1cblxuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBmbGV4LWd1dHRlcmAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLiBGb3IgZ3JpZCBmdW5jdGlvbnMsIGNoZWNrIG91dCBCb3VyYm9uJ3Mgc2lzdGVyIGxpYnJhcnlcIiArXG4gICAgXCJOZWF0LlwiO1xuICB9XG5cbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZ3JpZC13aWR0aGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLiBGb3IgZ3JpZCBmdW5jdGlvbnMsIGNoZWNrIG91dCBCb3VyYm9uJ3Mgc2lzdGVyIGxpYnJhcnlcIiArXG4gICAgXCJOZWF0LlwiO1xuICB9XG5cbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnb2xkZW4tcmF0aW8oJHZhbHVlLCAkaW5jcmVtZW50KSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZ29sZGVuLXJhdGlvYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuIFlvdSBjYW4gdXNlIHRoZSBgbW9kdWxhci1zY2FsZWAgZnVuY3Rpb24gaW5zdGVhZC5cIjtcbiAgfVxuXG4gIEByZXR1cm4gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWUsICRyYXRpbzogJGdvbGRlbik7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRib3gpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtc2l6aW5nXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCIvLyBOZWF0IDEuNy4yXG4vLyBodHRwOi8vbmVhdC5ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMi0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgXCJuZWF0LWhlbHBlcnNcIjtcblxuLy8gR3JpZFxuQGltcG9ydCBcImdyaWQvcHJpdmF0ZVwiO1xuQGltcG9ydCBcImdyaWQvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImdyaWQvb21lZ2FcIjtcbkBpbXBvcnQgXCJncmlkL291dGVyLWNvbnRhaW5lclwiO1xuQGltcG9ydCBcImdyaWQvc3Bhbi1jb2x1bW5zXCI7XG5AaW1wb3J0IFwiZ3JpZC9yb3dcIjtcbkBpbXBvcnQgXCJncmlkL3NoaWZ0XCI7XG5AaW1wb3J0IFwiZ3JpZC9wYWRcIjtcbkBpbXBvcnQgXCJncmlkL2ZpbGwtcGFyZW50XCI7XG5AaW1wb3J0IFwiZ3JpZC9tZWRpYVwiO1xuQGltcG9ydCBcImdyaWQvdG8tZGVwcmVjYXRlXCI7XG5AaW1wb3J0IFwiZ3JpZC92aXN1YWwtZ3JpZFwiO1xuQGltcG9ydCBcImdyaWQvZGlzcGxheS1jb250ZXh0XCI7XG5AaW1wb3J0IFwiZ3JpZC9kaXJlY3Rpb24tY29udGV4dFwiO1xuIiwiLy8gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3ByaXZhdGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbmV3LWJyZWFrcG9pbnRcIjtcblxuLy8gU2V0dGluZ3NcbkBpbXBvcnQgXCJzZXR0aW5ncy9ncmlkXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvdmlzdWFsLWdyaWRcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9kaXNhYmxlLXdhcm5pbmdzXCI7XG4iLCIvLyBOb3QgZnVuY3Rpb24gZm9yIExpYnNhc3MgY29tcGF0aWJpbGl0eVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9pc3N1ZXMvMzY4XG5AZnVuY3Rpb24gaXMtbm90KCR2YWx1ZSkge1xuICBAcmV0dXJuIGlmKCR2YWx1ZSwgZmFsc2UsIHRydWUpO1xufVxuXG4vLyBDaGVja3MgaWYgYSBudW1iZXIgaXMgZXZlblxuQGZ1bmN0aW9uIGlzLWV2ZW4oJGludCkge1xuICBAcmV0dXJuICRpbnQgJSAyID09IDA7XG59XG5cbi8vIENoZWNrcyBpZiBhbiBlbGVtZW50IGJlbG9uZ3MgdG8gYSBsaXN0IG9yIG5vdFxuQGZ1bmN0aW9uIGJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSk7XG59XG5cbkBmdW5jdGlvbiBub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KGluZGV4KCRsaXN0LCAkdGVzdGVkLWl0ZW0pKTtcbn1cblxuLy8gQ29udGFpbnMgZGlzcGxheSB2YWx1ZVxuQGZ1bmN0aW9uIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSB7XG4gIEByZXR1cm4gYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZS1ibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLCAkcXVlcnkpO1xufVxuXG4vLyBQYXJzZXMgdGhlIGZpcnN0IGFyZ3VtZW50IG9mIHNwYW4tY29sdW1ucygpXG5AZnVuY3Rpb24gY29udGFpbmVyLXNwYW4oJHNwYW46ICRzcGFuKSB7XG4gIEBpZiBsZW5ndGgoJHNwYW4pID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNwYW4pID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zaGlmdCgkc2hpZnQ6ICRzaGlmdCkge1xuICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQgIWdsb2JhbDtcblxuICBAaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LWNvbHVtbnM7XG59XG5cbi8vIEdlbmVyYXRlcyBhIHN0cmlwZWQgYmFja2dyb3VuZFxuQGZ1bmN0aW9uIGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMsICRjb2xvcjogJHZpc3VhbC1ncmlkLWNvbG9yKSB7XG4gICR0cmFuc3BhcmVudDogdHJhbnNwYXJlbnQ7XG5cbiAgJGNvbHVtbi13aWR0aDogZmxleC1ncmlkKDEsICRncmlkLWNvbHVtbnMpO1xuICAkZ3V0dGVyLXdpZHRoOiBmbGV4LWd1dHRlcigkZ3JpZC1jb2x1bW5zKTtcbiAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4td2lkdGg7XG5cbiAgJHZhbHVlczogKCR0cmFuc3BhcmVudCAwLCAkY29sb3IgMCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdG8gJGdyaWQtY29sdW1ucyoyIHtcbiAgICBAaWYgaXMtZXZlbigkaSkge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGNvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRndXR0ZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWVzO1xufVxuXG4vLyBMYXlvdXQgZGlyZWN0aW9uXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbigkbGF5b3V0LCAkZGVmYXVsdCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIgb3IgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIlJUTFwiIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCk7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkZGVmYXVsdCk7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIge1xuICAgICRkaXJlY3Rpb246IHJpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBsZWZ0O1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xuICB9XG5cbiAgQHJldHVybiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmV0dXJucyBhIG1lZGlhIGNvbnRleHQgKG1lZGlhIHF1ZXJ5IC8gZ3JpZCBjb250ZXh0KSB0aGF0IGNhbiBiZSBzdG9yZWQgaW4gYSB2YXJpYWJsZSBhbmQgcGFzc2VkIHRvIGBtZWRpYSgpYCBhcyBhIHNpbmdsZS1rZXl3b3JkIGFyZ3VtZW50LiBNZWRpYSBjb250ZXh0cyBkZWZpbmVkIHVzaW5nIGBuZXctYnJlYWtwb2ludGAgYXJlIHVzZWQgYnkgdGhlIHZpc3VhbCBncmlkLCBhcyBsb25nIGFzIHRoZXkgYXJlIGRlZmluZWQgYmVmb3JlIGltcG9ydGluZyBOZWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLiBFYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS4gRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zIFskZ3JpZC1jb2x1bW5zXVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJG1vYmlsZTogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoIDQ4MHB4IDQpO1xuLy8vXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbi8vLyAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgIC5lbGVtZW50IHtcbi8vLyAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDcuNDIyOTclO1xuLy8vICAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgICB9XG4vLy8gICAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICAgfVxuLy8vICAgfVxuXG5AZnVuY3Rpb24gbmV3LWJyZWFrcG9pbnQoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICAkcXVlcnk6ICRkZWZhdWx0LWZlYXR1cmUgbnRoKCRxdWVyeSwgMSkgJHRvdGFsLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkge1xuICAgICRxdWVyeTogYXBwZW5kKCRxdWVyeSwgJHRvdGFsLWNvbHVtbnMpO1xuICB9XG5cbiAgQGlmIGlzLW5vdChiZWxvbmdzLXRvKCRxdWVyeSwgJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzKSkge1xuICAgICR2aXN1YWwtZ3JpZC1icmVha3BvaW50czogYXBwZW5kKCR2aXN1YWwtZ3JpZC1icmVha3BvaW50cywgJHF1ZXJ5LCBjb21tYSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHF1ZXJ5O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgcmVsYXRpdmUgd2lkdGggb2YgYSBzaW5nbGUgZ3JpZCBjb2x1bW4uIFRoZSB1bml0IHVzZWQgc2hvdWxkIGJlIHRoZSBzYW1lIG9uZSB1c2VkIHRvIGRlZmluZSBgJGd1dHRlcmAuIFRvIGxlYXJuIG1vcmUgYWJvdXQgbW9kdWxhci1zY2FsZSgpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNtb2R1bGFyLXNjYWxlKS4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcblxuJGNvbHVtbjogbW9kdWxhci1zY2FsZSgzLCAxZW0sICRnb2xkZW4pICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgcmVsYXRpdmUgd2lkdGggb2YgYSBzaW5nbGUgZ3JpZCBndXR0ZXIuIFRoZSB1bml0IHVzZWQgc2hvdWxkIGJlIHRoZSBzYW1lIG9uZSB1c2VkIHRvIGRlZmluZSBgJGNvbHVtbmAuIFRvIGxlYXJuIG1vcmUgYWJvdXQgbW9kdWxhci1zY2FsZSgpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNtb2R1bGFyLXNjYWxlKS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuXG4kZ3V0dGVyOiBtb2R1bGFyLXNjYWxlKDEsIDFlbSwgJGdvbGRlbikgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC4gSXRzIHZhbHVlIGNhbiBiZSBvdmVycmlkZGVuIGluc2lkZSBhIG1lZGlhIHF1ZXJ5IHVzaW5nIHRoZSBgbWVkaWEoKWAgbWl4aW4uIFNldCB3aXRoIHRoZSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdGxlc3MpXG5cbiRncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgbWF4LXdpZHRoIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IHRoYXQgaW5jbHVkZXMgYG91dGVyLWNvbnRhaW5lcigpYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBgZW0oKWAgc2VlIFtCb3VyYm9uIGRvY3NdKGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI3B4LXRvLWVtKS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuLy8vXG4kbWF4LXdpZHRoOiBlbSgxMDg4KSAhZGVmYXVsdDtcblxuLy8vIFdoZW4gc2V0IHRvIHRydWUsIGl0IHNldHMgdGhlIGJveC1zaXppbmcgcHJvcGVydHkgb2YgYWxsIGVsZW1lbnRzIHRvIGBib3JkZXItYm94YC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGh0bWwge1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4vLy9cbi8vLyAgICosICo6OmFmdGVyLCAqOjpiZWZvcmUge1xuLy8vICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuLy8vICAgfVxuXG4kYm9yZGVyLWJveC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBkZWZhdWx0IFttZWRpYSBmZWF0dXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWEpIHRoYXQgYG1lZGlhKClgIGFuZCBgbmV3LWJyZWFrcG9pbnQoKWAgcmV2ZXJ0IHRvIHdoZW4gb25seSBhIGJyZWFrcG9pbnQgdmFsdWUgaXMgcGFzc2VkLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG5cbiRkZWZhdWx0LWZlYXR1cmU6IG1pbi13aWR0aDsgLy8gRGVmYXVsdCBAbWVkaWEgZmVhdHVyZSBmb3IgdGhlIGJyZWFrcG9pbnQoKSBtaXhpblxuXG4vLy9TZXRzIHRoZSBkZWZhdWx0IGxheW91dCBkaXJlY3Rpb24gb2YgdGhlIGdyaWQuIENhbiBiZSBgTFRSYCBvciBgUlRMYC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vQHR5cGUgU3RyaW5nXG5cbiRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpc3BsYXlzIHRoZSB2aXN1YWwgZ3JpZCB3aGVuIHNldCB0byB0cnVlLiBUaGUgb3ZlcmxhaWQgZ3JpZCBtYXkgYmUgZmV3IHBpeGVscyBvZmYgZGVwZW5kaW5nIG9uIHRoZSBicm93c2VyJ3MgcmVuZGVyaW5nIGVuZ2luZSBhbmQgcGl4ZWwgcm91bmRpbmcgYWxnb3JpdGhtLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiR2aXN1YWwtZ3JpZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgZ3JpZCBjb2xvci4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBDb2xvclxuXG4kdmlzdWFsLWdyaWQtY29sb3I6ICNlZWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBgei1pbmRleGAgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLiBDYW4gYmUgYGJhY2tgIChiZWhpbmQgY29udGVudCkgb3IgYGZyb250YCAoaW4gZnJvbnQgb2YgY29udGVudCkuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG5cbiR2aXN1YWwtZ3JpZC1pbmRleDogYmFjayAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIG9wYWNpdHkgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAodW5pdGxlc3MpXG5cbiR2aXN1YWwtZ3JpZC1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XG5cbiR2aXN1YWwtZ3JpZC1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXNhYmxlIGFsbCBkZXByZWNhdGlvbiB3YXJuaW5ncy4gRGVmYXVsdHMgdG8gYGZhbHNlYC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGRpc2FibGUtd2FybmluZ3M6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLW5lYXQtd2FybigkbWVzc2FnZSkge1xuICBAaWYgJGRpc2FibGUtd2FybmluZ3MgPT0gZmFsc2Uge1xuICAgIEB3YXJuIFwiI3skbWVzc2FnZX1cIjtcbiAgfVxufVxuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZW1vdmVzIHRoZSBlbGVtZW50J3MgZ3V0dGVyIG1hcmdpbiwgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGdyaWQgaGllcmFyY2h5IG9yIGRpc3BsYXkgcHJvcGVydHkuIEl0IGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBlbGVtZW50LCBvciBldmVyeSBgbnRoLWNoaWxkYCBvY2N1cnJlbmNlLiBXb3JrcyBvbmx5IHdpdGggYGJsb2NrYCBsYXlvdXRzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnkgW2Jsb2NrXVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHMuIFN1cHBvcnRlZCBhcmd1bWVudHMgYXJlIGBudGgtY2hpbGRgIHNlbGVjdG9ycyAodGFyZ2V0cyBhIHNwZWNpZmljIHBzZXVkbyBlbGVtZW50KSBhbmQgYGF1dG9gICh0YXJnZXRzIGBsYXN0LWNoaWxkYCkuXG4vLy9cbi8vLyAgIFdoZW4gcGFzc2VkIGFuIGBudGgtY2hpbGRgIGFyZ3VtZW50IG9mIHR5cGUgYCpuYCB3aXRoIGBibG9ja2AgZGlzcGxheSwgdGhlIG9tZWdhIG1peGluIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGNsZWFyIHRvIHRoZSBgKm4rMWAgdGggZWxlbWVudC4gTm90ZSB0aGF0IGNvbXBvc2l0ZSBhcmd1bWVudHMgc3VjaCBhcyBgMm4rMWAgZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLlxuLy8vXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4pIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKzEpIHtcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gICR0YWJsZTogYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KTtcbiAgJGF1dG86IGJlbG9uZ3MtdG8oYXV0bywgJHF1ZXJ5KTtcblxuICBAaWYgJGRpcmVjdGlvbiAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSAkZGlyZWN0aW9uIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICB9XG5cbiAgQGlmICR0YWJsZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiBubyBsb25nZXIgcmVtb3ZlcyBwYWRkaW5nIGluIHRhYmxlIGxheW91dHMuXCIpO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKG50aCgkcXVlcnksIDEpLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUb28gbWFueSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBvbWVnYSgpIG1peGluLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSkge1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBudW1iZXIgYW5kIHVuaXQoJHF1ZXJ5KSA9PSBcIm5cIiB7XG4gICAgJjpudGgtY2hpbGQoI3skcXVlcnl9KzEpIHtcbiAgICAgIGNsZWFyOiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50cmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgW3VuaXRdfSAkbG9jYWwtbWF4LXdpZHRoIFskbWF4LXdpZHRoXVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERlc2lnbmF0ZXMgdGhlIGVsZW1lbnQgYXMgYSByb3cgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZCBsYXlvdXQuIEl0IGNsZWFycyB0aGUgZmxvYXRzIG9uIHRoZSBlbGVtZW50IGFuZCBzZXRzIGl0cyBkaXNwbGF5IHByb3BlcnR5LiBSb3dzIGNhbid0IGJlIG5lc3RlZCwgYnV0IHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIHJvdyBlbGVtZW504oCUd2l0aCBkaWZmZXJlbnQgZGlzcGxheSBwcm9wZXJ0aWVz4oCUcGVyIGxheW91dC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbZGVmYXVsdF1cbi8vLyAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGRpc3BsYXkgY29udGV4dCB0aGF0IHdpbGwgYmUgdXNlZCBieSBpdHMgY2hpbGRyZW4uIENhbiBiZSBgYmxvY2tgIG9yIGB0YWJsZWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbl1cbi8vLyAgU2V0cyB0aGUgbGF5b3V0IGRpcmVjdGlvbi4gQ2FuIGJlIGBMVFJgIChsZWZ0LXRvLXJpZ2h0KSBvciBgUlRMYCAocmlnaHQtdG8tbGVmdCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIHJvdygpO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICAqem9vbTogMTtcbi8vLyAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgfVxuLy8vXG4vLy8gLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICBjb250ZW50OiBcIiBcIjtcbi8vLyAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vIH1cbi8vL1xuLy8vIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgIGNsZWFyOiBib3RoO1xuLy8vIH1cblxuQG1peGluIHJvdygkZGlzcGxheTogZGVmYXVsdCwgJGRpcmVjdGlvbjogJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiAhPSAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXJlY3Rpb24gYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH1cblxuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRpcmVjdGlvbiAhZ2xvYmFsO1xuXG4gIEBpZiAkZGlzcGxheSAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXNwbGF5IGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpc3BsYXkoKXsuLi59IG1peGluLlwiKTtcbiAgfVxuXG4gIEBpZiAkZGlzcGxheSA9PSB0YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQ7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IHRydWUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZ2xvYmFsO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMuIFBvc2l0aXZlIGFyZ3VtZW50cyBzaGlmdCB0aGUgZWxlbWVudCB0byB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24sIHdoaWxlIG5lZ2F0aXZlIG9uZXMgc2hpZnQgaXQgdG8gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICRuLWNvbHVtbnMgWzFdXG4vLy8gICBOdW1iZXIgb2YgY29sdW1ucyBieSB3aGljaCB0aGUgZWxlbWVudCBzaGlmdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTI1LjU4OTQxJTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0KCRuLWNvbHVtbnM6IDEpIHtcbiAgQGluY2x1ZGUgc2hpZnQtaW4tY29udGV4dCgkbi1jb2x1bW5zKTtcbn1cblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucywgaW4gYSBzcGVjaWZpYyBuZXN0aW5nIGNvbnRleHQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGlmdFxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRvIHNoaWZ0IChgJGNvbHVtbnNgKSBhbmQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBwYXJlbnQgZWxlbWVudCAoYCRjb250YWluZXItY29sdW1uc2ApLlxuLy8vXG4vLy8gICBUaGUgdHdvIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zIG9mIDYpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTUyLjQxNDU4JTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0LWluLWNvbnRleHQoJHNoaWZ0OiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMpIHtcbiAgJG4tY29sdW1uczogbnRoKCRzaGlmdCwgMSk7XG4gICRwYXJlbnQtY29sdW1uczogY29udGFpbmVyLXNoaWZ0KCRzaGlmdCkgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJG4tY29sdW1ucyAqIGZsZXgtZ3JpZCgxLCAkcGFyZW50LWNvbHVtbnMpICsgJG4tY29sdW1ucyAqIGZsZXgtZ3V0dGVyKCRwYXJlbnQtY29sdW1ucyk7XG5cbiAgLy8gUmVzZXQgbmVzdGluZyBjb250ZXh0XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQWRkcyBwYWRkaW5nIHRvIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcGFkZGluZyBbZmxleC1ndXR0ZXIoKV1cbi8vLyAgIEEgbGlzdCBvZiBwYWRkaW5nIHZhbHVlKHMpIHRvIHVzZS4gUGFzc2luZyBgZGVmYXVsdGAgaW4gdGhlIGxpc3Qgd2lsbCByZXN1bHQgaW4gdXNpbmcgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBhZGRpbmcgdmFsdWUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkKDMwcHggLTIwcHggMTBweCBkZWZhdWx0KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogMzBweCAtMjBweCAxMHB4IDIuMzU3NjUlO1xuLy8vICAgfVxuXG5AbWl4aW4gcGFkKCRwYWRkaW5nOiBmbGV4LWd1dHRlcigpKSB7XG4gICRwYWRkaW5nLWxpc3Q6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcGFkZGluZyB7XG4gICAgJHZhbHVlOiBpZigkdmFsdWUgPT0gJ2RlZmF1bHQnLCBmbGV4LWd1dHRlcigpLCAkdmFsdWUpO1xuICAgICRwYWRkaW5nLWxpc3Q6IGpvaW4oJHBhZGRpbmctbGlzdCwgJHZhbHVlKTtcbiAgfVxuICBwYWRkaW5nOiAkcGFkZGluZy1saXN0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRm9yY2VzIHRoZSBlbGVtZW50IHRvIGZpbGwgaXRzIHBhcmVudCBjb250YWluZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgfVxuXG5AbWl4aW4gZmlsbC1wYXJlbnQoKSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gZmFsc2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgYSBtZWRpYS1xdWVyeSBibG9jayB3aXRoIGFuIG9wdGlvbmFsIGdyaWQgY29udGV4dCAodGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQpLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLCB3aGVyZSBlYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zIFskZ3JpZC1jb2x1bW5zXVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xuLy8vICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJGxvb3AtdG86IGxlbmd0aCgkcXVlcnkpO1xuICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xuICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuXG4gICAgQGlmIGlzLW5vdChpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSkge1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgJGxvb3AtdG8pICFnbG9iYWw7XG4gICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xuICAgIH1cblxuICAgICRpOiAxO1xuICAgIEB3aGlsZSAkaSA8PSAkbG9vcC10byB7XG4gICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiKFwiICsgbnRoKCRxdWVyeSwgJGkpICsgXCI6IFwiICsgbnRoKCRxdWVyeSwgJGkgKyAxKSArIFwiKSBcIjtcblxuICAgICAgQGlmICgkaSArIDEpICE9ICRsb29wLXRvIHtcbiAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcImFuZCBcIjtcbiAgICAgIH1cblxuICAgICAgJGk6ICRpICsgMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeTokZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgYnJlYWtwb2ludCgpIG1peGluIHdhcyByZW5hbWVkIHRvIG1lZGlhKCkgaW4gTmVhdCAxLjAuIFBsZWFzZSB1cGRhdGUgeW91ciBwcm9qZWN0IHdpdGggdGhlIG5ldyBzeW50YXggYmVmb3JlIHRoZSBuZXh0IHZlcnNpb24gYnVtcC5cIik7XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgMyk7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gNCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCA1KTtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGJyZWFrcG9pbnQoKS4gUmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLW9tZWdhKCRudGgsICRkaXNwbGF5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG50aC1vbWVnYSgpIG1peGluIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2Ugb21lZ2EoKSBpbnN0ZWFkLlwiKTtcbiAgQGluY2x1ZGUgb21lZ2EoJG50aCAkZGlzcGxheSwgJGRpcmVjdGlvbik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBkaXNwbGF5IHByb3BlcnR5IHRvIGBibG9ja2AuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KHRhYmxlKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHRhYmxlIGRpc3BsYXlcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVzZXQtZGlzcGxheTtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gYmxvY2sgZGlzcGxheVxuXG5AbWl4aW4gcmVzZXQtZGlzcGxheSB7XG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWdsb2JhbDtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlJlc2V0dGluZyAkZGlzcGxheSB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXNwbGF5KCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBsYXlvdXQgZGlyZWN0aW9uIHRvIHRoZSBkZWZhdWx0IHZhbHVlIHNldCBpbiBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgbGF5b3V0IGRpcmVjdGlvbiBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KCRkaXJlY3Rpb246IFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byByaWdodC10by1sZWZ0XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWxheW91dC1kaXJlY3Rpb24ge1xuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbiAhZ2xvYmFsO1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiUmVzZXR0aW5nICRkaXJlY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgYm90aCB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24gYW5kIHRoZSBhY3RpdmUgZGlzcGxheSBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3codGFibGUsIFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byB0YWJsZSB0YWJsZSBhbmQgcmlnaHQtdG8tbGVmdFxuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSByZXNldC1hbGw7XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGJsb2NrIGRpc3BsYXkgYW5kIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWFsbCB7XG4gIEBpbmNsdWRlIHJlc2V0LWRpc3BsYXk7XG4gIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBncmlkLWNvbHVtbi1ncmFkaWVudCgkdmFsdWVzLi4uKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICN7JHZhbHVlc30pXCIpO1xufVxuXG5AaWYgJHZpc3VhbC1ncmlkID09IHRydWUgb3IgJHZpc3VhbC1ncmlkID09IHllcyB7XG4gIGJvZHk6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIG9wYWNpdHk6ICR2aXN1YWwtZ3JpZC1vcGFjaXR5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gYmFjayB7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gZnJvbnQge1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgQGlmICRicmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdXNlZCBieSBvdGhlciBtaXhpbnMgY2FsbGVkIGluIHRoZSBjb2RlIGJsb2NrIGFyZ3VtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIERpc3BsYXkgdmFsdWUgdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYHRhYmxlYCBvciBgYmxvY2tgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQGluY2x1ZGUgZGlzcGxheS1jb250ZXh0KHRhYmxlKSB7XG4vLy8gICAgLmRpc3BsYXktdGFibGUge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5kaXNwbGF5LXRhYmxlIHtcbi8vLyAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpc3BsYXktY29udGV4dCgkZGlzcGxheTogYmxvY2spIHtcbiAgJHNjb3BlLWRpc3BsYXk6ICRjb250YWluZXItZGlzcGxheS10YWJsZTtcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiAkZGlzcGxheSA9PSB0YWJsZSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogJHNjb3BlLWRpc3BsYXkgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpcmVjdGlvbiBwcm9wZXJ0eSB1c2VkIGJ5IG90aGVyIG1peGlucyBjYWxsZWQgaW4gdGhlIGNvZGUgYmxvY2sgYXJndW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbbGVmdC10by1yaWdodF1cbi8vLyAgIExheW91dCBkaXJlY3Rpb24gdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYGxlZnQtdG8tcmlnaHRgIG9yIGByaWdodC10by1sZWZ0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgZGlyZWN0aW9uLWNvbnRleHQocmlnaHQtdG8tbGVmdCkge1xuLy8vICAgIC5yaWdodC10by1sZWZ0LWJsb2NrIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLnJpZ2h0LXRvLWxlZnQtYmxvY2sge1xuLy8vICAgICBmbG9hdDogcmlnaHQ7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpcmVjdGlvbi1jb250ZXh0KCRkaXJlY3Rpb246IGxlZnQtdG8tcmlnaHQpIHtcbiAgJHNjb3BlLWRpcmVjdGlvbjogJGxheW91dC1kaXJlY3Rpb247XG5cbiAgQGlmIHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbikgPT0gXCJsZWZ0LXRvLXJpZ2h0XCIge1xuICAgICRsYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWdsb2JhbDtcbiAgfSBAZWxzZSBpZiB0by1sb3dlci1jYXNlKCRkaXJlY3Rpb24pID09IFwicmlnaHQtdG8tbGVmdFwiIHtcbiAgICAkbGF5b3V0LWRpcmVjdGlvbjogUlRMICFnbG9iYWw7XG4gIH1cblxuICBAY29udGVudDtcblxuICAkbGF5b3V0LWRpcmVjdGlvbjogJHNjb3BlLWRpcmVjdGlvbiAhZ2xvYmFsO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTEgYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG4vLyBoMSB7XG4vLyAgIGZvbnQtc2l6ZTogMmVtO1xuLy8gICBtYXJnaW46IDAuNjdlbSAwO1xuLy8gfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKipcbiAqIFJlc2V0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCYXNlZCBvbiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0XG4gKi9cblxuaHRtbCxcbmJvZHksXG5cbi8qIFN0cnVjdHVyZXMgKi9cbmRpdixcbnNwYW4sXG5hcHBsZXQsXG5vYmplY3QsXG5pZnJhbWUsXG5cbi8qIFRleHQgKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnAsXG5ibG9ja3F1b3RlLFxucHJlLFxuYSxcbmFiYnIsXG5hY3JvbnltLFxuYWRkcmVzcyxcbmJpZyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5mb250LFxuaW1nLFxuaW5zLFxua2JkLFxucSxcbnMsXG5zYW1wLFxuc21hbGwsXG5zdHJpa2UsXG5zdHJvbmcsXG5zdWIsXG5zdXAsXG50dCxcbnZhcixcbmIsXG51LFxuaSxcbmNlbnRlcixcblxuLyogTGlzdHMgKi9cbmRsLFxuZHQsXG5kZCxcbm9sLFxudWwsXG5saSxcblxuLyogRm9ybXMgKi9cbmZpZWxkc2V0LFxuZm9ybSxcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEsXG5sYWJlbCxcbmxlZ2VuZCxcblxuLyogVGFibGVzICovXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQge1xuICBtYXJnaW46MHB4O1xuICBwYWRkaW5nOjBweDtcbiAgYm9yZGVyOjBweDtcbiAgb3V0bGluZTowcHg7XG4gIGZvbnQtc2l6ZToxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtcbiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6aW5oZXJpdDtcbiAgfVxuXG5vbCxcbnVsLFxuLml0ZW0tbGlzdCB1bCxcbi5pdGVtLWxpc3QgdWwgbGkge1xuICBsaXN0LXN0eWxlOm5vbmU7XG4gIH1cblxuYmxvY2txdW90ZSxcbnEgeyBxdW90ZXM6bm9uZTsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6Jyc7XG4gIGNvbnRlbnQ6bm9uZTtcbiAgfVxuXG4vKiByZW1lbWJlciB0byBkZWZpbmUgZm9jdXMgc3R5bGVzISAqL1xuOmZvY3VzIHsgb3V0bGluZTowcHg7IH1cblxuLyogcmVtZW1iZXIgdG8gaGlnaGxpZ2h0IGluc2VydHMgc29tZWhvdyEgKi9cbmlucyB7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9XG5kZWwgeyB0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoOyB9IiwiLyohIG5vcm1hbGl6ZS1vcGVudHlwZS5jc3MgdjAuMi4zIHwgTUlUIExpY2Vuc2UgfCBrZW5uZXRob3JtYW5keS5jb20vam91cm5hbC9ub3JtYWxpemUtb3BlbnR5cGUtY3NzICovXG4vKipcbiAqIDEuIEluaGVyaXQgc3R5bGUgaXNzdWVzIHdpdGggY3VzdG9tIHNlbGVjdGlvbnMsIHBlciByb2JzdGVybGluaS5jby51ay9qb3VybmFsL29wZW50eXBlLWFuZC1zZWxlY3Rpb24tZG9udC1taXhcbiAqIDIuIFR1cm4gb24ga2VybmluZywgc3RhbmRhcmQgbGlnYXR1cmVzLCBhbmQgcHJvcG9ydGlvbmFsLCBvbGRzdHlsZSBudW1lcmFsc1xuICogICAgVHVybiBvZmYgYWxsIG90aGVyIGxpZ2F0dXJlcywgdGFidWxhciwgbGluaW5nIG51bWVyYWxzLCBhbmQgYWx0ZXJuYXRlc1xuICogMy4gSGFyZC1jb2RlcyBmYWxsYmFjayB0ZXh0IHNlbGVjdGlvbiBmb3IgaXNzdWUgIzE4LCBjb2xvciBpcyBDaHJvbWXigJlzIHBlciB2aWEgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTYwOTQ5MzEvODY0Nzk5XG4gKi9cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMS4gKi9cbiAgdGV4dC1zaGFkb3c6IGluaGVyaXQ7XG4gIC8qIDIuICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNBQ0NFRjc7XG4gIC8qIDMuICovIH1cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEuICovXG4gIHRleHQtc2hhZG93OiBpbmhlcml0O1xuICAvKiAyLiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUNDRUY3O1xuICAvKiAzLiAqLyB9XG5cbmh0bWwsIGJvZHksIHRhYmxlIHtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDEsIFwidG51bVwiIDAsIFwib251bVwiIDEsIFwibG51bVwiIDAsIFwiZGxpZ1wiIDA7XG4gICAgIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAxLCBcInRudW1cIiAwLCBcIm9udW1cIiAxLCBcImxudW1cIiAwLCBcImRsaWdcIiAwO1xuICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMSwgXCJ0bnVtXCIgMCwgXCJvbnVtXCIgMSwgXCJsbnVtXCIgMCwgXCJkbGlnXCIgMDtcbiAgLyogMi4gKi8gfVxuXG4vKiBIZWFkaW5nc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gVHVybiBvbiBkaXNjcmV0aW9uYXJ5IGxpZ2F0dXJlcyBmb3IgbGFyZ2VyIGhlYWRpbmdzXG4gKi9cbmgxLCBoMiwgaDMge1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMSwgXCJ0bnVtXCIgMCwgXCJvbnVtXCIgMSwgXCJsbnVtXCIgMCwgXCJkbGlnXCIgMTtcbiAgICAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDEsIFwidG51bVwiIDAsIFwib251bVwiIDEsIFwibG51bVwiIDAsIFwiZGxpZ1wiIDE7XG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAxLCBcInRudW1cIiAwLCBcIm9udW1cIiAxLCBcImxudW1cIiAwLCBcImRsaWdcIiAxO1xuICAvKiAxLiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgYWxsIGxldHRlcnMgdG8gdXBwZXJjYXNlXG4gKiAyLiBUdXJuIG9uIHNtYWxsIGNhcHMgZm9yIHVwcGVyIGFuZCBsb3dlcmNhc2UgbGV0dGVyc1xuICovXG5hYmJyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLyogMSAqL1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMSwgXCJ0bnVtXCIgMCwgXCJvbnVtXCIgMSwgXCJsbnVtXCIgMCwgXCJzbWNwXCIgMSwgXCJjMnNjXCIgMTtcbiAgICAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDEsIFwidG51bVwiIDAsIFwib251bVwiIDEsIFwibG51bVwiIDAsIFwic21jcFwiIDEsIFwiYzJzY1wiIDE7XG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAxLCBcInRudW1cIiAwLCBcIm9udW1cIiAxLCBcImxudW1cIiAwLCBcInNtY3BcIiAxLCBcImMyc2NcIiAxO1xuICAvKiAyICovIH1cblxuLypcbiAqIFRPRE86IFR1cm4gb24gZGlhZ29uYWwgZnJhY3Rpb25zIHdoZXJlIGFwcHJvcHJpYXRlXG4gKi9cbnRpbWUge1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMSwgXCJ0bnVtXCIgMCwgXCJvbnVtXCIgMSwgXCJsbnVtXCIgMDtcbiAgICAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDEsIFwidG51bVwiIDAsIFwib251bVwiIDEsIFwibG51bVwiIDA7XG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAxLCBcInRudW1cIiAwLCBcIm9udW1cIiAxLCBcImxudW1cIiAwOyB9XG5cbi8qXG4gKiAxLiBUdXJuIG9mZiBrZXJuaW5nIGFuZCBsaWdhdHVyZXMsXG4gKiAgICBUdXJuIG9uIGxpbmluZywgdGFidWxhciBudW1lcmFscywgc2xhc2hlZCB6ZXJvXG4gKi9cbnByZSwga2JkLCBzYW1wLCBjb2RlIHtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDAsIFwibGlnYVwiIDAsIFwiY2FsdFwiIDEsIFwiZGxpZ1wiIDAsIFwicG51bVwiIDAsIFwidG51bVwiIDEsIFwib251bVwiIDAsIFwibG51bVwiIDEsIFwiemVyb1wiIDE7XG4gICAgIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAwLCBcImxpZ2FcIiAwLCBcImNhbHRcIiAxLCBcImRsaWdcIiAwLCBcInBudW1cIiAwLCBcInRudW1cIiAxLCBcIm9udW1cIiAwLCBcImxudW1cIiAxLCBcInplcm9cIiAxO1xuICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMCwgXCJsaWdhXCIgMCwgXCJjYWx0XCIgMSwgXCJkbGlnXCIgMCwgXCJwbnVtXCIgMCwgXCJ0bnVtXCIgMSwgXCJvbnVtXCIgMCwgXCJsbnVtXCIgMSwgXCJ6ZXJvXCIgMTtcbiAgLyogMS4gKi8gfVxuXG4vKipcbiAqIDEuIFR1cm4gb24gcHJvcGVyIHN1cGVyY3JpcHQgbnVtZXJhbHNcbiAqL1xuc3VwIHtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDEsIFwidG51bVwiIDAsIFwib251bVwiIDEsIFwibG51bVwiIDAsIFwiZGxpZ1wiIDAsIFwic3Vwc1wiIDE7XG4gICAgIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAxLCBcInRudW1cIiAwLCBcIm9udW1cIiAxLCBcImxudW1cIiAwLCBcImRsaWdcIiAwLCBcInN1cHNcIiAxO1xuICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMSwgXCJ0bnVtXCIgMCwgXCJvbnVtXCIgMSwgXCJsbnVtXCIgMCwgXCJkbGlnXCIgMCwgXCJzdXBzXCIgMTtcbiAgLyogMS4gKi8gfVxuXG4vKipcbiAqIDEuIFR1cm4gb24gcHJvcGVyIHN1YnNjcmlwdCBudW1lcmFsc1xuICovXG5zdWIge1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMSwgXCJ0bnVtXCIgMCwgXCJvbnVtXCIgMSwgXCJsbnVtXCIgMCwgXCJkbGlnXCIgMCwgXCJzdWJzXCIgMTtcbiAgICAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDEsIFwidG51bVwiIDAsIFwib251bVwiIDEsIFwibG51bVwiIDAsIFwiZGxpZ1wiIDAsIFwic3Vic1wiIDE7XG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAxLCBcInRudW1cIiAwLCBcIm9udW1cIiAxLCBcImxudW1cIiAwLCBcImRsaWdcIiAwLCBcInN1YnNcIiAxO1xuICAvKiAxLiAqLyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRPRE86IEFkZHMgcHJvcGVyIGJ1bGxldHNcbiAqL1xuLypcbiAqIFRPRE86XG4gKiAxLiBBZGRzIGNvdW50ZXJzIGZvciBsaXN0c1xuICogMi4gVXNlIHByb3BlciBudW1lcmFscyBmb3IgbGlzdHNcbiAqL1xuLyoqXG4gKiBBZGRzIHByb3BlciBzbWFsbCBjYXBzXG4gKi9cbi8qKlxuICogVE9ETzogc2NtcCwgc2MyYywgcG51bSwgY2FzZSBzZW5zaXRpdmUgZm9ybXMgZm9yIHBvc3RhbCBjb2Rlc1xuICovXG4vKiBGb3Jtc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gVHVybnMgb24gbGluaW5nLCBwcm9wb3J0aW9uYWwgbnVtZXJhbHMgd2l0aG91dCBjbGFyaWZpZWQgemVyb2VzXG4gKiBUT0RPOiBBZGRpdGlvbmFsIGlucHV0IG1vZGVzIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9JbnB1dCNhdHRyLWlucHV0bW9kZVxuICovXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInJhbmdlXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAwLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAxLCBcInRudW1cIiAwLCBcIm9udW1cIiAwLCBcImxudW1cIiAxLCBcInplcm9cIiAwO1xuICAgICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMCwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMSwgXCJ0bnVtXCIgMCwgXCJvbnVtXCIgMCwgXCJsbnVtXCIgMSwgXCJ6ZXJvXCIgMDtcbiAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDAsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDEsIFwidG51bVwiIDAsIFwib251bVwiIDAsIFwibG51bVwiIDEsIFwiemVyb1wiIDA7XG4gIC8qIDEuICovIH1cblxuLyogTG9jYWxpc2F0aW9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZXNldHMgdGFibGVzIHRvIHRoZSBzYW1lIHNldHRpbmdzIGFzIHRoZSBib2R5LlxuICogMi4gVHVybnMgb24gdGFidWxhciwgbGluaW5nIG51bWVyYWxzIGFuZCBzbGFzaGVkIHplcm9cbiAqL1xudGFibGUge1xuICAvKiAxLiovIH1cblxudGJvZHksIGNhcHRpb24ge1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMSwgXCJwbnVtXCIgMCwgXCJ0bnVtXCIgMSwgXCJvbnVtXCIgMCwgXCJsbnVtXCIgMSwgXCJ6ZXJvXCIgMDtcbiAgICAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDEsIFwicG51bVwiIDAsIFwidG51bVwiIDEsIFwib251bVwiIDAsIFwibG51bVwiIDEsIFwiemVyb1wiIDA7XG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxLCBcInBudW1cIiAwLCBcInRudW1cIiAxLCBcIm9udW1cIiAwLCBcImxudW1cIiAxLCBcInplcm9cIiAwO1xuICAvKiAyLiAqLyB9XG4iLCIvKiBQbGF0Zm9ybSAtIEgxIGZvbnQgKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUGxhdGZvcm0tSGFpcmxpbmUnO1xuICBzcmM6IHVybCgnLi4vZ3JhcGhpY3MvZm9udHMvcGxhdGZvcm0vUGxhdGZvcm0tSGFpcmxpbmUub3RmJyk7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUGxhdGZvcm0tTGlnaHQnO1xuICBzcmM6IHVybCgnLi4vZ3JhcGhpY3MvZm9udHMvcGxhdGZvcm0vUGxhdGZvcm0tTGlnaHQub3RmJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUGxhdGZvcm0tTWVkaXVtJztcbiAgc3JjOiB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3BsYXRmb3JtL1BsYXRmb3JtLU1lZGl1bS53b2ZmJyksXG4gICAgICAgdXJsKCcuLi9ncmFwaGljcy9mb250cy9wbGF0Zm9ybS9QbGF0Zm9ybS1NZWRpdW0udHRmJylcbiAgICAgICB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3BsYXRmb3JtL1BsYXRmb3JtLU1lZGl1bS5vdGYnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQbGF0Zm9ybS1SZWd1bGFyJztcbiAgc3JjOiB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3BsYXRmb3JtL1BsYXRmb3JtLVJlZ3VsYXIud29mZicpLFxuICAgICAgIHVybCgnLi4vZ3JhcGhpY3MvZm9udHMvcGxhdGZvcm0vUGxhdGZvcm0tUmVndWxhci50dGYnKSxcbiAgICAgICB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3BsYXRmb3JtL1BsYXRmb3JtLVJlZ3VsYXIub3RmJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUGxhdGZvcm0tQm9sZCc7XG4gIHNyYzogdXJsKCcuLi9ncmFwaGljcy9mb250cy9wbGF0Zm9ybS9QbGF0Zm9ybS1Cb2xkLm90ZicpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuLyogU2ltcGxvbiAtIEJvZHkgZm9udCAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTaW1wbG9uLUxpZ2h0JztcbiAgc3JjOiB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3NpbXBsb24vU2ltcGxvbl9CUF9MaWdodF8xLnR0ZicpLFxuICAgICAgIHVybCgnLi4vZ3JhcGhpY3MvZm9udHMvc2ltcGxvbi9TaW1wbG9uX0JQX0xpZ2h0XzEub3RmJyk7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnU2ltcGxvbi1SZWd1bGFyJztcbiAgc3JjOiB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3NpbXBsb24vU2ltcGxvbl9CUF9SZWd1bGFyXzEudHRmJyksXG4gICAgICAgdXJsKCcuLi9ncmFwaGljcy9mb250cy9zaW1wbG9uL1NpbXBsb25fQlBfUmVndWxhcl8xLm90ZicpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1NpbXBsb24tTWVkaXVtJztcbiAgc3JjOiB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3NpbXBsb24vU2ltcGxvbl9CUF9NZWRpdW1fMS53b2ZmJyksXG4gICAgICAgdXJsKCcuLi9ncmFwaGljcy9mb250cy9zaW1wbG9uL1NpbXBsb25fQlBfTWVkaXVtXzEudHRmJyksXG4gICAgICAgdXJsKCcuLi9ncmFwaGljcy9mb250cy9zaW1wbG9uL1NpbXBsb25fQlBfTWVkaXVtXzEub3RmJyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnU2ltcGxvbi1Cb2xkJztcbiAgc3JjOiB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3NpbXBsb24vU2ltcGxvbl9CUF9Cb2xkXzIud29mZicpLFxuICAgICAgIHVybCgnLi4vZ3JhcGhpY3MvZm9udHMvc2ltcGxvbi9TaW1wbG9uX0JQX0JvbGRfMi50dGYnKSxcbiAgICAgICB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL3NpbXBsb24vU2ltcGxvbl9CUF9Cb2xkXzIub3RmJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIvKiBGT05UUyAqL1xuXG4vKiBQbGF0Zm9ybSAtIEgxIGZvbnQgKi9cbiRwbGF0Zm9ybS1oYWlybGluZTogJ1BsYXRmb3JtLUhhaXJsaW5lJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRwbGF0Zm9ybS1saWdodDogJ1BsYXRmb3JtLUxpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRwbGF0Zm9ybS1tZWRpdW06ICdQbGF0Zm9ybS1NZWRpdW0nLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHBsYXRmb3JtLXJlZ3VsYXI6ICdQbGF0Zm9ybS1SZWd1bGFyJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRwbGF0Zm9ybS1ib2xkOiAnUGxhdGZvcm0tQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8qIFNpbXBsb24gLSBCb2R5IGZvbnQgKi9cbiRzaW1wbG9uLWxpZ2h0OiAnU2ltcGxvbi1MaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kc2ltcGxvbi1tZWRpdW06ICdTaW1wbG9uLU1lZGl1bScsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kc2ltcGxvbi1yZWd1bGFyOiAnU2ltcGxvbi1SZWd1bGFyJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRzaW1wbG9uLWJvbGQ6ICdTaW1wbG9uLUJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG5cblxuLyogQ09MT1JTICovXG5cblxuLyogQ2F0ZWdvcmllcyAqL1xuXG4vLyBCbHVlIFRvdGFsIFxuJGNhdC10b3RhbDogIzQ1N0NBNDtcbiRjYXQtdG90YWwtaG92ZXI6ICMyNzQ2NWM7XG5cbi8vIEJsdWUgR292ZXJuYW5jZSBcbiRjYXQtY29tbWl0bWVudDogIzU3QThENTtcbiRjYXQtY29tbWl0bWVudC1ob3ZlcjogIzI4NzQ5ZTtcblxuLy8gR3JlZW4gRnJlZWRvbSBcbiRjYXQtZnJlZWRvbTogIzIxQkNCMztcbiRjYXQtZnJlZWRvbS1ob3ZlcjogIzEyNjU2MDtcblxuLy8gR3JlZW4gUHJpdmFjeSBcbiRjYXQtcHJpdmFjeTogIzIzOEU4ODtcbiRjYXQtcHJpdmFjeS1ob3ZlcjogIzBGM0MzQTtcblxuXG4vKiBBbGVydHMgKi9cbiRyZWQ6ICNlZDFiMjQ7XG4kb3JhbmdlOiAjZjg5MzFmO1xuJHZpb2xldDogIzc0NTU3ZTtcblxuLyogTGlua3MgKi9cbiRsaW5rLWNvbG9yOiAjNEQ5RUNGO1xuXG5cblxuLy8gR1JBWVNDQUxFU1xuXG4kYmxhY2stcHVyZTogIzAwMDtcbiRibGFjazogIzMxMzEzMTtcbiRibGFjay1saWdodGVyOiAjNTE1MTUxO1xuXG4kZGFyazogbGlnaHRlbigkYmxhY2ssIDE1JSk7XG4kZ3JheTogbGlnaHRlbigkYmxhY2ssIDUwJSk7XG4kbGlnaHQ6IGxpZ2h0ZW4oJGJsYWNrLCA3MCUpO1xuXG5cbiR3aGl0ZTogI0Y3RjdGNztcbiR3aGl0ZS1wdXJlOiAjRkZGO1xuXG4vLyBHcmV5XG4kbGlnaHQtZ3JleTogI0Q0RDJDOTtcblxuLy8gRGFyayBncmV5XG4kZGFyay1ncmV5OiAjRTVEQ0QyOyBcblxuJGRyb3Bkb3duLWJnOiAjRjVGNUY1O1xuXG4kYmVpZ2U6ICNFNURDRDI7XG5cblxuXG5cbi8vIExpZ2h0IGJsdWVcbiRiYXNlLWNvbG9yOiAjNEQ5RUNGO1xuXG4vLyBEZWVwIG9yYW5nZVxuJHByaW1hcnktY29sb3I6ICM5QjI1MjM7XG5cbi8vIExpZ2h0IHJlZFxuJHNlY29uZGFyeS1jb2xvcjogI0ZGRDBCRjtcblxuLy8gTGlnaHQgZ3JlZW5cbiR0ZXJ0aWFyeS1jb2xvcjogI0MzRDUwMDtcblxuLy8gR3JlZW5cbiRzdWNjZXNzLWNvbG9yOiAjNzdiYzFmO1xuXG5cbi8vIENpcmNsZSBjaGFydFxuJGxpZ2h0LWJsdWU6ICNhN2NhZTE7XG4kdmlvbGV0OiAjNzM1NTdkO1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogTEFZT1VUICovXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbiRnbG9iYWwtcmFkaXVzOiAwLjVlbTtcbiRzZW1pLXJhZGl1czogJGdsb2JhbC1yYWRpdXMvMjtcbiRnbG9iYWwtcm91bmRlZDogNjByZW07XG5cbi8vIFdlIHVzZSB0aGlzIHNldCBzaXRlIHJvdydzIG1pbiBhbmQgbWF4IHdpZHRoXG4kcm93LW1pbi13aWR0aDogNzY4cHg7XG4kcm93LW1heC13aWR0aDogMTI4MHB4O1xuXG4vLyBNZWRpYSBxdWVyeSByYW5nZXNcbiR4c21hbGwtcmFuZ2U6ICgwLCA1NDNweCk7XG4kc21hbGwtcmFuZ2U6ICg1NDRweCwgNzY3cHgpO1xuJG1lZGl1bS1yYW5nZTogKDc2OHB4LCA5OTFweCk7XG4kbGFyZ2UtcmFuZ2U6ICg5OTJweCwgMTE5OXB4KTtcbiR4bGFyZ2UtcmFuZ2U6ICgxMjAwcHgpO1xuXG4kc2NyZWVuOiBcIm9ubHkgc2NyZWVuXCI7XG5cbiRwcm9zZS13aWR0aDogODYwcHg7XG5cblxuXG5cbi8qIEhvcml6b250YWwgQmFyIENoYXJ0ICovXG5cbiRiYXItaGVpZ2h0LXhzOiAxLjVlbTtcbiRiYXItaGVpZ2h0LXNtOiAxLjVlbTtcbiRiYXItaGVpZ2h0LW1kOiAxLjVlbTtcbiRiYXItaGVpZ2h0LWxnOiAyZW07XG4kYmFyLWhlaWdodC14bGc6IDJlbTtcblxuJHRpdGxlLXdpZHRoLXhzOiAyNSU7XG4kdGl0bGUtd2lkdGgtc206IDIwJTtcbiR0aXRsZS13aWR0aC1tZDogMjAlO1xuJHRpdGxlLXdpZHRoLWxnOiAyMCU7XG4kdGl0bGUtd2lkdGgteGxnOiAyMCU7XG5cbiRzY29yZS13aWR0aC14czogMTUlO1xuJHNjb3JlLXdpZHRoLXNtOiAxMCU7XG4kc2NvcmUtd2lkdGgtbWQ6IDEwJTtcbiRzY29yZS13aWR0aC1sZzogMTAlO1xuJHNjb3JlLXdpZHRoLXhsZzogMTAlO1xuXG4kYmFyLXdpZHRoLXhzOiAxMDAlIC0gJHRpdGxlLXdpZHRoLXhzIC0gJHNjb3JlLXdpZHRoLXhzO1xuJGJhci13aWR0aC1zbTogMTAwJSAtICR0aXRsZS13aWR0aC1zbSAtICRzY29yZS13aWR0aC1zbTtcbiRiYXItd2lkdGgtbWQ6IDEwMCUgLSAkdGl0bGUtd2lkdGgtbWQgLSAkc2NvcmUtd2lkdGgtbWQ7XG4kYmFyLXdpZHRoLWxnOiAxMDAlIC0gJHRpdGxlLXdpZHRoLWxnIC0gJHNjb3JlLXdpZHRoLWxnO1xuJGJhci13aWR0aC14bGc6IDEwMCUgLSAkdGl0bGUtd2lkdGgteGxnIC0gJHNjb3JlLXdpZHRoLXhsZztcblxuXG4vKiBIb3Jpem9udGFsIEJhciBDaGFydCAtIEluZGV4IHBhZ2UqL1xuXG4kaW5kZXgtYmFyLWhlaWdodC14czogMS4yZW07XG4kaW5kZXgtYmFyLWhlaWdodC1zbTogMS4yZW07XG4kaW5kZXgtYmFyLWhlaWdodC1tZDogMS4yZW07XG4kaW5kZXgtYmFyLWhlaWdodC1sZzogMS4yZW07XG4kaW5kZXgtYmFyLWhlaWdodC14bGc6IDEuMmVtO1xuXG4kaW5kZXgtdGl0bGUtd2lkdGgteHM6IDIzJTtcbiRpbmRleC10aXRsZS13aWR0aC1zbTogMjAlO1xuJGluZGV4LXRpdGxlLXdpZHRoLW1kOiAxMCU7XG4kaW5kZXgtdGl0bGUtd2lkdGgtbGc6IDEwJTtcbiRpbmRleC10aXRsZS13aWR0aC14bGc6IDEwJTtcblxuJGluZGV4LXNjb3JlLXdpZHRoLXhzOiAxNyU7XG4kaW5kZXgtc2NvcmUtd2lkdGgtc206IDE1JTtcbiRpbmRleC1zY29yZS13aWR0aC1tZDogMTAlO1xuJGluZGV4LXNjb3JlLXdpZHRoLWxnOiAxMCU7XG4kaW5kZXgtc2NvcmUtd2lkdGgteGxnOiAxMCU7XG5cbiRpbmRleC1iYXItd2lkdGgteHM6IDEwMCUgLSAkaW5kZXgtdGl0bGUtd2lkdGgteHMgLSAkaW5kZXgtc2NvcmUtd2lkdGgteHM7XG4kaW5kZXgtYmFyLXdpZHRoLXNtOiAxMDAlIC0gJGluZGV4LXRpdGxlLXdpZHRoLXNtIC0gJGluZGV4LXNjb3JlLXdpZHRoLXNtO1xuJGluZGV4LWJhci13aWR0aC1tZDogMTAwJSAtICRpbmRleC10aXRsZS13aWR0aC1tZCAtICRpbmRleC1zY29yZS13aWR0aC1tZDtcbiRpbmRleC1iYXItd2lkdGgtbGc6IDEwMCUgLSAkaW5kZXgtdGl0bGUtd2lkdGgtbGcgLSAkaW5kZXgtc2NvcmUtd2lkdGgtbGc7XG4kaW5kZXgtYmFyLXdpZHRoLXhsZzogMTAwJSAtICRpbmRleC10aXRsZS13aWR0aC14bGcgLSRpbmRleC1zY29yZS13aWR0aC14bGc7IiwiLy8gUkFOR0VTXG4vLyBXZSB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGRlZmluZSByYW5nZXMgZm9yIHZhcmlvdXMgdGhpbmdzLCBsaWtlIG1lZGlhIHF1ZXJpZXMuXG5cbkBmdW5jdGlvbiBsb3dlci1ib3VuZCgkcmFuZ2Upe1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwxKTtcbn1cblxuQGZ1bmN0aW9uIHVwcGVyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPCAyIHtcbiAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDIpO1xufSIsIi8vIE1FRElBIFFVRVJJRVNcbkBtaXhpbiBtZWRpYSgkYXJnKSB7XG4gIEBpZiAkYXJnID09IHNjcmVlbiB7XG4gICAgQG1lZGlhICN7JHNjcmVlbn0geyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkYXJnID09IGxhbmRzY2FwZSB7XG4gICAgQG1lZGlhICN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRhcmcgPT0gcG9ydHJhaXQge1xuICAgIEBtZWRpYSAjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRhcmcgPT0geHNtYWxsLXVwIHtcbiAgICBAbWVkaWEgI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDogbG93ZXItYm91bmQoJHhzbWFsbC1yYW5nZSkpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJGFyZyA9PSB4c21hbGwtb25seSB7XG4gICAgQG1lZGlhICN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6IHVwcGVyLWJvdW5kKCR4c21hbGwtcmFuZ2UpKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRhcmcgPT0gc21hbGwtdXAge1xuICAgIEBtZWRpYSAjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRhcmcgPT0gc21hbGwtb25seSB7XG4gICAgQG1lZGlhICN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSkpIGFuZCAobWF4LXdpZHRoOiB1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRhcmcgPT0gbWVkaXVtLXVwIHtcbiAgICBAbWVkaWEgI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSkpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJGFyZyA9PSBtZWRpdW0tb25seSB7XG4gICAgQG1lZGlhICN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpKSBhbmQgKG1heC13aWR0aDogdXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSkpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJGFyZyA9PSBsYXJnZS11cCB7XG4gICAgQG1lZGlhICN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSkpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJGFyZyA9PSBsYXJnZS1vbmx5IHtcbiAgICBAbWVkaWEgI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKSkgYW5kIChtYXgtd2lkdGg6IHVwcGVyLWJvdW5kKCRsYXJnZS1yYW5nZSkpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJGFyZyA9PSB4bGFyZ2UtdXAge1xuICAgIEBtZWRpYSAjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbkBtaXhpbiBidHRuLXZhcmlhdGlvbigkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgkY29sb3IsIDglKTtcbiAgfVxuICAub3BlbiA+ICYsXG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRjb2xvciwgMTYlKTtcbiAgfVxufVxuXG5AbWl4aW4gdG9vbHRpcCgpIHtcbiAgcGFkZGluZzogMC44ZW0gMWVtIDAuNmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG5AbWl4aW4gbm9zZWxlY3Qge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cblxuLy8gQk9SREVSIFJBRElVUyBAaW5jbHVkZSBib3JkZXItcmFkaXVzICgkcmFkaXVzKTtcbkBtaXhpbiBib3JkZXItcmFkaXVzICgkcmFkaXVzKSB7XG4td2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4tbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5ib3JkZXItcmFkaXVzOiAkcmFkaXVzOyBcbn1cblxuLyogQkFDS0dST1VORCBJTUFHRVxuLSBAaW5jbHVkZSBiZy1pbWFnZSgkYmFja2dyb3VuZC1zaXplKTtcbi0gQGluY2x1ZGUgYmctaW1hZ2UoY292ZXIpO1xuLSBAaW5jbHVkZSBiZy1pbWFnZShjb250YWluKTtcbiovXG5AbWl4aW4gYmctaW1hZ2UgKCRiYWNrZ3JvdW5kLXNpemUpIHtcbmJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5iYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4td2Via2l0LWJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgIC1tb3otYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuICAgIC1tcy1iYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG4gICAgIC1vLWJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xufSIsIi8qIElDT05TIC0gVUkgaWNvbiBmb250OiBkcy5vIFVJIEljb25zIC0gRGVzaWduZWQgYnkgRGV2ZWxvcG1lbnQgU2VlZCAqL1xuXG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OiBcImNvbGxlY3RpY29uc1wiO1xuc3JjOiB1cmwoJy4uL2dyYXBoaWNzL2ZvbnRzL2NvbGxlY3RpY29ucy5lb3QnKTtcbmZvbnQtd2VpZ2h0OiBub3JtYWw7XG5mb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTogXCJjb2xsZWN0aWNvbnNcIjtcbnNyYzogdXJsKCcuLi9ncmFwaGljcy9mb250cy9jb2xsZWN0aWNvbnMudHRmJyk7XG5zcmM6IHVybCgnLi4vZ3JhcGhpY3MvZm9udHMvY29sbGVjdGljb25zLndvZmYnKTtcbmZvbnQtd2VpZ2h0OiBub3JtYWw7XG5mb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5jb2xsZWN0aWNvbiwgW2NsYXNzXj1cImNvbGxlY3RpY29uLVwiXSwgW2NsYXNzKj1cIiBjb2xsZWN0aWNvbi1cIl0ge1xuZm9udC1mYW1pbHk6IFwiY29sbGVjdGljb25zXCI7XG5zcGVhazogbm9uZTtcbmZvbnQtc3R5bGU6IG5vcm1hbDtcbmZvbnQtd2VpZ2h0OiBub3JtYWw7XG5mb250LXZhcmlhbnQ6IG5vcm1hbDtcbnRleHQtdHJhbnNmb3JtOiBub25lO1xudmVydGljYWwtYWxpZ246IGJvdHRvbTtcbi8qIEJldHRlciBGb250IFJlbmRlcmluZyAqL1xuLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4tbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uY29sbGVjdGljb24tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwMVwiIH1cbi5jb2xsZWN0aWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAyXCIgfVxuLmNvbGxlY3RpY29uLWFycm93LWxvb3A6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDNcIiB9XG4uY29sbGVjdGljb24tYXJyb3ctcmV0dXJuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA0XCIgfVxuLmNvbGxlY3RpY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA1XCIgfVxuLmNvbGxlY3RpY29uLWFycm93LXNwaW4tY2xvY2t3aXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA2XCIgfVxuLmNvbGxlY3RpY29uLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA3XCIgfVxuLmNvbGxlY3RpY29uLWJlbGw6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDhcIiB9XG4uY29sbGVjdGljb24tYm9vazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwOVwiIH1cbi5jb2xsZWN0aWNvbi1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMEFcIiB9XG4uY29sbGVjdGljb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMEJcIiB9XG4uY29sbGVjdGljb24tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBDXCIgfVxuLmNvbGxlY3RpY29uLWNoYXJ0LWxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMERcIiB9XG4uY29sbGVjdGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBFXCIgfVxuLmNvbGxlY3RpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwRlwiIH1cbi5jb2xsZWN0aWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTEwXCIgfVxuLmNvbGxlY3RpY29uLWNoZXZyb24tc3RlcC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExMVwiIH1cbi5jb2xsZWN0aWNvbi1jaGV2cm9uLXN0ZXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExMlwiIH1cbi5jb2xsZWN0aWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTEzXCIgfVxuLmNvbGxlY3RpY29uLWNpcmNsZS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExNFwiIH1cbi5jb2xsZWN0aWNvbi1jaXJjbGUtaW5mb3JtYXRpb246YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTVcIiB9XG4uY29sbGVjdGljb24tY2lyY2xlLXBsYXktbmV4dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExNlwiIH1cbi5jb2xsZWN0aWNvbi1jaXJjbGUtcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExN1wiIH1cbi5jb2xsZWN0aWNvbi1jaXJjbGUtcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogXCJcXEVBMThcIiB9XG4uY29sbGVjdGljb24tY2lyY2xlLXN0b3A6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTlcIiB9XG4uY29sbGVjdGljb24tY2lyY2xlLXRpY2s6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMUFcIiB9XG4uY29sbGVjdGljb24tY2lyY2xlLXhtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTFCXCIgfVxuLmNvbGxlY3RpY29uLWNsaXBib2FyZC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTFDXCIgfVxuLmNvbGxlY3RpY29uLWNsaXBib2FyZC10aWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTFEXCIgfVxuLmNvbGxlY3RpY29uLWNsb2NrLWJhY2s6YmVmb3JlIHsgY29udGVudDogXCJcXEExRVwiIH1cbi5jb2xsZWN0aWNvbi1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExRlwiIH1cbi5jb2xsZWN0aWNvbi1jb2c6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMjBcIiB9XG4uY29sbGVjdGljb24tY29sbGVjdGljb25zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTIxXCIgfVxuLmNvbGxlY3RpY29uLWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMjJcIiB9XG4uY29sbGVjdGljb24tY3Jvc3NoYWlyLTI6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMjNcIiB9XG4uY29sbGVjdGljb24tY3Jvc3NoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTI0XCIgfVxuLmNvbGxlY3RpY29uLWRldnNlZWQtaW5uZXI6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMjVcIiB9XG4uY29sbGVjdGljb24tZGV2c2VlZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEyNlwiIH1cbi5jb2xsZWN0aWNvbi1kaXNjLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEyN1wiIH1cbi5jb2xsZWN0aWNvbi1kaXNjLXhtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTI4XCIgfVxuLmNvbGxlY3RpY29uLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTI5XCIgfVxuLmNvbGxlY3RpY29uLWRyb3A6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMkFcIiB9XG4uY29sbGVjdGljb24tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMkJcIiB9XG4uY29sbGVjdGljb24tZXhwYW5kLWRvd24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEyQ1wiIH1cbi5jb2xsZWN0aWNvbi1leHBhbmQtZG93bi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEyRFwiIH1cbi5jb2xsZWN0aWNvbi1leHBhbmQtdG9wLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMkVcIiB9XG4uY29sbGVjdGljb24tZXhwYW5kLXRvcC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEyRlwiIH1cbi5jb2xsZWN0aWNvbi1leWU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMzBcIiB9XG4uY29sbGVjdGljb24tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMzFcIiB9XG4uY29sbGVjdGljb24tZmFjdG9yeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEzMlwiIH1cbi5jb2xsZWN0aWNvbi1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTMzXCIgfVxuLmNvbGxlY3RpY29uLWZsYW1lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTM0XCIgfVxuLmNvbGxlY3RpY29uLWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEzNVwiIH1cbi5jb2xsZWN0aWNvbi1nYXVnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEzNlwiIH1cbi5jb2xsZWN0aWNvbi1naXRodWI6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMzdcIiB9XG4uY29sbGVjdGljb24tZ2xvYmU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMzhcIiB9XG4uY29sbGVjdGljb24tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMzlcIiB9XG4uY29sbGVjdGljb24tZ3JpZC0zeDM6YmVmb3JlIHsgY29udGVudDogXCJcXEVBM0FcIiB9XG4uY29sbGVjdGljb24taGFtYnVyZ2VyLW1lbnU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBM0JcIiB9XG4uY29sbGVjdGljb24taGVhcnQtZnVsbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEzQ1wiIH1cbi5jb2xsZWN0aWNvbi1ob3VzZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEzRFwiIH1cbi5jb2xsZWN0aWNvbi1odW1hbi1yaWdodHM6YmVmb3JlIHsgY29udGVudDogXCJcXEVBM0VcIiB9XG4uY29sbGVjdGljb24taWQtZWRpdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTNGXCIgfVxuLmNvbGxlY3RpY29uLWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE0MFwiIH1cbi5jb2xsZWN0aWNvbi1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogXCJcXEVBNDFcIiB9XG4uY29sbGVjdGljb24tbGVhZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE0MlwiIH1cbi5jb2xsZWN0aWNvbi1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTQzXCIgfVxuLmNvbGxlY3RpY29uLWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTQ0XCIgfVxuLmNvbGxlY3RpY29uLWxpc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNDVcIiB9XG4uY29sbGVjdGljb24tbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogXCJcXEVBNDZcIiB9XG4uY29sbGVjdGljb24tbG9jay0yOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTQ3XCIgfVxuLmNvbGxlY3RpY29uLWxvY2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE0OFwiIH1cbi5jb2xsZWN0aWNvbi1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTQ5XCIgfVxuLmNvbGxlY3RpY29uLW1hZ25pZmllci1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTRBXCIgfVxuLmNvbGxlY3RpY29uLW1hZ25pZmllci1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE0QlwiIH1cbi5jb2xsZWN0aWNvbi1tYXA6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNENcIiB9XG4uY29sbGVjdGljb24tbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTREXCIgfVxuLmNvbGxlY3RpY29uLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTRFXCIgfVxuLmNvbGxlY3RpY29uLW1vYmlsZS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE0RlwiIH1cbi5jb2xsZWN0aWNvbi1wYWdlLWNvZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE1MFwiIH1cbi5jb2xsZWN0aWNvbi1wYWdlLWxvY2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE1MVwiIH1cbi5jb2xsZWN0aWNvbi1wYWdlLXRpY2s6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNTJcIiB9XG4uY29sbGVjdGljb24tcGFnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE1M1wiIH1cbi5jb2xsZWN0aWNvbi1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNTRcIiB9XG4uY29sbGVjdGljb24tcGljdHVyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE1NVwiIH1cbi5jb2xsZWN0aWNvbi1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTU2XCIgfVxuLmNvbGxlY3RpY29uLXBvcC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTU3XCIgfVxuLmNvbGxlY3RpY29uLXBvcC11cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE1OFwiIH1cbi5jb2xsZWN0aWNvbi1wcmludGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTU5XCIgfVxuLmNvbGxlY3RpY29uLXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNUFcIiB9XG4uY29sbGVjdGljb24tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNUJcIiB9XG4uY29sbGVjdGljb24tcmVwby1mb3JrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTVDXCIgfVxuLmNvbGxlY3RpY29uLXJlc2l6ZS1pbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE1RFwiIH1cbi5jb2xsZWN0aWNvbi1yZXNpemUtb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTVFXCIgfVxuLmNvbGxlY3RpY29uLXJvY2s6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNUZcIiB9XG4uY29sbGVjdGljb24tcnNzLWZlZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNjBcIiB9XG4uY29sbGVjdGljb24tc2F0ZWxsaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTYxXCIgfVxuLmNvbGxlY3RpY29uLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTYyXCIgfVxuLmNvbGxlY3RpY29uLXNpZ24tZGFuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTYzXCIgfVxuLmNvbGxlY3RpY29uLXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTY0XCIgfVxuLmNvbGxlY3RpY29uLXNsaWRlcnMtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE2NVwiIH1cbi5jb2xsZWN0aWNvbi1zbS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXEVBNjZcIiB9XG4uY29sbGVjdGljb24tc20tY2hldnJvbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTY3XCIgfVxuLmNvbGxlY3RpY29uLXNtLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNjhcIiB9XG4uY29sbGVjdGljb24tc20tY2hldnJvbi11cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE2OVwiIH1cbi5jb2xsZWN0aWNvbi1zbS1taW51czpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE2QVwiIH1cbi5jb2xsZWN0aWNvbi1zbS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTZCXCIgfVxuLmNvbGxlY3RpY29uLXNtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE2Q1wiIH1cbi5jb2xsZWN0aWNvbi1zbS10aWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTZEXCIgfVxuLmNvbGxlY3RpY29uLXNtLXRyaWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXEVBNkVcIiB9XG4uY29sbGVjdGljb24tc20tdHJpYW5nbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE2RlwiIH1cbi5jb2xsZWN0aWNvbi1zbS10cmlhbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3MFwiIH1cbi5jb2xsZWN0aWNvbi1zbS10cmlhbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3MVwiIH1cbi5jb2xsZWN0aWNvbi1zbS14bWFyazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3MlwiIH1cbi5jb2xsZWN0aWNvbi1zb3J0LWFzYzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3M1wiIH1cbi5jb2xsZWN0aWNvbi1zb3J0LWRlc2M6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNzRcIiB9XG4uY29sbGVjdGljb24tc29ydC1ub25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTc1XCIgfVxuLmNvbGxlY3RpY29uLXNvcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNzZcIiB9XG4uY29sbGVjdGljb24tc291bmRjbG91ZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3N1wiIH1cbi5jb2xsZWN0aWNvbi1zcGFyazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3OFwiIH1cbi5jb2xsZWN0aWNvbi1zdGFyLWZ1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXEVBNzlcIiB9XG4uY29sbGVjdGljb24tc3RlYW06YmVmb3JlIHsgY29udGVudDogXCJcXEVBN0FcIiB9XG4uY29sbGVjdGljb24tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTdCXCIgfVxuLmNvbGxlY3RpY29uLXRhcmdldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3Q1wiIH1cbi5jb2xsZWN0aWNvbi10aWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTdEXCIgfVxuLmNvbGxlY3RpY29uLXRyYXNoLWJpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3RVwiIH1cbi5jb2xsZWN0aWNvbi10cmlhbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTdGXCIgfVxuLmNvbGxlY3RpY29uLXRyaWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBODBcIiB9XG4uY29sbGVjdGljb24tdHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBODFcIiB9XG4uY29sbGVjdGljb24tdHJpYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogXCJcXEVBODJcIiB9XG4uY29sbGVjdGljb24tdHVtYmxyLXJlYmxvZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE4M1wiIH1cbi5jb2xsZWN0aWNvbi10dW1ibHI6YmVmb3JlIHsgY29udGVudDogXCJcXEVBODRcIiB9XG4uY29sbGVjdGljb24tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE4NVwiIH1cbi5jb2xsZWN0aWNvbi11Zm86YmVmb3JlIHsgY29udGVudDogXCJcXEVBODZcIiB9XG4uY29sbGVjdGljb24tdXNlci1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE4N1wiIH1cbi5jb2xsZWN0aWNvbi11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTg4XCIgfVxuLmNvbGxlY3RpY29uLXVzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTg5XCIgfVxuLmNvbGxlY3RpY29uLXhtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQThBXCIgfSIsIi8vIEZvbnQgc21vb3RoaW5nXG4vLyBBcHBseSB0byBzaW5nbGUgZWxlbWVudHMgaW5zdGVhZCBvZiBnbG9iYWxseSB0byBib2R5LlxuLy8gT25seSBhcHBsaWVzIHRvIHdlYmtpdCBkZXNrdG9wLCBhbmQgRkYgMjUgKyBvbiBNYWMuXG5cbi5hbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBUcnVuY2F0ZSB0ZXh0XG4udHJ1bmNhdGVkIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIEhpZGUgZnJvbSBib3RoIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW5yZWFkZXJzXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGNsaXA6IHJlY3QoMHB4LCAwcHgsIDBweCwgMHB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBFeHRlbmRzIC52aXN1YWxseS1oaWRkZW4gdG8gYWxsb3cga2V5Ym9hcmQgZm9jdXNcbi52aXN1YWxseS1oaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseS1oaWRkZW4uZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbn1cblxuLy8gVW5kbyB2aXN1YWxseS1oaWRkZW5cbi52aXN1YWxseS1oaWRkZW4tdW5kbyB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4vLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbnJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIENsZWFyZml4IGZvciBtb2Rlcm4gYnJvd3NlcnNcbi5jbGVhcmZpeCB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZFxuLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40ODtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vIERlYnVnZ2VkXG4vLyBGb3IgZGVidWdnaW5nIHB1cnBvc2VzIG9ubHlcbi5kZWJ1Z2dlZCB7XG4gIGJhY2tncm91bmQ6IHJlZCAhaW1wb3J0YW50O1xufVxuXG4vKi5jb250YWluIHtcbiAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgfVxufSovXG5cbi5jb250YWluIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1JTsgICAgXG4gIH0gIFxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgIFxuICB9ICBcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgIC8qIG1hcmdpbi1sZWZ0OiAxNSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNSU7Ki9cbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgIG1hcmdpbi1yaWdodDogMTAlOyAgICAgXG4gIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICAvKm1hcmdpbi1sZWZ0OiAxNyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNyU7Ki9cbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgIG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBcbiAgfSAgXG59XG5cbi5jb250YWluLWZ1bGwge1xuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgIG1hcmdpbi1yaWdodDogMTAlO1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbn0iLCIvKiBIdG1sICovXG5cbmh0bWwge1xud2lkdGg6IDEwMCU7XG5vdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi8qIEJvZHkgKi9cblxuYm9keSB7XG5mb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7ICBcbnBvc2l0aW9uOiByZWxhdGl2ZTsgIFxuQGV4dGVuZCAuYW50aWFsaWFzZWQ7XG53aWR0aDogMTAwJTtcbm92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuXG4vKiBIZWFkbGluZXMgKi9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5mb250LWZhbWlseTogJHBsYXRmb3JtLWJvbGQ7ICBcbmxpbmUtaGVpZ2h0OiAxLjI7XG50ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xubGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xubWFyZ2luLXRvcDogMGVtO1xubWFyZ2luLWJvdHRvbTogLjVlbTtcbnBhZGRpbmc6IDA7XG59XG5cbmgxIHtcbmNvbG9yOiAkYmxhY2s7ICBcbmZvbnQtc2l6ZTogMjZweDsgXG4gIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gIGZvbnQtc2l6ZTogMjZweDsgICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHsgXG4gIGZvbnQtc2l6ZTogMjhweDsgIFxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gIGZvbnQtc2l6ZTogMzVweDsgICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiA0MXB4OyAgXG4gIH0gICAgXG59XG5cbmgyIHtcbmNvbG9yOiAkYmxhY2s7XG5mb250LXNpemU6IDE2cHg7IFxuICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICBmb250LXNpemU6IDIwcHg7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgZm9udC1zaXplOiAxOXB4OyAgIFxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7IFxuICBmb250LXNpemU6IDI1cHg7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAzMnB4OyAgXG4gIH0gICBcbn1cblxuaDMge1xuY29sb3I6ICRibGFjazsgIFxuZm9udC1zaXplOiAxNHB4OyBcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgZm9udC1zaXplOiAxOHB4OyBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgZm9udC1zaXplOiAxN3B4OyAgXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAxOXB4OyBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAyM3B4OyAgXG4gIH0gICBcbn1cblxuXG4vKiBQYXJhZ3JhcGhzICovXG5cbnAge1xuZm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7IFxuY29sb3I6ICRibGFjaztcbmZvbnQtc2l6ZTogMTNweDtcbmxpbmUtaGVpZ2h0OiAxLjM7IFxubGV0dGVyLXNwYWNpbmc6IDFweDtcbm1hcmdpbi1ib3R0b206IDVweDtcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTZweDsgXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IFxuICB9ICAgXG59XG5cblxuLyogU3BhbnMgKi9cblxuc3BhbiB7XG5jb2xvcjogJGJsYWNrO1xuZm9udC1zaXplOiAxM3B4O1xubGluZS1oZWlnaHQ6IDEuMzsgXG4gIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgZm9udC1zaXplOiAxNXB4OyAgXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICBmb250LXNpemU6IDE2cHg7ICBcbiAgfSAgIFxufVxuXG5cbi8qIFN0cm9uZyAqL1xuXG5zdHJvbmcge1xuZm9udC1mYW1pbHk6ICRzaW1wbG9uLW1lZGl1bTtcbmZvbnQtd2VpZ2h0OiA2MDA7IFxufVxuXG5cbi8qIExhYmVscyAqL1xuXG5sYWJlbCB7XG5jb2xvcjogJGJsYWNrO1xubGluZS1oZWlnaHQ6IDEuMztcbmxldHRlci1zcGFjaW5nOiAwcHg7ICBcbn1cblxuXG4vKiBMaW5rcyAqL1xuXG5hIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsICBcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUgeyAgICAgIFxuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIC8qXG4gIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS4zOyBcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDsqLyAgXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8qQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICBmb250LXNpemU6IDE0cHg7ICBcbiAgICB9ICBcbiAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBmb250LXNpemU6IDE1cHg7ICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgIFxuICAgIH0qLyAgICAgICBcbiAgfVxuICAmOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH0gIFxufSBcblxuXG4vKiBTZWxlY3RzICYgT3B0aW9ucyAqL1xuc2VsZWN0LCBvcHRpb24ge1xuZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0O1xuY29sb3I6ICRibGFjaztcbmZvbnQtc2l6ZTogMTNweDtcbmxpbmUtaGVpZ2h0OiAxLjM7IFxubGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgZm9udC1zaXplOiAxNHB4OyAgXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTVweDsgIFxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAxNnB4OyAgXG4gIH0gICBcbn1cblxuXG4vKiBJbnB1dHMgJiBUZXh0YXJlYXMgKi9cbmlucHV0LCB0ZXh0YXJlYSB7XG5mb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7XG5jb2xvcjogJGJsYWNrO1xuZm9udC1zaXplOiAxM3B4O1xubGluZS1oZWlnaHQ6IDEuMzsgXG5sZXR0ZXItc3BhY2luZzogMXB4O1xuICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICBmb250LXNpemU6IDE0cHg7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgZm9udC1zaXplOiAxNXB4OyAgXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICBmb250LXNpemU6IDE2cHg7ICBcbiAgfSAgIFxufVxuXG5cbi8qIExpc3RzICovXG5cbnVsIHt9XG5cbmxpIHtcbmxpc3Qtc3R5bGU6IG5vbmU7XG5tYXJnaW46IDA7XG5wYWRkaW5nOiAwO1xuZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0O1xuY29sb3I6ICRibGFjaztcbmxpbmUtaGVpZ2h0OiAxLjU7IFxubGV0dGVyLXNwYWNpbmc6IDFweDsgICBcbn1cblxuXG4vKiBJbWFnZXMgKi9cbi5pbWctcmVzcG9uc2l2ZSB7XG5kaXNwbGF5OiBibG9jaztcbm1heC13aWR0aDogMTAwJTtcbmhlaWdodDogYXV0bztcbn1cblxuXG4vKiBTZWN0aW9ucyAqL1xuc2VjdGlvbiB7XG5wYWRkaW5nLXRvcDogMC43NWVtO1xucGFkZGluZy1ib3R0b206IDAuNWVtO1xuICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICBwYWRkaW5nLXRvcDogMS41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICBwYWRkaW5nLXRvcDogMS41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgfSAgIFxufVxuXG4vKiBTcGFjZWQgcm93ICovXG4uc3BhY2VkLXJvdyB7XG5tYXJnaW4tdG9wOiAwLjc1ZW0gIWltcG9ydGFudDtcbm1hcmdpbi1ib3R0b206IDAuNWVtICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfSBcbn1cblxuXG5cbi8qIFNlY3Rpb24gQmFja2dyb3VuZHMgKi9cbi5ub24taGlnaGxpaHRlZC1iZyB7XG5iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtcHVyZTsgXG59XG4uaGlnaGxpaHRlZC1iZyB7XG5iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7IFxufVxuLmhpZ2hsaWh0ZWQtYmctY29sb3JlZCB7XG5iYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbnBhZGRpbmctYm90dG9tOiAyZW07XG59XG5cbi8qIENhdGVnb3JpZXMgKi9cbi50b3RhbCB7XG5jb2xvcjogJGNhdC10b3RhbCAhaW1wb3J0YW50O1xuICAmOmhvdmVyIHtcbiAgY29sb3I6ICRjYXQtdG90YWwtaG92ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuY29sbGVjdGljb24ge1xuICBjb2xvcjogJGNhdC10b3RhbCAhaW1wb3J0YW50OyAgXG4gIH1cbn0gICBcbi5nb3Zlcm5hbmNlIHtcbmNvbG9yOiAkY2F0LWNvbW1pdG1lbnQgIWltcG9ydGFudDtcbiAgJjpob3ZlciB7XG4gIGNvbG9yOiAkY2F0LWNvbW1pdG1lbnQtaG92ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuY29sbGVjdGljb24ge1xuICBjb2xvcjogJGNhdC1jb21taXRtZW50ICFpbXBvcnRhbnQ7ICBcbiAgfVxufSAgIFxuLmZyZWVkb20ge1xuY29sb3I6ICRjYXQtZnJlZWRvbSAhaW1wb3J0YW50O1xuICAmOmhvdmVyIHtcbiAgY29sb3I6ICRjYXQtZnJlZWRvbS1ob3ZlciAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2xsZWN0aWNvbiB7XG4gIGNvbG9yOiAkY2F0LWZyZWVkb20gIWltcG9ydGFudDsgIFxuICB9XG59ICAgXG4ucHJpdmFjeSB7XG5jb2xvcjogJGNhdC1wcml2YWN5ICFpbXBvcnRhbnQ7XG4gICY6aG92ZXIge1xuICBjb2xvcjogJGNhdC1wcml2YWN5LWhvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbGxlY3RpY29uIHtcbiAgY29sb3I6ICRjYXQtcHJpdmFjeSAhaW1wb3J0YW50OyAgXG4gIH1cbn0iLCIvLyBJRSA8IDEwXG4vLyBEb24ndCBkZWxldGUuXG4ubHQtaWUxMCB7XG4gICNzaXRlLWNhbnZhcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjbm9jYW5kbyB7XG4gICAgbWFyZ2luOiAyMDBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgbWF4LXdpZHRoOiA0NDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cbiAgfVxufVxuXG4ucm93IHtcbiAgQGV4dGVuZCAuY2xlYXJmaXg7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxufVxuXG4ucm93LWNlbnRlcmVkIHtcbiAgbWF4LXdpZHRoOiAkcm93LW1heC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnJvdy1jb250YWluZWQge1xuICBAZXh0ZW5kIC5yb3c7XG4gIG1heC13aWR0aDogJHByb3NlLXdpZHRoO1xufVxuXG4uZGF0YSB7XG4gIG1hcmdpbi10b3A6IC41ZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBAZXh0ZW5kIC5jb250YWluO1xufVxuXG4ub3V0Ym91bmQge1xuICBtYXJnaW4tYm90dG9tOiAuNzI1ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG5cbi5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQ6ICRiZWlnZTtcbiAgcGFkZGluZy10b3A6IDNlbTtcbiAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgQGV4dGVuZCAuY2xlYXJmaXg7XG59XG5cbi5zcGFjZWQtcm93IHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmxhYmVsIHtcbiAgY29sb3I6ICRkYXJrO1xuICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5ibG9ja2xhYmVsIHtcbiAgY29sb3I6ICRkYXJrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IC44ZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmlubGluZWxhYmVsIHtcbiAgQGV4dGVuZCAuYmxvY2tsYWJlbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogLjVlbTtcbn1cblxuLmJyZWFkY3J1bWJzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAuOWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgLmNvbGxlY3RpY29uIHtcbiAgICBjb2xvcjogJGJhc2UtY29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICB9XG59XG5cbi50cmlnZ2VyIHtcbiAgLmpzLS1jb2xsYXBzZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLmpzLS1leHBhbmQgeyBkaXNwbGF5OiBibG9jazsgfVxuICAmLmV4cGFuZGVkIHtcbiAgICAuanMtLWNvbGxhcHNlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuanMtLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICBAaW5jbHVkZSBub3NlbGVjdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29sbGFwc2UtLXRhcmdldCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLmdvLXRvLXRvcCB7XG5kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5oZWlnaHQ6IDQwcHg7XG53aWR0aDogNDBweDtcbnBvc2l0aW9uOiBmaXhlZDtcbmJvdHRvbTogNDBweDtcbnJpZ2h0OiAxMHB4O1xuYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuLyogaW1hZ2UgcmVwbGFjZW1lbnQgcHJvcGVydGllcyAqL1xub3ZlcmZsb3c6IGhpZGRlbjtcbnRleHQtaW5kZW50OiAxMDAlO1xud2hpdGUtc3BhY2U6IG5vd3JhcDtcbmJhY2tncm91bmQ6IHJnYmEoJGJhc2UtY29sb3IsIDEpIHVybCgnL2Fzc2V0cy9ncmFwaGljcy9jb250ZW50L3RvcC1hcnJvdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIDUwJTtcbnZpc2liaWxpdHk6IGhpZGRlbjtcbm9wYWNpdHk6IDA7XG4td2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIDBzLCB2aXNpYmlsaXR5IDBzIC4zcztcbi1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgLjNzO1xudHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgLjNzO1xuei1pbmRleDogOTk5O1xuICAmLmlzLXZpc2libGUsIFxuICAmLmZhZGUtb3V0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyAwcywgdmlzaWJpbGl0eSAwcyAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyAwcywgdmlzaWJpbGl0eSAwcyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XG4gIH1cbiAgLm5vLXRvdWNoIHtcbiAgICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYXNlLWNvbG9yLCAxKTtcbiAgICBvcGFjaXR5OiAxOyAgICAgIFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyAwcywgdmlzaWJpbGl0eSAwcyAwcztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyAwcywgdmlzaWJpbGl0eSAwcyAwcztcbiAgICB9XG4gIH1cbiAgJi5pcy12aXNpYmxlIHsgLyogdGhlIGJ1dHRvbiBiZWNvbWVzIHZpc2libGUgKi9cbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgfVxuICAmLmZhZGUtb3V0IHsgLyogaWYgdGhlIHVzZXIga2VlcHMgc2Nyb2xsaW5nIGRvd24sIHRoZSBidXR0b24gaXMgb3V0IG9mIGZvY3VzIGFuZCBiZWNvbWVzIGxlc3MgdmlzaWJsZSAqL1xuICBvcGFjaXR5OiAuNTtcbiAgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IDIwcHg7XG4gIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogNjBweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIGJvdHRvbTogMzBweDtcbiAgfVxuIFxufSIsIi5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2xvcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nLXRvcDogMWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIC5tZWRpdW0tdXAge1xuICAgIG1hcmdpbi10b3A6IDdweCAhaW1wb3J0YW50O1xuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIC5uYXYtLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1tZWRpdW07XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LS1tb2JpbGUgYSxcbi5uYXYtLW1vYmlsZSBhOmxpbmssXG4ubmF2LS1tb2JpbGUgYTpob3Zlcixcbi5uYXYtLW1vYmlsZSBhOmFjdGl2ZSxcbi5uYXYtLW1vYmlsZSBhOnZpc2l0ZWQsXG4uYmFubmVyIGEsXG4uYmFubmVyIGE6bGluayxcbi5iYW5uZXIgYTpob3Zlcixcbi5iYW5uZXIgYTphY3RpdmUsXG4uYmFubmVyIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5iYW5uZXItLWludGVybmFsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubG9nbyB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIHdpZHRoOiAzZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gIH1cbn1cblxuLnJkciB7XG4gIG1hcmdpbi1sZWZ0OiAuNzVlbTtcbiAgd2lkdGg6IDE4MHB4O1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tb25seSkgeyB3aWR0aDogMzIwcHg7IH1cbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHsgd2lkdGg6IDQwMHB4OyB9XG59XG5cbi5uYXYge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAzLjA1ZW07XG59XG5cbi5uYXYtLWl0ZW0ge1xuICBtYXJnaW46IDAgLjcyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubmF2LS1pdGVtX2FjdGl2ZSA+IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm5hdi0tZ2Vhcl9pY29uIHtcbiAgd2lkdGg6IDEuNmVtO1xuICBoZWlnaHQ6IDEuNmVtO1xufVxuXG4vKiBNb2JpbGUgbWVudSAqL1xuLm5hdi0tbW9iaWxlIHtcbiAgLypiYWNrZ3JvdW5kOiBkYXJrZW4oJGJhc2UtY29sb3IsIDEwJSk7Ki9cbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qcGFkZGluZzogLjUgMWVtIC4zOyovXG4gICYuYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLm5hdiB7IHBhZGRpbmc6IC41ZW07IH1cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gIH1cbn1cblxuLm5hdi0tdmVydGljYWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAvKnBhZGRpbmctYm90dG9tOiAxZW07Ki9cbn1cblxuXG4uYmx1ZS1uYXYtYmcge1xuYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG5wYWRkaW5nLWJvdHRvbTogMWVtO1xuICBhLFxuICBhOmxpbmssXG4gIGE6aG92ZXIsXG4gIGE6YWN0aXZlLFxuICBhOnZpc2l0ZWQge1xuICBjb2xvcjogJHdoaXRlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuICBhOmhvdmVyLFxuICBhOmFjdGl2ZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRyb3Bkb3duLS1tb2JpbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtcHVyZTtcbiAgfVxuICAuZHJvcGRvd24tLXRyaWdnZXJfbW9iaWxlIHtcbiAgICAuY29sbGVjdGljb24ge1xuICAgIGNvbG9yOiAkd2hpdGUtcHVyZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuZHJvcGRvd24tLW1vYmlsZSB7XG4gICAgYSxcbiAgICBhOmxpbmssXG4gICAgYTpob3ZlcixcbiAgICBhOmFjdGl2ZSxcbiAgICBhOnZpc2l0ZWQge1xuICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIH1cbiAgfVxufVxuXG4uZ3JheS1uYXYtYmcge1xuYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JleTtcbnBhZGRpbmctYm90dG9tOiAxZW07XG4gIGEsXG4gIGE6bGluayxcbiAgYTpob3ZlcixcbiAgYTphY3RpdmUsXG4gIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1yZWd1bGFyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB9XG4gIGE6aG92ZXIsXG4gIGE6YWN0aXZlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZHJvcGRvd24tLW1vYmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1wdXJlO1xuICB9XG4gIC5kcm9wZG93bi0tdHJpZ2dlcl9tb2JpbGUge1xuICAgIC5jb2xsZWN0aWNvbiB7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuZHJvcGRvd24tLW1vYmlsZSB7XG4gICAgYSxcbiAgICBhOmxpbmssXG4gICAgYTpob3ZlcixcbiAgICBhOmFjdGl2ZSxcbiAgICBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi5uYXYtLWl0ZW1fdmVydGljYWwge1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIHBhZGRpbmctdG9wOiAxZW07XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgPiAuY29sbGVjdGljb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5cbi5idHRuLS1oYW1idXJnZXIge1xuICBtYXJnaW46IC00cHggMCAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzBweDtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cyBlYXNlLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgOjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNHB4O1xuICAgIGxlZnQ6IDNweDtcbiAgICByaWdodDogM3B4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZkZWQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwcyAwLjE1cztcbiAgfVxuXG4gIDo6YmVmb3JlLCA6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZGVkO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXMsIDAuMTVzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzLCAwcztcbiAgfVxuXG4gIDo6YmVmb3JlIHtcbiAgICB0b3A6IC0xMHB4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgdHJhbnNmb3JtO1xuICB9XG5cbiAgOjphZnRlciB7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi5idHRuLS1oYW1idXJnZXIuYWN0aXZlIHtcbiAgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuMTVzXG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMC4xNXNcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWNvbmRhcnktbmF2aWdhdGlvbiB7XG5iYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmV5O1xucGFkZGluZzogMTZweCAwIDE0cHggMDtcblx0Lm1lZGl1bS11cCB7XG5cdGZsb2F0OiByaWdodDtcblx0XHQubmF2IHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdC5uYXYtLWl0ZW0ge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0cGFkZGluZzogMTZweCAwIDE0cHggMDtcdFxuXHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tcmVndWxhcjtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRjb2xvcjogJGJsYWNrLWxpZ2h0ZXI7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMHB4O1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2stcHVyZTtcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5yaWdodC0tbmF2IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogLjVlbTtcbiAgd2lkdGg6IDIwMHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ubmV4dCxcbi5zdWJuYXYtLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi5zdWJuYXYtLWRyb3Bkb3duIHtcbiAgb3JkZXI6IDE7XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIG9yZGVyOiAwO1xuICB9XG59XG5cbi5zdWJuYXYtLXNlYXJjaCB7XG4gIG9yZGVyOiAwO1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBvcmRlcjogMVxuICB9XG59XG5cbi5yaWdodC0tbmF2X2lubGluZSB7XG4gIEBleHRlbmQgLnJvdztcbiAgQGV4dGVuZCAuY29udGFpbjtcbiAgbWFyZ2luLXRvcDogLjVlbTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuc3VibmF2LS1saW5rcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5zdWJuYXYtLWRyb3Bkb3duIHsgb3JkZXI6IDA7IH1cbiAgLnN1Ym5hdi0tc2VhcmNoIHsgb3JkZXI6IDEgfVxufVxuXG4ubmV4dC0taXRlbSxcbi5zdWJuYXYtLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogLjRlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAuY29sbGVjdGljb24ge1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgfVxufVxuXG4ubmV4dC0taXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIC5jb2xsZWN0aWNvbiB7XG4gICAgY29sb3I6ICRiYXNlLWNvbG9yO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi50dC1tZW51IHtcbiAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWJnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTUlO1xuICBsZWZ0OiAyLjUlO1xuICB6LWluZGV4OiAxMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udHQtc3VnZ2VzdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAxZW0gMS4yNWVtO1xuICB0ZXh0LXNoYWRvdzogI0ZGRjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgbWFyZ2luOiAwIDFyZW07XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIG1hcmdpbjogMCAycmVtO1xuICB9XG4gID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuLnBhZ2UgLnByb3NlIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTAgb2YgMTIpO1xuICAgIEBpbmNsdWRlIHNoaWZ0KDEpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuICAgIEBpbmNsdWRlIHNoaWZ0KDIpO1xuICB9XG59XG5cbi5wYWdlLS1ib2R5IHtcbiAgcGFkZGluZy10b3A6IDRyZW07XG4gIEBpbmNsdWRlIGFuaW1hdGlvbihmYWRlLWluIDAuOHMgZWFzZSAwcyAxKTtcbiAgPiAuaW5uZXIge1xuICAgIEBleHRlbmQgLnJvdztcbiAgICBAZXh0ZW5kIC5yb3ctY2VudGVyZWQ7XG4gICAgQGV4dGVuZCAuY2xlYXJmaXg7XG4gIH1cbn1cblxuLnBhZ2UtLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICA+IC5pbm5lciB7XG4gICAgQGV4dGVuZCAucm93O1xuICAgIEBleHRlbmQgLmNsZWFyZml4O1xuICB9XG4gIEBleHRlbmQgLm5vLXByaW50O1xufVxuXG4uZGlzcGxheXRleHQge1xuXG4gIG1heC13aWR0aDogJHByb3NlLXdpZHRoO1xuXG4gIHVsLFxuICBvbCxcbiAgaDMsXG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgICBjdXJzb3I6IHRleHQ7XG4gIH1cblxuICBoMyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBib3JkZXItYm90dG9tOiAuMTI1ZW0gc29saWQgJGJlaWdlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNmVtO1xuICB9XG5cbiAgdWwgbGkgeyBsaXN0LXN0eWxlOiBpbml0aWFsOyB9XG4gIG9sIGxpIHsgbGlzdC1zdHlsZTogZGVjaW1hbDsgfVxuXG4gIC5qcy0tY29sbGFwc2VfdHJpZ2dlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxufVxuXG5ibG9ja3F1b3RlIHtcbiAgYmFja2dyb3VuZDogJGJlaWdlO1xuICBwYWRkaW5nOiAxZW07XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgfVxufVxuIiwiLyogU2Vjb25kYXJ5IG5hdmlnYXRpb24gLSBjdXJyZW50IHBhZ2UgKi9cblxuI3BhZ2UtLWluZGV4IHtcblx0LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHtcblx0XHQubmF2LS1pdGVtIHtcblx0XHRcdCYuaW5kZXgge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuI3BhZ2UtLWNvbXBhbmllcyxcbiNwYWdlLS1jb21wYW55IHtcblx0LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHtcblx0XHQubmF2LS1pdGVtIHtcblx0XHRcdCYuY29tcGFuaWVze1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuI3BhZ2UtLXNlcnZpY2VzLFxuI3BhZ2UtLXNlcnZpY2Uge1xuXHQuc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuXHRcdC5uYXYtLWl0ZW0ge1xuXHRcdFx0Ji5zZXJ2aWNlcyB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4jcGFnZS0tY2F0ZWdvcnkge1xuXHQuc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuXHRcdC5uYXYtLWl0ZW0ge1xuXHRcdFx0Ji5jYXRlZ29yaWVzIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1x0XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiNwYWdlLS1pbmRpY2F0b3JzLFxuI3BhZ2UtLWluZGljYXRvciB7XG5cdC5zZWNvbmRhcnktbmF2aWdhdGlvbiB7XG5cdFx0Lm5hdi0taXRlbSB7XG5cdFx0XHQmLmluZGljYXRvcnMge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuI3BhZ2UtLXN0b3JpZXMge1xuXHQuc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuXHRcdC5uYXYtLWl0ZW0ge1xuXHRcdFx0Ji5maW5kaW5ncyB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4jcGFnZS0tZG93bmxvYWQge1xuXHQuc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuXHRcdC5uYXYtLWl0ZW0ge1xuXHRcdFx0Ji5kb3dubG9hZCB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLnBhZ2UtLWludHJvIHtcbnBhZGRpbmc6IDEuNWVtIDAgMC41ZW0gMDtcblx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0cGFkZGluZzogMS41ZW0gMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0cGFkZGluZzogMS41ZW0gMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRwYWRkaW5nOiAyZW0gMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0cGFkZGluZzogM2VtIDA7XHRcblx0fSBcbn1cblxuLnBhZ2UtaW50cm9kdWN0aW9uIHtcblxuXHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXG5cdH1cblx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cblx0fVxuXHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cblx0fSBcdFxufVxuXG4ucGFnZS10aXRsZS1vdmVydGV4dCB7XG5mb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7IFxuY29sb3I6ICRibGFjaztcbmZvbnQtc2l6ZTogMTNweDtcbmxpbmUtaGVpZ2h0OiAxLjM7IFxubWFyZ2luLWJvdHRvbTogMHB4O1xudGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgZm9udC1zaXplOiAxNHB4OyAgXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTVweDsgIFxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAxNnB4OyAgXG4gIH0gXG59XG5cbi5wYWdlLS10aXRsZSwgXG4ucGFnZS0tc3VidGl0bGUge1xubWFyZ2luLXRvcDogMGVtO1xubWFyZ2luLWJvdHRvbTogLjMyNWVtO1x0XHRcblx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblxuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXG5cdH1cblx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblxuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXG5cdH0gXG59XG5cbi5wYWdlLS1zdWJ0aXRsZS0tdW5kZXJ0ZXh0IHtcbndpZHRoOiAxMDAlO1x0XHRcdFxuZm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7IFxuY29sb3I6ICRibGFjaztcbmZvbnQtc2l6ZTogMTNweDtcbmxpbmUtaGVpZ2h0OiAxLjM7IFxubGV0dGVyLXNwYWNpbmc6IDFweDtcbm1hcmdpbi1ib3R0b206IDEuNWVtOyBcblx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0d2lkdGg6IDEwMCU7XHRcdFxuXHRmb250LXNpemU6IDE0cHg7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtOyAgXG5cdH1cblx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdHdpZHRoOiAxMDAlO1x0XHRcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTsgIFxuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdHdpZHRoOiAxMDAlO1x0XHRcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0d2lkdGg6IDYwJTtcdFx0XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07ICBcblx0fVx0XHRcbn1cblxuXG4uaGlnaGxpaHRlZC1iZy1jb2xvcmVkIHtcblx0LnBhZ2UtLXN1YnRpdGxlLFxuXHQucGFnZS0tc3VidGl0bGUtLXVuZGVydGV4dCB7XG5cdGNvbG9yOiAkd2hpdGUtcHVyZTtcblx0fVx0XG59XG5cbi5wYWdlLWR5bmFtaWMtY29udGVudCB7XG59XG5cbi5hY3Rpb24tbGlua3Mge1xubWFyZ2luLXRvcDogMWVtO1xuXHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRtYXJnaW4tdG9wOiAxZW07XHRcblx0fVxuXHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0bWFyZ2luLXRvcDogMGVtO1x0XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0bWFyZ2luLXRvcDogMGVtO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRtYXJnaW4tdG9wOiAwZW07XG5cdH1cblx0YSB7XG5cdGRpc3BsYXk6IGJsb2NrO1x0XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHRcdFxuXHRcdHNwYW4ge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLW1lZGl1bTtcblx0XHR9XG5cdFx0aSB7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdH1cblx0fVxufSIsIi5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkYmVpZ2U7XG4gIHBhZGRpbmctdG9wOiAxLjI1ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIG1hcmdpbi10b3A6IDJlbTsgICBcbiAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgIG1hcmdpbi10b3A6IDNlbTsgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tdG9wOiA0ZW07ICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICBtYXJnaW4tdG9wOiA1ZW07ICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgbWFyZ2luLXRvcDogNmVtOyAgXG4gICAgfSAgICBcbn1cblxuLmZvb3Rlci0tbGlua3Mge1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLmZvb3Rlci0tbGluayB7XG4gIHBhZGRpbmc6IC41ZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC43NWVtO1xuICB9XG5cbiAgLmNvbGxlY3RpY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICAgIGNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgfVxufVxuXG4uY29tbW9ucyB7XG4gIHdpZHRoOiAxMDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICA+IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsImJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1idXR0b25dLFxuaW5wdXRbdHlwZT1yZXNldF0sXG5pbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWigwKSk7XG59XG5cbi5idHRuIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICBtaW4taGVpZ2h0OiAycmVtO1xuICBtaW4td2lkdGg6IDIuNXJlbTtcbiAgLm9wZW4gPiAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwKSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwLjJzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMCk7XG4gIEBpbmNsdWRlIG1lZGlhKHByaW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBWQVJJQVRJT05TXG5cbi8vIERlZmF1bHQgKEdyYXkpXG4uYnR0bi1kZWZhdWx0LFxuLmJ0dG4tZGVmYXVsdDpob3Zlcixcbi5idHRuLWRlZmF1bHQ6dmlzaXRlZCB7XG4gIEBpbmNsdWRlIGJ0dG4tdmFyaWF0aW9uKCRiZWlnZSk7XG4gIGNvbG9yOiAkYmxhY2s7XG59XG5cbi8vIExpZ2h0IChHcmF5KVxuLmJ0dG4tbGlnaHQsXG4uYnR0bi1saWdodDpob3Zlcixcbi5idHRuLWxpZ2h0OnZpc2l0ZWQge1xuICBAaW5jbHVkZSBidHRuLXZhcmlhdGlvbigkd2hpdGUpO1xuICBjb2xvcjogdGludCgkYmxhY2ssIDQwJSk7XG59XG5cbi8vIFN1Y2Nlc3MgKEJsdWUpXG4uYnR0bi1zdWNjZXNzLFxuLmJ0dG4tc3VjY2Vzczpob3Zlcixcbi5idHRuLXN1Y2Nlc3M6dmlzaXRlZCB7XG4gIEBpbmNsdWRlIGJ0dG4tdmFyaWF0aW9uKCRiYXNlLWNvbG9yKTtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLy8gRGFyayAoR3JheSlcbi5idHRuLWRhcmssXG4uYnR0bi1kYXJrOmhvdmVyLFxuLmJ0dG4tZGFyazp2aXNpdGVkIHtcbiAgQGluY2x1ZGUgYnR0bi12YXJpYXRpb24odGludCgkYmxhY2ssIDQwJSkpO1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG4vLyBDYWxsIHRvIEFjdGlvblxuLmJ0dG4tY3RhLFxuLmJ0dG4tY3RhOmhvdmVyLFxuLmJ0dG4tY3RhOnZpc2l0ZWQge1xuICBAaW5jbHVkZSBidHRuLXZhcmlhdGlvbih0aW50KCRzdWNjZXNzLWNvbG9yLCA4MCUpKTtcbn1cblxuLy8gU0laRVNcblxuLy8gU21hbGwgKDI0cHgpXG4uYnR0bi1zLFxuLmJ0dG4tZ3JvdXAtcyAuYnR0biB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XG4gIG1pbi1oZWlnaHQ6IDEuMjVyZW07XG59XG5cbi8vIE1lZGl1bSAoMzJweClcbi8vIERlZmF1bHRcbi5idHRuLW0sXG4uYnR0bi1ncm91cC1tIC5idHRuIHtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gIG1pbi1oZWlnaHQ6IDJyZW07XG59XG5cbi8qIExhcmdlICg0MHB4KSAqL1xuLmJ0dG4tbCxcbi5idHRuLWdyb3VwLWwgLmJ0dG4ge1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjQyNXJlbSAxcmVtIDAuMTc1cmVtO1xuICBtaW4taGVpZ2h0OiAyLjVyZW07XG59XG5cbi8qIEV4dHJhLWxhcmdlICg0NHB4KSAqL1xuLmJ0dG4teGwsXG4uYnR0bi1ncm91cC14bCAuYnR0biB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjI1cmVtO1xuICBtaW4taGVpZ2h0OiAyLjc1cmVtO1xufVxuXG4vLyBHUk9VUFxuXG4uYnR0bi1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDA7XG4gICYuYnR0bi1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgID4gbGkgLmJ0dG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gID4gKixcbiAgPiAuYnR0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICA+ICo6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSAuYnR0bixcbiAgPiAuYnR0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICA+ICo6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSAuYnR0bixcbiAgPiAuYnR0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgLmJ0dG4sXG4gID4gLmJ0dG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICA+IC5idHRuICsgLmJ0dG4sXG4gICYuYnR0bi1saXN0ID4gbGkgKyBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uc2VhcmNoIHtcbiAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjc3Nzc4cmVtO1xuICBoZWlnaHQ6IDIuMDU1NTZyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC40NDQ0NHJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbn1cbiIsIi50b29sdGlwLWVsZW1lbnQsXG4udG9vbHRpcC1lbGVtZW50OmFmdGVyLFxuLnRvb2x0aXAtZWxlbWVudDpiZWZvcmUsXG4udG9vbHRpcC1lbGVtZW50ICosXG4udG9vbHRpcC1lbGVtZW50ICo6YWZ0ZXIsXG4udG9vbHRpcC1lbGVtZW50ICo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnRvb2x0aXAtZWxlbWVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cyAudG9vbHRpcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgdG9vbHRpcDtcbn1cblxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cyAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogOHB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20udG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLWNlbnRlciAudG9vbHRpcC1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20udG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLWNlbnRlciAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDtcbn1cblxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtdG9wLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1jZW50ZXIgLnRvb2x0aXAtY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtdG9wLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1jZW50ZXIgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XG59XG5cbi50b29sdGlwLWVsZW1lbnQudG9vbHRpcC10aGVtZS1hcnJvd3MudG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0LnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1taWRkbGUgLnRvb2x0aXAtY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1yaWdodC50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtbWlkZGxlIC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwO1xuXG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1sZWZ0LnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1taWRkbGUgLnRvb2x0aXAtY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG5cbn1cbi50b29sdGlwLWVsZW1lbnQudG9vbHRpcC10aGVtZS1hcnJvd3MudG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLWxlZnQudG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLW1pZGRsZSAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwO1xuXG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC10b3AudG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLWxlZnQudG9vbHRpcC10YXJnZXQtYXR0YWNoZWQtYm90dG9tIC50b29sdGlwLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC10b3AudG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLWxlZnQudG9vbHRpcC10YXJnZXQtYXR0YWNoZWQtYm90dG9tIC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiA4cHg7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC10b3AudG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLWJvdHRvbSAudG9vbHRpcC1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtdG9wLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1yaWdodC50b29sdGlwLXRhcmdldC1hdHRhY2hlZC1ib3R0b20gLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICBib3R0b206IDEwMCU7XG4gIHJpZ2h0OiA4cHg7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20udG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLWxlZnQudG9vbHRpcC10YXJnZXQtYXR0YWNoZWQtdG9wIC50b29sdGlwLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20udG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLWxlZnQudG9vbHRpcC10YXJnZXQtYXR0YWNoZWQtdG9wIC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA4cHg7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDA7XG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20udG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLXRvcCAudG9vbHRpcC1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1yaWdodC50b29sdGlwLXRhcmdldC1hdHRhY2hlZC10b3AgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiA4cHg7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDA7XG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC10b3AudG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLWxlZnQgLnRvb2x0aXAtY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtdG9wLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1yaWdodC50b29sdGlwLXRhcmdldC1hdHRhY2hlZC1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDEwMCU7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtdG9wLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1sZWZ0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtdG9wLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1sZWZ0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgdG9wOiA4cHg7XG4gIHJpZ2h0OiAxMDAlO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7XG59XG4udG9vbHRpcC1lbGVtZW50LnRvb2x0aXAtdGhlbWUtYXJyb3dzLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20udG9vbHRpcC1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLWxlZnQgLnRvb2x0aXAtY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1yaWdodC50b29sdGlwLXRhcmdldC1hdHRhY2hlZC1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgYm90dG9tOiA4cHg7XG4gIGxlZnQ6IDEwMCU7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1sZWZ0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLnRvb2x0aXAtZWxlbWVudC50b29sdGlwLXRoZW1lLWFycm93cy50b29sdGlwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tLnRvb2x0aXAtZWxlbWVudC1hdHRhY2hlZC1sZWZ0LnRvb2x0aXAtdGFyZ2V0LWF0dGFjaGVkLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgYm90dG9tOiA4cHg7XG4gIHJpZ2h0OiAxMDAlO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7XG59XG5cbi50b29sdGlwLWVsZW1lbnQudG9vbHRpcC10aGVtZS1hcnJvd3Mge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50b29sdGlwLWVsZW1lbnQudG9vbHRpcC10aGVtZS1hcnJvd3MgLnRvb2x0aXAtY29udGVudCB7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbn0iLCJAbWl4aW4gdGFibGVzcGFuKCR3aWR0aCkge1xuICB0aGVhZCB0ciB0aDpmaXJzdC1jaGlsZCxcbiAgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQgeyB3aWR0aDogJHdpZHRoOyB9XG59XG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBlbXB0eS1jZWxsczogc2hvdztcblxuICB0aCxcbiAgdGQgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICB0aGVhZCB0ciB0aDpmaXJzdC1jaGlsZCxcbiAgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICB9XG5cbiAgdGgsIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IC4xZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIHRoIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJlaWdlO1xuICB9XG5cbiAgLmNvbF8wIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmVpZ2U7XG4gIH1cblxuICAudGhlYWQtLWVuZCAuY29sXzAge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gIH1cbn1cblxuLnRhYmxlLS1zZXJ2aWNlX2xhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkZGFyaztcbiAgbWFyZ2luLWJvdHRvbTogLjNlbTtcbn1cblxuXG4udGFibGUtLXNjb3JlcyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgQGluY2x1ZGUgdGFibGVzcGFuKDI1MHB4KTtcbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICBAaW5jbHVkZSB0YWJsZXNwYW4oMzAwcHgpO1xuICB9XG5cbn1cblxuLnRhYmxlLS1zcGFuXzMsIC50YWJsZS0tc3Bhbl80IHtcbiAgQGluY2x1ZGUgdGFibGVzcGFuKDM1MHB4KTtcbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICBAaW5jbHVkZSB0YWJsZXNwYW4oNDAwcHgpO1xuICB9XG59XG5cbi50YWJsZS0tc3Bhbl8xLCAudGFibGUtLXNwYW5fMiB7XG4gIEBpbmNsdWRlIHRhYmxlc3Bhbig1MDBweCk7XG59XG5cbi50YWJsZS0tZm9vdGVyIHtcbiAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cbiIsIi5kcm9wZG93bi0tdHJpZ2dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbm9zZWxlY3Q7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRyb3Bkb3duLS10cmlnZ2VyX21vYmlsZSB7XG4gIEBleHRlbmQgLmRyb3Bkb3duLS10cmlnZ2VyO1xuXG4gIC5jb2xsZWN0aWNvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbiAgLmNvbGxlY3RpY29uLXNtLXRyaWFuZ2xlLXVwIHsgZGlzcGxheTogbm9uZTsgfVxuICAuY29sbGVjdGljb24tc20tdHJpYW5nbGUtZG93biB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4gICYuZXhwYW5kZWQge1xuICAgIC5jb2xsZWN0aWNvbi1zbS10cmlhbmdsZS11cCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jb2xsZWN0aWNvbi1zbS10cmlhbmdsZS1kb3duIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICB9XG59XG5cbi5kcm9wZG93biB7XG4vKnRvcDogMTVweCAhaW1wb3J0YW50OyAgKi9cbndpZHRoOiAyMDBweDtcbnotaW5kZXg6IDA7XG52aXNpYmlsaXR5OiBoaWRkZW47XG5wb3NpdGlvbjogYWJzb2x1dGU7XG5ib3gtc2hhZG93OiAwIDAgMnB4ICRncmF5O1xuYmFja2dyb3VuZDogJHdoaXRlLXB1cmU7XG4gICYuZHJvcGRvd24tY29tcGFuaWVzIHtcbiAgd2lkdGg6IDMwMHB4O1xuICAgIC5kcm9wZG93bi0taXRlbS13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgfSAgICAgIFxuICAgICAgLmludGVybmV0LWFuZC1tb2JpbGUtY29tcGFuaWVzIHtcbiAgICAgICAgLmRyb3Bkb3duLS1pdGVtIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50ZWxlY29tbXVuaWNhdGlvbnMtY29tcGFuaWVzIHtcbiAgICAgICAgLmRyb3Bkb3duLS1pdGVtIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgXG4gICAgICB9ICAgICAgXG4gICAgfSBcbiAgfVxufVxuXG4uZHJvcGRvd24tLW1vYmlsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLjVlbTtcblxuICBhLFxuICBhOmxpbmssXG4gIGE6aG92ZXIsXG4gIGE6YWN0aXZlLFxuICBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICB9XG59XG5cbi5kcm9wZG93bi0tc2hhcmUge1xudG9wOiAzNXB4ICFpbXBvcnRhbnQ7ICBcbndpZHRoOiAyNTBweDtcbnotaW5kZXg6IDA7XG5kaXNwbGF5OiBub25lO1xucG9zaXRpb246IGFic29sdXRlO1xuYm94LXNoYWRvdzogMCAwIDJweCAkZ3JheTtcbmJhY2tncm91bmQ6ICMzMTMxMzE7XG4gIGxpIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNGU0ZTRlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzEzMTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZTRlNGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRlNGU0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLS1pdGVtIHtcbmxpc3Qtc3R5bGU6IG5vbmU7XG5tYXJnaW46IDA7XG4gIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41ZW0gMWVtOyAgICBcbiAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJGJsYWNrLWxpZ2h0ZXI7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZS1wdXJlO1xuICAgIGkge1xuICAgIGZvbnQtc2l6ZTogMTBweDsgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyAgICAgICAgXG4gICAgfSAgICAgICBcbiAgICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsYWNrLXB1cmU7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWJnO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG4gICAgfVxuICB9XG4gICY6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAxMHB4OyAgIFxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7ICAgIFxuICB9XG59XG5cblxuXG4uZHJvcGRvd24tLWNhdGVnb3J5IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgfVxufVxuXG4uZHJvcGRvd24tLWNhdGVnb3J5X2NoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC43NWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi0tcmV2ZXJzZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogMTgwcHg7XG5cbiAgLmRyb3Bkb3duLS1jYXRlZ29yeV9jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNzVlbTtcbiAgfVxufVxuIiwiLm1vZGFsIHtcbmRpc3BsYXk6IG5vbmU7IC8qIEhpZGRlbiBieSBkZWZhdWx0ICovXG5wb3NpdGlvbjogZml4ZWQ7IC8qIFN0YXkgaW4gcGxhY2UgKi9cbnotaW5kZXg6IDEwNTA7IC8qIFNpdCBvbiB0b3AgKi9cbmxlZnQ6IDA7XG50b3A6IDA7XG53aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCAqL1xuaGVpZ2h0OiAxMDAlOyAvKiBGdWxsIGhlaWdodCAqL1xub3ZlcmZsb3c6IGF1dG87IC8qIEVuYWJsZSBzY3JvbGwgaWYgbmVlZGVkICovXG5iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApOyAvKiBGYWxsYmFjayBjb2xvciAqL1xuYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjQpOyAvKiBCbGFjayB3LyBvcGFjaXR5ICovXG5cbiAgICAvKiBNb2RhbCBDb250ZW50L0JveCAqL1xuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiA3LjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjVlbTsgICAgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIC8qbWFyZ2luOiAxNSUgYXV0bzsqLyAvKiAxNSUgZnJvbSB0aGUgdG9wIGFuZCBjZW50ZXJlZCAqL1xuICAgIHBhZGRpbmc6MTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICAgIC8qcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjAlO1xuICAgIGxlZnQ6IDIlO1xuICAgIHdpZHRoOiA5MCU7IFxuICAgIHdpZHRoOiA5NiU7IC8qIENvdWxkIGJlIG1vcmUgb3IgbGVzcywgZGVwZW5kaW5nIG9uIHNjcmVlbiBzaXplICovXG5cbiAgICAgICAgLyogVGhlIENsb3NlIEJ1dHRvbiAqL1xuICAgICAgICAuY2xvc2Uge1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4OyAgXG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgICYuaW5kaWNhdG9yLS1uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgJi5oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5jZWxsLS1maXJzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmNlbGwtLTAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJlaWdlO1xuICAgICAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OyAgIFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICYuY2VsbC0tMCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAmLmF2ZXJhZ2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZWlnZTtcbiAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOyAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICYuY2VsbC0tZmlyc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuY2VsbC0tMCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSAgICAgICAgXG5cbiAgICB9XG5cbn0iLCIvKiBJbmRleCBwYWdlICovXG5cbiNwYWdlLS1pbmRleCB7XG5cblx0LyogUGFnZSBpbnRybyAqL1xuXHQucGFnZS0taW50cm8ge1xuXHRcdHAge1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0ICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdCAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQgIH1cblx0XHQgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdCAgZm9udC1zaXplOiAxNnB4O1xuXHRcdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdCAgfVxuXHRcdCAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMThweDtcblx0XHQgIHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0ICB9XG5cdFx0ICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMjFweDsgXG5cdFx0ICB0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdCAgfSAgIFxuXHRcdH1cdFxuXHR9XG5cblxuXHQvKiBXb3JsZCBtYXAgKi9cblx0LndvcmxkLW1hcCB7XG5cdHBhZGRpbmctdG9wOiAwO1xuXHRtYXJnaW4tdG9wOiAwZW07XG5cdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRtYXJnaW4tdG9wOiAwZW07XHRcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0bWFyZ2luLXRvcDogMGVtO1x0XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0bWFyZ2luLXRvcDogMGVtO1x0XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdG1hcmdpbi10b3A6IDBlbTtcdFxuXHRcdH1cblx0XHQucm93IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDByZW07XG5cdFx0cGFkZGluZy1yaWdodDogMHJlbTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cdFx0XHR9IFx0ICBcdFxuXHRcdH0gXG5cdH1cblxuXG5cdC8qIEtleSBmaW5kaW5ncyAqL1xuXHQua2V5LWZpbmRpbmdzIHtcblx0XHQuZGVzY3JpcHRpb24tLXRleHRzIHtcblx0XHRcdC5kZXNjcmlwdGlvbi0tdGV4dCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRcdH1cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XHRcdFx0XHRcdFxuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgIFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyAgXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgXG4gICAgICAgICAgICAgICAgICAgICAgfVx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdFx0LmRlc2NyaXB0aW9uLS10ZXh0ICsgLmRlc2NyaXB0aW9uLS10ZXh0IHtcblx0XHRcdG1hcmdpbi1yaWdodDogMHB4O1x0XG5cdFx0ICAgIG1hcmdpbi10b3A6IDAuNzVlbTtcblx0XHQgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdCAgICAgIG1hcmdpbi10b3A6IDFlbTsgIFxuXHRcdCAgICAgIH1cblx0XHQgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHQgICAgICBtYXJnaW4tdG9wOiAwZW07ICBcblx0XHQgICAgICB9XG5cdFx0ICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHQgICAgICBtYXJnaW4tdG9wOiAwZW07ICBcblx0XHQgICAgICB9ICBcblx0XHRcdH1cblx0XHRcdC5hY3Rpb24tbGlua3Mge1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblx0XHRcdH1cdFx0XHRcblx0XHR9XG5cdH1cblxuXG5cdC8qIENvbXBhbnkgcmFua2luZyAqL1xuXHQuY29tcGFueS1yYW5raW5nIHtcblxuXHRcdC5jb21wYW55LXJhbmtpbmctY2hhcnQge1xuXG5cdFx0ICAgIGxhYmVsIHtcblx0XHQgICAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0OyAgXG5cdFx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ICAgIGNvbG9yOiAkYmxhY2s7XG5cdFx0ICAgIGZvbnQtc2l6ZTogMTJweDtcblx0XHQgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG5cdFx0ICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4OyAgXG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDsgIFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4OyAgXG5cdFx0XHRcdH1cblx0XHRcdFx0aSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcdFxuXHRcdFx0XHR9ICAgICAgICAgXG5cdFx0ICAgIH0gXG5cblx0XHRcdCNjYXRlZ29yeS0taW50ZXJuZXQtLWhvbWUge1xuXHRcdCAgICAgICAgaSB7XG5cdFx0ICAgICAgICBjb2xvcjogJHJlZDsgIFxuXHRcdCAgICAgICAgfVx0XHRcblx0XHRcdH1cblxuXHRcdFx0I2NhdGVnb3J5LS10ZWxjby0taG9tZSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIuNWVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMi41ZW07XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDBlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMi41ZW07XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDBlbTtcblx0XHRcdFx0fVx0XHRcblx0XHQgICAgICAgIGkge1xuXHRcdCAgICAgICAgY29sb3I6ICRvcmFuZ2U7ICBcblx0XHQgICAgICAgIH1cblx0XHRcdH1cblxuXG5cdFx0XHQvKiBIb3Jpem9udGFsIGNoYXJ0IChpbmRleCkqL1xuXG5cdFx0XHQudmlzLS1yb3cge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDogMGVtO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40ZW07XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdC52aXMtLXJvdyArIC52aXMtLXJvdyB7XG5cdFx0XHRwYWRkaW5nLXRvcDogLjNlbTtcblx0XHRcdH1cblxuXHRcdFx0LnZpcy0taGVhZGVyIHtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRmb250LXNpemU6IC43NWVtO1xuXHRcdFx0bWFyZ2luLXRvcDogMC41ZW07XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMWVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMWVtO1xuXHRcdFx0XHR9ICBcblx0XHRcdH1cblxuXHRcdFx0I2NhdGVnb3J5LS1pbnRlcm5ldCAudmlzLS1oZWFkZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0LnZpcy0taGVhZGVyX2l0ZW0ge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7IFxuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxOyBcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwcHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRwYWRkaW5nOiA1cHggMDtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggMDtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDBweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMHB4O1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwcHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XHRcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDBweDtcblx0XHRcdFx0fSAgXHRcdFxuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tcmVndWxhcjsgIFxuXHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOyBcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDBweDsgICAgXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2Utb3V0O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcdFxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwcHg7XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwcHg7XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDBweDtcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDBweDtcdFxuXHRcdFx0XHRcdH0gIFxuXHRcdFx0XHR9XG5cdFx0XHRcdC5jb2xsZWN0aWNvbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcdFxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1x0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XHRcblx0XHRcdFx0XHR9IFx0XHRcdFxuXHRcdFx0XHR9XG5cblx0XHRcdCAgJi52aXMtLXJvd190aXRsZSB7XG5cdFx0XHQgIGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdCAgZm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdCAgbGluZS1oZWlnaHQ6IDE7XG5cdFx0XHQgIHBhZGRpbmc6IDVweCAwO1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdHBhZGRpbmc6IDVweCAwO1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdFx0cGFkZGluZzogNXB4IDA7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMDtcdFxuXHRcdFx0XHR9XHQgICBcblx0XHRcdCAgICA+IGEgeyBcblx0XHRcdCAgICBmb250LXNpemU6IDEwcHg7XG5cdFx0XHQgICAgZm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdCAgICBsaW5lLWhlaWdodDogMTtcdCAgICBcblx0XHRcdCAgICAgXHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1x0XG5cdFx0XHRcdFx0fVxuXHRcdFx0ICAgIH0gICAgXG5cdFx0XHQgIH0gIFxuXG5cdFx0XHR9XG5cblxuXHRcdFx0LnZpcy0tcm93X3RpdGxlIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1yZWd1bGFyOyBcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDsgXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdCAgICAgXHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHQgID4gYSB7XG5cdFx0XHQgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1yZWd1bGFyOyAgXG5cdFx0XHQgIGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdCAgY29sb3I6ICRibGFjaztcblx0XHRcdCAgZm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdCAgbGluZS1oZWlnaHQ6IDEuMzsgXG5cdFx0XHQgIGxldHRlci1zcGFjaW5nOiAxcHg7ICAgIFxuXHRcdFx0ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHQgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLW91dDtcblx0XHRcdCAgZGlzcGxheTogYmxvY2s7XG5cdFx0ICAgICBcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1x0XG5cdFx0XHRcdH1cdCAgXG5cdFx0XHQgIH1cblxuXHRcdFx0fVxuXG5cblx0XHRcdC52aXMtLXJvd190aXRsZSB7XG5cdFx0XHR3aWR0aDogJGluZGV4LXRpdGxlLXdpZHRoLXhzO1xuXHRcdFx0ICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0ICB3aWR0aDogJGluZGV4LXRpdGxlLXdpZHRoLXNtOyAgXG5cdFx0XHQgIH1cblx0XHRcdCAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHQgIHdpZHRoOiAkaW5kZXgtdGl0bGUtd2lkdGgtbWQ7XG5cdFx0XHQgIH1cblx0XHRcdCAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdCAgd2lkdGg6ICRpbmRleC10aXRsZS13aWR0aC1sZzsgIFxuXHRcdFx0ICB9XG5cdFx0XHQgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0ICB3aWR0aDogJGluZGV4LXRpdGxlLXdpZHRoLXhsZzsgXG5cdFx0XHQgIH0gIFxuXG5cdFx0XHR9XG5cblx0XHRcdC52aXMtLWhlYWRlcl9zY29yZSxcblx0XHRcdC52aXMtLWNhdGVnb3J5X3Njb3JlIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRcdFx0d2lkdGg6ICRpbmRleC1zY29yZS13aWR0aC14cztcblx0XHRcdCAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdCAgd2lkdGg6ICRpbmRleC1zY29yZS13aWR0aC1zbTsgICAgXG5cdFx0XHQgIH1cblx0XHRcdCAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHQgIHdpZHRoOiAkaW5kZXgtc2NvcmUtd2lkdGgtbWQ7XG5cdFx0XHQgIH1cblx0XHRcdCAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdCAgd2lkdGg6ICRpbmRleC1zY29yZS13aWR0aC1sZztcblx0XHRcdCAgfVxuXHRcdFx0ICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdCAgd2lkdGg6ICRpbmRleC1zY29yZS13aWR0aC14bGc7XG5cdFx0XHQgIH0gICBcblx0XHRcdH1cblxuXHRcdFx0LnZpcy0tcm93X2JhcnMge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47ICBcblx0XHRcdHdpZHRoOiAkaW5kZXgtYmFyLXdpZHRoLXhzO1xuXHRcdFx0ICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0ICB3aWR0aDogJGluZGV4LWJhci13aWR0aC1zbTsgIFxuXHRcdFx0ICB9XG5cdFx0XHQgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0ICB3aWR0aDogJGluZGV4LWJhci13aWR0aC1tZDsgIFxuXHRcdFx0ICB9XG5cdFx0XHQgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHQgIHdpZHRoOiAkaW5kZXgtYmFyLXdpZHRoLWxnOyAgXG5cdFx0XHQgIH1cblx0XHRcdCAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHQgIHdpZHRoOiAkaW5kZXgtYmFyLXdpZHRoLXhsZzsgIFxuXHRcdFx0ICB9XG5cdFx0XHR9XG5cblx0XHRcdC52aXMtLXJvd19iYXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0ICAgIHdpZHRoOiAyMiU7XG5cdFx0XHQgIH1cblx0XHRcdH1cblxuXHRcdFx0LnZpcy0tY2F0ZWdvcnlfc2NvcmVfdmFsdWUsXG5cdFx0XHQudmlzLS1jYXRlZ29yeV9zY29yZV92YWx1ZSBzcGFue1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7IFxuXHRcdFx0Y29sb3I6ICRjYXQtdG90YWwgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRmb250LXdlaWdodDogNjAwOyBcblx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdHBhZGRpbmctdG9wOiAuNWVtO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IC41ZW07XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdH1cblxuXHRcdFx0LnZpcy0taG9yaXpfYmFyX2NvbnRhaW5lciB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRoZWlnaHQ6ICRpbmRleC1iYXItaGVpZ2h0LXhzO1xuXHRcdFx0YmFja2dyb3VuZDogJGJlaWdlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UtaW47XG5cdFx0XHQgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdCAgICBoZWlnaHQ6ICRpbmRleC1iYXItaGVpZ2h0LXNtOyAgXG5cdFx0XHQgICAgfVxuXHRcdFx0ICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0ICAgIGhlaWdodDogJGluZGV4LWJhci1oZWlnaHQtbWQ7XG5cdFx0XHQgICAgfVxuXHRcdFx0ICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHQgICAgaGVpZ2h0OiAkaW5kZXgtYmFyLWhlaWdodC1sZzsgICAgICBcblx0XHRcdCAgICB9XG5cdFx0XHQgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdCAgICBoZWlnaHQ6ICRpbmRleC1iYXItaGVpZ2h0LXhsZzsgICAgICBcblx0XHRcdCAgICB9ICAgIFxuXHRcdFx0fVxuXG5cdFx0XHQudmlzLS1ob3Jpel9iYXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGhlaWdodDogJGluZGV4LWJhci1oZWlnaHQteHM7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdCAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0ICAgIGhlaWdodDogJGluZGV4LWJhci1oZWlnaHQtc207ICBcblx0XHRcdCAgICB9XG5cdFx0XHQgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHQgICAgaGVpZ2h0OiAkaW5kZXgtYmFyLWhlaWdodC1tZDtcblx0XHRcdCAgICB9XG5cdFx0XHQgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdCAgICBoZWlnaHQ6ICRpbmRleC1iYXItaGVpZ2h0LWxnOyAgICAgIFxuXHRcdFx0ICAgIH1cblx0XHRcdCAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0ICAgIGhlaWdodDogJGluZGV4LWJhci1oZWlnaHQteGxnOyAgICAgIFxuXHRcdFx0ICAgIH0gICBcblx0XHRcdH1cdFx0XHRcdFx0XHRcdFxuXHRcdH1cblxuXHRcdC5ncmFwaC1sZWdlbmQge1xuXHQgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdC5ncmFwaC1sZWdlbmQtaW50ZXJhY3Rpb24ge1x0XHRcblx0XHRcdHBhZGRpbmc6IDAuNWVtIDAuNWVtO1x0XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDFlbSAxZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDFlbSAxZW07XHRcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDFlbSAwIDFlbSAyZW07IFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRwYWRkaW5nOiAxZW0gMCAxZW0gMmVtOyBcblx0XHRcdFx0fSBcdFxuXHRcdFx0fSAgICBcdFxuXHRcdH1cdFxuXHR9XG5cblxuXHQvKiBTZXJ2aWNlcyByYW5raW5nICovXG5cdC5zZXJ2aWNlcy1yYW5raW5nIHtcblx0XHRhIHtcblx0XHRjb2xvcjogJHdoaXRlLXB1cmU7XG5cdFx0fVxuXHRcdC8qIFRhYmJlZCBncmFwaHMgKi9cblx0XHQudGFiYmVkLWdyYXBocyB7IFxuXHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0bWFyZ2luLXRvcDogMmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0bWFyZ2luLXRvcDogMmVtO1xuXHRcdFx0fVxuXHRcdFx0Lm5hdi10YWJzIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0d2lkdGg6IDMxJTtcblx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0cGFkZGluZzogMHB4O1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0d2lkdGg6IDM1JTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0d2lkdGg6IDIxJTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHR3aWR0aDogMTclO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHR3aWR0aDogMjElO1xuXHRcdFx0XHR9XHRcdFxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcdFxuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggM3B4O1x0XHRcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZS1wdXJlO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1tZWRpdW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGZvbnQtc2l6ZTogOHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdFx0XHRwYWRkaW5nOiA3cHggN3B4OyAgXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7ICBcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMTNweCA4cHg7XG5cdFx0XHRcdFx0fSBcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMTVweCAxNXB4OyAgXG5cdFx0XHRcdFx0fSBcdFx0XG5cdFx0XHRcdFx0Ji5jdXJyZW50IHtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGUtcHVyZTtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0XHQmOmFmdGVyLCAmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRsZWZ0OiAxMDAlO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogcmdiYSg3NywgMTU4LCAyMDcsIDApO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICM0RDlFQ0Y7XG5cdFx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC01cHg7XG5cdFx0XHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiA3cHg7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC03cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogOHB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtOHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogOXB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtOXB4O1xuXHRcdFx0XHRcdFx0XHR9IFxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiBcdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogOXB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtOXB4O1xuXHRcdFx0XHRcdFx0XHR9IFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZS1wdXJlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiA2cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtNnB4O1xuXHRcdFx0XHRcdFx0ei1pbmRleDogOTtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiA4cHg7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC04cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogOXB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtOXB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogMTBweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdFx0XHRcdFx0XHRcdH0gXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xMHB4OyBcblx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudGFiLWNvbnRlbnQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDY5JTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZS1wdXJlO1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHR3aWR0aDogNjUlO1x0XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0d2lkdGg6IDc5JTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHR3aWR0aDogODMlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHR3aWR0aDogNzklO1xuXHRcdFx0XHR9XHRcblx0XHRcdFx0LnRhYi1wYW5lLXdyYXBwZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1x0XHRcdFx0XG5cdFx0XHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0b3ZlcmZsb3cteDogaW5pdGlhbDtcblx0XHRcdFx0XHRvdmVyZmxvdy15OiBpbml0aWFsO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRvdmVyZmxvdy14OiBpbml0aWFsO1xuXHRcdFx0XHRcdG92ZXJmbG93LXk6IGluaXRpYWw7XG5cdFx0XHRcdFx0fVx0XHRcdFx0XHRcblx0XHRcdFx0XHQudGFiLXBhbmUge1x0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ICAgIFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1x0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdCAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0ICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdCAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdFx0XHRcdCAgICBtaW4taGVpZ2h0OiAtd2Via2l0LW1pbi1jb250ZW50O1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAyNXB4IDE1cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMTVweDtcblx0XHRcdFx0XHRcdH1cdFx0ICAgIFxuXHRcdFx0XHQgICAgXHQudGFiLXBhbmUtY2hhcnQtcm93IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHRcdFx0XHRcblx0XHRcdCAgICBcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC5zZXJ2aWNlLS1jaXJjbGUtLWNoYXJ0IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMCAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XHRcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XHRcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdFx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHQgICAgXHRcdFx0XHQgICAgXHRcblx0XHRcdCAgICBcdFx0fVxuXHRcdFx0ICAgIFx0XHQudGFiLXBhbmUtY2hhcnQtcm93ICsgLnRhYi1wYW5lLWNoYXJ0LXJvdyB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwZW07XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDBlbTtcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwZW07XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMWVtO1x0XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDBlbTtcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHQgICAgXHRcdH1cblx0XHRcdCAgICBcdFx0aSB7XG5cdFx0XHQgICAgXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICBcdFx0Ym90dG9tOiAxMHB4O1xuXHRcdFx0ICAgIFx0XHRyaWdodDogMTBweDtcblx0XHRcdCAgICBcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHQgICAgXHRcdGNvbG9yOiAkd2hpdGUtcHVyZTtcblx0XHRcdCAgICBcdFx0Zm9udC1zaXplOiAxNXB4O1x0XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHQgICAgXHRcdFx0Ym90dG9tOiAxNXB4O1xuXHRcdFx0ICAgIFx0XHRcdHJpZ2h0OiAxNXB4O1x0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdCAgICBcdFx0XHRib3R0b206IDIwcHg7XG5cdFx0XHQgICAgXHRcdFx0cmlnaHQ6IDIwcHg7XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcdFxuXHRcdFx0XHRcdFx0XHR9XHRcdFx0ICAgIFx0XHRcdFxuXHRcdFx0ICAgIFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYuY3VycmVudCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG5cdC8qIERhdGEgc3RvcmllcyBpdGVtcyAqL1xuXHQuZGF0YS1zdG9yaWVzIHtcblx0XHQuZGF0YS1zdG9yaWVzLWl0ZW1zIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRtYXJnaW4tdG9wOiAwZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogLjMyNWVtO1x0XG5cdFx0XHQuZGF0YS1zdG9yaWVzLWl0ZW0ge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcdFxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMm4pIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDJuKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyLjM1NzY1MTU5NzklO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDJuKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyLjM1NzY1MTU5NzklO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0XHQgICAgXHRcdFx0XHRcblx0XHRcdFx0aDMge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwLjhlbTtcblx0XHQgICAgXHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcdFxuXHRcdFx0XHRcdH0gICAgIFx0XHRcblx0XHRcdFx0fVx0XG5cdFx0XHR9XG5cdFx0XHQuZGF0YS1zdG9yaWVzLWl0ZW0gKyAuZGF0YS1zdG9yaWVzLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLXRvcDogMS41ZW07XHRcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMS41ZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDBlbTtcblx0XHRcdFx0XHQmOm50aC1jaGlsZChuKzMpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcdFxuXHRcdFx0XHRcdH1cdFx0XHRcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDBlbTtcblx0XHRcdFx0XHQmOm50aC1jaGlsZChuKzMpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwZW07XHRcblx0XHRcdFx0XHR9XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMGVtO1xuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKG4rMykge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDBlbTtcdFxuXHRcdFx0XHRcdH1cdFx0XHRcdFxuXHRcdFx0XHR9XHRcdFxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XHQiLCIjcGFnZS0tY29tcGFuaWVzIHtcblxuICAucGFnZS0tY29tcGFuaWVzLS1jb250ZW50LS1yb3cge1xuXG4gICAgLnBhZ2UtLWNvbXBhbmllcy0tY29udGVudC0tY29sdW1uIHtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICB9XG5cbiAgICAgIC5jYXRlZ29yeS0tdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07ICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgIFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07ICBcbiAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcnktLWdyYXBoIHtcblxuICAgICAgICAudmlzLS1yb3cge1xuXG4gICAgICAgICAgLnZpcy0tcm93X3RpdGxlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgIFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgIFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7ICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC52aXMtLWNhdGVnb3J5X3Njb3JlIHsgXG4gICAgICAgICAgICAudmlzLS1jYXRlZ29yeV9zY29yZV92YWx1ZSB7XG4gICAgICAgICAgICB3aWR0aDogMS42ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMgKDUwJSk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxLjZlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjZlbTsgIFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgICB3aWR0aDogMS40ZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMS40ZW07ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgICAgICB3aWR0aDogMS41ZW07ICBcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVlbTsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxLjVlbTsgIFxuICAgICAgICAgICAgICBoZWlnaHQ6IDEuNWVtOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWJvbGQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtcHVyZTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi40O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi40OyAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI7IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjsgXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudmlzLS1yb3dfYmFycyB7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnZpcy0tcm93X2JhciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW50ZXJuZXQtYW5kLW1vYmlsZS1jb21wYW5pZXMge1xuICAgICAgICAgIC52aXMtLWNhdGVnb3J5X3Njb3JlIHtcbiAgICAgICAgICAgIC52aXMtLWNhdGVnb3J5X3Njb3JlX3ZhbHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50ZWxlY29tbXVuaWNhdGlvbnMtY29tcGFuaWVzIHtcbiAgICAgICAgICAudmlzLS1jYXRlZ29yeV9zY29yZSB7XG4gICAgICAgICAgICAudmlzLS1jYXRlZ29yeV9zY29yZV92YWx1ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlOyAgXG4gICAgICAgICAgICB9ICBcbiAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgIH1cbiAgXG4gICAgfVxuXG4gICAgLnBhZ2UtLWNvbXBhbmllcy0tY29udGVudC0tY29sdW1uICsgLnBhZ2UtLWNvbXBhbmllcy0tY29udGVudC0tY29sdW1uIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgbWFyZ2luLXRvcDogMmVtOyAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgIG1hcmdpbi10b3A6IDBlbTsgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgIG1hcmdpbi10b3A6IDBlbTsgIFxuICAgICAgfSAgICAgICAgIFxuICAgIH1cblxuICB9XG5cbn0iLCIjcGFnZS0tY29tcGFueSB7XG5cbiAgJi5pbnRlcm5ldC1hbmQtbW9iaWxlLWNvbXBhbmllcyB7XG4gICAgLmludHJvZHVjdGlvbiB7XG4gICAgICAuY29tcGFueS10eXBlIHtcbiAgICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiAkcmVkOyAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnRlbGVjb21tdW5pY2F0aW9ucy1jb21wYW5pZXMge1xuICAgIC5pbnRyb2R1Y3Rpb24ge1xuICAgICAgLmNvbXBhbnktdHlwZSB7XG4gICAgICAgIGkge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTsgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAgICAgICAgXG4gIH1cblxuXG5cbiAgLyogSW50cm9kdWN0aW9uICovXG4gIC5pbnRyb2R1Y3Rpb24ge1xuXG4gICAgLnJvdyB7XG4gICAgICAuY29udGFpbmVyLS1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9ICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgICAgICB9ICAgICAgICBcbiAgICAgIH1cbiAgICAgIC5jb250YWluZXItLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9ICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wLS1zY29yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICAgICAgICB9ICAgICAgICAgIFxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgIH0gICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgLmNvbXAtLWFtb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuICAgICAgICAgIH0gICAgICAgICAgIFxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgICAgICAgIH0gICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wYW55LXR5cGUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgZm9udC1zaXplOiAxMXB4OyAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyAgXG4gICAgICB9ICAgICAgICBcbiAgICB9XG5cbiAgICAuY29tcC0tc3ViX2hlYWRxdWFydGVycyxcbiAgICAuY29tcC0tc3ViX3dlYnNpdGUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7ICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgIFxuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7ICBcbiAgICAgIH0gICAgICAgXG4gICAgICBhIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7ICBcbiAgICAgIH0gICAgXG4gICAgfVxuXG4gICAgLmNvbXAtLXNjb3JlIHtcbiAgICBmb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07ICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLXRvcDogMGVtOyAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luLXRvcDogMGVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwZW07ICBcbiAgICAgIH0gICAgIFxuICAgICAgLmNvbXAtLXNjb3JlLS12YWx1ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwZW07ICBcbiAgICAgIGZvbnQtZmFtaWx5OiAkcGxhdGZvcm0tYm9sZDsgICAgICAgIFxuICAgICAgY29sb3I6ICRncmF5OyAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDY1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDY1cHg7IFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDY1cHg7ICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogNzBweDsgXG4gICAgICAgIH0gICAgICBcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcC0tYW1vbmcge1xuICAgIG1hcmdpbi10b3A6IDFlbTsgIFxuICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgbWFyZ2luLXRvcDogMmVtOyAgXG4gICAgICBmb250LXNpemU6IDExcHg7ICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgbWFyZ2luLXRvcDogMGVtOyAgXG4gICAgICBmb250LXNpemU6IDEycHg7ICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwZW07ICBcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgbWFyZ2luLXRvcDogMGVtOyAgXG4gICAgICBmb250LXNpemU6IDEzcHg7ICBcbiAgICAgIH1cbiAgICAgICNjb21wLS1wb3NpdGlvbl9hbW9uZ19sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4OyAgXG4gICAgICB9XG4gICAgICAuY29tcC0tYmFyX2NoYXJ0IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07ICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtOyAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtOyBcbiAgICAgICAgfSAgICAgIFxuICAgICAgICAuYmFyLS1jaGFydCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4OyAgICBcbiAgICAgICAgICAuYmFyLS1heGlzX3hfY3VycmVudF9jb21wYW55X2JhciB7XG4gICAgICAgICAgZmlsbDogJHJlZDsgXG4gICAgICAgICAgfVxuICAgICAgICAgIC5iYXItLWF4aXNfeF9jdXJyZW50X2NvbXBhbnkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjsgICAgICAgICAgICAgICBcbiAgICAgICAgICBmaWxsOiAkd2hpdGUtcHVyZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkOyAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OyAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7ICBcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH0gIFxuICAgICAgfSAgXG4gICAgfVxuICB9XG5cbiAgLyogS2V5IGZpbmRpbmdzICovXG4gIC5rZXktZmluZGluZ3Mge1xuXG4gICAgLnJvdyB7XG5cbiAgICAgIC5jb250YWluZXItLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICB9ICAgICAgICBcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lci0tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICAgIH0gICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAuY29tcC0ta2V5X2ZpbmRpbmdzIHtcbiAgICAgIHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIH0gICAgICAgICBcbiAgICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyAgXG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgXG4gICAgICAgICAgfSAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9ICAgICAgICAgXG4gICAgfSBcblxuICAgIC5jb21wLS1zZXJ2aWNlc19ldmFsdWF0ZWQge1xuICAgICAgLmNvbXAtLXNlcnZpY2VzX2V2YWx1YXRlZC10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtOyAgXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrOyAgICAgICAgIFxuICAgICAgfVxuICAgICAgLmNvbXAtLWluc3RhbnRfbWVzcy13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7ICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgXG4gICAgICAgIH0gICAgICBcbiAgICAgICAgLmNvbXAtLWluc3RhbnRfbWVzcyB7XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDsgIFxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7ICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjazsgIFxuICAgICAgICAgICAgfSAgIFxuICAgICAgICAgIH1cbiAgICAgICAgICAuY29tcC0tbmFtZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07ICBcbiAgICAgICAgICBmb250LWZhbWlseTogJHNpbXBsb24tYm9sZDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyAgXG4gICAgICAgICAgICB9ICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29tcC0taW5zdGFudF9tZXNzICsgLmNvbXAtLWluc3RhbnRfbWVzcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07ICAgXG4gICAgICAgICAgfSAgICAgICAgICAgXG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLyogQ2lyY2xlIGNoYXJ0ICovXG4gIC5jaXJjbGUtY2hhcnQge1xuICAgIC5jaXJjbGUtLWNoYXJ0c19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47ICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7ICBcbiAgICAgIH0gICAgICBcbiAgICAgIC5jaXJjbGUtLWNoYXJ0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyAgICAgICAgICAgICAgXG4gICAgICAgIC5jaXJjbGUtLWNvbnRhaW5lciB7XG4gICAgICAgICAgLmNpcmNsZS0tbGFiZWxfbmFtZV9HLFxuICAgICAgICAgIC5jaXJjbGUtLWxhYmVsX25hbWVfRixcbiAgICAgICAgICAuY2lyY2xlLS1sYWJlbF9uYW1lX1Age1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkOyBcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OyAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyAgXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNpcmNsZS0tbGFiZWxfbmFtZV9HIHtcbiAgICAgICAgICBmaWxsOiAkY2F0LWNvbW1pdG1lbnQ7ICAgXG4gICAgICAgICAgfVxuICAgICAgICAgIC5jaXJjbGUtLWxhYmVsX25hbWVfRiB7XG4gICAgICAgICAgZmlsbDogJGNhdC1mcmVlZG9tOyAgIFxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2lyY2xlLS1sYWJlbF9uYW1lX1Age1xuICAgICAgICAgIGZpbGw6ICRjYXQtcHJpdmFjeTsgICBcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNpcmNsZS0tbGFiZWxfdmFsIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJHNpbXBsb24tYm9sZDsgXG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4OyAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDsgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4OyAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jaXJjbGUtLWFyYyB7XG4gICAgICAgICAgICAuY2lyY2xlLS1hcmNfcmVtYWluZGVyIHsgZmlsbDogJGJlaWdlOyB9XG4gICAgICAgICAgICAuY2lyY2xlLS1hcmNfY29tbWl0bWVudCB7IGZpbGw6ICRjYXQtY29tbWl0bWVudDsgfVxuICAgICAgICAgICAgLmNpcmNsZS0tYXJjX2ZyZWVkb20geyBmaWxsOiAkY2F0LWZyZWVkb207IH1cbiAgICAgICAgICAgIC5jaXJjbGUtLWFyY19wcml2YWN5IHsgZmlsbDogJGNhdC1wcml2YWN5OyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2lyY2xlLS1jaGFydCArIC5jaXJjbGUtLWNoYXJ0IHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtOyAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKG1lZGl1bS11cCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH0gXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IFxuICAgICAgICB9ICAgICAgICAgIFxuICAgICAgfSAgICAgIFxuICAgIH1cbiAgfVxuXG5cblxuICAvKiBTZWN0aW9uIGFuYWx5c2lzICovXG4gIC5zZWN0aW9uLS1hbmFseXNpcyB7XG5cbiAgICAucm93IHtcblxuICAgICAgLmNvbnRhaW5lci0tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAgICAgfSAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAuY29udGFpbmVyLS1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAgICAgfSAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cblxuICAgIC50aXRsZS1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7ICBcbiAgICAgIH1cbiAgICAgIC5vdmVyYWxsLXNjb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07ICBcbiAgICAgICAgbGFiZWwge1xuICAgICAgICBmb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7ICBcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4OyAgXG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgXG4gICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgICAgICAub3ZlcmFsbC1zY29yZS12YWx1ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkO1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDsgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7ICBcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDsgIFxuICAgICAgICAgIH0gICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9ICAgICAgXG4gICAgfVxuICAgIC50aXRsZS1saW5lLWNoYXJ0IHtcbiAgICBoZWlnaHQ6IDVweDsgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgIC50aXRsZS1saW5lLWNoYXJ0LXZhbHVlIHtcbiAgICAgICAgaGVpZ2h0OjVweDsgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjazsgIFxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb21wLS1pbmR1c3RyeSxcbiAgICAuY29tcC0tbWFyayxcbiAgICAuY29tcC0tc2FuayB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1yZWd1bGFyOyBcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7ICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgIFxuICAgICAgfSBcbiAgICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkOyAgXG4gICAgICB9ICBcbiAgICB9XG4gIH1cblxuICAvKiBTZWN0aW9uIGdvdmVybmFuY2UsIGZyZWVkb20gJiBwcml2YWN5ICovXG4gIC5zZWN0aW9uLS1nb3Zlcm5hbmNlLFxuICAuc2VjdGlvbi0tZnJlZWRvbSxcbiAgLnNlY3Rpb24tLXByaXZhY3kge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7ICBcblxuXG4gICAgLnJvdyB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRibGFjaztcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcblxuICAgICAgLmNvbnRhaW5lci0tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAgICAgfSAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAuY29udGFpbmVyLS1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9ICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuXG5cbiAgICBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0OyAgXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICBmb250LXNpemU6IDEycHg7ICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7ICBcbiAgICAgIH0gXG4gICAgfSAgICAgXG4gICAgLnRpdGxlLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7ICBcbiAgICAgIH0gICAgIFxuICAgICAgLmNhdGVnb3J5LXNjb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07ICBcbiAgICAgICAgLnNjb3JlLXZhbHVlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWJvbGQ7XG4gICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4OyAgXG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4OyAgXG4gICAgICAgICAgfSAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH0gICAgICBcbiAgICB9XG4gICAgLmNvbnRhaW5lci0tbGVmdCB7XG4gICAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07IFxuICAgICAgICB9ICAgICAgICBcbiAgICAgIH1cbiAgICB9ICAgIFxuICAgIC5jb21wLS1kb3RfY2hhcnQge1xuICAgICAgLmRvdGNoYXJ0IHtcbiAgICAgIG1hcmdpbjogMDsgICBcbiAgICAgICAgLmRvdGNoYXJ0LS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7ICBcbiAgICAgICAgfVxuICAgICAgICAuZG90IHtcbiAgICAgICAgdG9wOiAyLjZlbTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgIHRvcDogMi40ZW07ICBcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICAgICAgdG9wOiAyLjJlbTsgICAgXG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgICAgICAgdG9wOiAyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgIHRvcDogMi4xZW07ICAgXG4gICAgICAgICAgfSAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAuaGlnaGxpZ2h0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcblxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICB0b3A6IDJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUtcHVyZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU2ltcGxvbi1Cb2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7ICBcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgIFxuICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9ICAgICAgICBcbiAgfVxuXG4gIC8qIENvbXBhbnkgbGluZSBjaGFydCAqL1xuICAuY29tcGFueS1saW5lLWNoYXJ0IHtcbiAgICAuYXhpcyB7XG4gICAgICAudGljayB7XG4gICAgICBmb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zOyBcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7ICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDsgIFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7ICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDsgIFxuICAgICAgICB9XG4gICAgICAgIHRleHQge1xuICAgICAgICBmb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7ICBcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7IFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsgIFxuICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgIH0gICAgICAgICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLyogU2VjdGlvbiBnb3Zlcm5hbmNlICovXG4gIC5zZWN0aW9uLS1nb3Zlcm5hbmNlIHtcbiAgICAudGl0bGUtbGluZS1jaGFydCB7XG4gICAgaGVpZ2h0OiA1cHg7IFxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICAudGl0bGUtbGluZS1jaGFydC12YWx1ZSB7XG4gICAgICAgIGhlaWdodDo1cHg7IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2F0LWNvbW1pdG1lbnQ7ICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAjaW5kaWNhdG9ycy0tY29tbWl0bWVudCB7XG4gICAgICAuYmFyIHtcbiAgICAgIGZpbGw6ICRjYXQtY29tbWl0bWVudDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZpbGw6ICRjYXQtY29tbWl0bWVudC1ob3ZlcjtcbiAgICAgICAgfSAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlY3Rpb24tLWZyZWVkb20ge1xuICAgIC50aXRsZS1saW5lLWNoYXJ0IHtcbiAgICBoZWlnaHQ6IDVweDsgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgIC50aXRsZS1saW5lLWNoYXJ0LXZhbHVlIHtcbiAgICAgICAgaGVpZ2h0OjVweDsgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXQtZnJlZWRvbTsgIFxuICAgICAgICB9XG4gICAgfVxuICAgICNpbmRpY2F0b3JzLS1mcmVlZG9tIHtcbiAgICAgIC5iYXIge1xuICAgICAgZmlsbDogJGNhdC1mcmVlZG9tO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgZmlsbDogJGNhdC1mcmVlZG9tLWhvdmVyO1xuICAgICAgICB9ICAgICAgICBcbiAgICAgIH1cbiAgICB9ICAgIFxuICB9XG4gIC5zZWN0aW9uLS1wcml2YWN5IHtcbiAgICAudGl0bGUtbGluZS1jaGFydCB7XG4gICAgaGVpZ2h0OiA1cHg7IFxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICAudGl0bGUtbGluZS1jaGFydC12YWx1ZSB7XG4gICAgICAgIGhlaWdodDo1cHg7IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2F0LXByaXZhY3k7ICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAjaW5kaWNhdG9ycy0tcHJpdmFjeSB7XG4gICAgICAuYmFyIHtcbiAgICAgIGZpbGw6ICRjYXQtcHJpdmFjeTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZpbGw6ICRjYXQtcHJpdmFjeS1ob3ZlcjtcbiAgICAgICAgfSAgICAgICAgXG4gICAgICB9XG4gICAgfSAgICBcbiAgfSAgICAgIFxuXG59XG5cblxuXG5cblxuXG5cblxuJGxhYmVsLXBhZGRpbmc6IC41ZW0gLjU3MjVlbSAuNGVtO1xuXG4ucGFnZS0tdGl0bGUge1xuICAvKm1hcmdpbi10b3A6IC40ZW07XG4gIG1hcmdpbi1ib3R0b206IC4zMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsqL1xuXG4gIC5zY29yZS0tdGllciB7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIHBhZGRpbmc6IC4xNWVtIC40ZW0gLjFlbTtcblxuICB9XG59XG5cbi5jb21wLS1jb21wYW55X2xpbmsge1xuICAvLyBAZXh0ZW5kIC52aXMtLXJvd19pdGVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jb21wLS10eXBlIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiZWlnZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLmNvbXAtLXN1Yl93ZWJzaXRlIHtcbiAgY29sb3I6ICRiYXNlLWNvbG9yO1xufVxuXG4uY29tcC0tYWJvdXQge1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gIH1cbn1cblxuLmFib3V0LS1zdWJzZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogaW5pdGlhbDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgfVxuICB9XG59XG5cbi5jb21wLS1zdGF0IHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5zdGF0LS1rZXkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IC43NWVtO1xuICBjb2xvcjogbGlnaHRlbigkZGFyaywgNSUpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbXAtLWFuYWx5c2lzIHtcblxuICBoMyB7XG4gICAgcGFkZGluZy10b3A6IC41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IC4zZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiZWlnZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzIGVhc2Utb3V0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcms7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbm9zZWxlY3Q7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdTaG93IOKWvCc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMWVtO1xuICAgIH1cblxuICAgICYuZXhwYW5kZWQgIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGFyaztcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnSGlkZSDilrInO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCIjcGFnZS0tc2VydmljZXMge1xuXHQuc2VydmljZXMtLWxpc3Qge1xuXHRwYWRkaW5nOiAwO1xuXHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRwYWRkaW5nOiAxLjVlbSAwIDhlbSAyZW07XHRcblx0XHR9XHRcdFxuXHRcdCNpbmRleC0tc2VydmljZXMge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRpIHtcblx0XHRcdFx0Y29sb3I6ICR2aW9sZXQ7XHRcblx0XHRcdFx0Zm9udC1zaXplOiAxN3B4OyAgICBcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG4gICAgXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4OyAgICBcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7ICAgIFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4OyAgICBcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHRcblx0XHRcdFx0XHR9ICAgIFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkcGxhdGZvcm0tYm9sZDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0ICAgIFx0XHRmb250LXNpemU6IDE3cHg7XG5cdCAgICBcdFx0bGluZS1oZWlnaHQ6IDEuNTtcdFxuXHQgICAgXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRcdFx0XHR9XHQgICAgXHRcdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiI3BhZ2UtLXNlcnZpY2Uge1xuXG5cdC5wYWdlLWNvbnRlbnQtZHluYW1pYyB7XG5cblx0XHQucGFnZS1pbnRyb2R1Y3Rpb24ge31cblxuXHRcdC5zZXJ2aWNlLWdyYXBoIHtcblx0XHRcdC5zZXJ2aWNlLWluZGljYXRvcnMge1xuXHRcdFx0XHQuY29udGFpbmVyLS1sZWZ0ICsgLmNvbnRhaW5lci0tcmlnaHQge1xuXHRcdFx0XHQvKmJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxpZ2h0LWdyZXk7Ki9cblx0XHRcdFx0fVxuXHRcdFx0XHQuY29udGFpbmVyLS1sZWZ0IHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5pbmRpY2F0b3ItaXRlbSArIC5pbmRpY2F0b3ItaXRlbSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcdFxuXHRcdFx0XHR9XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHQuc2VydmljZS1jaGFydCB7XG5cdFx0XHRcdC5iYXItLWNoYXJ0IHtcblx0XHRcdFx0XHQuYmFyLS1heGlzX3hfc2VydmljZSxcblx0XHRcdFx0XHQuYmFyLS1heGlzX3hfcGVyY2VudCB7XG5cdFx0XHRcdFx0XHQudGljayB7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tYm9sZDsgICAgICAgICAgICAgICAgIFxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1x0XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdFx0XHRcdFx0ICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRcdFx0ICBmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHRcdCAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0XHQgIGZvbnQtc2l6ZTogMTRweDsgIFxuXHRcdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0XHQgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHQgIGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdCAgfVxuXHRcdFx0XHRcdFx0ICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRcdCAgZm9udC1zaXplOiAxNHB4OyAgXG5cdFx0XHRcdFx0XHQgIH1cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYmFyLS1heGlzX3hfcmFuayB7XG5cdFx0XHRcdFx0XHQudGljayB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjsgICAgICAgICAgICAgICBcblx0XHRcdFx0XHRcdGZpbGw6ICR3aGl0ZS1wdXJlO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkOyAgICAgICAgICAgICAgICAgXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4OyAgXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7ICBcblx0XHRcdFx0XHRcdFx0fSBcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYmFyLS1heGlzX3hfY29tcGFueSB7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0OyAgICAgICAgICAgICAgICAgXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcdFx0XHRcdFx0XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XHRcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdFx0XHRcdCAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHQgIGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHQgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdCAgZm9udC1zaXplOiAxNnB4OyAgXG5cdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0ICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdCAgZm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdCAgfVxuXHRcdFx0XHRcdCAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0ICBmb250LXNpemU6IDE2cHg7ICBcblx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHQgIHRleHQge1xuXHRcdFx0XHRcdCAgZmlsbDogJGJsYWNrO1x0XG5cdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XHRcdFx0XHRcblx0XHRcdC5ncmFwaC1sZWdlbmQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdFx0LmdvdmVybmFuY2Uge1xuXHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tbWVkaXVtO1xuXHRcdFx0XHRjb2xvcjogJGNhdC1jb21taXRtZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICRjYXQtY29tbWl0bWVudCAhaW1wb3J0YW50O1x0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9ICAgXG5cdFx0XHRcdC5mcmVlZG9tIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLW1lZGl1bTtcblx0XHRcdFx0Y29sb3I6ICRjYXQtZnJlZWRvbSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkY2F0LWZyZWVkb20gIWltcG9ydGFudDtcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSAgIFxuXHRcdFx0XHQucHJpdmFjeSB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1tZWRpdW07XG5cdFx0XHRcdGNvbG9yOiAkY2F0LXByaXZhY3kgIWltcG9ydGFudDtcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogJGNhdC1wcml2YWN5ICFpbXBvcnRhbnQ7XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNlcnZpY2UtcmFuayB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHRcblx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdCAgICAgICAgZm9udC1zaXplOiAxNXB4O1x0XHRcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdCAgXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0ICAgICAgICBmb250LXNpemU6IDIwcHg7XHRcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdCBcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHQgICAgICAgIH1cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmdyYXBoLWxlZ2VuZC12YWx1ZXMtbGFiZWwge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXG5cdFx0LnNlcnZpY2UtLWNvbXBhbmllcyB7XG5cdFx0XHQuc2VydmljZS0tc2VjdGlvbiB7XG5cdFx0XHRcdC5jb21wLS1pbmR1c3RyeSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdFx0XHQgICAgICAgIH1cblx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMGVtO1x0XHRcdCAgXG5cdFx0XHQgICAgICAgIH1cblx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwZW07XG5cdFx0XHQgICAgICAgIH1cblx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMGVtO1x0XHRcdCBcblx0XHRcdCAgICAgICAgfVx0XHRcdFx0XHRcblx0XHRcdFx0XHQucmFuay0tc2VjdGlvbiB7XG5cdFx0XHRcdFx0XHQucmFuay0tc2VjdGlvbl9yYW5rX3ZhbHVlIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5O1x0XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5jb21wLS1tYXJrIHtcblx0XHRcdFx0XHQuZG90Y2hhcnQge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDFlbTtcblx0XHRcdFx0XHQgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0ICAgICAgICBtYXJnaW46IDAgMCAxZW07XG5cdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHQgICAgICAgIG1hcmdpbjogMCAwIDFlbTtcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0ICAgICAgICBtYXJnaW46IDAgMCAzZW07XG5cdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHQgICAgICAgIG1hcmdpbjogMCAwIDNlbTtcblx0XHRcdFx0ICAgICAgICB9XHRcdFx0XHRcdFx0XG5cdFx0XHRcdCAgICAgICAgLmRvdCB7XG5cdFx0XHRcdCAgICAgICAgdG9wOiAyLjZlbTtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRcdFx0dG9wOiAyLjRlbTsgIFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdFx0XHR0b3A6IDIuMmVtOyAgICBcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHR0b3A6IDIuMWVtO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHR0b3A6IDIuMWVtOyAgIFxuXHRcdFx0XHRcdFx0XHR9ICAgICAgICAgICAgICAgICAgIFxuXHRcdFx0XHRcdFx0XHQmLmhpZ2hsaWdodCB7XG5cdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdCAgICB3aWR0aDogMmVtO1xuXHRcdFx0XHRcdFx0ICAgIGhlaWdodDogMmVtO1xuXHRcdFx0XHRcdFx0ICAgIHRvcDogMmVtO1xuXHRcdFx0XHRcdFx0ICAgIGxpbmUtaGVpZ2h0OiAyO1x0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZS1wdXJlO1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tYm9sZDsgXHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdmlvbGV0O1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0XHRcdCAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRcdFx0ICBmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0XHRcdCAgfVxuXHRcdFx0XHRcdFx0XHQgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdFx0XHQgIGZvbnQtc2l6ZTogMTNweDsgIFxuXHRcdFx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHRcdFx0ICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHQgIGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0XHRcdCAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdCAgZm9udC1zaXplOiAxM3B4OyAgXG5cdFx0XHRcdFx0XHRcdCAgfVx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0LmRvdGNoYXJ0LS1sYWJlbCB7XG5cdFx0XHRcdFx0XHR0b3A6IDJlbTtcblx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0XHRcdHRvcDogMmVtO1xuXHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdFx0XHRcdHRvcDogMS41ZW07XHRcdFx0XHRcdCAgXG5cdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdCAgICAgICAgdG9wOiAxLjVlbTtcdFx0XG5cdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHQgXHRcdHRvcDogMS41ZW07XG5cdFx0XHRcdFx0ICAgICAgICB9XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0Ji5kb3RjaGFydC0tbGFiZWxfbGVmdCB7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IC0yNXB4O1xuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogLTI1cHg7XG5cdFx0XHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogLTI1cHg7XG5cdFx0XHRcdFx0XHQgICAgICAgIH1cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Ji5kb3RjaGFydC0tbGFiZWxfcmlnaHQge1xuXHRcdFx0XHRcdFx0XHRyaWdodDogLTE1cHg7XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgIHJpZ2h0OiAtMzBweDtcdFxuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdFx0ICBcdFx0cmlnaHQ6IC0zMHB4O1xuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgIHJpZ2h0OiAtMzBweDtcdFxuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0IFx0XHRyaWdodDogLTMwcHg7XG5cdFx0XHRcdFx0XHQgICAgICAgIH1cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LmNvbGxlY3RpY29uIHtcblx0XHRcdFx0XHRcdFx0Ji5jb2xsZWN0aWNvbi1hcnJvdy1kb3duIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXG5cdHNlY3Rpb24uc2VydmljZS0tc2VjdGlvbiB7XG5cblx0XHQuY29udGFpbi5zcGFjZWQtcm93LnJvdyB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMxMzEzMTtcblxuXHRcdFx0LnRpdGxlLXNlY3Rpb24ge1xuXHQgICAgXHRkaXNwbGF5OiBmbGV4O1xuXHQgICAgXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdCAgICBcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdCAgICBcdG1hcmdpbi1ib3R0b206IC44ZW07XG5cdCAgICAgIGgzIHtcblx0ICAgICAgXHRtYXJnaW4tYm90dG9tOiAwOyAgXG5cdCAgICAgIH0gICAgIFxuXHQgICAgICAub3ZlcmFsbC1zY29yZSB7XG5cdCAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTsgIFxuXHQgICAgICAgIGxhYmVsIHtcblx0ICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDsgIFxuXHQgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0ICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cdCAgICAgICAgICBmb250LXNpemU6IDEycHg7XG5cdCAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOyBcblx0ICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdCAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHQgICAgICAgICAgICBmb250LXNpemU6IDEycHg7ICBcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHQgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7ICBcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdCAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHQgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7ICBcblx0ICAgICAgICAgIH0gXG5cdCAgICAgICAgfVxuXHQgICAgICAgIC5vdmVyYWxsLXNjb3JlLXZhbHVlIHtcblx0ICAgICAgICBmb250LWZhbWlseTogJHNpbXBsb24tYm9sZDtcblx0ICAgICAgICBjb2xvcjogJGdyYXk7XG5cdCAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuXHQgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IFxuXHQgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdCAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXHQgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxOXB4OyAgXG5cdCAgICAgICAgICB9XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0ICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgIFxuXHQgICAgICAgICAgfVxuXHQgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0ICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAzNHB4OyAgXG5cdCAgICAgICAgICB9ICAgICAgICAgICBcblx0ICAgICAgICB9XG5cdCAgICAgIH1cblxuXHQgICAgICAub3ZlcmFsbC1zY29yZS5zZXJ2aWNlIHtcblx0ICAgICAgXHRtYXJnaW4tbGVmdDogMDtcblx0ICAgICAgXHQub3ZlcmFsbC1zY29yZS12YWx1ZSB7XG5cdCAgICAgIFx0XHRjb2xvcjogJGJsYWNrO1xuXHQgICAgICBcdH1cblx0ICAgICAgfSAgICAgIFxuXHQgICAgfVxuXG5cdCAgICAucmFuay0tc2VjdGlvbiB7XG5cdCAgICBcdGRpc3BsYXk6IGZsZXg7XG5cdCAgICBcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0ICAgIFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ICAgIFx0bWFyZ2luOiAxZW0gMCAxLjJlbTsgICAgIFxuXHQgICAgICAub3ZlcmFsbC1zY29yZSB7XG5cdCAgICAgIFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLWJvbGQ7XG5cdCAgICAgIFx0Zm9udC1zaXplOiAzMHB4O1xuXHQgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcblx0ICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHQgICAgICBcdGZvbnQtc2l6ZTogMzBweDtcblx0XHQgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0ICAgICAgICB9XG5cdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHQgICAgICBcdGZvbnQtc2l6ZTogMzVweDtcblx0XHQgICAgICAgIG1hcmdpbi10b3A6IDVweDtcdFx0ICBcblx0XHQgICAgICAgIH1cblx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0ICAgICAgXHRmb250LXNpemU6IDQycHg7XG5cdFx0ICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG5cdFx0ICAgICAgICB9XG5cdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHQgXHRcdGZvbnQtc2l6ZTogNDJweDtcblx0XHQgICAgICAgIG1hcmdpbi10b3A6IDAwcHg7XHRcdCBcdFx0XG5cdFx0ICAgICAgICB9XHQgICAgICAgICAgXG5cdCAgICAgIH1cblx0ICAgICAgXG4gICAgICAgIC5yYW5rLS1zZWN0aW9uX3JhbmtfdmFsdWUge1xuICAgIFx0d2lkdGg6IDIuMmVtO1xuICAgIFx0aGVpZ2h0OiAyLjJlbTtcbiAgICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5OyAgICAgICAgIFxuICAgIFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyAoNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICAgIFx0d2lkdGg6IDEuOGVtO1xuICAgICAgICAgIFx0aGVpZ2h0OiAxLjhlbTsgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICAgICAgICBcdHdpZHRoOiAxLjhlbTtcbiAgICAgICAgICBcdGhlaWdodDogMS44ZW07ICAgICAgICAgICAgICAgXG4gICAgICAgICAgfSBcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgIFx0d2lkdGg6IDEuOGVtO1xuICAgICAgICAgIFx0aGVpZ2h0OiAxLjhlbTsgICAgICAgICAgICAgICBcbiAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgXHR3aWR0aDogMi4yZW07ICBcbiAgICAgICAgICBcdGhlaWdodDogMi4yZW07ICAgICAgICAgICAgICAgIFxuICAgICAgICAgIH0gICAgICAgICAgICAgICBcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICBcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkO1xuICAgICAgICAgIFx0Y29sb3I6ICR3aGl0ZS1wdXJlO1xuICAgICAgICAgIFx0Zm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIFx0bGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgICAgICBcdGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIFx0bGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgICAgICAgICAgXHRmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBcdGxpbmUtaGVpZ2h0OiAyOyAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgICAgICAgXHRmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBcdGxpbmUtaGVpZ2h0OiAxLjg7IFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgICAgICAgICBcdGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIFx0bGluZS1oZWlnaHQ6IDIuMjsgXG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgfSBcblx0XHRcdH1cblxuXHQgICAgbGFiZWwge1xuXHRcdCAgICBmb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7ICBcblx0XHQgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHQgICAgY29sb3I6ICRibGFjaztcblx0XHQgICAgZm9udC1zaXplOiAxMnB4O1xuXHRcdCAgICBsaW5lLWhlaWdodDogMS4zOyBcblx0XHQgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHQgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdCAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdCAgICAgIGZvbnQtc2l6ZTogMTJweDsgIFxuXHRcdCAgICB9XG5cdFx0ICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdCAgICAgIGZvbnQtc2l6ZTogMTNweDsgIFxuXHRcdCAgICB9XG5cdFx0ICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0ICAgICAgZm9udC1zaXplOiAxNHB4O1xuXHRcdCAgICB9XG5cdFx0ICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdCAgICAgIGZvbnQtc2l6ZTogMTRweDsgIFxuXHRcdCAgICB9IFxuXHRcdCAgfVxuXG5cdCAgICAuY29udGFpbmVyLS1sZWZ0IHtcblx0ICAgIFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0ICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdCAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgICAuY29udGFpbmVyLS1yaWdodCB7XG5cdCAgICAgIG1hcmdpbi1yaWdodDogMDtcblx0ICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXHQgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0ICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdCAgICAgIH1cblx0ICAgIH1cblx0ICB9XG5cblx0fVxuXG5cbn0iLCIuY29sLTYge1xuXHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgXHR9XG59IiwiI3BhZ2UtLWNhdGVnb3J5IHtcblxuXHQmLmdvdmVybmFuY2Uge1xuXHRcdC5wYWdlLS10aXRsZSxcblx0XHQucGFnZS0tc3VidGl0bGUsXG5cdFx0aDMge1xuXHRcdFx0Y29sb3I6ICRjYXQtY29tbWl0bWVudCAhaW1wb3J0YW50O1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkY2F0LWNvbW1pdG1lbnQgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XHRcblx0fVxuXHQmLmZyZWVkb20tb2YtZXhwcmVzc2lvbiB7XG5cdFx0LnBhZ2UtLXRpdGxlLFxuXHRcdC5wYWdlLS1zdWJ0aXRsZSxcblx0XHRoMyB7XG5cdFx0XHRjb2xvcjogJGNhdC1mcmVlZG9tICFpbXBvcnRhbnQ7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRjYXQtZnJlZWRvbSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cdFxuXHR9XG5cdCYucHJpdmFjeSB7XG5cdFx0LnBhZ2UtLXRpdGxlLFxuXHRcdC5wYWdlLS1zdWJ0aXRsZSxcblx0XHRoMyB7XG5cdFx0XHRjb2xvcjogJGNhdC1wcml2YWN5ICFpbXBvcnRhbnQ7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRjYXQtcHJpdmFjeSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cdFxuXHR9XG5cblx0LnBhZ2UtY29udGVudC1keW5hbWljIHtcblxuXHRcdC5wYWdlLWludHJvZHVjdGlvbiB7XG5cblx0XHR9XG5cblx0XHQuY2F0ZWdvcnktZ3JhcGgge1xuXHRcdFx0LmNhdGVnb3J5LWNoYXJ0IHtcblx0XHRcdFx0I2NhdGVnb3J5LS1vdmVydmlld19jaGFydF9sZWZ0LFxuXHRcdFx0XHQjY2F0ZWdvcnktLW92ZXJ2aWV3X2NoYXJ0X3JpZ2h0IHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCNjYXRlZ29yeS0tb3ZlcnZpZXdfY2hhcnRfbGVmdCB7XG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0I2NhdGVnb3J5LS1vdmVydmlld19jaGFydF9yaWdodCB7XG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRvcmFuZ2U7XHRcblx0XHRcdFx0XHR9XHRcdFx0XHRcdFxuXHRcdFx0XHR9XHRcdFx0XHRcblx0XHRcdFx0LmdyYXBoLXRpdGxlIHtcblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7XG5cdFx0XHRcdCAgICBjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHQgICAgZm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHQgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG5cdFx0XHRcdCAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0XHQgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0ICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0ICAgICAgZm9udC1zaXplOiAxMXB4OyAgXG5cdFx0XHRcdCAgICAgIH1cblx0XHRcdFx0ICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdCAgICAgIGZvbnQtc2l6ZTogMTJweDsgIFxuXHRcdFx0XHQgICAgICB9XG5cdFx0XHRcdCAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdCAgICAgIGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0ICAgICAgfVxuXHRcdFx0XHQgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0ICAgICAgZm9udC1zaXplOiAxM3B4OyAgXG5cdFx0XHRcdCAgICAgIH1cblx0XHRcdFx0XHR9XG5cdFx0XHQgICAgfSAgIFxuXHRcdFx0XHQuYmFyLS1jaGFydCB7XG5cdFx0XHRcdGhlaWdodDogMjYwcHg7XG5cdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMDBweDtcblx0XHRcdCAgICAgICAgfVxuXHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDMwMHB4O1xuXHRcdFx0ICAgICAgICB9XG5cdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMDBweDtcblx0XHRcdCAgICAgICAgfVxuXHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDMwMHB4O1x0XHRcdCBcblx0XHRcdCAgICAgICAgfVx0XHRcdFx0XG5cblx0XHRcdFx0XHQuYmFyLS1heGlzX3gge1xuXHRcdFx0XHRcdFx0LnRpY2sge1xuXHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1x0XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjsgICAgICAgICAgICAgICBcblx0XHRcdFx0XHRcdGZpbGw6ICRibGFjaztcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tcmVndWxhcjtcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgICAgICAgICAgICAgICBcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDlweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4OyAgXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7ICBcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IFx0XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKC0xMHB4LCAyMHB4KTtcdFxuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0zNWRlZykgdHJhbnNsYXRlKC01cHgsIDI1cHgpO1x0XHRcdFx0ICBcblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0zNWRlZykgdHJhbnNsYXRlKC01cHgsIDI1cHgpO1xuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0zNWRlZykgdHJhbnNsYXRlKC01cHgsIDI1cHgpO1x0XHRcdFx0IFxuXHRcdFx0XHRcdFx0ICAgICAgICB9XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdH0gXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYmFyLS1heGlzX3hfcmFuayB7XG5cdFx0XHRcdFx0XHQudGljayB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjsgICAgICAgICAgICAgICBcblx0XHRcdFx0XHRcdGZpbGw6ICR3aGl0ZS1wdXJlO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkO1x0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4OyAgXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7ICBcblx0XHRcdFx0XHRcdFx0fSBcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYmFyIHtcblx0XHRcdFx0XHRcdCYuYmFyLS1nb3Zlcm5hbmNlIHtcblx0XHRcdFx0XHRcdGZpbGw6ICRjYXQtY29tbWl0bWVudCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0ICAmOmhvdmVyIHtcblx0XHRcdFx0XHRcdCAgZmlsbDogJGNhdC1jb21taXRtZW50LWhvdmVyICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHQgIH1cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLmJhci0tZnJlZWRvbSB7XG5cdFx0XHRcdFx0XHRmaWxsOiAkY2F0LWZyZWVkb20gIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdCAgJjpob3ZlciB7XG5cdFx0XHRcdFx0XHQgIGZpbGw6ICRjYXQtZnJlZWRvbS1ob3ZlciAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0ICB9XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5iYXItLXByaXZhY3kge1xuXHRcdFx0XHRcdFx0ZmlsbDogJGNhdC1wcml2YWN5ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHQgICY6aG92ZXIge1xuXHRcdFx0XHRcdFx0ICBmaWxsOiAkY2F0LXByaXZhY3ktaG92ZXIgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdCAgfVx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5ncmFwaC1sZWdlbmQge1xuXHRcdFx0Y2xlYXI6IGJvdGg7XHRcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRcdC5zZXJ2aWNlLXJhbmsge1x0XG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRncmF5O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuZ3JhcGgtbGVnZW5kLXZhbHVlcy12YWx1ZSB7XHRcdFx0XHRcdFxuXHRcdFx0XHRmb250LWZhbWlseTogJHNpbXBsb24tbWVkaXVtO1xuXHRcdFx0XHR9XHRcdFx0XHRcblx0XHRcdH1cdFx0XHRcblx0XHR9XG5cblxuXHRcdC5jYXRlZ29yeS1pbmRpY2F0b3JzIHtcblx0XHRcdC5jb250YWluZXItLWxlZnQgKyAuY29udGFpbmVyLS1yaWdodCB7XG5cdFx0XHQvKmJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxpZ2h0LWdyZXk7Ki9cblx0XHRcdH1cblx0XHRcdC5jb250YWluZXItLWxlZnQge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY29udGFpbmVyLS1yaWdodCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmluZGljYXRvci1pdGVtIHtcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcdFx0XHRcdFxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMWVtO1x0XHRcdFxuXHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdCAgICAgICAgbWFyZ2luLXRvcDogMWVtO1x0ICAgICAgICBcdFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDBlbTtcdFx0XHRcdFx0XHQgIFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMGVtO1xuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDBlbTtcdFx0IFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgIH0gICAgXHRcdFx0XHRcblx0XHRcdFx0fVx0XHRcdFx0XG5cdFx0XHR9XHRcdFx0XG5cdFx0XHQuaW5kaWNhdG9yLWl0ZW0gKyAuaW5kaWNhdG9yLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLXRvcDogMWVtO1x0XHRcdFxuXHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHQgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcdCAgICAgICAgXHRcblx0XHQgICAgICAgIH1cblx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyZW07XHRcdFx0XHRcdFx0ICBcblx0XHQgICAgICAgIH1cblx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHQgICAgICAgIH1cblx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyZW07XHRcdCBcblx0XHQgICAgICAgIH1cdFx0XHRcdFxuXHRcdFx0fVx0XHRcdFxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIiNwYWdlLS1pbmRpY2F0b3JzIHtcblxuXHQuaW50cm9kdWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAgICBcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcdFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7IFxuXHRcdGFsaWduLWl0ZW1zOiBzcGFjZS1hcm91bmQ7XHRcdCBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgXG4gICAgICAgIH1cblxuXG4gICAgICAgIC5pbmRpY2F0b3ItaXRlbSB7XG5cdCAgICAgICAgbGFiZWwge1xuXHQgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDsgIFxuXHQgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCAgICAgICAgY29sb3I6ICRibGFjaztcblx0ICAgICAgICBmb250LXNpemU6IDEycHg7XG5cdCAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG5cdCAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblx0ICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxMnB4OyAgXG5cdCAgICAgICAgICB9XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0ICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgIFxuXHQgICAgICAgICAgfVxuXHQgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0ICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgXG5cdCAgICAgICAgICB9ICAgXG5cdCAgICAgICAgfSAgICAgICAgXHRcbiAgICAgICAgfVxuICAgICAgICAuaW5kaWNhdG9yLWl0ZW0gKyAuaW5kaWNhdG9yLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMGVtO1xuXHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdCAgICAgICAgbWFyZ2luLWxlZnQ6IDBlbTtcdFx0XG5cdCAgICAgICAgfVxuXHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDRlbTtcdCAgXG5cdCAgICAgICAgfVxuXHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNGVtO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0ZW07XHQgXG5cdCAgICAgICAgfVxuXG4gICAgICAgIH1cblx0XHQuZ292ZXJuYW5jZSB7XG5cdFx0Y29sb3I6ICRjYXQtY29tbWl0bWVudCAhaW1wb3J0YW50O1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGNhdC1jb21taXRtZW50ICFpbXBvcnRhbnQ7XHRcblx0XHRcdH1cblx0XHR9ICAgXG5cdFx0LmZyZWVkb20ge1xuXHRcdGNvbG9yOiAkY2F0LWZyZWVkb20gIWltcG9ydGFudDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRjYXQtZnJlZWRvbSAhaW1wb3J0YW50O1x0XG5cdFx0XHR9XG5cdFx0fSAgIFxuXHRcdC5wcml2YWN5IHtcblx0XHRjb2xvcjogJGNhdC1wcml2YWN5ICFpbXBvcnRhbnQ7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkY2F0LXByaXZhY3kgIWltcG9ydGFudDtcdFxuXHRcdFx0fVxuXHRcdH0gICAgICAgIFxuXHR9XG5cdC5pbmRpY2F0b3JzLXdyYXBwZXIge1xuXG5cdFx0I0cxLCAjRzIsICNHMywgI0c0LCAjRzUsIFxuXHRcdCNGMSwgI0YyLCAjRjMsICNGNCwgI0Y1LCAjRjYsICNGNywgI0Y4LCAjRjksICNGMTAsICNGMTEsXG5cdFx0I1AxLCAjUDIsICNQMywgI1A0LCAjUDUsICNQNiwgI1A3LCAjUDgsICNQOSwgI1AxMCwgI1AxMSwgI1AxMiwgI1AxMywgI1AxNCwgI1AxNSwgI1AxNiwgI1AxNywgI1AxOCB7XG5cdFx0cGFkZGluZy10b3A6IDEuNWVtO1xuICAgIFx0cGFkZGluZy1ib3R0b206IDBlbTtcbiAgICBcdGNsZWFyOiBib3RoO1xuXHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMS41ZW07XG5cdCAgICBcdHBhZGRpbmctYm90dG9tOiAwZW07XG5cdCAgICAgICAgfVxuXHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0cGFkZGluZy10b3A6IDEuNWVtO1xuXHQgICAgXHRwYWRkaW5nLWJvdHRvbTogMGVtO1x0ICBcblx0ICAgICAgICB9XG5cdCAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdHBhZGRpbmctdG9wOiAxLjVlbTtcblx0ICAgIFx0cGFkZGluZy1ib3R0b206IDBlbTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMS41ZW07XG5cdCAgICBcdHBhZGRpbmctYm90dG9tOiAwZW07XHQgXG5cdCAgICAgICAgfSAgICBcdFxuXHRcdH1cblx0XHQjRzEge1xuXHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1ib3R0b206IDFlbSAhaW1wb3J0YW50O1x0XG5cdFx0fVx0XHRcblx0XHQjRzEsICNHMiwgI0czLCAjRzQsICNHNSB7XG5cdFx0XHRoMyB7XG5cdFx0XHRjb2xvcjogJGNhdC1jb21taXRtZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHQgICY6aG92ZXIge1xuXHRcdFx0ICBjb2xvcjogJGNhdC1jb21taXRtZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHQgIH1cblx0ICAgICAgICB9XG5cdFx0fVxuXHRcdCNGMSwgI0YyLCAjRjMsICNGNCwgI0Y1LCAjRjYsICNGNywgI0Y4LCAjRjksICNGMTAsICNGMTEge1xuXHRcdFx0aDMge1xuXHRcdFx0Y29sb3I6ICRjYXQtZnJlZWRvbSAhaW1wb3J0YW50O1xuXHRcdFx0ICAmOmhvdmVyIHtcblx0XHRcdCAgY29sb3I6ICRjYXQtZnJlZWRvbSAhaW1wb3J0YW50O1xuXHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCNQMSwgI1AyLCAjUDMsICNQNCwgI1A1LCAjUDYsICNQNywgI1A4LCAjUDksICNQMTAsICNQMTEsICNQMTIsICNQMTMsICNQMTQsICNQMTUsICNQMTYsICNQMTcsICNQMTgge1xuXHRcdFx0aDMge1xuXHRcdFx0Y29sb3I6ICRjYXQtcHJpdmFjeSAhaW1wb3J0YW50O1xuXHRcdFx0ICAmOmhvdmVyIHtcblx0XHRcdCAgY29sb3I6ICRjYXQtcHJpdmFjeSAhaW1wb3J0YW50O1xuXHRcdFx0ICB9XHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdCAgICAuY29tcGFueS10eXBlIHtcblx0ICAgIG1hcmdpbi10b3A6IDFlbTtcdFxuXHQgICAgZm9udC1mYW1pbHk6ICRzaW1wbG9uLWxpZ2h0O1xuXHQgICAgY29sb3I6ICRibGFjaztcblx0ICAgIGZvbnQtc2l6ZTogMTFweDtcblx0ICAgIGxpbmUtaGVpZ2h0OiAxLjM7IFxuXHQgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdCAgICAgIGZvbnQtc2l6ZTogMTFweDsgIFxuXHQgICAgICB9XG5cdCAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHQgICAgICBmb250LXNpemU6IDEycHg7ICBcblx0ICAgICAgfVxuXHQgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHQgICAgICBmb250LXNpemU6IDEzcHg7XG5cdCAgICAgIH1cblx0ICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdCAgICAgIGZvbnQtc2l6ZTogMTNweDsgIFxuXHQgICAgICB9ICAgICAgICBcblx0ICAgIH1cblx0ICAgIC5jb250YWluZXItLWxlZnQge1xuXHQgICAgXHRpIHtcblx0ICAgIFx0Y29sb3I6ICRyZWQ7XHRcblx0ICAgIFx0fVxuXHQgICAgfVxuXHQgICAgLmNvbnRhaW5lci0tcmlnaHQge1xuXHQgICAgXHRpIHtcblx0ICAgIFx0Y29sb3I6ICRvcmFuZ2U7XHRcblx0ICAgIFx0fVxuXHQgICAgfVx0ICAgIFxuXHRcdC5iYXItLWNvbnRhaW5lciB7XG5cdCAgICAgICAgbGFiZWwge1xuXHQgICAgICAgIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDsgIFxuXHQgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCAgICAgICAgY29sb3I6ICRibGFjaztcblx0ICAgICAgICBmb250LXNpemU6IDEycHg7XG5cdCAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgXG5cdCAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblx0ICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxMnB4OyAgXG5cdCAgICAgICAgICB9XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0ICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgIFxuXHQgICAgICAgICAgfVxuXHQgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0ICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgXG5cdCAgICAgICAgICB9ICAgXG5cdCAgICAgICAgfVx0XHRcdFx0XHRcblx0XHR9XG4gICAgICAgIC5iYXItLWNoYXJ0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XHRcblx0ICAgICAgICAuYmFyLS1heGlzX3gge1xuXHRcdFx0XHQudGljayB7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcdFxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOyAgICAgICAgICAgICAgIFxuXHRcdFx0XHRmaWxsOiAkYmxhY2s7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1yZWd1bGFyO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgICAgICAgICAgICAgICAgXG5cdFx0XHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTBweDsgIFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4OyAgXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdFx0XHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0XHRcdCAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcdFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0zNWRlZyk7XHRcdFx0XHQgIFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTM1ZGVnKTtcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMzVkZWcpO1xuXHRcdFx0XHQgICAgICAgIH1cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9IFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHQgICAgICAgIH1cblx0ICAgICAgICAuRyB7XG5cdCAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcdFxuXHRcdCAgICAgICAgLmJhci0tZGVmYXVsdCB7XG5cdFx0XHRcdGZpbGw6ICRjYXQtY29tbWl0bWVudDtcblx0XHRcdFx0ICAmOmhvdmVyIHtcblx0XHRcdFx0ICBmaWxsOiAkY2F0LWNvbW1pdG1lbnQtaG92ZXIgIWltcG9ydGFudDtcblx0XHRcdFx0ICB9XG5cdFx0ICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIC5GIHtcblx0ICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1x0XG5cdFx0ICAgICAgICAuYmFyLS1kZWZhdWx0IHtcblx0XHRcdFx0ZmlsbDogJGNhdC1mcmVlZG9tO1xuXHRcdFx0XHQgICY6aG92ZXIge1xuXHRcdFx0XHQgIGZpbGw6ICRjYXQtZnJlZWRvbS1ob3ZlciAhaW1wb3J0YW50O1xuXHRcdFx0XHQgIH1cblx0XHQgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgLlAge1xuXHQgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHRcblx0XHQgICAgICAgIC5iYXItLWRlZmF1bHQge1xuXHRcdFx0XHRmaWxsOiAkY2F0LXByaXZhY3k7XG5cdFx0XHRcdCAgJjpob3ZlciB7XG5cdFx0XHRcdCAgZmlsbDogJGNhdC1wcml2YWN5LWhvdmVyICFpbXBvcnRhbnQ7XG5cdFx0XHRcdCAgfVxuXHRcdCAgICAgICAgfVxuXHQgICAgICAgIH1cdCAgICAgICAgXHRcbiAgICAgICAgfVxuXHRcdC5jb250YWluZXItLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1x0XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpOyAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuIFxuICAgICAgICB9XHRcdFx0XG5cdCAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0ICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHQgICAgfVxuXHQgIH1cblx0ICAuY29udGFpbmVyLS1yaWdodCB7XG5cdCAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHRcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7ICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gXG4gICAgICAgIH1cdCAgICBcblx0ICB9XG5cblx0fVxuXG59XG5cblxuXG4vKi5pbmRpY2F0b3ItLXN1Yl90ZXh0IHtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufSovXG5cbi5pbmRpY2F0b3ItLWNob2ljZXMsXG4uaW5kaWNhdG9yLS1zdWJfY2hvaWNlcyB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbGlzdC1zdHlsZTogaW5pdGlhbDtcblxuICBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIiNwYWdlLS1kb3dubG9hZCB7XG5cdC5wYWdlLS1jb250ZW50IHtcblx0XHR1bCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdCAgICBtYXJnaW46IDA7XG5cdFx0ICAgIHBhZGRpbmc6IDA7XHRcdFx0XHRcblx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1ib2xkOyAgXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgIFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgICBcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdH1cdFx0XHRcdFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLWJvbGQ7ICBcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICBcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgXHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgXHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgIFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRwIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1x0XG5cdFx0fVxuXHR9XG59IiwiI3BhZ2UtLWFydGljbGUge1xuXHQucGFnZS1jb250ZW50LWR5bmFtaWMge1xuXHRcdGgyLCBoMyB7XG5cdFx0bWFyZ2luLXRvcDogMWVtO1x0XG5cdFx0fVxuXHRcdGgxICsgaDIge1xuXHRcdG1hcmdpbi10b3A6IDBlbTtcdFxuXHRcdH1cblx0XHR1bCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdCAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXHQgICAgICAgIH1cblx0ICAgICAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0ICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdCAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXHQgICAgICAgIH1cblx0ICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0ICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdCAgICAgICAgfVx0XHRcdFx0XHRcblx0XHRcdGxpIHtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7IFxuXHQgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcblx0ICAgICAgICBsaW5lLWhlaWdodDogMS4zOyBcblx0ICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXHQgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdCAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cdCAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7ICBcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuXHQgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyAgXG5cdCAgICAgICAgICB9XG5cdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXHQgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHQgICAgICAgICAgZm9udC1zaXplOiAxNnB4OyBcblx0ICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IFxuXHQgICAgICAgICAgfVxuXHQgICAgICAgICAgdWwge1xuXHQgICAgICAgICAgXHRsaSB7XG5cdCAgICAgICAgICBcdGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlICFpbXBvcnRhbnQ7XG5cdFx0ICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0ICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgIFxuXHRcdCAgICAgICAgICB9XG5cdFx0ICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdCAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7ICBcblx0XHQgICAgICAgICAgfVxuXHRcdCAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdCAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0ICAgICAgICAgIH1cblx0XHQgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0ICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgXG5cdFx0ICAgICAgICAgIH1cdCAgICAgICAgICBcdFx0XG5cdCAgICAgICAgICBcdH1cblx0ICAgICAgICAgIH1cdFx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcdFx0XG5cdFx0fVxuXHRcdC5jbG9zaW5nLXNlbnRhbmNlIHtcblx0XHRtYXJnaW4tdG9wOiAxZW07XHRcblx0XHR9XG5cdH1cbn0iLCIuc3VydmV5LXJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4vKi5zdXJ2ZXktLXF1ZXN0aW9uX2hlZCB7XG5tYXJnaW4tdG9wOiAxLjI1ZW07XG59Ki9cblxuLnN1cnZleS0tc2NvcmUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uc3VydmV5LS1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAuNWVtO1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07XG4gIH1cbn1cblxuLnN1cnZleS0taW5saW5lX25hbWUge1xuICBmb250LXNpemU6IC45ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zdXJ2ZXktLWl0ZW1fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAuM2VtO1xufVxuXG4uc2NvcmUtLXRpZXIge1xuICBwYWRkaW5nOiAuNWVtIC43NWVtIC40ZW07XG59XG5cbi5zY29yZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IC41ZW07XG4gIC5zY29yZS0tdGllciB7XG4gICAgbWFyZ2luLWxlZnQ6IC43ZW07XG4gICAgcGFkZGluZzogLjE1ZW0gLjRlbSAuMWVtO1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgfVxufVxuXG5cbi5zY29yZS0tdGllciB7XG4gIG1pbi13aWR0aDogNTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgbWluLXdpZHRoOiA1MnB4O1xuICB9XG59XG5cbi5zY29yZS0tdGllcl8zIHtcbiAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtY29sb3I7XG59XG4uc2NvcmUtLXRpZXJfMiB7XG4gIGJhY2tncm91bmQ6ICRncmF5O1xufVxuLnNjb3JlLS10aWVyXzEge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cbi5zY29yZS0tdGllcl8wIHtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG4uc2NvcmVfX3RpZXJfbmEge1xuICBiYWNrZ3JvdW5kOiAkZGFyaztcbn1cblxuLnNjb3JlLS10aWVyX3Qge1xuICBiYWNrZ3JvdW5kOiAkY2F0LXRvdGFsO1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG4uc2NvcmUtLXRpZXJfYyB7XG4gIGJhY2tncm91bmQ6ICRjYXQtY29tbWl0bWVudDtcbn1cblxuLnNjb3JlLS10aWVyX3Age1xuICBiYWNrZ3JvdW5kOiAkY2F0LXByaXZhY3k7XG59XG5cbi5zY29yZS0tdGllcl9mIHtcbiAgYmFja2dyb3VuZDogJGNhdC1mcmVlZG9tO1xufVxuXG4ubGV2ZWwge1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICB9XG59XG5cbi5sYWJlbC0taW5zdWZmaWNpZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXRvcDogMWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuIiwiXG5cbiNpbmRleC0tdml6X2NvbnRhaW5lciB7XG4gIEBleHRlbmQgLmNvbnRhaW47XG59XG5cbiNjYXRlZ29yeS0taW50ZXJuZXQsXG4jY2F0ZWdvcnktLXRlbGNvIHtcbiAgQGluY2x1ZGUgbm9zZWxlY3Q7XG59XG5cbi52aXMtLXJvdyB7XG53aWR0aDogMTAwJTtcbmRpc3BsYXk6IGlubGluZS1mbGV4O1xuYWxpZ24taXRlbXM6IGNlbnRlcjtcbnBhZGRpbmctdG9wOiAwZW07XG5wYWRkaW5nLWJvdHRvbTogMDtcbmxpbmUtaGVpZ2h0OiAxLjRlbTtcbmN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnZpcy0tcm93ICsgLnZpcy0tcm93IHtcbnBhZGRpbmctdG9wOiAuN2VtO1xufVxuXG4udmlzLS1yb3dfdGl0bGUge1xud2lkdGg6ICR0aXRsZS13aWR0aC14cztcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgd2lkdGg6ICR0aXRsZS13aWR0aC1zbTsgIFxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICB3aWR0aDogJHRpdGxlLXdpZHRoLW1kO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gIHdpZHRoOiAkdGl0bGUtd2lkdGgtbGc7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgd2lkdGg6ICR0aXRsZS13aWR0aC14bGc7IFxuICB9ICBcblxufVxuXG4udmlzLS1jYXRlZ29yeV9zY29yZSB7XG5mb250LWZhbWlseTogJHNpbXBsb24tbGlnaHQ7XG5jb2xvcjogJGJsYWNrO1xudGV4dC1hbGlnbjogY2VudGVyOyAgXG53aWR0aDogJHNjb3JlLXdpZHRoLXhzO1xuICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICB3aWR0aDogJHNjb3JlLXdpZHRoLXNtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICB3aWR0aDogJHNjb3JlLXdpZHRoLW1kO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gIHdpZHRoOiAkc2NvcmUtd2lkdGgtbGc7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgd2lkdGg6ICRzY29yZS13aWR0aC14bGc7ICBcbiAgfSAgICBcbn1cblxuLnZpcy0tdHlwZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkZ3JheTtcbn1cblxuXG4vKiBIb3Jpem9udGFsIGNoYXJ0IChpbmRleCkqL1xuLnZpcy0taGVhZGVyIHtcbmJvcmRlci1ib3R0b206IC4xZW0gc29saWQgJGxpZ2h0O1xuZm9udC1zaXplOiAuNzVlbTtcbm1hcmdpbi10b3A6IDFlbTtcbmFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgIFxufVxuXG4jY2F0ZWdvcnktLWludGVybmV0IC52aXMtLWhlYWRlciB7XG5tYXJnaW4tdG9wOiAwO1xufVxuXG4udmlzLS1oZWFkZXJfaXRlbSB7XG5mb250LWZhbWlseTogJHNpbXBsb24tcmVndWxhcjsgXG5jb2xvcjogJGJsYWNrO1xuZm9udC1zaXplOiAxNHB4O1xubGluZS1oZWlnaHQ6IDEuMzsgXG5sZXR0ZXItc3BhY2luZzogMXB4O1xudGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbm92ZXJmbG93OiBoaWRkZW47XG5cbmJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5wYWRkaW5nLXRvcDogLjVlbTtcbnBhZGRpbmctYm90dG9tOiAuNWVtO1xuXG4gID4gYSB7XG4gIGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1yZWd1bGFyOyAgXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICRibGFjaztcbiAgbGluZS1oZWlnaHQ6IDEuMzsgXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7ICAgIFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLW91dDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLnZpcy0tcm93X3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICAgID4gYSB7IFxuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH0gICAgXG4gIH0gIFxuXG59XG5cbi52aXMtLXJvd190aXRsZSB7XG5mb250LWZhbWlseTogJHNpbXBsb24tcmVndWxhcjsgXG5jb2xvcjogJGJsYWNrO1xuZm9udC1zaXplOiAxM3B4O1xubGluZS1oZWlnaHQ6IDEuMztcbmZvbnQtd2VpZ2h0OiA2MDA7IFxubGV0dGVyLXNwYWNpbmc6IDFweDtcbnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5vdmVyZmxvdzogaGlkZGVuO1xuXG5iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxucGFkZGluZy10b3A6IC41ZW07XG5wYWRkaW5nLWJvdHRvbTogLjVlbTtcblxuICA+IGEge1xuICBmb250LWZhbWlseTogJHNpbXBsb24tcmVndWxhcjsgIFxuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IFxuICBsZXR0ZXItc3BhY2luZzogMXB4OyAgICBcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZS1vdXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbn1cblxuXG5cbi5zb3J0ID4gLmNvbGxlY3RpY29uIHsgbWFyZ2luLWxlZnQ6IC4yNWVtOyB9XG4uc29ydC1hc2MgPiAuY29sbGVjdGljb246YmVmb3JlIHsgY29udGVudDogXCJcXEVBNzNcIjsgfVxuLnNvcnQtZGVzYyA+IC5jb2xsZWN0aWNvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUE3NFwiOyB9XG4uc29ydC1ub25lID4gLmNvbGxlY3RpY29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTc1XCI7IH1cbi5zb3J0LXNvcnQgPiAuY29sbGVjdGljb246YmVmb3JlIHsgY29udGVudDogXCJcXEVBNzZcIjsgfVxuXG4udmlzLS1oZWFkZXJfc2NvcmUge1xudGV4dC1hbGlnbjogY2VudGVyOyAgXG53aWR0aDogJHNjb3JlLXdpZHRoLXhzO1xuICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICB3aWR0aDogJHNjb3JlLXdpZHRoLXNtOyAgICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgd2lkdGg6ICRzY29yZS13aWR0aC1tZDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICB3aWR0aDogJHNjb3JlLXdpZHRoLWxnO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICB3aWR0aDogJHNjb3JlLXdpZHRoLXhsZztcbiAgfSAgIFxufVxuXG4udmlzLS1yb3dfYmFycyB7XG5kaXNwbGF5OiBpbmxpbmUtZmxleDtcbmFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbmp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgIFxud2lkdGg6ICRiYXItd2lkdGgteHM7XG4gIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gIHdpZHRoOiAkYmFyLXdpZHRoLXNtOyAgXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gIHdpZHRoOiAkYmFyLXdpZHRoLW1kOyAgXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgd2lkdGg6ICRiYXItd2lkdGgtbGc7ICBcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgd2lkdGg6ICRiYXItd2lkdGgteGxnOyAgXG4gIH1cbn1cblxuLnZpcy0tcm93X2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIHdpZHRoOiAyMiU7XG4gIH1cbn1cblxuLmJhci0tY291bnRfMSxcbi5iYXItLWNvdW50XzIsXG4uYmFyLS1jb3VudF8zIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnZpcy0taG9yaXpfYmFyX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkYmFyLWhlaWdodC14cztcbiAgYmFja2dyb3VuZDogJGJlaWdlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLWluO1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgaGVpZ2h0OiAkYmFyLWhlaWdodC1zbTsgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBoZWlnaHQ6ICRiYXItaGVpZ2h0LW1kO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgIGhlaWdodDogJGJhci1oZWlnaHQtbGc7ICAgICAgXG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgaGVpZ2h0OiAkYmFyLWhlaWdodC14bGc7ICAgICAgXG4gICAgfSAgICBcbn1cblxuLnZpcy0taG9yaXpfYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogJGJhci1oZWlnaHQteHM7XG4gIGhlaWdodDogMmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICBoZWlnaHQ6ICRiYXItaGVpZ2h0LXNtOyAgXG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIGhlaWdodDogJGJhci1oZWlnaHQtbWQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gICAgaGVpZ2h0OiAkYmFyLWhlaWdodC1sZzsgICAgICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICBoZWlnaHQ6ICRiYXItaGVpZ2h0LXhsZzsgICAgICBcbiAgICB9ICAgXG59XG5cbi8vIENvbG9yc1xuXG4udmlzLS1iYXJfdG90YWwge1xuYmFja2dyb3VuZDogJGNhdC10b3RhbDtcbnRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UtaW47XG4gICY6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAkY2F0LXRvdGFsLWhvdmVyOyAgXG4gIH1cbn1cbi52aXMtLWJhcl9jb21taXRtZW50IHtcbmJhY2tncm91bmQ6ICRjYXQtY29tbWl0bWVudDtcbnRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UtaW47XG4gICY6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAkY2F0LWNvbW1pdG1lbnQtaG92ZXI7ICBcbiAgfVxufVxuLnZpcy0tYmFyX2ZyZWVkb20ge1xuYmFja2dyb3VuZDogJGNhdC1mcmVlZG9tO1xudHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1pbjtcbiAgJjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICRjYXQtZnJlZWRvbS1ob3ZlcjsgIFxuICB9XG59XG4udmlzLS1iYXJfcHJpdmFjeSB7XG5iYWNrZ3JvdW5kOiAkY2F0LXByaXZhY3k7XG50cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLWluO1xuICAmOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogJGNhdC1wcml2YWN5LWhvdmVyOyAgXG4gIH1cbn1cblxuLnZpcy0taG9yaXpfYmFyX2NvbnRhaW5lcjpob3ZlciB7XG4gICY6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJlaWdlLCAzJSk7ICBcbiAgfVxufSIsIiIsIiRkYy1oZWlnaHQ6IDVlbTtcbiRkYy1iYXNlbGluZS10b3A6ICRkYy1oZWlnaHQgLyAyIC0gLjA1ZW07XG5cbiRkYy1kb3QtaGVpZ2h0OiAuOWVtO1xuJGRjLWRvdC10b3A6ICRkYy1oZWlnaHQgLyAyIC0gJGRjLWRvdC1oZWlnaHQgLyAyO1xuXG4kZGMtYWN0aXZlLWRvdC1oZWlnaHQ6IDEuMmVtO1xuJGRjLWFjdGl2ZS1kb3QtdG9wOiAkZGMtaGVpZ2h0IC8gMiAtICRkYy1hY3RpdmUtZG90LWhlaWdodCAvIDI7XG5cbkBtaXhpbiBkb3QtY29sb3IoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJGNvbG9yLCAxNSUpO1xuICB9XG59XG5cbi5kb3RjaGFydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbjogMCAwIDNlbTtcbiAgaGVpZ2h0OiAkZGMtaGVpZ2h0O1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBtYXJnaW46IDAgMWVtIDNlbTtcbiAgfVxufVxuXG4uZG90Y2hhcnQtLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRkYy1iYXNlbGluZS10b3AgKyAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6ICRkYXJrO1xufVxuXG4uZG90Y2hhcnQtLWxhYmVsX2xlZnQge1xuICBsZWZ0OiAwO1xufVxuXG4uZG90Y2hhcnQtLWxhYmVsX3JpZ2h0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5kb3RjaGFydC0tbGFiZWxfaGlnaGxpZ2h0IHtcbiAgdG9wOiAkZGMtYmFzZWxpbmUtdG9wIC0gJGRjLWFjdGl2ZS1kb3QtaGVpZ2h0ICogMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZGMtYWN0aXZlLWRvdC1oZWlnaHQvMiArIC4xZW07XG59XG5cbi5kb3RjaGFydC0tYmFzZWxpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAkZGMtYmFzZWxpbmUtdG9wO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyYXk7XG59XG5cbi5kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6ICRkYy1kb3QtaGVpZ2h0O1xuICBoZWlnaHQ6ICRkYy1kb3QtaGVpZ2h0O1xuICB0b3A6ICRkYy1kb3QtdG9wO1xuICBtYXJnaW4tbGVmdDogLSRkYy1kb3QtaGVpZ2h0IC8gMjtcblxuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNHMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciAuNHMgZWFzZS1vdXQ7XG4gIEBpbmNsdWRlIGRvdC1jb2xvcigkZGFyayk7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0O1xufVxuXG5cbi5kb3RjaGFydC0tdG90YWwgLmhpZ2hsaWdodCB7IEBpbmNsdWRlIGRvdC1jb2xvcigkY2F0LXRvdGFsKTsgfVxuLmRvdGNoYXJ0LS1wcml2YWN5IC5oaWdobGlnaHQgeyBAaW5jbHVkZSBkb3QtY29sb3IoJGNhdC1wcml2YWN5KTsgfVxuLmRvdGNoYXJ0LS1jb21taXRtZW50IC5oaWdobGlnaHQgeyBAaW5jbHVkZSBkb3QtY29sb3IoJGNhdC1jb21taXRtZW50KTsgfVxuLmRvdGNoYXJ0LS1mcmVlZG9tIC5oaWdobGlnaHQgeyBAaW5jbHVkZSBkb3QtY29sb3IoJGNhdC1mcmVlZG9tKTsgfVxuLmRvdGNoYXJ0IC5oaWdobGlnaHQgeyBib3JkZXItY29sb3I6ICRsaWdodDsgfVxuXG4uZG90LmhpZ2hsaWdodCB7XG4gIHdpZHRoOiAkZGMtYWN0aXZlLWRvdC1oZWlnaHQ7XG4gIGhlaWdodDogJGRjLWFjdGl2ZS1kb3QtaGVpZ2h0O1xuICB0b3A6ICRkYy1hY3RpdmUtZG90LXRvcDtcbiAgbWFyZ2luLWxlZnQ6IC0kZGMtYWN0aXZlLWRvdC1oZWlnaHQgLyAyO1xufVxuXG4uZG90Y2hhcnQtLXRvb2x0aXAge1xucG9zaXRpb246IGFic29sdXRlO1xudGV4dC1hbGlnbjogY2VudGVyO1xucGFkZGluZzogLjhlbSAxZW0gLjZlbTtcbmJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbmNvbG9yOiAkd2hpdGU7XG5ib3R0b206ICRkYy1kb3QtdG9wICsgMmVtO1xub3BhY2l0eTogMDtcbnRyYW5zaXRpb246IGJvdHRvbSAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgLjJzIGVhc2Utb3V0O1xudGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbmZvbnQtd2VpZ2h0OiA2MDA7XG5mb250LWZhbWlseTogJHNpbXBsb24tYm9sZDsgICAgICAgICAgICAgICAgIFxuZm9udC1zaXplOiAxMnB4O1xuICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTJweDsgIFxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcbiAgZm9udC1zaXplOiAxMnB4OyAgXG4gIH1cbiAgLnJhbmsge1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzICg1MCUpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcbiAgICBmb250LXNpemU6IDEycHg7ICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgIFxuICAgIH0gIFxuICB9XG4gIC5wZXJjZW50IHtcbiAgY29sb3I6ICRncmF5O1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG4gICAgZm9udC1zaXplOiAxMnB4OyAgXG4gICAgfSAgICAgICBcbiAgfVxuICAmLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJvdHRvbTogJGRjLWRvdC10b3AgKyAyLjVlbTtcbiAgfVxufSIsIi5iYXItLWF4aXNfeSBwYXRoLFxuLmJhci0tYXhpc195IGxpbmUsXG4uYmFyLS1heGlzX3ggcGF0aCxcbi5iYXItLWF4aXNfeCBsaW5lLFxuLmJhci0tYXhpc194X3NlcnZpY2UgcGF0aCxcbi5iYXItLWF4aXNfeF9zZXJ2aWNlIGxpbmUge1xuICBmaWxsOiBub25lO1xuICBzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7XG4gIHN0cm9rZTogJGdyYXk7XG59XG5cbi5iYXItLWRlZmF1bHQgeyBmaWxsOiAkY2F0LXRvdGFsOyB9XG4uYmFyLS1jb21taXRtZW50IHsgZmlsbDogJGNhdC1jb21taXRtZW50OyB9XG4uYmFyLS1mcmVlZG9tIHsgZmlsbDogJGNhdC1mcmVlZG9tOyB9XG4uYmFyLS1wcml2YWN5IHsgZmlsbDogJGNhdC1wcml2YWN5OyB9XG5cbi5iYXItLXplcm8ge1xuICBmaWxsOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xufVxuXG4uYmFyLS10aXAge1xuICBAaW5jbHVkZSB0b29sdGlwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLW91dDtcbn1cblxuLmJhci0tdGlwOmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXNpemU6IDFlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGJsYWNrO1xuICBjb250ZW50OiBcIlxcMjVCQ1wiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLkcge1xuICAuYmFyIHtcbiAgICBmaWxsOiAkY2F0LWNvbW1pdG1lbnQ7XG4gIH1cbn1cbi5GIHtcbiAgLmJhciB7XG4gICAgZmlsbDogJGNhdC1mcmVlZG9tO1xuICB9XG59XG4uUCB7XG4gICAgLmJhciB7XG4gICAgZmlsbDogJGNhdC1wcml2YWN5O1xuICB9XG59XG5cblxuLmJhci0tdGlwLm46YWZ0ZXIge1xuICBtYXJnaW46IC0xcHggMCAwIDA7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbn1cblxuLmJhci0tYXhpc195IHtcbiAgZm9udC1zaXplOiAuOGVtO1xuICBmaWxsOiAkYmxhY2s7XG59XG5cbi5iYXItLWF4aXNfeF9jb21wYW55IHRleHQge1xuICBmb250LXNpemU6IC44ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmlsbDogJGJhc2UtY29sb3I7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG4iLCIuZ3JhcGgtbGVnZW5kIHtcbm1hcmdpbi10b3A6IDFlbTtcdFxuZGlzcGxheTogZmxleDtcbmp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuYWxpZ24taXRlbXM6IGNlbnRlcjtcbmZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdG1hcmdpbi10b3A6IDEuNWVtO1x0XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHRcblx0fVxuXHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0bWFyZ2luLXRvcDogMWVtO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1x0XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0bWFyZ2luLXRvcDogMWVtO1x0XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHRcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0bWFyZ2luLXRvcDogMWVtO1x0XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdH1cblx0LmdyYXBoLWxlZ2VuZC1jb250ZW50LFxuXHQuZ3JhcGgtbGVnZW5kLXZhbHVlcyxcblx0LmdyYXBoLWxlZ2VuZC1pbnRlcmFjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHRcdFx0XG5cdGJvcmRlci1sZWZ0OiBub25lO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdEBpbmNsdWRlIG1lZGlhKHNtYWxsLXVwKSB7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjaztcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjaztcdFx0XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcdFxuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJsYWNrO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRib3JkZXItdG9wOiBub25lO1x0XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmxhY2s7XG5cdFx0fSBcdFxuXHR9XG5cblxuXG5cdC5ncmFwaC1sZWdlbmQtY29udGVudCB7XG5cdHBhZGRpbmc6IDAuNWVtIDAuNWVtO1x0XG5cdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRwYWRkaW5nOiAxZW0gMWVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRwYWRkaW5nOiAxZW0gMWVtO1x0XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0cGFkZGluZzogMWVtIDNlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0cGFkZGluZzogMWVtIDVlbTtcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzY2cHgpIHtcblx0XHRwYWRkaW5nOiAxZW0gNmVtOyAgIFxuXHRcdH0gIFxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG5cdFx0cGFkZGluZzogMWVtIDVlbTsgICAgXG5cdFx0fSAgXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcblx0XHRwYWRkaW5nOiAxZW0gNi41ZW07ICAgICBcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjgwcHgpIHtcblx0XHRwYWRkaW5nOiAxZW0gN2VtOyAgICAgXG5cdFx0fVxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTg3MHB4KSB7XG5cdFx0cGFkZGluZzogMWVtIDguNWVtOyAgICAgICBcblx0XHR9XHRcdFx0XHRcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuXHRcdHBhZGRpbmc6IDFlbSA4LjVlbTsgICAgICAgXG5cdFx0fVx0XHQgXHRcdFx0XG5cdFx0LmdyYXBoLWxlZ2VuZC1jb250ZW50LWl0ZW0ge1x0XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1x0XHRcdFx0XG5cdFx0XHQuZ3JhcGgtbGVnZW5kLWNvbnRlbnQtaXRlbS12YWx1ZSB7XG5cdFx0XHRmb250LWZhbWlseTogJHBsYXRmb3JtLWJvbGQ7XHRcdFx0XHRcblx0XHRcdGNvbG9yOiAkYmxhY2s7ICAgIFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDJweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyM3B4O1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjVweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHRcblx0XHRcdFx0fVx0XHRcdFxuXHRcdFx0fVxuXHRcdFx0LmdyYXBoLWxlZ2VuZC1jb250ZW50LWl0ZW0tbGFiZWxcdHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1tZWRpdW07XHRcblx0XHRcdGNvbG9yOiAkYmxhY2s7ICAgIFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1x0XG5cdFx0XHRcdH0gXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdFx0LmdyYXBoLWxlZ2VuZC1jb250ZW50LWl0ZW0gKyAuZ3JhcGgtbGVnZW5kLWNvbnRlbnQtaXRlbSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDFlbTtcdFxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyZW07XHRcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDNlbTtcdFxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxZW07XHRcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIuNWVtO1x0XG5cdFx0XHR9IFxuXHRcdH1cblx0fVxuXHQuZ3JhcGgtbGVnZW5kLXZhbHVlcyB7XG5cdHBhZGRpbmc6IDAuNWVtIDAuNWVtO1x0XG5cdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRwYWRkaW5nOiAxZW0gMWVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRwYWRkaW5nOiAxZW0gMWVtO1x0XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0cGFkZGluZzogMWVtIDNlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0cGFkZGluZzogMWVtIDRlbTtcblx0XHR9IFxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2NnB4KSB7XG5cdFx0cGFkZGluZzogMWVtIDRlbTsgICBcblx0XHR9ICBcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuXHRcdHBhZGRpbmc6IDFlbSAzZW07ICAgIFxuXHRcdH0gIFxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG5cdFx0cGFkZGluZzogMWVtIDVlbTsgICAgIFxuXHRcdH1cblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2ODBweCkge1xuXHRcdHBhZGRpbmc6IDFlbSA2ZW07ICAgICBcblx0XHR9XHRcdFxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTg3MHB4KSB7XG5cdFx0cGFkZGluZzogMWVtIDcuNWVtOyAgICAgICBcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcblx0XHRwYWRkaW5nOiAxZW0gNy41ZW07ICAgICAgIFxuXHRcdH1cdFx0XHRcdFx0XHRcblx0XHQuZ3JhcGgtbGVnZW5kLXZhbHVlcy1pdGVtIHtcdFxuXHRcdFx0LmdyYXBoLWxlZ2VuZC12YWx1ZXMtbGFiZWwge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLW1lZGl1bTtcdFxuXHRcdFx0Y29sb3I6ICRibGFjazsgICAgXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHRcdFxuXHRcdFx0XHR9ICBcdFx0XHRcblx0XHRcdH1cdFx0XHRcdFxuXHRcdFx0LmdyYXBoLWxlZ2VuZC12YWx1ZXMtdmFsdWUge1x0XHRcdFx0XHRcblx0XHRcdGZvbnQtZmFtaWx5OiAkc2ltcGxvbi1saWdodDtcdFx0XHRcdFxuXHRcdFx0Y29sb3I6ICRibGFjazsgICAgXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdH0gXHRcdFx0XHRcblx0XHRcdFx0aSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTBweDsgICAgXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcbiAgICBcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHR9ICAgIFx0XHRcdFx0XG5cdFx0XHRcdH1cdFx0XHRcdFxuXHRcdFx0XHQmLmludGVybmV0LWFuZC1tb2JpbGUtY29tcGFuaWVzIHtcblx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRjb2xvcjogJHJlZDtcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdCAgICAgICAgJi50ZWxlY29tbXVuaWNhdGlvbnMtY29tcGFuaWVzIHtcblx0XHQgICAgICAgIFx0aSB7XG5cdFx0ICAgICAgICBcdGNvbG9yOiAkb3JhbmdlOyAgXG5cdFx0ICAgICAgICAgICAgfSAgICAgICAgIFxuXHRcdCAgICAgICAgfVxuXHRcdCAgICAgICAgJi5yYW5rIHtcblx0XHQgICAgICAgIFx0aSB7XG5cdFx0ICAgICAgICBcdGNvbG9yOiAkZ3JheTtcblx0XHQgICAgICAgIFx0fVx0XG5cdFx0ICAgICAgICB9XG5cdFx0ICAgICAgICAuZ3JhcGgtbGVnZW5kLXZhbHVlcy12YWx1ZS1iYXIge1xuXHRcdCAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1x0XG5cdFx0ICAgICAgICB3aWR0aDogMTBlbTtcblx0XHQgICAgICAgIGhlaWdodDogMWVtO1xuXHRcdCAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7ICBcdFxuXHRcdCAgICAgICAgfVx0XHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdC5ncmFwaC1sZWdlbmQtdmFsdWVzLXZhbHVlICsgLmdyYXBoLWxlZ2VuZC12YWx1ZXMtdmFsdWUge1xuXHRcdFx0bWFyZ2luLXRvcDogNXB4O1x0XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5ncmFwaC1sZWdlbmQtdmFsdWVzLWl0ZW0gKyAuZ3JhcGgtbGVnZW5kLXZhbHVlcy1pdGVtIHtcblx0XHRtYXJnaW4tbGVmdDogMWVtO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxZW07XHRcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1lZGl1bS11cCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIuNWVtO1x0XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEuNWVtO1x0XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyZW07XG5cdFx0XHR9XHRcdFx0XHRcblx0XHR9XHRcdFx0XG5cdH1cblx0LmdyYXBoLWxlZ2VuZC1pbnRlcmFjdGlvbiB7XG5cdHBhZGRpbmc6IDAuNWVtIDAuNWVtO1x0XG5cdFx0QGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHRwYWRkaW5nOiAxZW0gMWVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHRwYWRkaW5nOiAxZW0gMWVtO1x0XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0cGFkZGluZzogMWVtIDNlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0cGFkZGluZzogMWVtIDVlbTtcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzY2cHgpIHtcblx0XHRwYWRkaW5nOiAxZW0gNWVtOyAgIFxuXHRcdH0gIFxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG5cdFx0cGFkZGluZzogMWVtIDVlbTsgICAgXG5cdFx0fSAgXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcblx0XHRwYWRkaW5nOiAxZW0gNS41ZW07ICAgICBcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjgwcHgpIHtcblx0XHRwYWRkaW5nOiAxZW0gNmVtOyAgICAgXG5cdFx0fVx0XHRcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE4NzBweCkge1xuXHRcdHBhZGRpbmc6IDFlbSA3LjVlbTsgICAgICAgXG5cdFx0fVxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG5cdFx0cGFkZGluZzogMWVtIDcuNWVtOyAgICAgICBcblx0XHR9XHRcdFx0XHQgXHRcdFxuXHRcdC5ncmFwaC1sZWdlbmQtaW50ZXJhY3Rpb24taXRlbSB7XG5cdFx0ZGlzcGxheTogZmxleDtcdFxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcdFxuXHRcdFx0aSB7XG5cdFx0XHRjb2xvcjogJHdoaXRlLXB1cmU7XHRcblx0XHRcdGZvbnQtc2l6ZTogMTdweDsgICAgXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRwYWRkaW5nOiA1cHggN3B4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkge1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoeGxhcmdlLXVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0fSAgICBcdFx0XHRcdFxuXHRcdFx0fVxuXHRcdH1cblx0XHQuZ3JhcGgtbGVnZW5kLWludGVyYWN0aW9uLWl0ZW0gKyAuZ3JhcGgtbGVnZW5kLWludGVyYWN0aW9uLWl0ZW0ge1xuXHRcdG1hcmdpbi1sZWZ0OiAxZW07XHRcdFxuXHRcdH1cdFxuXHR9XG59XHQiLCIuc2VydmljZS0tY2lyY2xlLS1jaGFydCB7XG5cdC5jaXJjbGUtLWNvbnRhaW5lciB7XG5cdFx0LmNpcmNsZS0tbGFiZWxfc2VydmljZSB7XG5cdFx0dGV4dC1hbmNob3I6IG1pZGRsZTtcdFxuXHRcdGZpbGw6ICR3aGl0ZS1wdXJlO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Zm9udC1mYW1pbHk6ICRzaW1wbG9uLXJlZ3VsYXI7IFxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdCAgZm9udC1zaXplOiAxM3B4OyAgXG5cdFx0ICB9XG5cdFx0ICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMTFweDsgIFxuXHRcdCAgfVxuXHRcdCAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMTJweDtcblx0XHQgIH1cblx0XHQgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdCAgZm9udC1zaXplOiAxM3B4OyAgXG5cdFx0ICB9XHRcdFx0XHRcblx0XHR9XG5cdFx0LmNpcmNsZS0tbGFiZWxfbmFtZSB7XG5cdFx0dGV4dC1hbmNob3I6IG1pZGRsZTtcdFxuXHRcdGZpbGw6ICR3aGl0ZS1wdXJlO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMS4zOyBcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdCAgQGluY2x1ZGUgbWVkaWEoc21hbGwtdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMTJweDsgIFxuXHRcdCAgfVxuXHRcdCAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7XG5cdFx0ICBmb250LXNpemU6IDEwcHg7ICBcblx0XHQgIH1cblx0XHQgIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7XG5cdFx0ICBmb250LXNpemU6IDExcHg7XG5cdFx0ICB9XG5cdFx0ICBAaW5jbHVkZSBtZWRpYSh4bGFyZ2UtdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMTJweDsgIFxuXHRcdCAgfVx0XHRcdFxuXHRcdH1cblx0XHQuY2lyY2xlLS1sYWJlbF92YWwge1xuXHRcdHRleHQtYW5jaG9yOiBtaWRkbGU7XHRcblx0XHRmaWxsOiAkd2hpdGUtcHVyZTtcblx0XHRmb250LWZhbWlseTogJHNpbXBsb24tYm9sZDtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMzsgXG5cdFx0ICBAaW5jbHVkZSBtZWRpYShzbWFsbC11cCkge1xuXHRcdCAgZm9udC1zaXplOiAxNnB4OyAgXG5cdFx0ICB9XG5cdFx0ICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMTdweDsgIFxuXHRcdCAgfVxuXHRcdCAgQGluY2x1ZGUgbWVkaWEobGFyZ2UtdXApIHtcblx0XHQgIGZvbnQtc2l6ZTogMjBweDtcblx0XHQgIH1cblx0XHQgIEBpbmNsdWRlIG1lZGlhKHhsYXJnZS11cCkge1xuXHRcdCAgZm9udC1zaXplOiAyMHB4OyAgXG5cdFx0ICB9XHRcdFx0XG5cdFx0fVx0XHRcblx0XHQuY2lyY2xlLS1hcmMge1xuXHRcdFx0LmNpcmNsZS0tYXJjX3JlbWFpbmRlciB7XG5cdFx0XHRmaWxsOiAkbGlnaHQtYmx1ZSAhaW1wb3J0YW50O1x0XG5cdFx0XHR9XG5cdFx0XHQuY2lyY2xlLS1hcmMtLWNoYXJ0LS12YWwge1xuXHRcdFx0ZmlsbDogJHZpb2xldDtcdFxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIFBSSU5UIFNUWUxFU1xuXG4uc21hbGwtb25seSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tdXApIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4ubm90LXNtYWxsIHtcbiAgQGluY2x1ZGUgbWVkaWEoc21hbGwpIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4ubWVkaXVtLW9ubHkge1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtZWRpYShtZWRpdW0tb25seSkgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuXG4ubWVkaXVtLXVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbWVkaWEobWVkaXVtLXVwKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG59XG5cbi5tZWRpdW0tZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBtZWRpYShsYXJnZS11cCkgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5sYXJnZS11cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIG1lZGlhKGxhcmdlLXVwKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG59XG5cbkBwYWdlIHtcbiAgbWFyZ2luOiAxY20gMS41Y207XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgfVxuICBhLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgfVxuICAubm8tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnBhZ2UtYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gIH1cbiAgLm1vZGFsLmRlc3Ryb3llZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QXlGR0UsQUFBQSxJQUFJLENBQUM7RUFDSCxVQUFVLEVBQUUsVUFBVSxHQUN2Qjs7QUFFRCxBQUNFLENBREQsRUFBRCxDQUFDLEFBRUUsT0FBTyxFQUZWLENBQUMsQUFHRSxRQUFRLENBQUM7RUFDUixVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QWFaTCw0REFBNEQ7QUFFNUQ7Ozs7R0FJRztBYkhELEFBQUEsSUFBSSxDYUtEO0VBQ0gsV0FBVyxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQ2hDLG9CQUFvQixFQUFFLElBQUk7RUFBRSxPQUFPO0VBQ25DLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFN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 */
