@charset "UTF-8";
/**************************************************\
	File for generell settings
\**************************************************/
/******  Colors  ******/
/******  margins / paddings and so on  ******/
/******  Breakpoints  ******/
/* ========================================================================
   Component: Base
 ========================================================================== */
/*
 * 1. Set `font-size` to support `rem` units
 *    Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Style
 */
html {
  /* 1 */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666; }

/*
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/* Links
 ========================================================================== */
/*
 * Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  -webkit-text-decoration-skip: objects; }

/*
 * Remove the outline on focused links when they are also active or hovered
 */
a:active,
a:hover {
  outline: none; }

/*
 * Style
 */
a,
.uk-link {
  color: #2658a5;
  text-decoration: none;
  cursor: pointer; }

a:hover,
.uk-link:hover {
  color: #00347b;
  text-decoration: underline; }

/* Text-level semantics
 ========================================================================== */
/*
 * 1. Remove the bottom border in Chrome 57-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  /* 1 */
  border-bottom: none;
  /* 2 */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; }

/*
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/*
 * 1. Consolas has a better baseline in running text compared to `Courier`
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Style
 */
:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-family: Consolas, monaco, monospace;
  /* 2 */
  font-size: 0.875rem;
  /* 3 */
  color: #f0506e;
  white-space: nowrap;
  padding: 2px 6px;
  background: #f7f7f7; }

/*
 * Emphasize
 */
em {
  color: #f0506e; }

/*
 * Insert
 */
ins {
  background: #ffd;
  color: #666;
  text-decoration: none; }

/*
 * Mark
 */
mark {
  background: #ffd;
  color: #666; }

/*
 * Quote
 */
q {
  font-style: italic; }

/*
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/*
 * Prevents `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 the gap between embedded content and the bottom of their containers.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/*
 * Responsiveness
 * 1. Set a maximum width
 * 2. Auto scale the height. Only needed if `height` attribute is present
 * 2. Corrects `max-width` behavior if padding and border are used
 */
audio,
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/*
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/*
 * Hide `alt` text for lazy load images
 * Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
 */
img:not([src]) {
  visibility: hidden; }

/* Block elements
 ========================================================================== */
/*
 * Margins
 */
p,
ul,
ol,
dl,
pre,
address,
fieldset,
figure {
  margin: 0 0 20px 0; }

/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
  margin-top: 20px; }

/* Headings
 ========================================================================== */
h1, .uk-h1,
h2, .uk-h2,
h3, .uk-h3,
h4, .uk-h4,
h5, .uk-h5,
h6, .uk-h6 {
  margin: 0 0 20px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  color: #747370;
  text-transform: none; }

/* Add margin if adjacent element */
* + h1, * + .uk-h1,
* + h2, * + .uk-h2,
* + h3, * + .uk-h3,
* + h4, * + .uk-h4,
* + h5, * + .uk-h5,
* + h6, * + .uk-h6 {
  margin-top: 40px; }

/*
 * Sizes
 */
h1, .uk-h1 {
  font-size: 2.23125rem;
  line-height: 1.2; }

h2, .uk-h2 {
  font-size: 1.7rem;
  line-height: 1.3; }

h3, .uk-h3 {
  font-size: 1.5rem;
  line-height: 1.4; }

h4, .uk-h4 {
  font-size: 1.25rem;
  line-height: 1.4; }

h5, .uk-h5 {
  font-size: 16px;
  line-height: 1.4; }

h6, .uk-h6 {
  font-size: 0.875rem;
  line-height: 1.4; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  h1, .uk-h1 {
    font-size: 2.625rem; }
  h2, .uk-h2 {
    font-size: 2rem; } }

/* Lists
 ========================================================================== */
ul,
ol {
  padding-left: 30px; }

/*
 * Reset margin for nested lists
 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0; }

/* Description lists
 ========================================================================== */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Horizontal rules
 ========================================================================== */
/*
 * 1. Add the correct box sizing and height in Firefox.
 * 2. Show the overflow in Edge and IE.
 * 3. Add the correct text-align in Edge and IE.
 * 4. Style
 */
hr, .uk-hr {
  /* 1 */
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  /* 2 */
  overflow: visible;
  /* 3 */
  text-align: inherit;
  /* 4 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #e5e5e5; }

/* Add margin if adjacent element */
* + hr,
* + .uk-hr {
  margin-top: 20px; }

/* Address
 ========================================================================== */
address {
  font-style: normal; }

/* Blockquotes
 ========================================================================== */
blockquote {
  margin: 0 0 20px 0;
  font-size: 1.25rem;
  line-height: 1.5;
  font-style: italic;
  color: #747370; }

/* Add margin if adjacent element */
* + blockquote {
  margin-top: 20px; }

/*
 * Content
 */
blockquote p:last-of-type {
  margin-bottom: 0; }

blockquote footer {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #666; }
  blockquote footer::before {
    content: "— "; }

/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #666;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  /* 1 */
  overflow: auto;
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  background: #fff; }

pre code {
  font-family: Consolas, monaco, monospace; }

/* Selection pseudo-element
 ========================================================================== */
::-moz-selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }

/* HTML5 elements
 ========================================================================== */
/*
 * 1. Add the correct display in Edge, IE 10+, and Firefox.
 * 2. Add the correct display in IE.
 */
details,
main {
  /* 2 */
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/*
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Iframe
 ========================================================================== */
iframe {
  border: 0; }

/* Prevent the 300ms delay for touchscreen interactions
 ========================================================================== */
/*
 * Most browsers prevent the 300ms delay automatically for sites that use the `width=device-width` property.
 * For Safari on iOS 9.3+, IE 11 and Edge on desktops and IE 11 on Windows Phone 8.1 it must be applied manually.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

/* Pass media breakpoints to JS
 ========================================================================== */
/*
 * Breakpoints
 */
.var-media-s::before {
  content: "640px"; }

.var-media-m::before {
  content: "960px"; }

.var-media-l::before {
  content: "1200px"; }

.var-media-xl::before {
  content: "1600px"; }

/* ========================================================================
   Component: Heading
 ========================================================================== */
/* Primary
 ========================================================================== */
.uk-heading-primary {
  font-size: 3rem;
  line-height: 1.2; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-heading-primary {
    font-size: 3.375rem; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-heading-primary {
    font-size: 3.75rem;
    line-height: 1.1; } }

/* Hero
 ========================================================================== */
.uk-heading-hero {
  font-size: 4rem;
  line-height: 1.1; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-heading-hero {
    font-size: 6rem;
    line-height: 1; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-heading-hero {
    font-size: 8rem;
    line-height: 1; } }

/* Divider
 ========================================================================== */
.uk-heading-divider {
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e5e5; }

/* Bullet
 ========================================================================== */
.uk-heading-bullet {
  position: relative; }

/*
 * 1. Using `inline-block` to make it work with text alignment
 * 2. Center vertically
 * 3. Style
 */
.uk-heading-bullet::before {
  content: "";
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  top: calc(-0.1 * 1em);
  vertical-align: middle;
  /* 3 */
  height: 0.9em;
  margin-right: 10px;
  border-left: 5px solid #e5e5e5; }

/* Line
 ========================================================================== */
/*
 * Clip the child element
 */
.uk-heading-line {
  overflow: hidden; }

/*
 * Extra markup is needed to make it work with text align
 */
.uk-heading-line > * {
  display: inline-block;
  position: relative; }

/*
 * 1. Center vertically
 * 2. Make the element as large as possible. It's clipped by the container.
 * 3. Style
 */
.uk-heading-line > ::before,
.uk-heading-line > ::after {
  content: "";
  /* 1 */
  position: absolute;
  top: calc(50% - (1px / 2));
  /* 2 */
  width: 2000px;
  /* 3 */
  border-bottom: 1px solid #e5e5e5; }

.uk-heading-line > ::before {
  right: 100%;
  margin-right: 0.6em; }

.uk-heading-line > ::after {
  left: 100%;
  margin-left: 0.6em; }

/* ========================================================================
   Component: Divider
 ========================================================================== */
/*
 * 1. Reset default `hr`
 * 2. Set margin if a `div` is used for semantical reason
 */
[class*='uk-divider'] {
  /* 1 */
  border: none;
  /* 2 */
  margin-bottom: 20px; }

/* Add margin if adjacent element */
* + [class*='uk-divider'] {
  margin-top: 20px; }

/* Icon
 ========================================================================== */
.uk-divider-icon {
  position: relative;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%; }

.uk-divider-icon::before,
.uk-divider-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  max-width: calc(50% - (50px / 2));
  border-bottom: 1px solid #e5e5e5; }

.uk-divider-icon::before {
  right: calc(50% + (50px / 2));
  width: 100%; }

.uk-divider-icon::after {
  left: calc(50% + (50px / 2));
  width: 100%; }

/* Small
 ========================================================================== */
/*
 * Reset child height, caused by `inline-block`
 */
.uk-divider-small {
  line-height: 0; }

.uk-divider-small::after {
  content: "";
  display: inline-block;
  width: 100px;
  max-width: 100%;
  border-top: 1px solid #e5e5e5;
  vertical-align: top; }

/* ========================================================================
   Component: List
 ========================================================================== */
.uk-list {
  padding: 0;
  list-style: none; }

/*
 * Micro clearfix
 */
.uk-list > li::before,
.uk-list > li::after {
  content: "";
  display: table; }

.uk-list > li::after {
  clear: both; }

/*
 * Remove margin from the last-child
 */
.uk-list > li > :last-child {
  margin-bottom: 0; }

/*
 * Nested lists
 */
.uk-list ul {
  margin: 0;
  padding-left: 30px;
  list-style: none; }

/*
 * Style
 */
.uk-list > li:nth-child(n+2),
.uk-list > li > ul {
  margin-top: 10px; }

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-list-divider > li:nth-child(n+2) {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5; }

/*
 * Striped
 */
.uk-list-striped > li {
  padding: 10px 10px; }
  .uk-list-striped > li:nth-of-type(odd) {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5; }

.uk-list-striped > li:nth-of-type(odd) {
  background: #f7f7f7; }

.uk-list-striped > li:nth-child(n+2) {
  margin-top: 0; }

/*
 * Bullet
 */
.uk-list-bullet > li {
  position: relative;
  padding-left: calc(1.5em + 10px); }

.uk-list-bullet > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  float: left; }

/* Size modifier
 ========================================================================== */
.uk-list-large > li:nth-child(n+2),
.uk-list-large > li > ul {
  margin-top: 20px; }

/*
 * Divider
 */
.uk-list-large.uk-list-divider > li:nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px; }

/*
 * Striped
 */
.uk-list-large.uk-list-striped > li {
  padding: 20px 10px; }
  .uk-list-large.uk-list-striped > li:nth-of-type(odd) {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5; }

.uk-list-large.uk-list-striped > li:nth-child(n+2) {
  margin-top: 0; }

/* ========================================================================
   Component: Table
 ========================================================================== */
/*
 * 1. Remove most spacing between table cells.
 * 2. Behave like a block element
 * 3. Style
 */
.uk-table {
  /* 1 */
  border-collapse: collapse;
  border-spacing: 0;
  /* 2 */
  width: 100%;
  /* 3 */
  margin-bottom: 20px; }

/* Add margin if adjacent element */
* + .uk-table {
  margin-top: 20px; }

/* Header cell
 ========================================================================== */
/*
 * 1. Style
 */
.uk-table th {
  padding: 16px 12px;
  text-align: left;
  vertical-align: bottom;
  /* 1 */
  font-size: 0.875rem;
  font-weight: normal;
  color: #999;
  text-transform: uppercase; }

/* Cell
 ========================================================================== */
.uk-table td {
  padding: 16px 12px;
  vertical-align: top; }

/*
 * Remove margin from the last-child
 */
.uk-table td > :last-child {
  margin-bottom: 0; }

/* Footer
 ========================================================================== */
.uk-table tfoot {
  font-size: 0.875rem; }

/* Caption
 ========================================================================== */
.uk-table caption {
  font-size: 0.875rem;
  text-align: left;
  color: #999; }

/* Alignment modifier
 ========================================================================== */
.uk-table-middle,
.uk-table-middle td {
  vertical-align: middle !important; }

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-table-divider > tr:not(:first-child),
.uk-table-divider > :not(:first-child) > tr,
.uk-table-divider > :first-child > tr:not(:first-child) {
  border-top: 1px solid #e5e5e5; }

/*
 * Striped
 */
.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd) {
  background: #f7f7f7;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5; }

/*
 * Hover
 */
.uk-table-hover > tr:hover,
.uk-table-hover tbody tr:hover {
  background: #ffd; }

/* Active state
 ========================================================================== */
.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
  background: #ffd; }

/* Size modifier
 ========================================================================== */
.uk-table-small th,
.uk-table-small td {
  padding: 10px 12px; }

.uk-table-large th,
.uk-table-large td {
  padding: 22px 12px; }

/* Justify modifier
 ========================================================================== */
.uk-table-justify th:first-child,
.uk-table-justify td:first-child {
  padding-left: 0; }

.uk-table-justify th:last-child,
.uk-table-justify td:last-child {
  padding-right: 0; }

/* Cell size modifier
 ========================================================================== */
.uk-table-shrink {
  width: 1px; }

.uk-table-expand {
  min-width: 150px; }

/* Cell link modifier
 ========================================================================== */
/*
 * Does not work with `uk-table-justify` at the moment
 */
.uk-table-link {
  padding: 0 !important; }

.uk-table-link > a {
  display: block;
  padding: 16px 12px; }

.uk-table-small .uk-table-link > a {
  padding: 10px 12px; }

/* Responsive table
 ========================================================================== */
/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-table-responsive,
  .uk-table-responsive tbody,
  .uk-table-responsive th,
  .uk-table-responsive td,
  .uk-table-responsive tr {
    display: block; }
  .uk-table-responsive thead {
    display: none; }
  .uk-table-responsive th,
  .uk-table-responsive td {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important; }
  .uk-table-responsive th:not(:first-child):not(.uk-table-link),
  .uk-table-responsive td:not(:first-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:first-child) > a {
    padding-top: 5px !important; }
  .uk-table-responsive th:not(:last-child):not(.uk-table-link),
  .uk-table-responsive td:not(:last-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:last-child) > a {
    padding-bottom: 5px !important; }
  .uk-table-justify.uk-table-responsive th,
  .uk-table-justify.uk-table-responsive td {
    padding-left: 0;
    padding-right: 0; } }

.uk-table tbody tr {
  -webkit-transition: background-color 0.1s linear;
  transition: background-color 0.1s linear; }

/* ========================================================================
   Component: Icon
 ========================================================================== */
/*
 * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Remove default `button` padding and background color
 * 8. Style
 * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 10. Let the container fit the height of the icon
 */
.uk-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7. */
  padding: 0;
  background-color: transparent;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0; }

/* Required for `button`. */
button.uk-icon:not(:disabled) {
  cursor: pointer; }

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-icon::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*
 * Set the fill and stroke color of all SVG elements to the current text color
 * 1. Fix for uppercase attribute names in Edge. Will be fixed in Windows 10 builds 16251+
 */
.uk-icon [fill*='#']:not(.uk-preserve),
.uk-icon [FILL*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-icon [stroke*='#']:not(.uk-preserve),
.uk-icon [STROKE*='#']:not(.uk-preserve) {
  stroke: currentcolor; }

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-icon > * {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0); }

/* Image modifier
 ========================================================================== */
/*
 * Display images in icon dimensions
 */
.uk-icon-image {
  width: 20px;
  height: 20px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle; }

/* Style modifiers
 ========================================================================== */
/*
 * Link
 */
.uk-icon-link {
  color: #999; }

.uk-icon-link:hover,
.uk-icon-link:focus {
  color: #666;
  outline: none; }

/* OnClick + Active */
.uk-icon-link:active,
.uk-active > .uk-icon-link {
  color: #595959; }

/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f7f7f7;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }

/* Hover + Focus */
.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #eaeaea;
  color: #666;
  outline: none; }

/* OnClick + Active */
.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: #dedede;
  color: #666; }

/* ========================================================================
   Component: Form Range
 ========================================================================== */
/*
 * 1. Normalize and defaults
 * 2. Prevent content overflow if a fixed width is used
 * 3. Take the full width
 * 4. Remove default style
 * 5. Remove white background in Chrome
 * 6. Remove padding in IE11
 */
.uk-range {
  /* 1 */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  vertical-align: middle;
  /* 2 */
  max-width: 100%;
  /* 3 */
  width: 100%;
  /* 4 */
  -webkit-appearance: none;
  /* 5 */
  background: transparent;
  /* 6 */
  padding: 0; }

/* Focus */
.uk-range:focus {
  outline: none; }

.uk-range::-moz-focus-outer {
  border: none; }

/* IE11 Reset */
.uk-range::-ms-track {
  height: 15px;
  background: transparent;
  border-color: transparent;
  color: transparent; }

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-range:not(:disabled)::-webkit-slider-thumb {
  cursor: pointer; }

.uk-range:not(:disabled)::-moz-range-thumb {
  cursor: pointer; }

.uk-range:not(:disabled)::-ms-thumb {
  cursor: pointer; }

/* Thumb
 ========================================================================== */
/*
 * 1. Reset
 * 2. Style
 */
/* Webkit */
.uk-range::-webkit-slider-thumb {
  /* 1 */
  -webkit-appearance: none;
  margin-top: -7px;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc; }

/* Firefox */
.uk-range::-moz-range-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc; }

/* Edge */
.uk-range::-ms-thumb {
  /* 1 */
  margin-top: 0; }

/* IE11 */
.uk-range::-ms-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc; }

/* Edge + IE11 */
.uk-range::-ms-tooltip {
  display: none; }

/* Track
 ========================================================================== */
/*
 * 1. Safari doesn't have a focus state. Using active instead.
 */
/* Webkit */
.uk-range::-webkit-slider-runnable-track {
  height: 3px;
  background: #eaeaea;
  border-radius: 500px; }

.uk-range:focus::-webkit-slider-runnable-track,
.uk-range:active::-webkit-slider-runnable-track {
  background: #d1d1d1; }

/* Firefox */
.uk-range::-moz-range-track {
  height: 3px;
  background: #eaeaea;
  border-radius: 500px; }

.uk-range:focus::-moz-range-track {
  background: #d1d1d1; }

/* Edge */
.uk-range::-ms-fill-lower,
.uk-range::-ms-fill-upper {
  height: 3px;
  background: #eaeaea;
  border-radius: 500px; }

.uk-range:focus::-ms-fill-lower,
.uk-range:focus::-ms-fill-upper {
  background: #d1d1d1; }

/* ========================================================================
   Component: Form
 ========================================================================== */
/*
 * 1. Define consistent box sizing.
 *    Default is `content-box` with following exceptions set to `border-box`
 *    `select`, `input[type="checkbox"]` and `input[type="radio"]`
 *    `input[type="search"]` in Chrome, Safari and Opera
 *    `input[type="color"]` in Firefox
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers.
 */
.uk-input,
.uk-select,
.uk-textarea,
.uk-radio,
.uk-checkbox {
  /* 1 */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit; }

/*
 * Show the overflow in Edge.
 */
.uk-input {
  overflow: visible; }

/*
 * Remove the inheritance of text transform in Firefox.
 */
.uk-select {
  text-transform: none; }

/*
 * 1. Change font properties to `inherit` in all browsers
 * 2. Don't inherit the `font-weight` and use `bold` instead.
 * NOTE: Both declarations don't work in Chrome, Safari and Opera.
 */
.uk-select optgroup {
  /* 1 */
  font: inherit;
  /* 2 */
  font-weight: bold; }

/*
 * Remove the default vertical scrollbar in IE 10+.
 */
.uk-textarea {
  overflow: auto; }

/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-input[type="search"]::-webkit-search-cancel-button,
.uk-input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/*
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
.uk-input[type="number"]::-webkit-inner-spin-button,
.uk-input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-input::-moz-placeholder,
.uk-textarea::-moz-placeholder {
  opacity: 1; }

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-radio:not(:disabled),
.uk-checkbox:not(:disabled) {
  cursor: pointer; }

/*
 * Define consistent border, margin, and padding.
 */
.uk-fieldset {
  border: none;
  margin: 0;
  padding: 0; }

/* Input, select and textarea
 * Allowed: `text`, `password`, `datetime`, `datetime-local`, `date`,  `month`,
            `time`, `week`, `number`, `email`, `url`, `search`, `tel`, `color`
 * Disallowed: `range`, `radio`, `checkbox`, `file`, `submit`, `reset` and `image`
 ========================================================================== */
/*
 * Remove default style in iOS.
 */
.uk-input,
.uk-textarea {
  -webkit-appearance: none; }

/*
 * 1. Prevent content overflow if a fixed width is used
 * 2. Take the full width
 * 3. Reset default
 * 4. Style
 */
.uk-input,
.uk-select,
.uk-textarea {
  /* 1 */
  max-width: 100%;
  /* 2 */
  width: 100%;
  /* 3 */
  border: 0 none;
  /* 4 */
  padding: 0 10px;
  background: #fff;
  color: #666;
  border: 1px solid #e5e5e5;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: color, background-color, border;
  transition-property: color, background-color, border; }

/*
 * Single-line
 * 1. Allow any element to look like an `input` or `select` element
 * 2. Make sure line-height is not larger than height
 *    Also needed to center the text vertically
 */
.uk-input,
.uk-select:not([multiple]):not([size]) {
  height: 40px;
  vertical-align: middle;
  /* 1 */
  display: inline-block; }

/* 2 */
.uk-input:not(input),
.uk-select:not(select) {
  line-height: 38px; }

/*
 * Multi-line
 */
.uk-select[multiple],
.uk-select[size],
.uk-textarea {
  padding-top: 4px;
  padding-bottom: 4px;
  vertical-align: top; }

/* Focus */
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
  outline: none;
  background-color: #fff;
  color: #666;
  border-color: #2658a5; }

/* Disabled */
.uk-input:disabled,
.uk-select:disabled,
.uk-textarea:disabled {
  background-color: #f7f7f7;
  color: #999;
  border-color: #e5e5e5; }

/*
 * Placeholder
 */
.uk-input:-ms-input-placeholder {
  color: #999 !important; }

.uk-input::-webkit-input-placeholder {
  color: #999; }

.uk-input::-ms-input-placeholder {
  color: #999; }

.uk-input::placeholder {
  color: #999; }

.uk-textarea:-ms-input-placeholder {
  color: #999 !important; }

.uk-textarea::-webkit-input-placeholder {
  color: #999; }

.uk-textarea::-ms-input-placeholder {
  color: #999; }

.uk-textarea::placeholder {
  color: #999; }

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Small
 */
.uk-form-small {
  font-size: 0.875rem; }

.uk-form-small:not(textarea):not([multiple]):not([size]) {
  height: 30px;
  padding-left: 8px;
  padding-right: 8px; }

.uk-form-small:not(select):not(input):not(textarea) {
  line-height: 28px; }

/*
 * Large
 */
.uk-form-large {
  font-size: 1.25rem; }

.uk-form-large:not(textarea):not([multiple]):not([size]) {
  height: 55px;
  padding-left: 12px;
  padding-right: 12px; }

.uk-form-large:not(select):not(input):not(textarea) {
  line-height: 53px; }

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Error
 */
.uk-form-danger,
.uk-form-danger:focus {
  color: #f0506e;
  border-color: #f0506e; }

/*
 * Success
 */
.uk-form-success,
.uk-form-success:focus {
  color: #32d296;
  border-color: #32d296; }

/*
 * Blank
 */
.uk-form-blank {
  background: none;
  border-color: transparent; }

.uk-form-blank:focus {
  border-color: #e5e5e5;
  border-style: dashed; }

/* Width modifiers (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Fixed widths
 * Different widths for mini sized `input` and `select` elements
 */
input.uk-form-width-xsmall {
  width: 50px; }

select.uk-form-width-xsmall {
  width: 75px; }

.uk-form-width-small {
  width: 130px; }

.uk-form-width-medium {
  width: 200px; }

.uk-form-width-large {
  width: 500px; }

/* Select
 ========================================================================== */
/*
 * 1. Remove default style. Also works in Firefox
 * 2. Style
 * 3. Remove default style in IE 10/11
 * 4. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
 */
.uk-select:not([multiple]):not([size]) {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 100% 50%; }

/* 3 */
.uk-select:not([multiple]):not([size])::-ms-expand {
  display: none; }

/* 4 */
.uk-select:not([multiple]):not([size]) option {
  color: #444; }

/*
 * Disabled
 */
.uk-select:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

/* Radio and checkbox
 * Note: Does not work in IE11
 ========================================================================== */
/*
 * 1. Style
 * 2. Make box more robust so it clips the child element
 * 3. Vertical alignment
 * 4. Remove default style
 * 5. Fix black background on iOS
 * 6. Center icons
 */
.uk-radio,
.uk-checkbox {
  /* 1 */
  display: inline-block;
  height: 16px;
  width: 16px;
  /* 2 */
  overflow: hidden;
  /* 3 */
  margin-top: -4px;
  vertical-align: middle;
  /* 4 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 5 */
  background-color: transparent;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid #cccccc;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: background-color, border;
  transition-property: background-color, border; }

.uk-radio {
  border-radius: 50%; }

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  outline: none;
  border-color: #2658a5; }

/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
  background-color: #2658a5;
  border-color: transparent; }

/* Focus */
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.uk-checkbox:indeterminate:focus {
  background-color: #1c427c; }

/*
 * Icons
 */
.uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

.uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

.uk-checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/*
 * Disabled
 */
.uk-radio:disabled,
.uk-checkbox:disabled {
  background-color: #f7f7f7;
  border-color: #e5e5e5; }

.uk-radio:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

.uk-checkbox:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

.uk-checkbox:disabled:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/* Legend
 ========================================================================== */
/*
 * Legend
 * 1. Behave like block element
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove padding so people aren't caught out if they zero out fieldsets.
 * 4. Style
 */
.uk-legend {
  /* 1 */
  width: 100%;
  /* 2 */
  color: inherit;
  /* 3 */
  padding: 0;
  /* 4 */
  font-size: 1.5rem;
  line-height: 1.4; }

/* Custom controls
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 */
.uk-form-custom {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle; }

/*
 * 1. Position and resize the form control to always cover its container
 * 2. Required for Firefox for positioning to the left
 * 3. Required for Webkit to make `height` work
 * 4. Hide controle and show cursor
 * 5. Needed for the cursor
 * 6. Clip height caused by 5. Needed for Webkit only
 */
.uk-form-custom select,
.uk-form-custom input[type="file"] {
  /* 1 */
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* 2 */
  left: 0;
  /* 3 */
  -webkit-appearance: none;
  /* 4 */
  opacity: 0;
  cursor: pointer; }

.uk-form-custom input[type="file"] {
  /* 5 */
  font-size: 500px;
  /* 6 */
  overflow: hidden; }

/* Label
 ========================================================================== */
.uk-form-label {
  color: #747370;
  font-size: 0.875rem; }

/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 5px; }

/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 959px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-form-horizontal .uk-form-label {
    width: 200px;
    margin-top: 7px;
    float: left; }
  .uk-form-horizontal .uk-form-controls {
    margin-left: 215px; }
  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
  .uk-form-horizontal .uk-form-controls-text {
    padding-top: 7px; } }

/* Icons
 ========================================================================== */
/*
 * 1. Set position
 * 2. Set width
 * 3. Center icon vertically and horizontally
 * 4. Style
 */
.uk-form-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 40px;
  /* 3 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  /* 4 */
  color: #999; }

/*
 * Required for `a`.
 */
.uk-form-icon:hover {
  color: #666; }

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-form-icon:not(a):not(button):not(input) {
  pointer-events: none; }

/*
 * Input padding
 */
.uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input {
  padding-left: 40px !important; }

/*
 * Position modifier
 */
.uk-form-icon-flip {
  right: 0;
  left: auto; }

.uk-form-icon-flip ~ .uk-input {
  padding-right: 40px !important; }

/* ========================================================================
   Component: Button
 ========================================================================== */
/*
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Style
 * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
 *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
 * 9. Align text if button has a width
 * 10. Required for `a`.
 */
.uk-button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7 */
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 0.875rem;
  /* 8 */
  line-height: 38px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color, border-color;
  transition-property: color, background-color, border-color; }

.uk-button:not(:disabled) {
  cursor: pointer; }

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-button::-moz-focus-inner {
  border: 0;
  padding: 0; }

/* Hover */
.uk-button:hover {
  /* 8 */
  text-decoration: none; }

/* Focus */
.uk-button:focus {
  outline: none; }

/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: transparent;
  color: #747370;
  border: 1px solid #e5e5e5; }

/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  background-color: transparent;
  color: #747370;
  border-color: #b2b2b2; }

/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: transparent;
  color: #747370;
  border-color: #999999; }

/*
 * Primary
 */
.uk-button-primary {
  background-color: #2658a5;
  color: #fff;
  border: 1px solid transparent; }

/* Hover + Focus */
.uk-button-primary:hover,
.uk-button-primary:focus {
  background-color: #214d90;
  color: #fff; }

/* OnClick + Active */
.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: #1c427c;
  color: #fff; }

/*
 * Secondary
 */
.uk-button-secondary {
  background-color: #222;
  color: #fff;
  border: 1px solid transparent; }

/* Hover + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  background-color: #151515;
  color: #fff; }

/* OnClick + Active */
.uk-button-secondary:active,
.uk-button-secondary.uk-active {
  background-color: #090909;
  color: #fff; }

/*
 * Danger
 */
.uk-button-danger {
  background-color: #f0506e;
  color: #fff;
  border: 1px solid transparent; }

/* Hover + Focus */
.uk-button-danger:hover,
.uk-button-danger:focus {
  background-color: #ee395b;
  color: #fff; }

/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: #ec2147;
  color: #fff; }

/*
 * Disabled
 * The same for all style modifiers
 */
.uk-button-default:disabled,
.uk-button-primary:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
  background-color: transparent;
  color: #999;
  border-color: #e5e5e5; }

/* Size modifiers
 ========================================================================== */
.uk-button-small {
  padding: 0 15px;
  line-height: 28px;
  font-size: 0.875rem; }

.uk-button-large {
  padding: 0 40px;
  line-height: 53px;
  font-size: 0.875rem; }

/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #747370;
  position: relative; }
  .uk-button-text::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 100%;
    border-bottom: 1px solid #747370;
    -webkit-transition: right 0.3s ease-out;
    transition: right 0.3s ease-out; }

/* Hover + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #747370; }
  .uk-button-text:hover::before,
  .uk-button-text:focus::before {
    right: 0; }

/* Disabled */
.uk-button-text:disabled {
  color: #999; }
  .uk-button-text:disabled::before {
    display: none; }

/*
 * Link
 * 1. Reset
 * 2. Style
 */
.uk-button-link {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #2658a5; }

/* Hover + Focus */
.uk-button-link:hover,
.uk-button-link:focus {
  color: #00347b;
  text-decoration: underline; }

/* Disabled */
.uk-button-link:disabled {
  color: #999;
  text-decoration: none; }

/* Group
 ========================================================================== */
/*
 * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements
 * 2. Behave like button
 * 3. Create position context
 */
.uk-button-group {
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  /* 2 */
  vertical-align: middle;
  /* 3 */
  position: relative; }

/* Group
     ========================================================================== */
/*
     * Collapse border
     */
.uk-button-group > .uk-button:nth-child(n+2),
.uk-button-group > div:nth-child(n+2) .uk-button {
  margin-left: -1px; }

/*
     * Create position context to superimpose the successor elements border
     * Known issue: If you use an `a` element as button and an icon inside,
     * the active state will not work if you click the icon inside the button
     * Workaround: Just use a `button` or `input` element as button
     */
.uk-button-group .uk-button:hover,
.uk-button-group .uk-button:focus,
.uk-button-group .uk-button:active,
.uk-button-group .uk-button.uk-active {
  position: relative;
  z-index: 1; }

/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding-top: 40px;
  padding-bottom: 40px; }

/* Desktop and bigger */
@media (min-width: 960px) {
  .uk-section {
    padding-top: 70px;
    padding-bottom: 70px; } }

/*
 * Micro clearfix
 */
.uk-section::before,
.uk-section::after {
  content: "";
  display: table; }

.uk-section::after {
  clear: both; }

/*
 * Remove margin from the last-child
 */
.uk-section > :last-child {
  margin-bottom: 0; }

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-section-xsmall {
  padding-top: 20px;
  padding-bottom: 20px; }

/*
 * Small
 */
.uk-section-small {
  padding-top: 40px;
  padding-bottom: 40px; }

/*
 * Large
 */
.uk-section-large {
  padding-top: 70px;
  padding-bottom: 70px; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-section-large {
    padding-top: 140px;
    padding-bottom: 140px; } }

/*
 * XLarge
 */
.uk-section-xlarge {
  padding-top: 140px;
  padding-bottom: 140px; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-section-xlarge {
    padding-top: 210px;
    padding-bottom: 210px; } }

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-section-default {
  background: #fff; }

/*
 * Muted
 */
.uk-section-muted {
  background: #f7f7f7; }

/*
 * Primary
 */
.uk-section-primary {
  background: #2658a5; }

/*
 * Secondary
 */
.uk-section-secondary {
  background: #222; }

/* Overlap modifier
 ========================================================================== */
/*
 * Reserved modifier to make a section overlap another section with an border image
 * Implemented by the theme
 */
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container {
  /* 1 */
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px; } }

/*
 * Micro clearfix
 */
.uk-container::before,
.uk-container::after {
  content: "";
  display: table; }

.uk-container::after {
  clear: both; }

/*
 * Remove margin from the last-child
 */
.uk-container > :last-child {
  margin-bottom: 0; }

/*
 * Remove padding from nested containers
 */
.uk-container .uk-container {
  padding-left: 0;
  padding-right: 0; }

/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
  max-width: 600px; }

.uk-container-small {
  max-width: 900px; }

.uk-container-large {
  max-width: 1600px; }

.uk-container-expand {
  max-width: none; }

/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
  margin-left: 0; }

.uk-container-expand-right {
  margin-right: 0; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (600px / 2) - 30px); }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 30px); } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-container-expand-left,
  .uk-container-expand-right {
    max-width: calc(50% + (1200px / 2) - 40px); }
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (600px / 2) - 40px); }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 40px); }
  .uk-container-expand-left.uk-container-large,
  .uk-container-expand-right.uk-container-large {
    max-width: calc(50% + (1600px / 2) - 40px); } }

/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
  width: calc(100% + 15px); }

.uk-container-item-padding-remove-left {
  margin-left: -15px; }

.uk-container-item-padding-remove-right {
  margin-right: -15px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 30px); }
  .uk-container-item-padding-remove-left {
    margin-left: -30px; }
  .uk-container-item-padding-remove-right {
    margin-right: -30px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 40px); }
  .uk-container-item-padding-remove-left {
    margin-left: -40px; }
  .uk-container-item-padding-remove-right {
    margin-right: -40px; } }

/* ========================================================================
   Component: Grid
 ========================================================================== */
/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */
.uk-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none; }

/*
 * Grid cell
 * Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
 * Reset margin for e.g. paragraphs
 */
.uk-grid > * {
  margin: 0; }

/*
 * Remove margin from the last-child
 */
.uk-grid > * > :last-child {
  margin-bottom: 0; }

/* Gutter
 ========================================================================== */
/*
 * Default
 */
/* Horizontal */
.uk-grid {
  margin-left: -30px; }

.uk-grid > * {
  padding-left: 30px; }

/* Vertical */
.uk-grid + .uk-grid,
.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
  margin-top: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid {
    margin-left: -40px; }
  .uk-grid > * {
    padding-left: 40px; }
  /* Vertical */
  .uk-grid + .uk-grid,
  .uk-grid > .uk-grid-margin,
  * + .uk-grid-margin {
    margin-top: 40px; } }

/*
 * Small
 */
/* Horizontal */
.uk-grid-small {
  margin-left: -15px; }

.uk-grid-small > * {
  padding-left: 15px; }

/* Vertical */
.uk-grid + .uk-grid-small,
.uk-grid-small > .uk-grid-margin,
* + .uk-grid-margin-small {
  margin-top: 15px; }

/*
 * Medium
 */
/* Horizontal */
.uk-grid-medium {
  margin-left: -30px; }

.uk-grid-medium > * {
  padding-left: 30px; }

/* Vertical */
.uk-grid + .uk-grid-medium,
.uk-grid-medium > .uk-grid-margin,
* + .uk-grid-margin-medium {
  margin-top: 30px; }

/*
 * Large
 */
/* Horizontal */
.uk-grid-large {
  margin-left: -40px; }

.uk-grid-large > * {
  padding-left: 40px; }

/* Vertical */
.uk-grid + .uk-grid-large,
.uk-grid-large > .uk-grid-margin,
* + .uk-grid-margin-large {
  margin-top: 40px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-large {
    margin-left: -70px; }
  .uk-grid-large > * {
    padding-left: 70px; }
  /* Vertical */
  .uk-grid + .uk-grid-large,
  .uk-grid-large > .uk-grid-margin,
  * + .uk-grid-margin-large {
    margin-top: 70px; } }

/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse {
  margin-left: 0; }

.uk-grid-collapse > * {
  padding-left: 0; }

/* Vertical */
.uk-grid + .uk-grid-collapse,
.uk-grid-collapse > .uk-grid-margin {
  margin-top: 0; }

/* Divider
 ========================================================================== */
.uk-grid-divider > * {
  position: relative; }

.uk-grid-divider > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid #e5e5e5; }

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid #e5e5e5; }

/*
 * Default
 */
/* Horizontal */
.uk-grid-divider {
  margin-left: -60px; }

.uk-grid-divider > * {
  padding-left: 60px; }

.uk-grid-divider > :not(.uk-first-column)::before {
  left: 30px; }

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px; }

.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider {
    margin-left: -80px; }
  .uk-grid-divider > * {
    padding-left: 80px; }
  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 40px; }
  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px; }
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px; } }

/*
 * Small
 */
/* Horizontal */
.uk-grid-divider.uk-grid-small {
  margin-left: -30px; }

.uk-grid-divider.uk-grid-small > * {
  padding-left: 30px; }

.uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before {
  left: 15px; }

/* Vertical */
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin {
  margin-top: 30px; }

.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
  left: 30px; }

/*
 * Medium
 */
/* Horizontal */
.uk-grid-divider.uk-grid-medium {
  margin-left: -60px; }

.uk-grid-divider.uk-grid-medium > * {
  padding-left: 60px; }

.uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before {
  left: 30px; }

/* Vertical */
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px; }

.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px; }

/*
 * Large
 */
/* Horizontal */
.uk-grid-divider.uk-grid-large {
  margin-left: -80px; }

.uk-grid-divider.uk-grid-large > * {
  padding-left: 80px; }

.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before {
  left: 40px; }

/* Vertical */
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin {
  margin-top: 80px; }

.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
  left: 80px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider.uk-grid-large {
    margin-left: -140px; }
  .uk-grid-divider.uk-grid-large > * {
    padding-left: 140px; }
  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before {
    left: 70px; }
  /* Vertical */
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin {
    margin-top: 140px; }
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
    left: 140px; } }

/* Match child of a grid cell
 ========================================================================== */
/*
 * Behave like a block element
 * 1. Wrap into the next line
 * 2. Take the full width, at least 100%. Only if no class from the Width component is set.
 * 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
 */
.uk-grid-match > *,
.uk-grid-item-match {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.uk-grid-match > * > :not([class*='uk-width']),
.uk-grid-item-match > :not([class*='uk-width']) {
  /* 2 */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  /* 3 */
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto; }

/* ========================================================================
   Component: Tile
 ========================================================================== */
.uk-tile {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 40px;
  padding-bottom: 40px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px; } }

/*
 * Micro clearfix
 */
.uk-tile::before,
.uk-tile::after {
  content: "";
  display: table; }

.uk-tile::after {
  clear: both; }

/*
 * Remove margin from the last-child
 */
.uk-tile > :last-child {
  margin-bottom: 0; }

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-tile-xsmall {
  padding-top: 20px;
  padding-bottom: 20px; }

/*
 * Small
 */
.uk-tile-small {
  padding-top: 40px;
  padding-bottom: 40px; }

/*
 * Large
 */
.uk-tile-large {
  padding-top: 70px;
  padding-bottom: 70px; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-tile-large {
    padding-top: 140px;
    padding-bottom: 140px; } }

/*
 * XLarge
 */
.uk-tile-xlarge {
  padding-top: 140px;
  padding-bottom: 140px; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px; } }

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-tile-default {
  background: #fff; }

/*
 * Muted
 */
.uk-tile-muted {
  background: #f7f7f7; }

/*
 * Primary
 */
.uk-tile-primary {
  background: #2658a5; }

/*
 * Secondary
 */
.uk-tile-secondary {
  background: #222; }

/* ========================================================================
   Component: Card
 ========================================================================== */
.uk-card {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #000; }

/* Sections
 ========================================================================== */
.uk-card-body {
  padding: 30px 30px; }

.uk-card-header {
  padding: 15px 30px; }

.uk-card-footer {
  padding: 15px 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body {
    padding: 40px 40px; }
  .uk-card-header {
    padding: 20px 40px; }
  .uk-card-footer {
    padding: 20px 40px; } }

/*
 * Micro clearfix
 */
.uk-card-body::before,
.uk-card-body::after,
.uk-card-header::before,
.uk-card-header::after,
.uk-card-footer::before,
.uk-card-footer::after {
  content: "";
  display: table; }

.uk-card-body::after,
.uk-card-header::after,
.uk-card-footer::after {
  clear: both; }

/*
 * Remove margin from the last-child
 */
.uk-card-body > :last-child,
.uk-card-header > :last-child,
.uk-card-footer > :last-child {
  margin-bottom: 0; }

/* Media
 ========================================================================== */
/*
 * Reserved alignment modifier to style the media element, e.g. with `border-radius`
 * Implemented by the theme
 */
/* Title
 ========================================================================== */
.uk-card-title {
  font-size: 1.5rem;
  line-height: 1.4; }

/* Badge
 ========================================================================== */
.uk-card-badge {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 1; }

/*
 * Remove margin from adjacent element
 */
.uk-card-badge:first-child + * {
  margin-top: 0; }

/* Hover modifier
 ========================================================================== */
.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
  background: #fff;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

/* Style modifiers
 ========================================================================== */
/*
 * Default
 * Note: Header and Footer are only implemented for the default style
 */
.uk-card-default {
  background: #fff;
  color: #666;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-card-default .uk-card-title {
  color: #747370; }

.uk-card-default.uk-card-hover:hover {
  background-color: #fff;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-card-default .uk-card-header {
  border-bottom: 1px solid #e5e5e5; }

.uk-card-default .uk-card-footer {
  border-top: 1px solid #e5e5e5; }

/*
 * Primary
 */
.uk-card-primary {
  background: #2658a5;
  color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-card-primary .uk-card-title {
  color: #fff; }

.uk-card-primary.uk-card-hover:hover {
  background-color: #2658a5;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

/*
 * Secondary
 */
.uk-card-secondary {
  background: #222;
  color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-card-secondary .uk-card-title {
  color: #fff; }

.uk-card-secondary.uk-card-hover:hover {
  background-color: #222;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

/* Size modifier
 ========================================================================== */
/*
 * Small
 */
.uk-card-small.uk-card-body,
.uk-card-small .uk-card-body {
  padding: 20px 20px; }

.uk-card-small .uk-card-header {
  padding: 13px 20px; }

.uk-card-small .uk-card-footer {
  padding: 13px 20px; }

/*
 * Large
 */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large.uk-card-body,
  .uk-card-large .uk-card-body {
    padding: 70px 70px; }
  .uk-card-large .uk-card-header {
    padding: 35px 70px; }
  .uk-card-large .uk-card-footer {
    padding: 35px 70px; } }

/*
     * Default
     */
.uk-card-body > .uk-nav-default {
  margin-left: -30px;
  margin-right: -30px; }

.uk-card-body > .uk-nav-default:only-child {
  margin-top: -15px;
  margin-bottom: -15px; }

.uk-card-body .uk-nav-default > li > a,
.uk-card-body .uk-nav-default .uk-nav-header,
.uk-card-body .uk-nav-default .uk-nav-divider {
  padding-left: 30px;
  padding-right: 30px; }

.uk-card-body .uk-nav-default .uk-nav-sub {
  padding-left: 45px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body > .uk-nav-default {
    margin-left: -40px;
    margin-right: -40px; }
  .uk-card-body > .uk-nav-default:only-child {
    margin-top: -25px;
    margin-bottom: -25px; }
  .uk-card-body .uk-nav-default > li > a,
  .uk-card-body .uk-nav-default .uk-nav-header,
  .uk-card-body .uk-nav-default .uk-nav-divider {
    padding-left: 40px;
    padding-right: 40px; }
  .uk-card-body .uk-nav-default .uk-nav-sub {
    padding-left: 55px; } }

/*
     * Small
     */
.uk-card-small > .uk-nav-default {
  margin-left: -20px;
  margin-right: -20px; }

.uk-card-small > .uk-nav-default:only-child {
  margin-top: -5px;
  margin-bottom: -5px; }

.uk-card-small .uk-nav-default > li > a,
.uk-card-small .uk-nav-default .uk-nav-header,
.uk-card-small .uk-nav-default .uk-nav-divider {
  padding-left: 20px;
  padding-right: 20px; }

.uk-card-small .uk-nav-default .uk-nav-sub {
  padding-left: 35px; }

/*
     * Large
     */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large > .uk-nav-default {
    margin: 0; }
  .uk-card-large > .uk-nav-default:only-child {
    margin: 0; }
  .uk-card-large .uk-nav-default > li > a,
  .uk-card-large .uk-nav-default .uk-nav-header,
  .uk-card-large .uk-nav-default .uk-nav-divider {
    padding-left: 0;
    padding-right: 0; }
  .uk-card-large .uk-nav-default .uk-nav-sub {
    padding-left: 15px; } }

/* ========================================================================
   Component: Spinner
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
/* SVG
 ========================================================================== */
.uk-spinner > * {
  -webkit-animation: uk-spinner-rotate 1.4s linear infinite;
  animation: uk-spinner-rotate 1.4s linear infinite; }

@-webkit-keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg); } }

@keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg); } }

/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-animation: uk-spinner-dash 1.4s ease-in-out infinite;
  animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round; }

@-webkit-keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
    transform: rotate(450deg); } }

@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
    transform: rotate(450deg); } }

/* ========================================================================
   Component: Search
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Reset `form`
 */
.uk-search {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  margin: 0; }

/* Input
 ========================================================================== */
/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-search-input::-webkit-search-cancel-button,
.uk-search-input::-webkit-search-decoration {
  -webkit-appearance: none; }

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-search-input::-moz-placeholder {
  opacity: 1; }

/*
 * 1. Define consistent box sizing.
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers
 * 5. Show the overflow in Edge.
 * 6. Remove default style in iOS.
 * 7. Vertical alignment
 * 8. Take the full container width
 * 9. Style
 */
.uk-search-input {
  /* 1 */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
  /* 5 */
  overflow: visible;
  /* 6 */
  -webkit-appearance: none;
  /* 7 */
  vertical-align: middle;
  /* 8 */
  width: 100%;
  /* 9 */
  border: none;
  color: #666; }

.uk-search-input:focus {
  outline: none; }

/* Placeholder */
.uk-search-input:-ms-input-placeholder {
  color: #999 !important; }

.uk-search-input::-webkit-input-placeholder {
  color: #999; }

.uk-search-input::-ms-input-placeholder {
  color: #999; }

.uk-search-input::placeholder {
  color: #999; }

/* Icon (Adopts `uk-icon`)
 ========================================================================== */
/*
 * Remove default focus style
 */
.uk-search-icon:focus {
  outline: none; }

/*
 * Position above input
 * 1. Set position
 * 2. Center icon vertically and horizontally
 * 3. Style
 */
.uk-search .uk-search-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  /* 3 */
  color: #999; }

/*
 * Required for `a`.
 */
.uk-search .uk-search-icon:hover {
  color: #999; }

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-search .uk-search-icon:not(a):not(button):not(input) {
  pointer-events: none; }

/*
 * Position modifier
 */
.uk-search .uk-search-icon-flip {
  right: 0;
  left: auto; }

/* Default modifier
 ========================================================================== */
.uk-search-default {
  width: 180px; }

/*
 * Input
 */
.uk-search-default .uk-search-input {
  height: 40px;
  padding-left: 6px;
  padding-right: 6px;
  background: transparent;
  border: 1px solid #e5e5e5; }

/* Focus */
.uk-search-default .uk-search-input:focus {
  background-color: transparent; }

/*
 * Icon
 */
.uk-search-default .uk-search-icon {
  width: 40px; }

.uk-search-default .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px; }

.uk-search-default .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px; }

/* Navbar modifier
 ========================================================================== */
.uk-search-navbar {
  width: 400px; }

/*
 * Input
 */
.uk-search-navbar .uk-search-input {
  height: 40px;
  background: transparent;
  font-size: 1.5rem; }

/*
 * Icon
 */
.uk-search-navbar .uk-search-icon {
  width: 40px; }

.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px; }

.uk-search-navbar .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px; }

/* Large modifier
 ========================================================================== */
.uk-search-large {
  width: 500px; }

/*
 * Input
 */
.uk-search-large .uk-search-input {
  height: 80px;
  background: transparent;
  font-size: 2.625rem; }

/*
 * Icon
 */
.uk-search-large .uk-search-icon {
  width: 80px; }

.uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 80px; }

.uk-search-large .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 80px; }

/* Toggle
 ========================================================================== */
.uk-search-toggle {
  color: #999; }

/* Hover + Focus */
.uk-search-toggle:hover,
.uk-search-toggle:focus {
  color: #666; }

/* ========================================================================
   Component: Nav
 ========================================================================== */
/*
 * Reset
 * 1. Prepare lists
 * 2. Prepare links
 * 3. Remove default focus style
 */
/* 1 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none; }

/* 2 */
.uk-nav li > a {
  display: block;
  text-decoration: none; }

/* 3 */
.uk-nav li > a:focus {
  outline: none; }

/*
 * Items
 * Must target `a` elements to exclude other elements (e.g. lists)
 */
.uk-nav > li > a {
  padding: 5px 0; }

/* Sublists
 ========================================================================== */
/*
 * Level 2
 * `ul` needed for higher specificity to override padding
 */
ul.uk-nav-sub {
  padding: 5px 0 5px 15px; }

/*
 * Level 3 and deeper
 */
.uk-nav-sub ul {
  padding-left: 15px; }

/*
 * Items
 */
.uk-nav-sub a {
  padding: 2px 0; }

/* Parent icon modifier
 ========================================================================== */
.uk-nav-parent-icon > .uk-parent > a::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%; }

.uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/* Header
 ========================================================================== */
.uk-nav-header {
  padding: 5px 0;
  text-transform: uppercase;
  font-size: 0.875rem; }

.uk-nav-header:not(:first-child) {
  margin-top: 20px; }

/* Divider
 ========================================================================== */
.uk-nav-divider {
  margin: 5px 0; }

/* Default modifier
 ========================================================================== */
.uk-nav-default {
  font-size: 0.875rem; }

/*
 * Items
 */
.uk-nav-default > li > a {
  color: #999; }

/* Hover + Focus */
.uk-nav-default > li > a:hover,
.uk-nav-default > li > a:focus {
  color: #666; }

/* Active */
.uk-nav-default > li.uk-active > a {
  color: #747370; }

/*
 * Header
 */
.uk-nav-default .uk-nav-header {
  color: #747370; }

/*
 * Divider
 */
.uk-nav-default .uk-nav-divider {
  border-top: 1px solid #e5e5e5; }

/*
 * Sublists
 */
.uk-nav-default .uk-nav-sub a {
  color: #999; }

.uk-nav-default .uk-nav-sub a:hover,
.uk-nav-default .uk-nav-sub a:focus {
  color: #666; }

/* Primary modifier
 ========================================================================== */
/*
 * Items
 */
.uk-nav-primary > li > a {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #999; }

/* Hover + Focus */
.uk-nav-primary > li > a:hover,
.uk-nav-primary > li > a:focus {
  color: #666; }

/* Active */
.uk-nav-primary > li.uk-active > a {
  color: #747370; }

/*
 * Header
 */
.uk-nav-primary .uk-nav-header {
  color: #747370; }

/*
 * Divider
 */
.uk-nav-primary .uk-nav-divider {
  border-top: 1px solid #e5e5e5; }

/*
 * Sublists
 */
.uk-nav-primary .uk-nav-sub a {
  color: #999; }

.uk-nav-primary .uk-nav-sub a:hover,
.uk-nav-primary .uk-nav-sub a:focus {
  color: #666; }

/* Alignment modifier
 ========================================================================== */
.uk-nav-center {
  text-align: center; }

/* Sublists */
.uk-nav-center .uk-nav-sub,
.uk-nav-center .uk-nav-sub ul {
  padding-left: 0; }

/* Parent icon modifier  */
.uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after {
  position: absolute; }

/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-subnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-subnav > * {
  /* 1 */
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative; }

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * Using `:first-child` instead of `a` to support `span` elements for text
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }

/* Hover + Focus */
.uk-subnav > * > a:hover,
.uk-subnav > * > a:focus {
  color: #666;
  text-decoration: none;
  outline: none; }

/* Active */
.uk-subnav > .uk-active > a {
  color: #747370; }

/* Divider modifier
 ========================================================================== */
/*
 * 1. Align items and divider vertically
 */
.uk-subnav-divider > * {
  /* 1 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid #e5e5e5; }

/* Pill modifier
 ========================================================================== */
.uk-subnav-pill > * > :first-child {
  padding: 5px 10px;
  background: transparent;
  color: #999; }

/* Hover + Focus */
.uk-subnav-pill > * > a:hover,
.uk-subnav-pill > * > a:focus {
  background-color: #f7f7f7;
  color: #666; }

/* OnClick */
.uk-subnav-pill > * > a:active {
  background-color: #f7f7f7;
  color: #666; }

/* Active */
.uk-subnav-pill > .uk-active > a {
  background-color: #2658a5;
  color: #fff; }

/* Disabled
 * The same for all style modifiers
 ========================================================================== */
.uk-subnav > .uk-disabled > a {
  color: #999; }

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
  position: relative; }
  .uk-tab::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 0;
    border-bottom: 1px solid #e5e5e5; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-tab > * {
  /* 1 */
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative; }

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  border-bottom: 1px solid transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out; }

/* Hover + Focus */
.uk-tab > * > a:hover,
.uk-tab > * > a:focus {
  color: #666;
  text-decoration: none; }

/* Active */
.uk-tab > .uk-active > a {
  color: #747370;
  border-color: #2658a5; }

/* Disabled */
.uk-tab > .uk-disabled > a {
  color: #999; }

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
.uk-tab-bottom::before {
  top: 0;
  bottom: auto; }

.uk-tab-bottom > * > a {
  border-top: 1px solid transparent;
  border-bottom: none; }

/*
 * Left + Right
 * 1. Reset Gutter
 */
.uk-tab-left,
.uk-tab-right {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  /* 1 */
  margin-left: 0; }

/* 1 */
.uk-tab-left > *,
.uk-tab-right > * {
  padding-left: 0; }

.uk-tab-left::before {
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  border-left: 1px solid #e5e5e5;
  border-bottom: none; }

.uk-tab-right::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  border-left: 1px solid #e5e5e5;
  border-bottom: none; }

.uk-tab-left > * > a {
  text-align: left;
  border-right: 1px solid transparent;
  border-bottom: none; }

.uk-tab-right > * > a {
  text-align: left;
  border-left: 1px solid transparent;
  border-bottom: none; }

.uk-tab .uk-dropdown {
  margin-left: 30px; }

/* ========================================================================
   Component: Accordion
 ========================================================================== */
.uk-accordion {
  padding: 0;
  list-style: none; }

/* Item
 ========================================================================== */
.uk-accordion > :nth-child(n+2) {
  margin-top: 20px; }

/* Title
 ========================================================================== */
.uk-accordion-title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #747370;
  overflow: hidden; }
  .uk-accordion-title::after {
    content: "";
    width: 1.4em;
    height: 1.4em;
    float: right;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: 50% 50%; }
  .uk-open > .uk-accordion-title::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E"); }

/* Hover + Focus */
.uk-accordion-title:hover,
.uk-accordion-title:focus {
  color: #666;
  text-decoration: none;
  outline: none; }

/* Content
 ========================================================================== */
.uk-accordion-content {
  margin-top: 20px; }

/*
 * Micro clearfix
 */
.uk-accordion-content::before,
.uk-accordion-content::after {
  content: "";
  display: table; }

.uk-accordion-content::after {
  clear: both; }

/*
 * Remove margin from the last-child
 */
.uk-accordion-content > :last-child {
  margin-bottom: 0; }

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */
.uk-sticky-fixed {
  z-index: 980;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/*
 * Faster animations
 */
.uk-sticky[class*='uk-animation-'] {
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s; }

.uk-sticky.uk-animation-reverse {
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s; }

/* ========================================================================
   Component: Switcher
 ========================================================================== */
/*
 * Reset list
 */
.uk-switcher {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Items
 ========================================================================== */
/*
 * Hide not active items
 */
.uk-switcher > :not(.uk-active) {
  display: none; }

/*
 * Remove margin from the last-child
 */
.uk-switcher > * > :last-child {
  margin-bottom: 0; }

/* ========================================================================
   Component: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-iconnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -10px; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */
.uk-iconnav > * {
  /* 1 */
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  /* 2 */
  padding-left: 10px; }

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-iconnav > * > a {
  /* 1 */
  display: block;
  /* 2 */
  color: #999; }

/* Hover + Focus */
.uk-iconnav > * > a:hover,
.uk-iconnav > * > a:focus {
  color: #666;
  outline: none; }

/* Active */
.uk-iconnav > .uk-active > a {
  color: #666; }

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-iconnav-vertical {
  /* 1 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -10px; }

/* 2 */
.uk-iconnav-vertical > * {
  padding-left: 0;
  padding-top: 10px; }

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*='uk-animation-'] {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/* Animations for scrollspy
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  -webkit-animation-name: uk-fade;
  animation-name: uk-fade;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear; }

/*
 * Scale
 */
.uk-animation-scale-up {
  -webkit-animation-name: uk-fade-scale-02;
  animation-name: uk-fade-scale-02; }

.uk-animation-scale-down {
  -webkit-animation-name: uk-fade-scale-18;
  animation-name: uk-fade-scale-18; }

/*
 * Slide
 */
.uk-animation-slide-top {
  -webkit-animation-name: uk-fade-top;
  animation-name: uk-fade-top; }

.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottom;
  animation-name: uk-fade-bottom; }

.uk-animation-slide-left {
  -webkit-animation-name: uk-fade-left;
  animation-name: uk-fade-left; }

.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-right;
  animation-name: uk-fade-right; }

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  -webkit-animation-name: uk-fade-top-small;
  animation-name: uk-fade-top-small; }

.uk-animation-slide-bottom-small {
  -webkit-animation-name: uk-fade-bottom-small;
  animation-name: uk-fade-bottom-small; }

.uk-animation-slide-left-small {
  -webkit-animation-name: uk-fade-left-small;
  animation-name: uk-fade-left-small; }

.uk-animation-slide-right-small {
  -webkit-animation-name: uk-fade-right-small;
  animation-name: uk-fade-right-small; }

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  -webkit-animation-name: uk-fade-top-medium;
  animation-name: uk-fade-top-medium; }

.uk-animation-slide-bottom-medium {
  -webkit-animation-name: uk-fade-bottom-medium;
  animation-name: uk-fade-bottom-medium; }

.uk-animation-slide-left-medium {
  -webkit-animation-name: uk-fade-left-medium;
  animation-name: uk-fade-left-medium; }

.uk-animation-slide-right-medium {
  -webkit-animation-name: uk-fade-right-medium;
  animation-name: uk-fade-right-medium; }

/*
 * Kenburns
 */
.uk-animation-kenburns {
  -webkit-animation-name: uk-scale-kenburns;
  animation-name: uk-scale-kenburns;
  -webkit-animation-duration: 15s;
  animation-duration: 15s; }

/*
 * Shake
 */
.uk-animation-shake {
  -webkit-animation-name: uk-shake;
  animation-name: uk-shake; }

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  -webkit-animation-duration: 0.1s;
  animation-duration: 0.1s; }

/* Enable animation only on hover
========================================================================== */
/*
 * Note: Firefox and IE needs this because animations are not triggered when switching between display `none` and `block`
 */
.uk-animation-toggle:not(:hover):not(.uk-hover) [class*='uk-animation-'] {
  -webkit-animation-name: none;
  animation-name: none; }

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@-webkit-keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/*
 * Slide Top
 */
@-webkit-keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/*
 * Slide Bottom
 */
@-webkit-keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/*
 * Slide Left
 */
@-webkit-keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

/*
 * Slide Right
 */
@-webkit-keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

/*
 * Slide Top Small
 */
@-webkit-keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/*
 * Slide Bottom Small
 */
@-webkit-keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/*
 * Slide Left Small
 */
@-webkit-keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

/*
 * Slide Right Small
 */
@-webkit-keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

/*
 * Slide Top Medium
 */
@-webkit-keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/*
 * Slide Bottom Medium
 */
@-webkit-keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/*
 * Slide Left Medium
 */
@-webkit-keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

/*
 * Slide Right Medium
 */
@-webkit-keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

/*
 * Scale Up
 */
@-webkit-keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
    transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
    transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

/*
 * Scale Down
 */
@-webkit-keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
    transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
    transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

/*
 * Kenburns
 */
@-webkit-keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); } }
@keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); } }

/*
 * Shake
 */
@-webkit-keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
    transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
    transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
    transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
    transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
    transform: translateX(-1px); } }
@keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
    transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
    transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
    transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
    transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
    transform: translateX(-1px); } }

/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*='uk-child-width'] > * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%; }

.uk-child-width-1-2 > * {
  width: 50%; }

.uk-child-width-1-3 > * {
  width: calc(100% * 1 / 3.001); }

.uk-child-width-1-4 > * {
  width: 25%; }

.uk-child-width-1-5 > * {
  width: 20%; }

.uk-child-width-1-6 > * {
  width: calc(100% * 1 / 6.001); }

.uk-child-width-auto > * {
  width: auto; }

/*
 *    Instead of 0, 1px is needed to make cell wrap into next row if predecessor is 100% wide
 *    and the grid gutter is 0 pixels wide
 */
.uk-child-width-expand > * {
  width: 1px; }

/*
 * 1. Make `width: 1px` work, because according to the spec flex items won’t shrink
 *    below their minimum content size. To change this, set the min-width.
 *    Only needed for Firefox. All other browsers ignore this.
 *
 * 2. `width` is ignored when wrapping flex items in Safari
 *    https://github.com/philipwalton/flexbugs#11-min-and-max-size-declarations-are-ignored-when-wrapping-flex-items
 */
.uk-child-width-expand > :not([class*='uk-width']) {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  /* 1 */
  min-width: 0;
  /* 2 */
  -ms-flex-preferred-size: 1px;
  flex-basis: 1px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-child-width-1-1\@s > * {
    width: 100%; }
  .uk-child-width-1-2\@s > * {
    width: 50%; }
  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@s > * {
    width: 25%; }
  .uk-child-width-1-5\@s > * {
    width: 20%; }
  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@s > * {
    width: auto; }
  .uk-child-width-expand\@s > * {
    width: 1px; }
  .uk-child-width-expand\@s > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-child-width-1-1\@m > * {
    width: 100%; }
  .uk-child-width-1-2\@m > * {
    width: 50%; }
  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@m > * {
    width: 25%; }
  .uk-child-width-1-5\@m > * {
    width: 20%; }
  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@m > * {
    width: auto; }
  .uk-child-width-expand\@m > * {
    width: 1px; }
  .uk-child-width-expand\@m > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%; }
  .uk-child-width-1-2\@l > * {
    width: 50%; }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@l > * {
    width: 25%; }
  .uk-child-width-1-5\@l > * {
    width: 20%; }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@l > * {
    width: auto; }
  .uk-child-width-expand\@l > * {
    width: 1px; }
  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%; }
  .uk-child-width-1-2\@xl > * {
    width: 50%; }
  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@xl > * {
    width: 25%; }
  .uk-child-width-1-5\@xl > * {
    width: 20%; }
  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@xl > * {
    width: auto; }
  .uk-child-width-expand\@xl > * {
    width: 1px; }
  .uk-child-width-expand\@xl > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*='uk-width'] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  /* 1 */
  max-width: 100%; }

/* Halves */
.uk-width-1-2 {
  width: 50%; }

/* Thirds */
.uk-width-1-3 {
  width: calc(100% * 1 / 3.001); }

.uk-width-2-3 {
  width: calc(100% * 2 / 3.001); }

/* Quarters */
.uk-width-1-4 {
  width: 25%; }

.uk-width-3-4 {
  width: 75%; }

/* Fifths */
.uk-width-1-5 {
  width: 20%; }

.uk-width-2-5 {
  width: 40%; }

.uk-width-3-5 {
  width: 60%; }

.uk-width-4-5 {
  width: 80%; }

/* Sixths */
.uk-width-1-6 {
  width: calc(100% * 1 / 6.001); }

.uk-width-5-6 {
  width: calc(100% * 5 / 6.001); }

/* Pixel */
.uk-width-small {
  width: 150px; }

.uk-width-medium {
  width: 300px; }

.uk-width-large {
  width: 450px; }

.uk-width-xlarge {
  width: 600px; }

.uk-width-xxlarge {
  width: 750px; }

/* Auto */
.uk-width-auto {
  width: auto; }

/* Expand */
.uk-width-expand {
  width: 1px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
  -ms-flex-preferred-size: 1px;
  flex-basis: 1px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  /* Whole */
  .uk-width-1-1\@s {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@s {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@s {
    width: 25%; }
  .uk-width-3-4\@s {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@s {
    width: 20%; }
  .uk-width-2-5\@s {
    width: 40%; }
  .uk-width-3-5\@s {
    width: 60%; }
  .uk-width-4-5\@s {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@s {
    width: 150px; }
  .uk-width-medium\@s {
    width: 300px; }
  .uk-width-large\@s {
    width: 450px; }
  .uk-width-xlarge\@s {
    width: 600px; }
  .uk-width-xxlarge\@s {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@s {
    width: auto; }
  /* Expand */
  .uk-width-expand\@s {
    width: 1px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  /* Whole */
  .uk-width-1-1\@m {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@m {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@m {
    width: 25%; }
  .uk-width-3-4\@m {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@m {
    width: 20%; }
  .uk-width-2-5\@m {
    width: 40%; }
  .uk-width-3-5\@m {
    width: 60%; }
  .uk-width-4-5\@m {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@m {
    width: 150px; }
  .uk-width-medium\@m {
    width: 300px; }
  .uk-width-large\@m {
    width: 450px; }
  .uk-width-xlarge\@m {
    width: 600px; }
  .uk-width-xxlarge\@m {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@m {
    width: auto; }
  /* Expand */
  .uk-width-expand\@m {
    width: 1px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@l {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%; }
  .uk-width-3-4\@l {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%; }
  .uk-width-2-5\@l {
    width: 40%; }
  .uk-width-3-5\@l {
    width: 60%; }
  .uk-width-4-5\@l {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@l {
    width: 150px; }
  .uk-width-medium\@l {
    width: 300px; }
  .uk-width-large\@l {
    width: 450px; }
  .uk-width-xlarge\@l {
    width: 600px; }
  .uk-width-xxlarge\@l {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@l {
    width: auto; }
  /* Expand */
  .uk-width-expand\@l {
    width: 1px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  /* Whole */
  .uk-width-1-1\@xl {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@xl {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@xl {
    width: 25%; }
  .uk-width-3-4\@xl {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@xl {
    width: 20%; }
  .uk-width-2-5\@xl {
    width: 40%; }
  .uk-width-3-5\@xl {
    width: 60%; }
  .uk-width-4-5\@xl {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@xl {
    width: 150px; }
  .uk-width-medium\@xl {
    width: 300px; }
  .uk-width-large\@xl {
    width: 450px; }
  .uk-width-xlarge\@xl {
    width: 600px; }
  .uk-width-xxlarge\@xl {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto; }
  /* Expand */
  .uk-width-expand\@xl {
    width: 1px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
    flex-basis: 1px; } }

/* ========================================================================
   Component: Height
 ========================================================================== */
[class*='uk-height'] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%; }

/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh; }

/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px; }

.uk-height-medium {
  height: 300px; }

.uk-height-large {
  height: 450px; }

.uk-height-max-small {
  max-height: 150px; }

.uk-height-max-medium {
  max-height: 300px; }

.uk-height-max-large {
  max-height: 450px; }

/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #747370; }

.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }
  .uk-text-meta a {
    color: #999; }
  .uk-text-meta a:hover {
    color: #666;
    text-decoration: none; }

/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.75rem;
  line-height: 1.5; }

.uk-text-large {
  font-size: 1.5rem;
  line-height: 1.5; }

/* Weight modifier
 ========================================================================== */
.uk-text-bold {
  font-weight: bolder; }

/* Transform modifier
 ========================================================================== */
.uk-text-uppercase {
  text-transform: uppercase !important; }

.uk-text-capitalize {
  text-transform: capitalize !important; }

.uk-text-lowercase {
  text-transform: lowercase !important; }

/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #999 !important; }

.uk-text-primary {
  color: #2658a5 !important; }

.uk-text-success {
  color: #32d296 !important; }

.uk-text-warning {
  color: #faa05a !important; }

.uk-text-danger {
  color: #f0506e !important; }

/* Background modifier
 ========================================================================== */
/*
 * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
 *    Default color is set to transparent
 * 2. Container fits the text
 * 3. Fallback color for IE11
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #2658a5 !important; }

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #2658a5; } }

/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
  text-align: left !important; }

.uk-text-right {
  text-align: right !important; }

.uk-text-center {
  text-align: center !important; }

.uk-text-justify {
  text-align: justify !important; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-text-left\@s {
    text-align: left !important; }
  .uk-text-right\@s {
    text-align: right !important; }
  .uk-text-center\@s {
    text-align: center !important; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-text-left\@m {
    text-align: left !important; }
  .uk-text-right\@m {
    text-align: right !important; }
  .uk-text-center\@m {
    text-align: center !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-text-left\@l {
    text-align: left !important; }
  .uk-text-right\@l {
    text-align: right !important; }
  .uk-text-center\@l {
    text-align: center !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-text-left\@xl {
    text-align: left !important; }
  .uk-text-right\@xl {
    text-align: right !important; }
  .uk-text-center\@xl {
    text-align: center !important; } }

/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important; }

.uk-text-middle {
  vertical-align: middle !important; }

.uk-text-bottom {
  vertical-align: bottom !important; }

.uk-text-baseline {
  vertical-align: baseline !important; }

/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap; }

/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0; }

/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
 *    Must use `break-all` to support IE11 and Edge
 * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word; }

/* 3 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all; }

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*='uk-column-'] {
  -webkit-column-gap: 30px;
  column-gap: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*='uk-column-'] {
    -webkit-column-gap: 40px;
    column-gap: 40px; } }

/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*='uk-column-'] img {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

/* Divider
 ========================================================================== */
/*
 * 1. Double the column gap
 */
.uk-column-divider {
  -webkit-column-rule: 1px solid #e5e5e5;
  column-rule: 1px solid #e5e5e5;
  /* 1 */
  -webkit-column-gap: 60px;
  column-gap: 60px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    -webkit-column-gap: 80px;
    column-gap: 80px; } }

/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  -webkit-column-count: 2;
  column-count: 2; }

.uk-column-1-3 {
  -webkit-column-count: 3;
  column-count: 3; }

.uk-column-1-4 {
  -webkit-column-count: 4;
  column-count: 4; }

.uk-column-1-5 {
  -webkit-column-count: 5;
  column-count: 5; }

.uk-column-1-6 {
  -webkit-column-count: 6;
  column-count: 6; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-column-1-2\@s {
    -webkit-column-count: 2;
    column-count: 2; }
  .uk-column-1-3\@s {
    -webkit-column-count: 3;
    column-count: 3; }
  .uk-column-1-4\@s {
    -webkit-column-count: 4;
    column-count: 4; }
  .uk-column-1-5\@s {
    -webkit-column-count: 5;
    column-count: 5; }
  .uk-column-1-6\@s {
    -webkit-column-count: 6;
    column-count: 6; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-column-1-2\@m {
    -webkit-column-count: 2;
    column-count: 2; }
  .uk-column-1-3\@m {
    -webkit-column-count: 3;
    column-count: 3; }
  .uk-column-1-4\@m {
    -webkit-column-count: 4;
    column-count: 4; }
  .uk-column-1-5\@m {
    -webkit-column-count: 5;
    column-count: 5; }
  .uk-column-1-6\@m {
    -webkit-column-count: 6;
    column-count: 6; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    -webkit-column-count: 2;
    column-count: 2; }
  .uk-column-1-3\@l {
    -webkit-column-count: 3;
    column-count: 3; }
  .uk-column-1-4\@l {
    -webkit-column-count: 4;
    column-count: 4; }
  .uk-column-1-5\@l {
    -webkit-column-count: 5;
    column-count: 5; }
  .uk-column-1-6\@l {
    -webkit-column-count: 6;
    column-count: 6; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    -webkit-column-count: 2;
    column-count: 2; }
  .uk-column-1-3\@xl {
    -webkit-column-count: 3;
    column-count: 3; }
  .uk-column-1-4\@xl {
    -webkit-column-count: 4;
    column-count: 4; }
  .uk-column-1-5\@xl {
    -webkit-column-count: 5;
    column-count: 5; }
  .uk-column-1-6\@xl {
    -webkit-column-count: 6;
    column-count: 6; } }

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  -webkit-column-span: all;
  column-span: all; }

/* ========================================================================
   Component: Align
 ========================================================================== */
/*
 * Default
 */
[class*='uk-align'] {
  display: block;
  margin-bottom: 30px; }

* + [class*='uk-align'] {
  margin-top: 30px; }

/*
 * Center
 */
.uk-align-center {
  margin-left: auto;
  margin-right: auto; }

/*
 * Left/Right
 */
.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left; }

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-align-left\@s {
    margin-top: 0;
    margin-right: 30px;
    float: left; }
  .uk-align-right\@s {
    margin-top: 0;
    margin-left: 30px;
    float: right; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-align-left\@m {
    margin-top: 0;
    margin-right: 30px;
    float: left; }
  .uk-align-right\@m {
    margin-top: 0;
    margin-left: 30px;
    float: right; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left; }
  .uk-align-right\@l {
    margin-top: 0;
    float: right; }
  .uk-align-left,
  .uk-align-left\@s,
  .uk-align-left\@m,
  .uk-align-left\@l {
    margin-right: 40px; }
  .uk-align-right,
  .uk-align-right\@s,
  .uk-align-right\@m,
  .uk-align-right\@l {
    margin-left: 40px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left; }
  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right; } }

/* ========================================================================
   Component: SVG
 ========================================================================== */
/*
 * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 2. Set the fill and stroke color of all SVG elements to the current text color
 * 3. Fix for uppercase attribute names in Edge. Will be fixed in Windows 10 builds 16251+
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve),
.uk-svg:not(.uk-preserve) [FILL*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-svg:not(.uk-preserve) [stroke*='#']:not(.uk-preserve),
.uk-svg:not(.uk-preserve) [STROKE*='#']:not(.uk-preserve) {
  stroke: currentcolor; }

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-svg {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0); }

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/*
 * Micro clearfix
 */
.uk-panel::before,
.uk-panel::after {
  content: "";
  display: table; }

.uk-panel::after {
  clear: both; }

/*
 * Remove margin from the last-child
 */
.uk-panel > :last-child {
  margin-bottom: 0; }

/*
 * Scrollable
 */
.uk-panel-scrollable {
  height: 170px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  resize: both; }

/* Clearfix
 ========================================================================== */
/*
 * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
 * 2. `table` is used again with `::after` because `clear` only works with block elements.
 * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
 */
/* 1 */
.uk-clearfix::before {
  content: "";
  display: table-cell; }

/* 2 */
.uk-clearfix::after {
  content: "";
  display: table;
  clear: both; }

/* Float
 ========================================================================== */
/*
 * 1. Prevent content overflow
 */
.uk-float-left {
  float: left; }

.uk-float-right {
  float: right; }

/* 1 */
[class*='uk-float-'] {
  max-width: 100%; }

/* Overfow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden; }

/*
 * Enable scrollbars if content is clipped
 * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
 */
.uk-overflow-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.uk-overflow-auto > :last-child {
  margin-bottom: 0; }

/* Resize
 ========================================================================== */
.uk-resize {
  resize: both; }

.uk-resize-vertical {
  resize: vertical; }

/* Display
 ========================================================================== */
.uk-display-block {
  display: block !important; }

.uk-display-inline {
  display: inline !important; }

.uk-display-inline-block {
  display: inline-block !important; }

/* Inline
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 * 5. Force hardware acceleration without creating a new stacking context
 *    to fix 1px glitch when combined with overlays and transitions in Webkit
 * 6. Clip child elements
 */
[class*='uk-inline'] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  -webkit-backface-visibility: hidden; }

.uk-inline-clip {
  /* 6 */
  overflow: hidden; }

/* Responsive objects
 ========================================================================== */
/*
 * Preserve original dimensions
 * Because `img, `video`, `canvas` and  `audio` are already responsive by default, see Base component
 */
.uk-preserve-width,
.uk-preserve-width audio,
.uk-preserve-width canvas,
.uk-preserve-width img,
.uk-preserve-width svg,
.uk-preserve-width video {
  max-width: none; }

/*
 * Responsiveness
 * Corrects `max-width` and `max-height` behavior if padding and border are used
 */
.uk-responsive-width,
.uk-responsive-height {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/*
 * 1. Set a maximum width. `important` needed to override `uk-preserve-width img`
 * 2. Auto scale the height. Only needed if `height` attribute is present
 */
.uk-responsive-width {
  /* 1 */
  max-width: 100% !important;
  /* 2 */
  height: auto; }

/*
 * 1. Set a maximum height. Only works if the parent element has a fixed height
 * 2. Auto scale the width. Only needed if `width` attribute is present
 * 3. Reset max-width, which `img, `video`, `canvas` and  `audio` already have by default
 */
.uk-responsive-height {
  /* 1 */
  max-height: 100%;
  /* 2 */
  width: auto;
  /* 3 */
  max-width: none; }

/* Border
 ========================================================================== */
.uk-border-circle {
  border-radius: 50%; }

.uk-border-rounded {
  border-radius: 5px; }

/*
 * Fix `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
 */
.uk-inline-clip[class*='uk-border-'] {
  -webkit-transform: translateZ(0); }

/* Box-shadow
 ========================================================================== */
.uk-box-shadow-small {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-medium {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-large {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-xlarge {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/*
 * Hover
 */
[class*='uk-box-shadow-hover'] {
  -webkit-transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; }

.uk-box-shadow-hover-small:hover {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-medium:hover {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-large:hover {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-hover-xlarge:hover {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/* Box-shadow bottom
 ========================================================================== */
/*
 * 1. Set position.
 * 2. Set style
 * 3. Blur doesn't work on pseudo elements with negative `z-index` in Edge.
 *    Solved by using `before` and add position context to child elements.
 */
@supports ((-webkit-filter: blur(0)) or (filter: blur(0))) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    max-width: 100%;
    vertical-align: middle; }
  .uk-box-shadow-bottom::before {
    content: '';
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    -webkit-filter: blur(20px);
    filter: blur(20px); }
  /* 3 */
  .uk-box-shadow-bottom > * {
    position: relative; } }

/* Drop cap
 ========================================================================== */
/*
 * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=214004
 * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=317933
 * 3. Caused by 1.: Edge creates two nested `::first-letter` containers, one for each selector
 *    This doubles the `font-size` exponential when using the `em` unit.
 */
.uk-dropcap::first-letter,
.uk-dropcap > p:first-of-type::first-letter {
  display: block;
  margin-right: 10px;
  float: left;
  font-size: 4.5em;
  line-height: 1;
  margin-bottom: -2px; }

/* 2 */
@-moz-document url-prefix() {
  .uk-dropcap::first-letter,
  .uk-dropcap > p:first-of-type::first-letter {
    margin-top: 1.1%; } }

/* 3 */
@supports (-ms-ime-align: auto) {
  .uk-dropcap > p:first-of-type::first-letter {
    font-size: 1em; } }

/* Logo
 ========================================================================== */
/*
 * 1. Required for `a`
 */
.uk-logo {
  font-size: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #666;
  /* 1 */
  text-decoration: none; }

/* Hover + Focus */
.uk-logo:hover,
.uk-logo:focus {
  color: #666;
  outline: none;
  /* 1 */
  text-decoration: none; }

.uk-logo-inverse {
  display: none; }

/* Disabled State
 ========================================================================== */
.uk-disabled {
  pointer-events: none; }

/* Drag State
 ========================================================================== */
/*
 * 1. Needed if moving over elements with have their own cursor on hover, e.g. links or buttons
 * 2. Fix dragging over iframes
 */
.uk-drag,
.uk-drag * {
  cursor: move; }

/* 2 */
.uk-drag iframe {
  pointer-events: none; }

/* Dragover State
 ========================================================================== */
/*
 * Create a box-shadow when dragging a file over the upload area
 */
.uk-dragover {
  -webkit-box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
  box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); }

/* Blend modes
 ========================================================================== */
.uk-blend-multiply {
  mix-blend-mode: multiply; }

.uk-blend-screen {
  mix-blend-mode: screen; }

.uk-blend-overlay {
  mix-blend-mode: overlay; }

.uk-blend-darken {
  mix-blend-mode: darken; }

.uk-blend-lighten {
  mix-blend-mode: lighten; }

.uk-blend-color-dodge {
  mix-blend-mode: color-dodge; }

.uk-blend-color-burn {
  mix-blend-mode: color-burn; }

.uk-blend-hard-light {
  mix-blend-mode: hard-light; }

.uk-blend-soft-light {
  mix-blend-mode: soft-light; }

.uk-blend-difference {
  mix-blend-mode: difference; }

.uk-blend-exclusion {
  mix-blend-mode: exclusion; }

.uk-blend-hue {
  mix-blend-mode: hue; }

.uk-blend-saturation {
  mix-blend-mode: saturation; }

.uk-blend-color {
  mix-blend-mode: color; }

.uk-blend-luminosity {
  mix-blend-mode: luminosity; }

/* Transform
========================================================================== */
.uk-transform-center {
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0; }

.uk-transform-origin-top-center {
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0; }

.uk-transform-origin-top-right {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.uk-transform-origin-center-left {
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%; }

.uk-transform-origin-center-right {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%; }

.uk-transform-origin-bottom-left {
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%; }

.uk-transform-origin-bottom-center {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%; }

.uk-transform-origin-bottom-right {
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.uk-flex-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }

/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
  display: none; }

/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.uk-flex-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.uk-flex-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.uk-flex-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.uk-flex-around {
  -ms-flex-pack: distribute;
  justify-content: space-around; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-left\@s {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
  .uk-flex-center\@s {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .uk-flex-right\@s {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .uk-flex-between\@s {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .uk-flex-around\@s {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-left\@m {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
  .uk-flex-center\@m {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .uk-flex-right\@m {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .uk-flex-between\@m {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .uk-flex-around\@m {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@l {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
  .uk-flex-center\@l {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .uk-flex-right\@l {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .uk-flex-between\@l {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .uk-flex-around\@l {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
  .uk-flex-center\@xl {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .uk-flex-right\@xl {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .uk-flex-between\@xl {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .uk-flex-around\@xl {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }

.uk-flex-top {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }

.uk-flex-middle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.uk-flex-bottom {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }

/* Direction
 ========================================================================== */
.uk-flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row; }

.uk-flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.uk-flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.uk-flex-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse; }

/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }

.uk-flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.uk-flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse; }

/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
  -ms-flex-line-pack: stretch;
  align-content: stretch; }

.uk-flex-wrap-top {
  -ms-flex-line-pack: start;
  align-content: flex-start; }

.uk-flex-wrap-middle {
  -ms-flex-line-pack: center;
  align-content: center; }

.uk-flex-wrap-bottom {
  -ms-flex-line-pack: end;
  align-content: flex-end; }

.uk-flex-wrap-between {
  -ms-flex-line-pack: justify;
  align-content: space-between; }

.uk-flex-wrap-around {
  -ms-flex-line-pack: distribute;
  align-content: space-around; }

/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1; }

.uk-flex-last {
  -webkit-box-ordinal-group: 100;
  -ms-flex-order: 99;
  order: 99; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-first\@s {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1; }
  .uk-flex-last\@s {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-first\@m {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1; }
  .uk-flex-last\@m {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@l {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1; }
  .uk-flex-last\@l {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1; }
  .uk-flex-last\@xl {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99; } }

/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none; }

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto; }

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px; }

* + .uk-margin {
  margin-top: 20px !important; }

.uk-margin-top {
  margin-top: 20px !important; }

.uk-margin-bottom {
  margin-bottom: 20px !important; }

.uk-margin-left {
  margin-left: 20px !important; }

.uk-margin-right {
  margin-right: 20px !important; }

/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px; }

* + .uk-margin-small {
  margin-top: 10px !important; }

.uk-margin-small-top {
  margin-top: 10px !important; }

.uk-margin-small-bottom {
  margin-bottom: 10px !important; }

.uk-margin-small-left {
  margin-left: 10px !important; }

.uk-margin-small-right {
  margin-right: 10px !important; }

/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px; }

* + .uk-margin-medium {
  margin-top: 40px !important; }

.uk-margin-medium-top {
  margin-top: 40px !important; }

.uk-margin-medium-bottom {
  margin-bottom: 40px !important; }

.uk-margin-medium-left {
  margin-left: 40px !important; }

.uk-margin-medium-right {
  margin-right: 40px !important; }

/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px; }

* + .uk-margin-large {
  margin-top: 40px !important; }

.uk-margin-large-top {
  margin-top: 40px !important; }

.uk-margin-large-bottom {
  margin-bottom: 40px !important; }

.uk-margin-large-left {
  margin-left: 40px !important; }

.uk-margin-large-right {
  margin-right: 40px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-large {
    margin-bottom: 70px; }
  * + .uk-margin-large {
    margin-top: 70px !important; }
  .uk-margin-large-top {
    margin-top: 70px !important; }
  .uk-margin-large-bottom {
    margin-bottom: 70px !important; }
  .uk-margin-large-left {
    margin-left: 70px !important; }
  .uk-margin-large-right {
    margin-right: 70px !important; } }

/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px; }

* + .uk-margin-xlarge {
  margin-top: 70px !important; }

.uk-margin-xlarge-top {
  margin-top: 70px !important; }

.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important; }

.uk-margin-xlarge-left {
  margin-left: 70px !important; }

.uk-margin-xlarge-right {
  margin-right: 70px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-xlarge {
    margin-bottom: 140px; }
  * + .uk-margin-xlarge {
    margin-top: 140px !important; }
  .uk-margin-xlarge-top {
    margin-top: 140px !important; }
  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important; }
  .uk-margin-xlarge-left {
    margin-left: 140px !important; }
  .uk-margin-xlarge-right {
    margin-right: 140px !important; } }

/* Remove
 ========================================================================== */
.uk-margin-remove {
  margin: 0 !important; }

.uk-margin-remove-top {
  margin-top: 0 !important; }

.uk-margin-remove-bottom {
  margin-bottom: 0 !important; }

.uk-margin-remove-left {
  margin-left: 0 !important; }

.uk-margin-remove-right {
  margin-right: 0 !important; }

.uk-margin-remove-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.uk-margin-remove-adjacent + * {
  margin-top: 0 !important; }

/* Auto
 ========================================================================== */
.uk-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important; }

.uk-margin-auto-top {
  margin-top: auto !important; }

.uk-margin-auto-bottom {
  margin-bottom: auto !important; }

.uk-margin-auto-left {
  margin-left: auto !important; }

.uk-margin-auto-right {
  margin-right: auto !important; }

.uk-margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important; }

/* ========================================================================
   Component: Padding
 ========================================================================== */
.uk-padding {
  padding: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding {
    padding: 40px; } }

/* Small
 ========================================================================== */
.uk-padding-small {
  padding: 15px; }

/* Large
 ========================================================================== */
.uk-padding-large {
  padding: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding-large {
    padding: 70px; } }

/* Remove
 ========================================================================== */
.uk-padding-remove {
  padding: 0 !important; }

.uk-padding-remove-top {
  padding-top: 0 !important; }

.uk-padding-remove-bottom {
  padding-bottom: 0 !important; }

.uk-padding-remove-left {
  padding-left: 0 !important; }

.uk-padding-remove-right {
  padding-right: 0 !important; }

.uk-padding-remove-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.uk-padding-remove-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important; }

/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
  position: absolute !important; }

/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is wrong if the parent has padding. */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0; }

.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0; }

.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0; }

.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0; }

/* Corners
 ========================================================================== */
.uk-position-top-left {
  top: 0;
  left: 0; }

.uk-position-top-right {
  top: 0;
  right: 0; }

.uk-position-bottom-left {
  bottom: 0;
  left: 0; }

.uk-position-bottom-right {
  bottom: 0;
  right: 0; }

/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container (Not working in Firefox)
 * 2. Fix text wrapping for Firefox
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* Vertical */
[class*='uk-position-center-left'],
[class*='uk-position-center-right'] {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.uk-position-center-left {
  left: 0; }

.uk-position-center-right {
  right: 0; }

.uk-position-center-left-out {
  right: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }

.uk-position-center-right-out {
  left: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.uk-position-top-center {
  top: 0; }

.uk-position-bottom-center {
  bottom: 0; }

/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important; }

.uk-position-absolute {
  position: absolute !important; }

.uk-position-fixed {
  position: fixed !important; }

.uk-position-z-index {
  z-index: 1; }

/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  margin: 15px; }

.uk-position-small.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-15px, -15px);
  transform: translate(-50%, -50%) translate(-15px, -15px); }

.uk-position-small[class*='uk-position-center-left'],
.uk-position-small[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-15px);
  transform: translateY(-50%) translateY(-15px); }

.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-15px);
  transform: translateX(-50%) translateX(-15px); }

/*
 * Medium
 */
.uk-position-medium {
  margin: 30px; }

.uk-position-medium.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
  transform: translate(-50%, -50%) translate(-30px, -30px); }

.uk-position-medium[class*='uk-position-center-left'],
.uk-position-medium[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
  transform: translateY(-50%) translateY(-30px); }

.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
  transform: translateX(-50%) translateX(-30px); }

/*
 * Large
 */
.uk-position-large {
  margin: 30px; }

.uk-position-large.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
  transform: translate(-50%, -50%) translate(-30px, -30px); }

.uk-position-large[class*='uk-position-center-left'],
.uk-position-large[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
  transform: translateY(-50%) translateY(-30px); }

.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
  transform: translateX(-50%) translateX(-30px); }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    margin: 50px; }
  .uk-position-large.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-50px, -50px);
    transform: translate(-50%, -50%) translate(-50px, -50px); }
  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    -webkit-transform: translateY(-50%) translateY(-50px);
    transform: translateY(-50%) translateY(-50px); }
  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    -webkit-transform: translateX(-50%) translateX(-50px);
    transform: translateX(-50%) translateX(-50px); } }

/* ========================================================================
   Component: Transition
 ========================================================================== */
/*
 * Using multiple selectors to exclude `uk-transition-toggle`
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`
 *       Just put the transition in an extra `div`
 */
.uk-transition-fade,
[class*='uk-transition-scale'],
[class*='uk-transition-slide'] {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter; }

.uk-transition-toggle:focus {
  outline: none; }

/*
 * Fade
 */
.uk-transition-fade {
  opacity: 0; }

/* Show */
.uk-transition-toggle:hover [class*='uk-transition-fade'],
.uk-transition-toggle.uk-hover [class*='uk-transition-fade'],
.uk-transition-toggle:focus [class*='uk-transition-fade'],
.uk-transition-active.uk-active [class*='uk-transition-fade'] {
  opacity: 1; }

/*
 * Scale
 * Note: Using `scale3d` for better image rendering
 */
[class*='uk-transition-scale'] {
  opacity: 0; }

.uk-transition-scale-up {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1); }

.uk-transition-scale-down {
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1); }

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle.uk-hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1); }

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle.uk-hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1); }

/*
 * Slide
 */
[class*='uk-transition-slide'] {
  opacity: 0; }

.uk-transition-slide-top {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%); }

.uk-transition-slide-bottom {
  -webkit-transform: translateY(100%);
  transform: translateY(100%); }

.uk-transition-slide-left {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%); }

.uk-transition-slide-right {
  -webkit-transform: translateX(100%);
  transform: translateX(100%); }

.uk-transition-slide-top-small {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px); }

.uk-transition-slide-bottom-small {
  -webkit-transform: translateY(10px);
  transform: translateY(10px); }

.uk-transition-slide-left-small {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px); }

.uk-transition-slide-right-small {
  -webkit-transform: translateX(10px);
  transform: translateX(10px); }

.uk-transition-slide-top-medium {
  -webkit-transform: translateY(-50px);
  transform: translateY(-50px); }

.uk-transition-slide-bottom-medium {
  -webkit-transform: translateY(50px);
  transform: translateY(50px); }

.uk-transition-slide-left-medium {
  -webkit-transform: translateX(-50px);
  transform: translateX(-50px); }

.uk-transition-slide-right-medium {
  -webkit-transform: translateX(50px);
  transform: translateX(50px); }

/* Show */
.uk-transition-toggle:hover [class*='uk-transition-slide'],
.uk-transition-toggle.uk-hover [class*='uk-transition-slide'],
.uk-transition-toggle:focus [class*='uk-transition-slide'],
.uk-transition-active.uk-active [class*='uk-transition-slide'] {
  opacity: 1;
  -webkit-transform: translateX(0) translateY(0);
  transform: translateX(0) translateY(0); }

/* Opacity modifier
========================================================================== */
.uk-transition-opaque {
  opacity: 1; }

/* Duration modifiers
========================================================================== */
.uk-transition-slow {
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s; }

/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden {
  display: none !important; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-hidden\@s {
    display: none !important; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-hidden\@m {
    display: none !important; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-hidden\@l {
    display: none !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-hidden\@xl {
    display: none !important; } }

/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 639px) {
  .uk-visible\@s {
    display: none !important; } }

/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-visible\@m {
    display: none !important; } }

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-visible\@l {
    display: none !important; } }

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-visible\@xl {
    display: none !important; } }

/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important; }

/* Hover
 ========================================================================== */
/*
 * Hidden
 * Can't use `display: hidden` because it's not focusable. This is accessible through keyboard.
 */
.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-hidden-hover:not(:focus) {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important; }

/*
 * Invisible
 * Can't use `visibility: hidden` because it's not focusable. This is accessible through keyboard.
 */
.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-invisible-hover:not(:focus) {
  opacity: 0 !important; }

/* Touch
 ========================================================================== */
/*
 * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
 * Works on mobile browsers: Safari, Chrome and Android browser
 */
@media (pointer: coarse) {
  .uk-hidden-touch {
    display: none !important; } }

/*
 * Hide if primary pointing device is accurate, e.g. mouse.
 * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
 * 2. Reset if supported
 */
/* 1 */
.uk-hidden-notouch {
  display: none !important; }

@media (pointer: coarse) {
  .uk-hidden-notouch {
    display: block !important; } }

/* ========================================================================
   Component: Inverse
 ========================================================================== */
/*
 * Implemented class depends on the general theme color
 * `uk-light` is for light colors on dark backgrounds
 * `uk-dark` is or dark colors on light backgrounds
 */
.uk-light, .uk-section-primary:not(.uk-preserve-color), .uk-section-secondary:not(.uk-preserve-color), .uk-tile-primary:not(.uk-preserve-color), .uk-tile-secondary:not(.uk-preserve-color), .uk-card-primary.uk-card-body, .uk-card-primary > :not([class*='uk-card-media']), .uk-card-secondary.uk-card-body, .uk-card-secondary > :not([class*='uk-card-media']) {
  color: rgba(255, 255, 255, 0.7); }
  .uk-light a, .uk-section-primary:not(.uk-preserve-color) a, .uk-section-secondary:not(.uk-preserve-color) a, .uk-tile-primary:not(.uk-preserve-color) a, .uk-tile-secondary:not(.uk-preserve-color) a, .uk-card-primary.uk-card-body a, .uk-card-primary > :not([class*='uk-card-media']) a, .uk-card-secondary.uk-card-body a, .uk-card-secondary > :not([class*='uk-card-media']) a,
  .uk-light .uk-link,
  .uk-section-primary:not(.uk-preserve-color) .uk-link,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link,
  .uk-card-primary.uk-card-body .uk-link,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link,
  .uk-card-secondary.uk-card-body .uk-link,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link {
    color: #fff; }
  .uk-light a:hover, .uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-tile-primary:not(.uk-preserve-color) a:hover, .uk-tile-secondary:not(.uk-preserve-color) a:hover, .uk-card-primary.uk-card-body a:hover, .uk-card-primary > :not([class*='uk-card-media']) a:hover, .uk-card-secondary.uk-card-body a:hover, .uk-card-secondary > :not([class*='uk-card-media']) a:hover,
  .uk-light .uk-link:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover,
  .uk-card-primary.uk-card-body .uk-link:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link:hover,
  .uk-card-secondary.uk-card-body .uk-link:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link:hover {
    color: #fff; }
  .uk-light :not(pre) > code, .uk-section-primary:not(.uk-preserve-color) :not(pre) > code, .uk-section-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-primary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-card-primary.uk-card-body :not(pre) > code, .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > code, .uk-card-secondary.uk-card-body :not(pre) > code, .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > code,
  .uk-light :not(pre) > kbd,
  .uk-section-primary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-section-secondary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-tile-primary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > kbd,
  .uk-card-primary.uk-card-body :not(pre) > kbd,
  .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > kbd,
  .uk-card-secondary.uk-card-body :not(pre) > kbd,
  .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > kbd,
  .uk-light :not(pre) > samp,
  .uk-section-primary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-section-secondary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-tile-primary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > samp,
  .uk-card-primary.uk-card-body :not(pre) > samp,
  .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > samp,
  .uk-card-secondary.uk-card-body :not(pre) > samp,
  .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > samp {
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.1); }
  .uk-light em, .uk-section-primary:not(.uk-preserve-color) em, .uk-section-secondary:not(.uk-preserve-color) em, .uk-tile-primary:not(.uk-preserve-color) em, .uk-tile-secondary:not(.uk-preserve-color) em, .uk-card-primary.uk-card-body em, .uk-card-primary > :not([class*='uk-card-media']) em, .uk-card-secondary.uk-card-body em, .uk-card-secondary > :not([class*='uk-card-media']) em {
    color: #fff; }
  .uk-light h1, .uk-section-primary:not(.uk-preserve-color) h1, .uk-section-secondary:not(.uk-preserve-color) h1, .uk-tile-primary:not(.uk-preserve-color) h1, .uk-tile-secondary:not(.uk-preserve-color) h1, .uk-card-primary.uk-card-body h1, .uk-card-primary > :not([class*='uk-card-media']) h1, .uk-card-secondary.uk-card-body h1, .uk-card-secondary > :not([class*='uk-card-media']) h1, .uk-light .uk-h1, .uk-section-primary:not(.uk-preserve-color) .uk-h1, .uk-section-secondary:not(.uk-preserve-color) .uk-h1, .uk-tile-primary:not(.uk-preserve-color) .uk-h1, .uk-tile-secondary:not(.uk-preserve-color) .uk-h1, .uk-card-primary.uk-card-body .uk-h1, .uk-card-primary > :not([class*='uk-card-media']) .uk-h1, .uk-card-secondary.uk-card-body .uk-h1, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h1,
  .uk-light h2,
  .uk-section-primary:not(.uk-preserve-color) h2,
  .uk-section-secondary:not(.uk-preserve-color) h2,
  .uk-tile-primary:not(.uk-preserve-color) h2,
  .uk-tile-secondary:not(.uk-preserve-color) h2,
  .uk-card-primary.uk-card-body h2,
  .uk-card-primary > :not([class*='uk-card-media']) h2,
  .uk-card-secondary.uk-card-body h2,
  .uk-card-secondary > :not([class*='uk-card-media']) h2, .uk-light .uk-h2, .uk-section-primary:not(.uk-preserve-color) .uk-h2, .uk-section-secondary:not(.uk-preserve-color) .uk-h2, .uk-tile-primary:not(.uk-preserve-color) .uk-h2, .uk-tile-secondary:not(.uk-preserve-color) .uk-h2, .uk-card-primary.uk-card-body .uk-h2, .uk-card-primary > :not([class*='uk-card-media']) .uk-h2, .uk-card-secondary.uk-card-body .uk-h2, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h2,
  .uk-light h3,
  .uk-section-primary:not(.uk-preserve-color) h3,
  .uk-section-secondary:not(.uk-preserve-color) h3,
  .uk-tile-primary:not(.uk-preserve-color) h3,
  .uk-tile-secondary:not(.uk-preserve-color) h3,
  .uk-card-primary.uk-card-body h3,
  .uk-card-primary > :not([class*='uk-card-media']) h3,
  .uk-card-secondary.uk-card-body h3,
  .uk-card-secondary > :not([class*='uk-card-media']) h3, .uk-light .uk-h3, .uk-section-primary:not(.uk-preserve-color) .uk-h3, .uk-section-secondary:not(.uk-preserve-color) .uk-h3, .uk-tile-primary:not(.uk-preserve-color) .uk-h3, .uk-tile-secondary:not(.uk-preserve-color) .uk-h3, .uk-card-primary.uk-card-body .uk-h3, .uk-card-primary > :not([class*='uk-card-media']) .uk-h3, .uk-card-secondary.uk-card-body .uk-h3, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h3,
  .uk-light h4,
  .uk-section-primary:not(.uk-preserve-color) h4,
  .uk-section-secondary:not(.uk-preserve-color) h4,
  .uk-tile-primary:not(.uk-preserve-color) h4,
  .uk-tile-secondary:not(.uk-preserve-color) h4,
  .uk-card-primary.uk-card-body h4,
  .uk-card-primary > :not([class*='uk-card-media']) h4,
  .uk-card-secondary.uk-card-body h4,
  .uk-card-secondary > :not([class*='uk-card-media']) h4, .uk-light .uk-h4, .uk-section-primary:not(.uk-preserve-color) .uk-h4, .uk-section-secondary:not(.uk-preserve-color) .uk-h4, .uk-tile-primary:not(.uk-preserve-color) .uk-h4, .uk-tile-secondary:not(.uk-preserve-color) .uk-h4, .uk-card-primary.uk-card-body .uk-h4, .uk-card-primary > :not([class*='uk-card-media']) .uk-h4, .uk-card-secondary.uk-card-body .uk-h4, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h4,
  .uk-light h5,
  .uk-section-primary:not(.uk-preserve-color) h5,
  .uk-section-secondary:not(.uk-preserve-color) h5,
  .uk-tile-primary:not(.uk-preserve-color) h5,
  .uk-tile-secondary:not(.uk-preserve-color) h5,
  .uk-card-primary.uk-card-body h5,
  .uk-card-primary > :not([class*='uk-card-media']) h5,
  .uk-card-secondary.uk-card-body h5,
  .uk-card-secondary > :not([class*='uk-card-media']) h5, .uk-light .uk-h5, .uk-section-primary:not(.uk-preserve-color) .uk-h5, .uk-section-secondary:not(.uk-preserve-color) .uk-h5, .uk-tile-primary:not(.uk-preserve-color) .uk-h5, .uk-tile-secondary:not(.uk-preserve-color) .uk-h5, .uk-card-primary.uk-card-body .uk-h5, .uk-card-primary > :not([class*='uk-card-media']) .uk-h5, .uk-card-secondary.uk-card-body .uk-h5, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h5,
  .uk-light h6,
  .uk-section-primary:not(.uk-preserve-color) h6,
  .uk-section-secondary:not(.uk-preserve-color) h6,
  .uk-tile-primary:not(.uk-preserve-color) h6,
  .uk-tile-secondary:not(.uk-preserve-color) h6,
  .uk-card-primary.uk-card-body h6,
  .uk-card-primary > :not([class*='uk-card-media']) h6,
  .uk-card-secondary.uk-card-body h6,
  .uk-card-secondary > :not([class*='uk-card-media']) h6, .uk-light .uk-h6, .uk-section-primary:not(.uk-preserve-color) .uk-h6, .uk-section-secondary:not(.uk-preserve-color) .uk-h6, .uk-tile-primary:not(.uk-preserve-color) .uk-h6, .uk-tile-secondary:not(.uk-preserve-color) .uk-h6, .uk-card-primary.uk-card-body .uk-h6, .uk-card-primary > :not([class*='uk-card-media']) .uk-h6, .uk-card-secondary.uk-card-body .uk-h6, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h6 {
    color: #fff; }
  .uk-light blockquote, .uk-section-primary:not(.uk-preserve-color) blockquote, .uk-section-secondary:not(.uk-preserve-color) blockquote, .uk-tile-primary:not(.uk-preserve-color) blockquote, .uk-tile-secondary:not(.uk-preserve-color) blockquote, .uk-card-primary.uk-card-body blockquote, .uk-card-primary > :not([class*='uk-card-media']) blockquote, .uk-card-secondary.uk-card-body blockquote, .uk-card-secondary > :not([class*='uk-card-media']) blockquote {
    color: #fff; }
  .uk-light blockquote footer, .uk-section-primary:not(.uk-preserve-color) blockquote footer, .uk-section-secondary:not(.uk-preserve-color) blockquote footer, .uk-tile-primary:not(.uk-preserve-color) blockquote footer, .uk-tile-secondary:not(.uk-preserve-color) blockquote footer, .uk-card-primary.uk-card-body blockquote footer, .uk-card-primary > :not([class*='uk-card-media']) blockquote footer, .uk-card-secondary.uk-card-body blockquote footer, .uk-card-secondary > :not([class*='uk-card-media']) blockquote footer {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light hr, .uk-section-primary:not(.uk-preserve-color) hr, .uk-section-secondary:not(.uk-preserve-color) hr, .uk-tile-primary:not(.uk-preserve-color) hr, .uk-tile-secondary:not(.uk-preserve-color) hr, .uk-card-primary.uk-card-body hr, .uk-card-primary > :not([class*='uk-card-media']) hr, .uk-card-secondary.uk-card-body hr, .uk-card-secondary > :not([class*='uk-card-media']) hr, .uk-light .uk-hr, .uk-section-primary:not(.uk-preserve-color) .uk-hr, .uk-section-secondary:not(.uk-preserve-color) .uk-hr, .uk-tile-primary:not(.uk-preserve-color) .uk-hr, .uk-tile-secondary:not(.uk-preserve-color) .uk-hr, .uk-card-primary.uk-card-body .uk-hr, .uk-card-primary > :not([class*='uk-card-media']) .uk-hr, .uk-card-secondary.uk-card-body .uk-hr, .uk-card-secondary > :not([class*='uk-card-media']) .uk-hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light a.uk-link-muted, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-card-primary.uk-card-body a.uk-link-muted, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted, .uk-card-secondary.uk-card-body a.uk-link-muted, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted,
  .uk-light .uk-link-muted a,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a,
  .uk-card-primary.uk-card-body .uk-link-muted a,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a,
  .uk-card-secondary.uk-card-body .uk-link-muted a,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light a.uk-link-muted:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-card-primary.uk-card-body a.uk-link-muted:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted:hover, .uk-card-secondary.uk-card-body a.uk-link-muted:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted:hover,
  .uk-light .uk-link-muted a:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
  .uk-card-primary.uk-card-body .uk-link-muted a:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a:hover,
  .uk-card-secondary.uk-card-body .uk-link-muted a:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a:hover {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light a.uk-link-text:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-card-primary.uk-card-body a.uk-link-text:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-text:hover, .uk-card-secondary.uk-card-body a.uk-link-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-text:hover,
  .uk-light .uk-link-text a:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
  .uk-card-primary.uk-card-body .uk-link-text a:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-text a:hover,
  .uk-card-secondary.uk-card-body .uk-link-text a:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-text a:hover {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light a.uk-link-heading:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-card-primary.uk-card-body a.uk-link-heading:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-heading:hover, .uk-card-secondary.uk-card-body a.uk-link-heading:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-heading:hover,
  .uk-light .uk-link-heading a:hover,
  .uk-section-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-section-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-tile-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
  .uk-card-primary.uk-card-body .uk-link-heading a:hover,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-link-heading a:hover,
  .uk-card-secondary.uk-card-body .uk-link-heading a:hover,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-heading a:hover {
    color: #fff; }
  .uk-light .uk-heading-divider, .uk-section-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-card-primary.uk-card-body .uk-heading-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-divider, .uk-card-secondary.uk-card-body .uk-heading-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-divider {
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-heading-bullet::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-card-primary.uk-card-body .uk-heading-bullet::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-bullet::before, .uk-card-secondary.uk-card-body .uk-heading-bullet::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-bullet::before {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-heading-line > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-card-primary.uk-card-body .uk-heading-line > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::before, .uk-card-secondary.uk-card-body .uk-heading-line > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::before,
  .uk-light .uk-heading-line > ::after,
  .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
  .uk-card-primary.uk-card-body .uk-heading-line > ::after,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::after,
  .uk-card-secondary.uk-card-body .uk-heading-line > ::after,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::after {
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-divider-icon, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-card-primary.uk-card-body .uk-divider-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon, .uk-card-secondary.uk-card-body .uk-divider-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.2)%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  .uk-light .uk-divider-icon::before, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-card-primary.uk-card-body .uk-divider-icon::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::before, .uk-card-secondary.uk-card-body .uk-divider-icon::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::before,
  .uk-light .uk-divider-icon::after,
  .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
  .uk-card-primary.uk-card-body .uk-divider-icon::after,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::after,
  .uk-card-secondary.uk-card-body .uk-divider-icon::after,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::after {
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-divider-small::after, .uk-section-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-card-primary.uk-card-body .uk-divider-small::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-small::after, .uk-card-secondary.uk-card-body .uk-divider-small::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-small::after {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-list-divider > li:nth-child(n+2), .uk-section-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-card-primary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2), .uk-card-secondary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2) {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-list-striped > li:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd) {
    border-top-color: rgba(255, 255, 255, 0.2);
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-list-striped > li:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.1); }
  .uk-light .uk-list-bullet > li::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-card-primary.uk-card-body .uk-list-bullet > li::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-bullet > li::before, .uk-card-secondary.uk-card-body .uk-list-bullet > li::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-bullet > li::before {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-icon-link, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-card-primary.uk-card-body .uk-icon-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link, .uk-card-secondary.uk-card-body .uk-icon-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-icon-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-card-primary.uk-card-body .uk-icon-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:hover, .uk-card-secondary.uk-card-body .uk-icon-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:hover,
  .uk-light .uk-icon-link:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
  .uk-card-primary.uk-card-body .uk-icon-link:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:focus,
  .uk-card-secondary.uk-card-body .uk-icon-link:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-icon-link:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-card-primary.uk-card-body .uk-icon-link:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:active, .uk-card-secondary.uk-card-body .uk-icon-link:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:active,
  .uk-light .uk-active > .uk-icon-link,
  .uk-section-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-section-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-tile-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
  .uk-card-primary.uk-card-body .uk-active > .uk-icon-link,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link,
  .uk-card-secondary.uk-card-body .uk-active > .uk-icon-link,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-icon-button, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-card-primary.uk-card-body .uk-icon-button, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button, .uk-card-secondary.uk-card-body .uk-icon-button, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-icon-button:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-card-primary.uk-card-body .uk-icon-button:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:hover, .uk-card-secondary.uk-card-body .uk-icon-button:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:hover,
  .uk-light .uk-icon-button:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
  .uk-card-primary.uk-card-body .uk-icon-button:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:focus,
  .uk-card-secondary.uk-card-body .uk-icon-button:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:focus {
    background-color: rgba(242, 242, 242, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-icon-button:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-card-primary.uk-card-body .uk-icon-button:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:active, .uk-card-secondary.uk-card-body .uk-icon-button:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:active {
    background-color: rgba(230, 230, 230, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-input, .uk-section-primary:not(.uk-preserve-color) .uk-input, .uk-section-secondary:not(.uk-preserve-color) .uk-input, .uk-tile-primary:not(.uk-preserve-color) .uk-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-input, .uk-card-primary.uk-card-body .uk-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-input, .uk-card-secondary.uk-card-body .uk-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input,
  .uk-light .uk-select,
  .uk-section-primary:not(.uk-preserve-color) .uk-select,
  .uk-section-secondary:not(.uk-preserve-color) .uk-select,
  .uk-tile-primary:not(.uk-preserve-color) .uk-select,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-select,
  .uk-card-primary.uk-card-body .uk-select,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-select,
  .uk-card-secondary.uk-card-body .uk-select,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-select,
  .uk-light .uk-textarea,
  .uk-section-primary:not(.uk-preserve-color) .uk-textarea,
  .uk-section-secondary:not(.uk-preserve-color) .uk-textarea,
  .uk-tile-primary:not(.uk-preserve-color) .uk-textarea,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,
  .uk-card-primary.uk-card-body .uk-textarea,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea,
  .uk-card-secondary.uk-card-body .uk-textarea,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    background-clip: padding-box;
    border-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-card-primary.uk-card-body .uk-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-input:focus, .uk-card-secondary.uk-card-body .uk-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input:focus,
    .uk-light .uk-select:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-select:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-select:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-select:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus,
    .uk-card-primary.uk-card-body .uk-select:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-select:focus,
    .uk-card-secondary.uk-card-body .uk-select:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-select:focus,
    .uk-light .uk-textarea:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus,
    .uk-card-primary.uk-card-body .uk-textarea:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea:focus,
    .uk-card-secondary.uk-card-body .uk-textarea:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea:focus {
      background-color: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.7);
      border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-input:-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-input:-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-input::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-input::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-input::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-input::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-card-primary.uk-card-body .uk-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::placeholder, .uk-card-secondary.uk-card-body .uk-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-textarea:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea:-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea:-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-textarea::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-textarea::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-textarea::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-card-primary.uk-card-body .uk-textarea::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::placeholder, .uk-card-secondary.uk-card-body .uk-textarea::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-select:not([multiple]):not([size]), .uk-section-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-section-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-primary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]), .uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-secondary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  .uk-light .uk-radio, .uk-section-primary:not(.uk-preserve-color) .uk-radio, .uk-section-secondary:not(.uk-preserve-color) .uk-radio, .uk-tile-primary:not(.uk-preserve-color) .uk-radio, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio, .uk-card-primary.uk-card-body .uk-radio, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio, .uk-card-secondary.uk-card-body .uk-radio, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio,
  .uk-light .uk-checkbox,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox,
  .uk-card-primary.uk-card-body .uk-checkbox,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox,
  .uk-card-secondary.uk-card-body .uk-checkbox,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox {
    background-color: rgba(242, 242, 242, 0.1);
    border-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-radio:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-card-primary.uk-card-body .uk-radio:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:focus, .uk-card-secondary.uk-card-body .uk-radio:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:focus,
  .uk-light .uk-checkbox:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
  .uk-card-primary.uk-card-body .uk-checkbox:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:focus,
  .uk-card-secondary.uk-card-body .uk-checkbox:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:focus {
    border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked,
  .uk-light .uk-checkbox:checked,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-card-primary.uk-card-body .uk-checkbox:checked,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
  .uk-card-secondary.uk-card-body .uk-checkbox:checked,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked,
  .uk-light .uk-checkbox:indeterminate,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
  .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate {
    background-color: #fff;
    border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-radio:checked:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-card-primary.uk-card-body .uk-radio:checked:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-card-secondary.uk-card-body .uk-radio:checked:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked:focus,
  .uk-light .uk-checkbox:checked:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
  .uk-card-primary.uk-card-body .uk-checkbox:checked:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
  .uk-card-secondary.uk-card-body .uk-checkbox:checked:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
  .uk-light .uk-checkbox:indeterminate:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
  .uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus,
  .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus {
    background-color: #e6e6e6; }
  .uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  
  .uk-light .uk-checkbox:checked,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
  .uk-card-primary.uk-card-body .uk-checkbox:checked,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
  .uk-card-secondary.uk-card-body .uk-checkbox:checked,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  
  .uk-light .uk-checkbox:indeterminate,
  .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
  .uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
  .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-form-label, .uk-section-primary:not(.uk-preserve-color) .uk-form-label, .uk-section-secondary:not(.uk-preserve-color) .uk-form-label, .uk-tile-primary:not(.uk-preserve-color) .uk-form-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-label, .uk-card-primary.uk-card-body .uk-form-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-label, .uk-card-secondary.uk-card-body .uk-form-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-label {
    color: #fff; }
  .uk-light .uk-form-icon, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-card-primary.uk-card-body .uk-form-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon, .uk-card-secondary.uk-card-body .uk-form-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-form-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-card-primary.uk-card-body .uk-form-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon:hover, .uk-card-secondary.uk-card-body .uk-form-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon:hover {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-button-default, .uk-section-primary:not(.uk-preserve-color) .uk-button-default, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default, .uk-card-primary.uk-card-body .uk-button-default, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default, .uk-card-secondary.uk-card-body .uk-button-default, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default {
    background-color: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-button-default:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-card-primary.uk-card-body .uk-button-default:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:hover, .uk-card-secondary.uk-card-body .uk-button-default:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:hover,
  .uk-light .uk-button-default:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:focus,
  .uk-card-primary.uk-card-body .uk-button-default:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:focus,
  .uk-card-secondary.uk-card-body .uk-button-default:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:focus {
    background-color: transparent;
    color: #fff;
    border-color: #fff; }
  .uk-light .uk-button-default:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-card-primary.uk-card-body .uk-button-default:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:active, .uk-card-secondary.uk-card-body .uk-button-default:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:active,
  .uk-light .uk-button-default.uk-active,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
  .uk-card-primary.uk-card-body .uk-button-default.uk-active,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default.uk-active,
  .uk-card-secondary.uk-card-body .uk-button-default.uk-active,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default.uk-active {
    background-color: transparent;
    color: #fff;
    border-color: #fff; }
  .uk-light .uk-button-primary, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-card-primary.uk-card-body .uk-button-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary, .uk-card-secondary.uk-card-body .uk-button-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:hover,
  .uk-light .uk-button-primary:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
  .uk-card-primary.uk-card-body .uk-button-primary:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:focus,
  .uk-card-secondary.uk-card-body .uk-button-primary:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:focus {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-primary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-card-primary.uk-card-body .uk-button-primary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-card-secondary.uk-card-body .uk-button-primary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:active,
  .uk-light .uk-button-primary.uk-active,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
  .uk-card-primary.uk-card-body .uk-button-primary.uk-active,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary.uk-active,
  .uk-card-secondary.uk-card-body .uk-button-primary.uk-active,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary.uk-active {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-card-primary.uk-card-body .uk-button-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-card-secondary.uk-card-body .uk-button-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-secondary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-card-primary.uk-card-body .uk-button-secondary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-card-secondary.uk-card-body .uk-button-secondary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:hover,
  .uk-light .uk-button-secondary:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
  .uk-card-primary.uk-card-body .uk-button-secondary:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:focus,
  .uk-card-secondary.uk-card-body .uk-button-secondary:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:focus {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-secondary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-card-primary.uk-card-body .uk-button-secondary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-card-secondary.uk-card-body .uk-button-secondary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:active,
  .uk-light .uk-button-secondary.uk-active,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
  .uk-card-primary.uk-card-body .uk-button-secondary.uk-active,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active,
  .uk-card-secondary.uk-card-body .uk-button-secondary.uk-active,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-text, .uk-section-primary:not(.uk-preserve-color) .uk-button-text, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text, .uk-card-primary.uk-card-body .uk-button-text, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text, .uk-card-secondary.uk-card-body .uk-button-text, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text {
    color: #fff; }
    .uk-light .uk-button-text::before, .uk-section-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-card-primary.uk-card-body .uk-button-text::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text::before, .uk-card-secondary.uk-card-body .uk-button-text::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text::before {
      border-bottom-color: #fff; }
  .uk-light .uk-button-text:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-card-primary.uk-card-body .uk-button-text:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:hover, .uk-card-secondary.uk-card-body .uk-button-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:hover,
  .uk-light .uk-button-text:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:focus,
  .uk-card-primary.uk-card-body .uk-button-text:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:focus,
  .uk-card-secondary.uk-card-body .uk-button-text:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:focus {
    color: #fff; }
  .uk-light .uk-button-text:disabled, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-card-primary.uk-card-body .uk-button-text:disabled, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-card-secondary.uk-card-body .uk-button-text:disabled, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:disabled {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-button-link, .uk-section-primary:not(.uk-preserve-color) .uk-button-link, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link, .uk-card-primary.uk-card-body .uk-button-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link, .uk-card-secondary.uk-card-body .uk-button-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-button-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-card-primary.uk-card-body .uk-button-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-card-secondary.uk-card-body .uk-button-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:hover,
  .uk-light .uk-button-link:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:focus,
  .uk-card-primary.uk-card-body .uk-button-link:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:focus,
  .uk-card-secondary.uk-card-body .uk-button-link:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-close, .uk-section-primary:not(.uk-preserve-color) .uk-close, .uk-section-secondary:not(.uk-preserve-color) .uk-close, .uk-tile-primary:not(.uk-preserve-color) .uk-close, .uk-tile-secondary:not(.uk-preserve-color) .uk-close, .uk-card-primary.uk-card-body .uk-close, .uk-card-primary > :not([class*='uk-card-media']) .uk-close, .uk-card-secondary.uk-card-body .uk-close, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-close:hover, .uk-section-primary:not(.uk-preserve-color) .uk-close:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-card-primary.uk-card-body .uk-close:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-close:hover, .uk-card-secondary.uk-card-body .uk-close:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:hover,
  .uk-light .uk-close:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-close:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-close:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-close:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-close:focus,
  .uk-card-primary.uk-card-body .uk-close:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-close:focus,
  .uk-card-secondary.uk-card-body .uk-close:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-totop, .uk-section-primary:not(.uk-preserve-color) .uk-totop, .uk-section-secondary:not(.uk-preserve-color) .uk-totop, .uk-tile-primary:not(.uk-preserve-color) .uk-totop, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop, .uk-card-primary.uk-card-body .uk-totop, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop, .uk-card-secondary.uk-card-body .uk-totop, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-totop:hover, .uk-section-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-card-primary.uk-card-body .uk-totop:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-card-secondary.uk-card-body .uk-totop:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:hover,
  .uk-light .uk-totop:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:focus,
  .uk-card-primary.uk-card-body .uk-totop:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:focus,
  .uk-card-secondary.uk-card-body .uk-totop:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-totop:active, .uk-section-primary:not(.uk-preserve-color) .uk-totop:active, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-card-primary.uk-card-body .uk-totop:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:active, .uk-card-secondary.uk-card-body .uk-totop:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:active {
    color: #fff; }
  .uk-light .uk-badge, .uk-section-primary:not(.uk-preserve-color) .uk-badge, .uk-section-secondary:not(.uk-preserve-color) .uk-badge, .uk-tile-primary:not(.uk-preserve-color) .uk-badge, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge, .uk-card-primary.uk-card-body .uk-badge, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge, .uk-card-secondary.uk-card-body .uk-badge, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:hover,
  .uk-light .uk-badge:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:focus,
  .uk-card-primary.uk-card-body .uk-badge:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:focus,
  .uk-card-secondary.uk-card-body .uk-badge:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:focus {
    color: #666; }
  .uk-light .uk-label, .uk-section-primary:not(.uk-preserve-color) .uk-label, .uk-section-secondary:not(.uk-preserve-color) .uk-label, .uk-tile-primary:not(.uk-preserve-color) .uk-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-label, .uk-card-primary.uk-card-body .uk-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-label, .uk-card-secondary.uk-card-body .uk-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-label {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-article-meta, .uk-section-primary:not(.uk-preserve-color) .uk-article-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-card-primary.uk-card-body .uk-article-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-article-meta, .uk-card-secondary.uk-card-body .uk-article-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-article-meta {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input, .uk-card-primary.uk-card-body .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-search-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-search-input::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-input::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-card-primary.uk-card-body .uk-search-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::placeholder, .uk-card-secondary.uk-card-body .uk-search-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search .uk-search-icon, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-card-primary.uk-card-body .uk-search .uk-search-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search .uk-search-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-card-primary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-default .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-search-default .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus {
    background-color: transparent; }
  .uk-light .uk-search-navbar .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input {
    background-color: transparent; }
  .uk-light .uk-search-large .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-card-primary.uk-card-body .uk-search-large .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-large .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input {
    background-color: transparent; }
  .uk-light .uk-search-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-card-primary.uk-card-body .uk-search-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle, .uk-card-secondary.uk-card-body .uk-search-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-card-primary.uk-card-body .uk-search-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:hover, .uk-card-secondary.uk-card-body .uk-search-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:hover,
  .uk-light .uk-search-toggle:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
  .uk-card-primary.uk-card-body .uk-search-toggle:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:focus,
  .uk-card-secondary.uk-card-body .uk-search-toggle:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-nav-default > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-card-primary.uk-card-body .uk-nav-default > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a, .uk-card-secondary.uk-card-body .uk-nav-default > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-default > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover,
  .uk-light .uk-nav-default > li > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
  .uk-card-primary.uk-card-body .uk-nav-default > li > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-default > li > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-default > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a {
    color: #fff; }
  .uk-light .uk-nav-default .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header {
    color: #fff; }
  .uk-light .uk-nav-default .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-nav-default .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-default .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover,
  .uk-light .uk-nav-default .uk-nav-sub a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-primary > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-card-primary.uk-card-body .uk-nav-primary > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-primary > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover,
  .uk-light .uk-nav-primary > li > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
  .uk-card-primary.uk-card-body .uk-nav-primary > li > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-nav-primary > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a {
    color: #fff; }
  .uk-light .uk-nav-primary .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header {
    color: #fff; }
  .uk-light .uk-nav-primary .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-nav-primary .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-nav-primary .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover,
  .uk-light .uk-nav-primary .uk-nav-sub a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-navbar-nav > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-navbar-nav > li:hover > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a,
  .uk-light .uk-navbar-nav > li > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
  .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
  .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
  .uk-light .uk-navbar-nav > li > a.uk-open,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
  .uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
  .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-navbar-nav > li > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active {
    color: #fff; }
  .uk-light .uk-navbar-nav > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a {
    color: #fff; }
  .uk-light .uk-navbar-item, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-card-primary.uk-card-body .uk-navbar-item, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-item, .uk-card-secondary.uk-card-body .uk-navbar-item, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-item {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-navbar-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-card-primary.uk-card-body .uk-navbar-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle, .uk-card-secondary.uk-card-body .uk-navbar-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-navbar-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-card-primary.uk-card-body .uk-navbar-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover, .uk-card-secondary.uk-card-body .uk-navbar-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover,
  .uk-light .uk-navbar-toggle:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
  .uk-card-primary.uk-card-body .uk-navbar-toggle:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
  .uk-card-secondary.uk-card-body .uk-navbar-toggle:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
  .uk-light .uk-navbar-toggle.uk-open,
  .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
  .uk-card-primary.uk-card-body .uk-navbar-toggle.uk-open,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open,
  .uk-card-secondary.uk-card-body .uk-navbar-toggle.uk-open,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-subnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover,
  .uk-light .uk-subnav > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
  .uk-card-primary.uk-card-body .uk-subnav > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-subnav > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a {
    color: #fff; }
  .uk-light .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
    border-left-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-subnav-pill > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child {
    background-color: transparent;
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-subnav-pill > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover,
  .uk-light .uk-subnav-pill > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
  .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav-pill > * > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-subnav-pill > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-subnav > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-breadcrumb > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-card-primary.uk-card-body .uk-breadcrumb > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > * {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-breadcrumb > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-card-primary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover,
  .uk-light .uk-breadcrumb > * > :focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
  .uk-card-primary.uk-card-body .uk-breadcrumb > * > :focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus,
  .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-breadcrumb > :last-child > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-card-primary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > * {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-pagination > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-card-primary.uk-card-body .uk-pagination > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > *, .uk-card-secondary.uk-card-body .uk-pagination > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > * {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-pagination > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-card-primary.uk-card-body .uk-pagination > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :hover, .uk-card-secondary.uk-card-body .uk-pagination > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :hover,
  .uk-light .uk-pagination > * > :focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
  .uk-card-primary.uk-card-body .uk-pagination > * > :focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :focus,
  .uk-card-secondary.uk-card-body .uk-pagination > * > :focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-pagination > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > * {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-pagination > .uk-disabled > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > * {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-tab::before, .uk-section-primary:not(.uk-preserve-color) .uk-tab::before, .uk-section-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-primary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-card-primary.uk-card-body .uk-tab::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab::before, .uk-card-secondary.uk-card-body .uk-tab::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab::before {
    border-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-tab > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-card-primary.uk-card-body .uk-tab > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a, .uk-card-secondary.uk-card-body .uk-tab > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-tab > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-card-primary.uk-card-body .uk-tab > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:hover, .uk-card-secondary.uk-card-body .uk-tab > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:hover,
  .uk-light .uk-tab > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
  .uk-card-primary.uk-card-body .uk-tab > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-tab > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-tab > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-card-primary.uk-card-body .uk-tab > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a {
    color: #fff;
    border-color: #fff; }
  .uk-light .uk-tab > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-slidenav, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-card-primary.uk-card-body .uk-slidenav, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav, .uk-card-secondary.uk-card-body .uk-slidenav, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-slidenav:hover, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-card-primary.uk-card-body .uk-slidenav:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:hover, .uk-card-secondary.uk-card-body .uk-slidenav:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:hover,
  .uk-light .uk-slidenav:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
  .uk-card-primary.uk-card-body .uk-slidenav:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:focus,
  .uk-card-secondary.uk-card-body .uk-slidenav:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:focus {
    color: rgba(255, 255, 255, 0.95); }
  .uk-light .uk-slidenav:active, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-card-primary.uk-card-body .uk-slidenav:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:active, .uk-card-secondary.uk-card-body .uk-slidenav:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:active {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-dotnav > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-card-primary.uk-card-body .uk-dotnav > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > *, .uk-card-secondary.uk-card-body .uk-dotnav > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > * {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.9); }
  .uk-light .uk-dotnav > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-card-primary.uk-card-body .uk-dotnav > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover, .uk-card-secondary.uk-card-body .uk-dotnav > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover,
  .uk-light .uk-dotnav > * > :focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
  .uk-card-primary.uk-card-body .uk-dotnav > * > :focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus,
  .uk-card-secondary.uk-card-body .uk-dotnav > * > :focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus {
    background-color: rgba(255, 255, 255, 0.9);
    border-color: transparent; }
  .uk-light .uk-dotnav > * > :active, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-card-primary.uk-card-body .uk-dotnav > * > :active, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :active, .uk-card-secondary.uk-card-body .uk-dotnav > * > :active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :active {
    background-color: rgba(255, 255, 255, 0.5);
    border-color: transparent; }
  .uk-light .uk-dotnav > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-card-primary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > *, .uk-card-secondary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > * {
    background-color: rgba(255, 255, 255, 0.9);
    border-color: transparent; }
  .uk-light .uk-accordion-title::after, .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-card-primary.uk-card-body .uk-accordion-title::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title::after, .uk-card-secondary.uk-card-body .uk-accordion-title::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-open > .uk-accordion-title::after, .uk-section-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-section-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-tile-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-card-primary.uk-card-body .uk-open > .uk-accordion-title::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::after, .uk-card-secondary.uk-card-body .uk-open > .uk-accordion-title::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  .uk-light .uk-iconnav > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-card-primary.uk-card-body .uk-iconnav > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a, .uk-card-secondary.uk-card-body .uk-iconnav > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-iconnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-card-primary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover,
  .uk-light .uk-iconnav > * > a:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
  .uk-card-primary.uk-card-body .uk-iconnav > * > a:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus,
  .uk-card-secondary.uk-card-body .uk-iconnav > * > a:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-iconnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-text-lead, .uk-section-primary:not(.uk-preserve-color) .uk-text-lead, .uk-section-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-primary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-card-primary.uk-card-body .uk-text-lead, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-lead, .uk-card-secondary.uk-card-body .uk-text-lead, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-lead {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-text-meta, .uk-section-primary:not(.uk-preserve-color) .uk-text-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-card-primary.uk-card-body .uk-text-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-meta, .uk-card-secondary.uk-card-body .uk-text-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-meta {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-text-muted, .uk-section-primary:not(.uk-preserve-color) .uk-text-muted, .uk-section-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-primary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-card-primary.uk-card-body .uk-text-muted, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-muted, .uk-card-secondary.uk-card-body .uk-text-muted, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-muted {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-text-primary, .uk-section-primary:not(.uk-preserve-color) .uk-text-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-card-primary.uk-card-body .uk-text-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-primary, .uk-card-secondary.uk-card-body .uk-text-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-primary {
    color: rgba(255, 255, 255, 0.7) !important; }
  .uk-light .uk-column-divider, .uk-section-primary:not(.uk-preserve-color) .uk-column-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-card-primary.uk-card-body .uk-column-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-column-divider, .uk-card-secondary.uk-card-body .uk-column-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-column-divider {
    -webkit-column-rule-color: rgba(255, 255, 255, 0.2);
    column-rule-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-logo, .uk-section-primary:not(.uk-preserve-color) .uk-logo, .uk-section-secondary:not(.uk-preserve-color) .uk-logo, .uk-tile-primary:not(.uk-preserve-color) .uk-logo, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo, .uk-card-primary.uk-card-body .uk-logo, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo, .uk-card-secondary.uk-card-body .uk-logo, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-logo:hover, .uk-section-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-card-primary.uk-card-body .uk-logo:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo:hover, .uk-card-secondary.uk-card-body .uk-logo:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:hover,
  .uk-light .uk-logo:focus,
  .uk-section-primary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-section-secondary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-tile-primary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:focus,
  .uk-card-primary.uk-card-body .uk-logo:focus,
  .uk-card-primary > :not([class*='uk-card-media']) .uk-logo:focus,
  .uk-card-secondary.uk-card-body .uk-logo:focus,
  .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type) {
    display: none; }
  .uk-light .uk-logo-inverse, .uk-section-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-section-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-card-primary.uk-card-body .uk-logo-inverse, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo-inverse, .uk-card-secondary.uk-card-body .uk-logo-inverse, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo-inverse {
    display: inline; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVpa2l0LmNzcyIsIl9zZXR0aW5ncy5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvYmFzZS5zY3NzIiwidmVuZG9yL3Vpa2l0L3ZhcmlhYmxlcy10aGVtZS5zY3NzIiwidmVuZG9yL3Vpa2l0L21peGlucy10aGVtZS5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvaGVhZGluZy5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvZGl2aWRlci5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvbWl4aW4uc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL2xpc3Quc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3RhYmxlLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9pY29uLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9mb3JtLXJhbmdlLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9mb3JtLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9idXR0b24uc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3NlY3Rpb24uc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL2NvbnRhaW5lci5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvZ3JpZC5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvdGlsZS5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvY2FyZC5zY3NzIiwidWlraXQuc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3NlYXJjaC5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvbmF2LnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3RhYi5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3N3aXRjaGVyLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9pY29ubmF2LnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3dpZHRoLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9oZWlnaHQuc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3RleHQuc2NzcyIsIl9vdmVyd3JpdGVVaWtpdC5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvY29sdW1uLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwidmVuZG9yL3Vpa2l0L2NvbXBvbmVudHMvc3ZnLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy91dGlsaXR5LnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9mbGV4LnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9tYXJnaW4uc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3BhZGRpbmcuc2NzcyIsInZlbmRvci91aWtpdC9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy90cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy92aXNpYmlsaXR5LnNjc3MiLCJ2ZW5kb3IvdWlraXQvY29tcG9uZW50cy9pbnZlcnNlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOztvREFFb0Q7QUFFcEQsd0JBQXdCO0FBaUR4Qiw4Q0FBOEM7QUFNOUMsNkJBQTZCO0FDdUI3Qjs7OEVBRThFO0FBRTlFOzs7OztHQUtHO0FBRUg7RUFDSSxPQUFPO0VBQ1Asd0dDaEIyRztFRGlCM0csZ0JD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MEIsRWU1dkJyRDs7QUFFRDtFQUNJLGVqQmxOcUIsRWlCb054Qjs7QUFFRDtFQUNJLHVCZnBMb0I7RUNrZFUsb0REdWRvQjtFQ3ZkcEIsNENEdWRvQixFZW52QnJEOztBQUVEO0VkMlJtQyxpQ0Q1WVosRWVtSHRCOztBQUVEO0Vkd1JtQyw4QkQ3WVosRWV1SHRCOztBQUVEOztHQUVHO0FBeENpQztFQTJDaEMsb0JqQnpQbUI7RWlCMFBuQixZZnhQdUI7RUN1Z0JDLG1ERG1kMEI7RUNuZDFCLDJDRG1kMEIsRWVodUJyRDs7QUFFRDtFQUNJLFlmN1B1QixFZStQMUI7O0FBRUQ7RUFDSSwwQmpCcFFtQjtFRzJnQlcsb0REa2RvQjtFQ2xkcEIsNENEa2RvQixFZXZ0QnJEOztBQVFEOztHQUVHO0FBbEV1RDtFQXFFdEQsaUJmM044QjtFZTROOUIsWWZsUnVCO0VDMGdCRyxtRERnZHdCO0VDaGR4QiwyQ0RnZHdCLEVldHNCckQ7O0FBRUQ7RUFDSSxZZnZSdUIsRWV5UjFCOztBQUVEO0VBQ0ksdUJmdE84QjtFQ3NkRSxvREQrY2tCO0VDL2NsQiw0Q0QrY2tCLEVlN3JCckQ7O0FBU0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUg7O0VBQytCLG1CZnpUWCxFZXlUNkY7O0FBRWpIO0VBQWlDLG1CZjNUYixFZTJUbUc7O0FBQ3ZIO0VBQWlDLG1CZjVUYixFZTRUbUc7O0FBRXZIOztHQUVHO0FBRUgsd0JBQXdCO0FBQ3hCO0VBRUk7O0lBQytCLG1CZmxEVCxFZWtEK0Y7RUFFckg7SUFBaUMsbUJmcERYLEVlb0RxRztFQUMzSDtJQUFpQyxtQmZyRFgsRWVxRHFHLEVBQUE7O0FkZ04zSDs7T0FFRztBQUVIO0VBQ0ksbUJEMWZZO0VDMmZaLG9CRDNmWSxFQzRmZjs7QUFDRDtFQUNJLGtCQUFpRDtFQUNqRCxxQkFBb0QsRUFDdkQ7O0FBRUQ7OztFQUdJLG1CRHJnQlk7RUNzZ0JaLG9CRHRnQlksRUN1Z0JmOztBQUVEO0VBQTRDLG1CQUE4RSxFQUFJOztBQUc5SCx3QkFBd0I7QUFDeEI7RUFwQkE7SUF1QlEsbUJEN2dCZTtJ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QkEsMFhBQTBDLEVIK3JCekM7RUFFRDs7Ozs7Ozs7OztJQUVJLDhDRHZ0Qm1CLEVDeXRCdEI7RUFFRDtJQUNJLDJDRDV0Qm1CLEVDOHRCdEI7RUFvVkQ7SUFDSSwyQ0RuakNtQixFQ3FqQ3RCO0VBb2VEO0lBQ0ksMkNEMWhEbUI7SUMyaERuQiw4Q0QzaERtQixFQzRoRHRCO0VBSEQ7SUE5ZHlDLDJDRDNqQ2xCLEVDMmpDd0U7RUFFL0Y7SUd6aUNBLGtVQUEwQyxFSDRpQ3pDO0VBL0dEO0lBQ0ksZ0NEbDlCbUIsRUNvOUJ0QjtFQUVEOzs7Ozs7Ozs7O0lBRUksZ0NEeDlCbUIsRUMwOUJ0QjtFQUVEOzs7Ozs7Ozs7O0lBRUksZ0NEOTlCbUIsRUNnK0J0QjtFQU1EO0lBQ0ksMkNEditCbUI7SUN3K0JuQixnQ0R4K0JtQixFQzArQnRCO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSwyQ0Q1ZjBFO0lDNmYxRSxnQ0QvK0JtQixFQ2kvQnRCO0VBRUQ7SUFDSSwyQ0RoZ0I0RTtJQ2lnQjVFLGdDRHIvQm1CLEVDdS9CdEI7RUF4TEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHSSwyQ0RsMEJtQjtJQ20wQm5CLGdDRG4wQm1CO0lDbzBCbkIsNkJBQTRCO0lBZFIsdUNEdHpCRCxFQzQwQnRCO0lBTEc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFDSSwyQ0R4MEJlO01DeTBCZixnQ0R6MEJlO01DdXpCTyx1Q0R2ekJQLEVDMjBCbEI7RUFPTDtJQUFrQywyQ0FBaUQsRUFBSTtFQUN2RjtJQUF5QixnQ0RuMUJGLEVDbTFCNEM7RUFBbkU7SUFBeUIsZ0NEbjFCRixFQ20xQjRDO0VBQW5FO0lBQXlCLGdDRG4xQkYsRUNtMUI0QztFQUVuRTtJQUFxQywyQ0FBaUQsRUFBSTtFQUMxRjtJQUE0QixnQ0R0MUJMLEVDczFCK0M7RUFBdEU7SUFBNEIsZ0NEdDFCTCxFQ3MxQitDO0VBQXRFO0lBQTRCLGdDRHQxQkwsRUNzMUIrQztFQU10RTtJR3gwQkEsMmJBQTBDLEVIdzBCMEY7RUFNcEk7Ozs7Ozs7Ozs7SUFFSSwyQ0RoY29FO0lDb1oxQyx1Q0R4ekJQLEVDczJCdEI7RUFHRDs7Ozs7Ozs7OztJQWhEb0MsdUNEenpCYixFQzQyQnRCO0VBR0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHSSx1QkRsM0JtQjtJQzB6QmUsdUNEMXpCZixFQ28zQnRCO0VBR0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHSSwwQkRuZHFGLEVDcWR4RjtFQUdEO0lHMzJCQSxvVEFBMEMsRUgyMkIyRTs7RUFDckg7Ozs7Ozs7OztJRzUyQkEsb1ZBQTBDLEVINDJCaUY7O0VBQzNIOzs7Ozs7Ozs7SUc3MkJBLHdVQUEwQyxFSDYyQnFHO0VBRy9JO0lBeEU4QixZRDV6QlAsRUNzNEJ0QjtFQUdEO0lBQWdCLGdDRHo0Qk8sRUN5NEI0QjtFQUNuRDtJQUFzQixnQ0QxNEJDLEVDMDRCd0M7RUExZi9EO0lBQ0ksOEJEbk11QztJQ29NdkMsWURsWm1CO0lDMlhXLHVDRDNYWCxFQ29adEI7RUFFRDs7Ozs7Ozs7OztJQUVJLDhCRHhNNkM7SUN5TTdDLFlEelptQjtJQzRYaUIsbUJENVhqQixFQzJadEI7RUFFRDs7Ozs7Ozs7OztJQUVJLDhCRDdNOEM7SUM4TTlDLFlEaGFtQjtJQzZYa0IsbUJEN1hsQixFQ2thdEI7RUFNRDtJQUNJLHVCRHphbUI7SUMwYW5CLFlEN2FXLEVDK2FkO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSwwQkQxTmdGO0lDMk5oRixZRHBiVyxFQ3NiZDtFQUVEOzs7Ozs7Ozs7O0lBRUksMEJEL05rRjtJQ2dPbEYsWUQzYlcsRUM2YmQ7RUFNRDtJQUNJLHVCRGpjbUI7SUNrY25CLFlEcmNXLEVDdWNkO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSwwQkQ1T29GO0lDNk9wRixZRDVjVyxFQzhjZDtFQUVEOzs7Ozs7Ozs7O0lBRUksMEJEalBzRjtJQ2tQdEYsWURuZFcsRUNxZGQ7RUFNRDtJQUNJLFlEemRtQixFQzJkdEI7SUF0RkQ7TUFBWSwwQkRyWVcsRUNxWTRDO0VBd0ZuRTs7Ozs7Ozs7OztJQUVJLFlEL2RtQixFQ2lldEI7RUFFRDtJQUNJLGdDRHBlbUIsRUNzZXRCO0VBTUQ7SUFDSSxnQ0Q3ZW1CLEVDK2V0QjtFQUVEOzs7Ozs7Ozs7O0lBQ3dCLGdDRGxmRCxFQ2tmNEM7RUE4Wm5FO0lBQW9ELDRDRGg1QjdCLEVDZzVCZ0Y7RUFDdkc7SUFBMkQsMkNEajVCcEMsRUNpNUJzRjtFQTlSN0c7SUFDSSxnQ0RwbkJtQixFQ3NuQnRCO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSxnQ0QxbkJtQixFQzRuQnRCO0VBeWNEO0lBQ0ksZ0NEdGtDbUIsRUN3a0N0QjtFQUVEOzs7Ozs7Ozs7O0lBRUksZ0NENWtDbUIsRUM4a0N0QjtFQUVEO0lBQ0ksWURqbENtQixFQ21sQ3RCO0VBbC9CRDtJQUNJLHVCRGxHbUI7SUNtR25CLFlEdEdXLEVDd0dkO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSxZRDVHVyxFQzhHZDtFQTYrQkQ7SUFDSSx1QkR6bENtQjtJQzBsQ25CLFlEN2xDVyxFQytsQ2Q7RUF6Z0NEO0lBQ0ksZ0NEcEZtQixFQ3NGdEI7RUErZ0NEO0lBQW1CLGdDRHJtQ0ksRUNxbUM0QjtFQUVuRDtJQUF5QywyQ0FBbUQsRUFBSTtFQUNoRztJQUFnQyxnQ0R4bUNULEVDd21DcUQ7RUFBNUU7SUFBZ0MsZ0NEeG1DVCxFQ3dtQ3FEO0VBQTVFO0lBQWdDLGdDRHhtQ1QsRUN3bUNxRDtFQU81RTtJQUE2QixnQ0QvbUNOLEVDK21DMkM7RUFDbEU7SUFBbUMsZ0NEaG5DWixFQ2duQ2lEO0VBTXhFO0lBQ0ksOEJEcld1QztJQzY4QkgsdUNEL3REakIsRUN5bkN0QjtFQUNEO0lBQ0ksOEJEeld1QyxFQzJXMUM7RUFFRDtJQUNJLDhCRDVXc0MsRUM4V3pDO0VBRUQ7SUFDSSw4QkRoWHFDLEVDa1h4QztFQU1EO0lBQ0ksZ0NEOW9DbUIsRUNncEN0QjtFQUVEOzs7Ozs7Ozs7O0lBRUksZ0NEcHBDbUIsRUNzcEN0QjtFQVNEO0lHM29DQSx1WEFBMEMsRUg4b0N6QztFQUVEO0lHaHBDQSxzWEFBMEMsRUhncEMwRztFQU1wSjtJQUNJLGdDRDNxQ21CLEVDNnFDdEI7RUFFRDs7Ozs7Ozs7OztJQUVJLGdDRGpyQ21CLEVDbXJDdEI7RUFFRDtJQUNJLFlEdHJDbUIsRUN3ckN0QjtFQUVEO0lBQ0ksWUQzckNtQixFQzZyQ3RCO0VBRUQ7SUFDSSwyQ0Roc0NtQixFQ2tzQ3RCO0VBRUQ7SUFBZ0MsZ0NEcHNDVCxFQ29zQzJEO0VBRWxGOzs7Ozs7Ozs7O0lBQ3NDLGdDRHZzQ2YsRUN1c0N1RTtFQU05RjtJQUNJLGdDRDlzQ21CLEVDZ3RDdEI7RUFFRDs7Ozs7Ozs7OztJQUVJLGdDRHB0Q21CLEVDc3RDdEI7RUFFRDtJQUNJLFlEenRDbUIsRUMydEN0QjtFQUVEO0lBQ0ksWUQ5dENtQixFQ2d1Q3RCO0VBRUQ7SUFDSSwyQ0RudUNtQixFQ3F1Q3RCO0VBRUQ7SUFBZ0MsZ0NEdnVDVCxFQ3V1QzJEO0VBRWxGOzs7Ozs7Ozs7O0lBQ3NDLGdDRDF1Q2YsRUMwdUN1RTtFQUs5RjtJQUNJLGdDRGh2Q21CLEVDa3ZDdEI7RUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUdJLGdDRHZ2Q21CLEVDeXZDdEI7RUFFRDtJQUNJLFlENXZDbUIsRUM4dkN0QjtFQUVEO0lBQ0ksWURqd0NtQixFQ213Q3RCO0VBRUQ7SUFDSSxnQ0R0d0NtQixFQ3d3Q3RCO0VBRUQ7SUFDSSxnQ0Qzd0NtQixFQzZ3Q3RCO0VBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHSSxnQ0RseENtQixFQ294Q3RCO0VBS0Q7SUFDSSxnQ0QxeENtQixFQzR4Q3RCO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSxnQ0RoeUNtQixFQ2t5Q3RCO0VBRUQ7SUFDSSxZRHJ5Q21CLEVDdXlDdEI7RUFNRDtJQUNJLDRDRDl5Q21CLEVDZ3pDdEI7RUFNRDtJQUNJLDhCRHBleUM7SUNxZXpDLGdDRHh6Q21CLEVDMHpDdEI7RUFFRDs7Ozs7Ozs7OztJQUVJLDJDRDl6Q21CO0lDK3pDbkIsZ0NEL3pDbUIsRUNpMEN0QjtFQUVEO0lBQ0ksMkNEcDBDbUI7SUNxMENuQixnQ0RyMENtQixFQ3UwQ3RCO0VBRUQ7SUFDSSx1QkQxMENtQjtJQzIwQ25CLFlEOTBDVyxFQ2cxQ2Q7RUFNRDtJQUNJLGdDRHAxQ21CLEVDczFDdEI7RUF2a0NEO0lBQ0ksZ0NEaFJtQixFQ2tSdEI7RUFFRDs7Ozs7Ozs7OztJQUVJLGdDRHRSbUIsRUN3UnRCO0VBT0Q7SUFDSSxnQ0RoU21CLEVDa1N0QjtFQU1EO0lBQ0ksZ0NEelNtQixFQzJTdEI7RUFnakNEO0lBQ0ksZ0NENTFDbUIsRUM4MUN0QjtFQUVEOzs7Ozs7Ozs7O0lBRUksZ0NEbDJDbUIsRUNvMkN0QjtFQUVEO0lBQ0ksZ0NEdjJDbUIsRUN5MkN0QjtFQUVEO0lBQ0ksZ0NENTJDbUIsRUM4MkN0QjtFQTBmRDtJQUFZLHVDRHgyRFcsRUN3MkQwQjtFQWpmakQ7SUFDSSxnQ0R4M0NtQixFQzAzQ3RCO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSxnQ0Q5M0NtQixFQ2c0Q3RCO0VBRUQ7SUFDSSxZRG40Q21CO0lDNjJEWSxtQkQ3MkRaLEVDcTRDdEI7RUFFRDtJQUNJLGdDRHg0Q21CLEVDMDRDdEI7RUFLRDtJQUNJLGdDRGg1Q21CLEVDazVDdEI7RUFFRDs7Ozs7Ozs7OztJQUVJLGlDRHQ1Q21CLEVDdzVDdEI7RUFFRDtJQUNJLGdDRDM1Q21CLEVDNjVDdEI7RUE1cUJEO0lBQ0ksOEJEcmFvQztJQzhaVCx1Q0QzdUJSLEVDb3ZCdEI7RUFFRDs7Ozs7Ozs7OztJQUVJLDJDRHh2Qm1CO0lDNHVCYywwQkFBeUIsRUFjN0Q7RUFFRDtJQUNJLDJDRDd2Qm1CO0lDNnVCZ0IsMEJBQXlCLEVBa0IvRDtFQUVEO0lBQ0ksMkNEbHdCbUI7SUM4dUJlLDBCQUF5QixFQXNCOUQ7RUFudkJEO0lHR0EsbWVBQTBDLEVISHdFO0VBRWxIO0lHQ0EsMFZBQTBDLEVIRGtGO0VBaS9CNUg7SUFDSSxnQ0RyZ0NtQixFQ3VnQ3RCO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSxnQ0QzZ0NtQixFQzZnQ3RCO0VBRUQ7SUFDSSxnQ0RoaENtQixFQ2toQ3RCO0VBZ1pEO0lBQ0ksZ0NEbjZDbUIsRUNxNkN0QjtFQUVEO0lBQ0ksZ0NEeDZDbUIsRUMwNkN0QjtFQUVEO0lBQWlCLDJDQUEyQyxFQUFJO0VBQ2hFO0lBQW1CLDJDQUE2QyxFQUFJO0VBM3lCcEU7SUFBcUIsb0REbG9CRTtJQ2tvQkYsNENEbG9CRSxFQ2tvQnVEO0VBcXpCOUU7SUFDSSxnQ0R4N0NtQixFQzA3Q3RCO0VBRUQ7Ozs7Ozs7Ozs7SUFFSSxnQ0Q5N0NtQixFQ2c4Q3RCO0VBRUQ7SUFBdUQsY0FBYSxFQUFJO0VBQ3hFO0lBQW1CLGdCQUFlLEVBQUkiLCJmaWxlIjoidWlraXQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxcclxuXHRGaWxlIGZvciBnZW5lcmVsbCBzZXR0aW5nc1xyXG5cXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKiAgQ29sb3JzICAqKioqKiovXG4vKioqKioqICBtYXJnaW5zIC8gcGFkZGluZ3MgYW5kIHNvIG9uICAqKioqKiovXG4vKioqKioqICBCcmVha3BvaW50cyAgKioqKioqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAgICBOb3QgdXNpbmcgYGZvbnRgIHByb3BlcnR5IGJlY2F1c2UgYSBsZWFkaW5nIGh5cGhlbiAoZS5nLiAtYXBwbGUtc3lzdGVtKSBjYXVzZXMgdGhlIGZvbnQgdG8gYnJlYWsgaW4gSUUxMSBhbmQgRWRnZVxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5odG1sIHtcbiAgLyogMSAqL1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuYSxcbi51ay1saW5rIHtcbiAgY29sb3I6ICMyNjU4YTU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmE6aG92ZXIsXG4udWstbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDAzNDdiO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgLyogMSAqL1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xuICAvKiAyICovXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC8qIDMgKi9cbiAgY29sb3I6ICNmMDUwNmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7IH1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5lbSB7XG4gIGNvbG9yOiAjZjA1MDZlOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuaW5zIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKlxuICogTWFya1xuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIFF1b3RlXG4gKi9cbnEge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAyLiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAyICovXG4gIGhlaWdodDogYXV0bztcbiAgLyogMyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZCBpbWFnZXNcbiAqIFNlbGVjdG9yIGZvciBiYWNrZ3JvdW5kIHdoaWxlIGxvYWRpbmcgaW1nW2RhdGEtc3JjKj0nLmpwZyddW3NyYyo9J2RhdGE6aW1hZ2UnXSB7IGJhY2tncm91bmQ6IGdyZXk7IH1cbiAqL1xuaW1nOm5vdChbc3JjXSkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQmxvY2sgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE1hcmdpbnNcbiAqL1xucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBwLFxuKiArIHVsLFxuKiArIG9sLFxuKiArIGRsLFxuKiArIHByZSxcbiogKyBhZGRyZXNzLFxuKiArIGZpZWxkc2V0LFxuKiArIGZpZ3VyZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEsIC51ay1oMSxcbmgyLCAudWstaDIsXG5oMywgLnVrLWgzLFxuaDQsIC51ay1oNCxcbmg1LCAudWstaDUsXG5oNiwgLnVrLWg2IHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM3NDczNzA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2IHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4vKlxuICogU2l6ZXNcbiAqL1xuaDEsIC51ay1oMSB7XG4gIGZvbnQtc2l6ZTogMi4yMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5oMiwgLnVrLWgyIHtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuaDMsIC51ay1oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmg0LCAudWstaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDUsIC51ay1oNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5oNiwgLnVrLWg2IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICBoMSwgLnVrLWgxIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIGgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbi8qIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnVsLFxub2wge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLypcbiAqIFJlc2V0IG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gKi9cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogSG9yaXpvbnRhbCBydWxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgYW5kIGhlaWdodCBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBBZGQgdGhlIGNvcnJlY3QgdGV4dC1hbGlnbiBpbiBFZGdlIGFuZCBJRS5cbiAqIDQuIFN0eWxlXG4gKi9cbmhyLCAudWstaHIge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDMgKi9cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgLyogNCAqL1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogQmxvY2txdW90ZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNzQ3MzcwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGJsb2NrcXVvdGUge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM2NjY7IH1cbiAgYmxvY2txdW90ZSBmb290ZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250OiAwLjg3NXJlbSAvIDEuNSBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjNjY2O1xuICAtbW96LXRhYi1zaXplOiA0O1xuICB0YWItc2l6ZTogNDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbnByZSBjb2RlIHtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsgfVxuXG4vKiBTZWxlY3Rpb24gcHNldWRvLWVsZW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzOWY7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzOWY7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5kZXRhaWxzLFxubWFpbiB7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaWZyYW1lIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIFByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGZvciB0b3VjaHNjcmVlbiBpbnRlcmFjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE1vc3QgYnJvd3NlcnMgcHJldmVudCB0aGUgMzAwbXMgZGVsYXkgYXV0b21hdGljYWxseSBmb3Igc2l0ZXMgdGhhdCB1c2UgdGhlIGB3aWR0aD1kZXZpY2Utd2lkdGhgIHByb3BlcnR5LlxuICogRm9yIFNhZmFyaSBvbiBpT1MgOS4zKywgSUUgMTEgYW5kIEVkZ2Ugb24gZGVza3RvcHMgYW5kIElFIDExIG9uIFdpbmRvd3MgUGhvbmUgOC4xIGl0IG11c3QgYmUgYXBwbGllZCBtYW51YWxseS5cbiAqL1xuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQnJlYWtwb2ludHNcbiAqL1xuLnZhci1tZWRpYS1zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjY0MHB4XCI7IH1cblxuLnZhci1tZWRpYS1tOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjk2MHB4XCI7IH1cblxuLnZhci1tZWRpYS1sOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjEyMDBweFwiOyB9XG5cbi52YXItbWVkaWEteGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiMTYwMHB4XCI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUHJpbWFyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7IH0gfVxuXG4vKiBIZXJvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1oZWFkaW5nLWhlcm8ge1xuICBmb250LXNpemU6IDRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBCdWxsZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctYnVsbGV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGNhbGMoLTAuMSAqIDFlbSk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbiAgaGVpZ2h0OiAwLjllbTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG4udWstaGVhZGluZy1saW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRXh0cmEgbWFya3VwIGlzIG5lZWRlZCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWduXG4gKi9cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAoMXB4IC8gMikpO1xuICAvKiAyICovXG4gIHdpZHRoOiAyMDAwcHg7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMC42ZW07IH1cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMC42ZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc2V0IGRlZmF1bHQgYGhyYFxuICogMi4gU2V0IG1hcmdpbiBpZiBhIGBkaXZgIGlzIHVzZWQgZm9yIHNlbWFudGljYWwgcmVhc29uXG4gKi9cbltjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgW2NsYXNzKj0ndWstZGl2aWRlciddIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kaXZpZGVyLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIlMjNlNWU1ZTUlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSAoNTBweCAvIDIpKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlIHtcbiAgcmlnaHQ6IGNhbGMoNTAlICsgKDUwcHggLyAyKSk7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgbGVmdDogY2FsYyg1MCUgKyAoNTBweCAvIDIpKTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2V0IGNoaWxkIGhlaWdodCwgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgXG4gKi9cbi51ay1kaXZpZGVyLXNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstbGlzdCA+IGxpOjpiZWZvcmUsXG4udWstbGlzdCA+IGxpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1saXN0ID4gbGk6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstbGlzdCA+IGxpID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBOZXN0ZWQgbGlzdHNcbiAqL1xuLnVrLWxpc3QgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuLnVrLWxpc3QgPiBsaTpudGgtY2hpbGQobisyKSxcbi51ay1saXN0ID4gbGkgPiB1bCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3RyaXBlZFxuICovXG4udWstbGlzdC1zdHJpcGVkID4gbGkge1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7IH1cbiAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNzsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBCdWxsZXRcbiAqL1xuLnVrLWxpc3QtYnVsbGV0ID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxLjVlbSArIDEwcHgpOyB9XG5cbi51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlzdC1sYXJnZSA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiBsaSA+IHVsIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gIC51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXRhYmxlIHtcbiAgLyogMSAqL1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgLyogMiAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogSGVhZGVyIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFN0eWxlXG4gKi9cbi51ay10YWJsZSB0aCB7XG4gIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlIHRmb290IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSBjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZS1taWRkbGUsXG4udWstdGFibGUtbWlkZGxlIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGl2aWRlclxuICovXG4udWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbi51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3RyaXBlZFxuICovXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstdGFibGUtaG92ZXIgPiB0cjpob3Zlcixcbi51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7IH1cblxuLyogQWN0aXZlIHN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbi51ay10YWJsZSB0Ym9keSB0ci51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZkOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlLXNtYWxsIHRoLFxuLnVrLXRhYmxlLXNtYWxsIHRkIHtcbiAgcGFkZGluZzogMTBweCAxMnB4OyB9XG5cbi51ay10YWJsZS1sYXJnZSB0aCxcbi51ay10YWJsZS1sYXJnZSB0ZCB7XG4gIHBhZGRpbmc6IDIycHggMTJweDsgfVxuXG4vKiBKdXN0aWZ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtc2hyaW5rIHtcbiAgd2lkdGg6IDFweDsgfVxuXG4udWstdGFibGUtZXhwYW5kIHtcbiAgbWluLXdpZHRoOiAxNTBweDsgfVxuXG4vKiBDZWxsIGxpbmsgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG4udWstdGFibGUtbGluayB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTZweCAxMnB4OyB9XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7IH1cblxuLyogUmVzcG9uc2l2ZSB0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAudWstdGFibGUtcmVzcG9uc2l2ZSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEge1xuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDsgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi51ay10YWJsZSB0Ym9keSB0ciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBsaW5lYXI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE5vdGU6IDEuIC0gNy4gaXMgcmVxdWlyZWQgZm9yIGBidXR0b25gIGVsZW1lbnRzLiBOZWVkZWQgZm9yIENsb3NlIGFuZCBGb3JtIEljb24gY29tcG9uZW50LlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gUmVtb3ZlIGJvcmRlci1yYWRpdXMgaW4gQ2hyb21lLlxuICogNC4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDUuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA2LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDcuIFJlbW92ZSBkZWZhdWx0IGBidXR0b25gIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgY29sb3JcbiAqIDguIFN0eWxlXG4gKiA5LiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAxMC4gTGV0IHRoZSBjb250YWluZXIgZml0IHRoZSBoZWlnaHQgb2YgdGhlIGljb25cbiAqL1xuLnVrLWljb24ge1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNSAqL1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogNiAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogNy4gKi9cbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDggKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiA5ICovXG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgLyogMTAgKi9cbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qXG4gKiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqIDEuIEZpeCBmb3IgdXBwZXJjYXNlIGF0dHJpYnV0ZSBuYW1lcyBpbiBFZGdlLiBXaWxsIGJlIGZpeGVkIGluIFdpbmRvd3MgMTAgYnVpbGRzIDE2MjUxK1xuICovXG4udWstaWNvbiBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1pY29uIFtGSUxMKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgZmlsbDogY3VycmVudGNvbG9yOyB9XG5cbi51ay1pY29uIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstaWNvbiBbU1RST0tFKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cbi51ay1pY29uID4gKiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXNwbGF5IGltYWdlcyBpbiBpY29uIGRpbWVuc2lvbnNcbiAqL1xuLnVrLWljb24taW1hZ2Uge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBMaW5rXG4gKi9cbi51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzU5NTk1OTsgfVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuLnVrLWljb24tYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gIGNvbG9yOiAjOTk5O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybSBSYW5nZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG4udWstcmFuZ2Uge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMiAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAvKiA2ICovXG4gIHBhZGRpbmc6IDA7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBUaHVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtN3B4O1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjOyB9XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjOyB9XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgLyogMSAqL1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgLyogMSAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7IH1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTYWZhcmkgZG9lc24ndCBoYXZlIGEgZm9jdXMgc3RhdGUuIFVzaW5nIGFjdGl2ZSBpbnN0ZWFkLlxuICovXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2VhZWFlYTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7IH1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2QxZDFkMTsgfVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2VhZWFlYTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7IH1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2QxZDFkMTsgfVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xuICBib3JkZXItcmFkaXVzOiA1MDBweDsgfVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICNkMWQxZDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBmb250OiBpbmhlcml0OyB9XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG4udWstaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG4udWstc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG4udWstdGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbi51ay1maWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZWAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuLnVrLWlucHV0LFxuLnVrLXRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBSZXNldCBkZWZhdWx0XG4gKiA0LiBTdHlsZVxuICovXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyOiAwIG5vbmU7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjsgfVxuXG4vKlxuICogU2luZ2xlLWxpbmVcbiAqIDEuIEFsbG93IGFueSBlbGVtZW50IHRvIGxvb2sgbGlrZSBhbiBgaW5wdXRgIG9yIGBzZWxlY3RgIGVsZW1lbnRcbiAqIDIuIE1ha2Ugc3VyZSBsaW5lLWhlaWdodCBpcyBub3QgbGFyZ2VyIHRoYW4gaGVpZ2h0XG4gKiAgICBBbHNvIG5lZWRlZCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseVxuICovXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogNDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHtcbiAgbGluZS1oZWlnaHQ6IDM4cHg7IH1cblxuLypcbiAqIE11bHRpLWxpbmVcbiAqL1xuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXItY29sb3I6ICMyNjU4YTU7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBjb2xvcjogIzk5OTtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1OyB9XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG4udWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDsgfVxuXG4udWstaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1mb3JtLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4udWstZm9ybS1zbWFsbDpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuXG4udWstZm9ybS1zbWFsbDpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkge1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLnVrLWZvcm0tbGFyZ2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDU1cHg7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDsgfVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkge1xuICBsaW5lLWhlaWdodDogNTNweDsgfVxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBFcnJvclxuICovXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogI2YwNTA2ZTtcbiAgYm9yZGVyLWNvbG9yOiAjZjA1MDZlOyB9XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMzMmQyOTY7XG4gIGJvcmRlci1jb2xvcjogIzMyZDI5NjsgfVxuXG4vKlxuICogQmxhbmtcbiAqL1xuLnVrLWZvcm0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi51ay1mb3JtLWJsYW5rOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDsgfVxuXG4vKiBXaWR0aCBtb2RpZmllcnMgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRml4ZWQgd2lkdGhzXG4gKiBEaWZmZXJlbnQgd2lkdGhzIGZvciBtaW5pIHNpemVkIGBpbnB1dGAgYW5kIGBzZWxlY3RgIGVsZW1lbnRzXG4gKi9cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHtcbiAgd2lkdGg6IDUwcHg7IH1cblxuc2VsZWN0LnVrLWZvcm0td2lkdGgteHNtYWxsIHtcbiAgd2lkdGg6IDc1cHg7IH1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwge1xuICB3aWR0aDogMTMwcHg7IH1cblxuLnVrLWZvcm0td2lkdGgtbWVkaXVtIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi51ay1mb3JtLXdpZHRoLWxhcmdlIHtcbiAgd2lkdGg6IDUwMHB4OyB9XG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG5cbi8qIDMgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA0ICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSBvcHRpb24ge1xuICBjb2xvcjogIzQ0NDsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBEb2VzIG5vdCB3b3JrIGluIElFMTFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMyAqL1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiA0ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiA2ICovXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjsgfVxuXG4udWstcmFkaW8ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzI2NThhNTsgfVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG4udWstcmFkaW86Y2hlY2tlZCxcbi51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY1OGE1O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM0MjdjOyB9XG5cbi8qXG4gKiBJY29uc1xuICovXG4udWstcmFkaW86Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4udWstY2hlY2tib3g6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpOyB9XG5cbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTsgfVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpOyB9XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLyogTGVnZW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBMZWdlbmRcbiAqIDEuIEJlaGF2ZSBsaWtlIGJsb2NrIGVsZW1lbnRcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1sZWdlbmQge1xuICAvKiAxICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiAyICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAzICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDQgKi9cbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyogQ3VzdG9tIGNvbnRyb2xzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuLnVrLWZvcm0tY3VzdG9tIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiAzICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogNCAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBhbmQgcmVzaXplIHRoZSBmb3JtIGNvbnRyb2wgdG8gYWx3YXlzIGNvdmVyIGl0cyBjb250YWluZXJcbiAqIDIuIFJlcXVpcmVkIGZvciBGaXJlZm94IGZvciBwb3NpdGlvbmluZyB0byB0aGUgbGVmdFxuICogMy4gUmVxdWlyZWQgZm9yIFdlYmtpdCB0byBtYWtlIGBoZWlnaHRgIHdvcmtcbiAqIDQuIEhpZGUgY29udHJvbGUgYW5kIHNob3cgY3Vyc29yXG4gKiA1LiBOZWVkZWQgZm9yIHRoZSBjdXJzb3JcbiAqIDYuIENsaXAgaGVpZ2h0IGNhdXNlZCBieSA1LiBOZWVkZWQgZm9yIFdlYmtpdCBvbmx5XG4gKi9cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiAyICovXG4gIGxlZnQ6IDA7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA0ICovXG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAvKiA1ICovXG4gIGZvbnQtc2l6ZTogNTAwcHg7XG4gIC8qIDYgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiAjNzQ3MzcwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi8qIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU3RhY2tlZFxuICovXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAyMTVweDsgfVxuICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiA3cHg7IH0gfVxuXG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTZXQgd2lkdGhcbiAqIDMuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWZvcm0taWNvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICB3aWR0aDogNDBweDtcbiAgLyogMyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDQgKi9cbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1mb3JtLWljb246aG92ZXIge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cbi51ay1mb3JtLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cbi51ay1mb3JtLWljb24tZmxpcCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi51ay1mb3JtLWljb24tZmxpcCB+IC51ay1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1idXR0b24ge1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNSAqL1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogNiAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogNyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogOCAqL1xuICBsaW5lLWhlaWdodDogMzhweDtcbiAgLyogOSAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIDEwICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjsgfVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgLyogOCAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM3NDczNzA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNzQ3MzcwO1xuICBib3JkZXItY29sb3I6ICNiMmIyYjI7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbi51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM3NDczNzA7XG4gIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstYnV0dG9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY1OGE1O1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNGQ5MDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM0MjdjO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwOTA5O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwNTA2ZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGFuZ2VyOmhvdmVyLFxuLnVrLWJ1dHRvbi1kYW5nZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTViO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMyMTQ3O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM5OTk7XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTsgfVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBsaW5lLWhlaWdodDogNTNweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1idXR0b24tdGV4dCB7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLyogMiAqL1xuICBjb2xvcjogIzc0NzM3MDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC51ay1idXR0b24tdGV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzc0NzM3MDtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2Utb3V0OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tdGV4dDpob3Zlcixcbi51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gIGNvbG9yOiAjNzQ3MzcwOyB9XG4gIC51ay1idXR0b24tdGV4dDpob3Zlcjo6YmVmb3JlLFxuICAudWstYnV0dG9uLXRleHQ6Zm9jdXM6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOTk5OyB9XG4gIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWJ1dHRvbi1saW5rIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiAyICovXG4gIGNvbG9yOiAjMjY1OGE1OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjMDAzNDdiO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cbi51ay1idXR0b24tZ3JvdXAge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvKiAyICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEdyb3VwXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIENvbGxhcHNlIGJvcmRlclxuICAgICAqL1xuLnVrLWJ1dHRvbi1ncm91cCA+IC51ay1idXR0b246bnRoLWNoaWxkKG4rMiksXG4udWstYnV0dG9uLWdyb3VwID4gZGl2Om50aC1jaGlsZChuKzIpIC51ay1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4vKlxuICAgICAqIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIHN1cGVyaW1wb3NlIHRoZSBzdWNjZXNzb3IgZWxlbWVudHMgYm9yZGVyXG4gICAgICogS25vd24gaXNzdWU6IElmIHlvdSB1c2UgYW4gYGFgIGVsZW1lbnQgYXMgYnV0dG9uIGFuZCBhbiBpY29uIGluc2lkZSxcbiAgICAgKiB0aGUgYWN0aXZlIHN0YXRlIHdpbGwgbm90IHdvcmsgaWYgeW91IGNsaWNrIHRoZSBpY29uIGluc2lkZSB0aGUgYnV0dG9uXG4gICAgICogV29ya2Fyb3VuZDogSnVzdCB1c2UgYSBgYnV0dG9uYCBvciBgaW5wdXRgIGVsZW1lbnQgYXMgYnV0dG9uXG4gICAgICovXG4udWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246aG92ZXIsXG4udWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246Zm9jdXMsXG4udWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuLnVrLXNlY3Rpb24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLXNlY3Rpb246OmJlZm9yZSxcbi51ay1zZWN0aW9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1zZWN0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFhTbWFsbFxuICovXG4udWstc2VjdGlvbi14c21hbGwge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfSB9XG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDE0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMjEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIxMHB4OyB9IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi8qXG4gKiBNdXRlZFxuICovXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7IH1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMyNjU4YTU7IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstc2VjdGlvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMjIyOyB9XG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG4udWstY29udGFpbmVyIHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWNvbnRhaW5lcjo6YmVmb3JlLFxuLnVrLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstY29udGFpbmVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29udGFpbmVyLXhzbWFsbCB7XG4gIG1heC13aWR0aDogNjAwcHg7IH1cblxuLnVrLWNvbnRhaW5lci1zbWFsbCB7XG4gIG1heC13aWR0aDogOTAwcHg7IH1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7XG4gIG1heC13aWR0aDogMTYwMHB4OyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIEV4cGFuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRXhwYW5kIG9uZSBzaWRlIG9ubHlcbiAqL1xuLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDYwMHB4IC8gMikgLSAzMHB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDkwMHB4IC8gMikgLSAzMHB4KTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDEyMDBweCAvIDIpIC0gNDBweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDYwMHB4IC8gMikgLSA0MHB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDkwMHB4IC8gMikgLSA0MHB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1sYXJnZSxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDE2MDBweCAvIDIpIC0gNDBweCk7IH0gfVxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcmVzZXQgY29udGFpbmVyIHBhZGRpbmcgb24gdGhlIGxlZnQgb3IgcmlnaHQgc2lkZVxuICogTm90ZTogSXQgaGFzIHRvIGJlIG5lZ2F0aXZlIG1hcmdpbiBvbiB0aGUgaXRlbSwgYmVjYXVzZSBpdCdzIHNwZWNpZmljIHRvIHRoZSBpdGVtLlxuICovXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTsgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpOyB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpOyB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC00MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGNlbGxzIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cbi51ay1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cbi51ay1ncmlkID4gKiB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1ncmlkID4gKiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBHdXR0ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cblxuLnVrLWdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogSG9yaXpvbnRhbCAqL1xuICAudWstZ3JpZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9XG4gIC51ay1ncmlkID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gIC8qIFZlcnRpY2FsICovXG4gIC51ay1ncmlkICsgLnVrLWdyaWQsXG4gIC51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuICAqICsgLnVrLWdyaWQtbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG5cbi51ay1ncmlkLXNtYWxsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLXNtYWxsID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0ge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cblxuLnVrLWdyaWQtbWVkaXVtID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9XG5cbi51ay1ncmlkLWxhcmdlID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQtbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtNzBweDsgfVxuICAudWstZ3JpZC1sYXJnZSA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogNzBweDsgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAudWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG5cbi8qXG4gKiBDb2xsYXBzZVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1jb2xsYXBzZSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi51ay1ncmlkLWNvbGxhcHNlID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAtNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMzBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTMwcHg7XG4gIGxlZnQ6IDYwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC04MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgbGVmdDogNDBweDsgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogLTQwcHg7XG4gICAgbGVmdDogODBweDsgfSB9XG5cbi8qXG4gKiBTbWFsbFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBsZWZ0OiAxNXB4OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTE1cHg7XG4gIGxlZnQ6IDMwcHg7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtIHtcbiAgbWFyZ2luLWxlZnQ6IC02MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBsZWZ0OiAzMHB4OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA2MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtMzBweDtcbiAgbGVmdDogNjBweDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IC04MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogNDBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA4MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC00MHB4O1xuICBsZWZ0OiA4MHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNDBweDsgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgbGVmdDogNzBweDsgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAtNzBweDtcbiAgICBsZWZ0OiAxNDBweDsgfSB9XG5cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi51ay1ncmlkLW1hdGNoID4gKiA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSksXG4udWstZ3JpZC1pdGVtLW1hdGNoID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgZmxleDogYXV0bzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGlsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstdGlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstdGlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLXRpbGU6OmJlZm9yZSxcbi51ay10aWxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay10aWxlOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFhTbWFsbFxuICovXG4udWstdGlsZS14c21hbGwge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi51ay10aWxlLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstdGlsZS1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstdGlsZS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfSB9XG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuLnVrLXRpbGUteGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDE0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLXRpbGUteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMjEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIxMHB4OyB9IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay10aWxlLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi8qXG4gKiBNdXRlZFxuICovXG4udWstdGlsZS1tdXRlZCB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7IH1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLXRpbGUtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMyNjU4YTU7IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstdGlsZS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMjIyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDYXJkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1ib2R5IHtcbiAgcGFkZGluZzogMzBweCAzMHB4OyB9XG5cbi51ay1jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDE1cHggMzBweDsgfVxuXG4udWstY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDQwcHggNDBweDsgfVxuICAudWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDsgfVxuICAudWstY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDsgfSB9XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstY2FyZC1ib2R5OjpiZWZvcmUsXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YmVmb3JlLFxuLnVrLWNhcmQtaGVhZGVyOjphZnRlcixcbi51ay1jYXJkLWZvb3Rlcjo6YmVmb3JlLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1jYXJkLWJvZHk6OmFmdGVyLFxuLnVrLWNhcmQtaGVhZGVyOjphZnRlcixcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIE1lZGlhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNlcnZlZCBhbGlnbm1lbnQgbW9kaWZpZXIgdG8gc3R5bGUgdGhlIG1lZGlhIGVsZW1lbnQsIGUuZy4gd2l0aCBgYm9yZGVyLXJhZGl1c2BcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi8qIEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jYXJkLWJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwcHg7XG4gIHJpZ2h0OiAzMHB4O1xuICB6LWluZGV4OiAxOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG4udWstY2FyZC1iYWRnZTpmaXJzdC1jaGlsZCArICoge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIEhvdmVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jYXJkLWhvdmVyOm5vdCgudWstY2FyZC1kZWZhdWx0KTpub3QoLnVrLWNhcmQtcHJpbWFyeSk6bm90KC51ay1jYXJkLXNlY29uZGFyeSk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICogTm90ZTogSGVhZGVyIGFuZCBGb290ZXIgYXJlIG9ubHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBkZWZhdWx0IHN0eWxlXG4gKi9cbi51ay1jYXJkLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogIzc0NzM3MDsgfVxuXG4udWstY2FyZC1kZWZhdWx0LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstY2FyZC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzI2NThhNTtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstY2FyZC1wcmltYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2NThhNTtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1jYXJkLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1jYXJkLXNtYWxsLnVrLWNhcmQtYm9keSxcbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWJvZHkge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogMTNweCAyMHB4OyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEzcHggMjBweDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogNzBweCA3MHB4OyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogMzVweCA3MHB4OyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWZvb3RlciB7XG4gICAgcGFkZGluZzogMzVweCA3MHB4OyB9IH1cblxuLypcbiAgICAgKiBEZWZhdWx0XG4gICAgICovXG4udWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0zMHB4OyB9XG5cbi51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IC0xNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtMTVweDsgfVxuXG4udWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbi51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG5cbi51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDsgfVxuICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0yNXB4OyB9XG4gIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4OyB9IH1cblxuLypcbiAgICAgKiBTbWFsbFxuICAgICAqL1xuLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQge1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7IH1cblxuLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cblxuLypcbiAgICAgKiBMYXJnZVxuICAgICAqL1xuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc3Bpbm5lciA+ICoge1xuICBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlIDEuNHMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfSB9XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDg4cHg7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHN0cm9rZS13aWR0aDogMTtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4OyB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDIycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODhweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NTBkZWcpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlYXJjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIFJlc2V0IGBmb3JtYFxuICovXG4udWstc2VhcmNoIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiAzICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogNCAqL1xuICBtYXJnaW46IDA7IH1cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogNS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqIDcuIFZlcnRpY2FsIGFsaWdubWVudFxuICogOC4gVGFrZSB0aGUgZnVsbCBjb250YWluZXIgd2lkdGhcbiAqIDkuIFN0eWxlXG4gKi9cbi51ay1zZWFyY2gtaW5wdXQge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogNSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNiAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDcgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogOCAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogOSAqL1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBJY29uIChBZG9wdHMgYHVrLWljb25gKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuLnVrLXNlYXJjaC1pY29uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gYWJvdmUgaW5wdXRcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAzLiBTdHlsZVxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDMgKi9cbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLWRlZmF1bHQge1xuICB3aWR0aDogMTgwcHg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogSWNvblxuICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uIHtcbiAgd2lkdGg6IDQwcHg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNlYXJjaC1uYXZiYXIge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4vKlxuICogSWNvblxuICovXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24ge1xuICB3aWR0aDogNDBweDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLWxhcmdlIHtcbiAgd2lkdGg6IDUwMHB4OyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uIHtcbiAgd2lkdGg6IDgwcHg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLXRvZ2dsZSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNldFxuICogMS4gUHJlcGFyZSBsaXN0c1xuICogMi4gUHJlcGFyZSBsaW5rc1xuICogMy4gUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuLyogMSAqL1xuLnVrLW5hdixcbi51ay1uYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogMiAqL1xuLnVrLW5hdiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIDMgKi9cbi51ay1uYXYgbGkgPiBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogSXRlbXNcbiAqIE11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGxpc3RzKVxuICovXG4udWstbmF2ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogNXB4IDA7IH1cblxuLyogU3VibGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG51bC51ay1uYXYtc3ViIHtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDE1cHg7IH1cblxuLypcbiAqIExldmVsIDMgYW5kIGRlZXBlclxuICovXG4udWstbmF2LXN1YiB1bCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdi1zdWIgYSB7XG4gIHBhZGRpbmc6IDJweCAwOyB9XG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGZsb2F0OiByaWdodDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyMzY2NiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyJTIzNjY2JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtaGVhZGVyIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1kaXZpZGVyIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjNzQ3MzcwOyB9XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICM3NDczNzA7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM3NDczNzA7IH1cblxuLypcbiAqIEhlYWRlclxuICovXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogIzc0NzM3MDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBTdWJsaXN0cyAqL1xuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIsXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1YiB1bCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBQYXJlbnQgaWNvbiBtb2RpZmllciAgKi9cbi51ay1uYXYtY2VudGVyLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3VibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cbi51ay1zdWJuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuLnVrLXN1Ym5hdiA+ICoge1xuICAvKiAxICovXG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogVXNpbmcgYDpmaXJzdC1jaGlsZGAgaW5zdGVhZCBvZiBgYWAgdG8gc3VwcG9ydCBgc3BhbmAgZWxlbWVudHMgZm9yIHRleHRcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM3NDczNzA7IH1cblxuLyogRGl2aWRlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2NThhNTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG4udWstdGFiIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAvKiAzICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudWstdGFiOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG4udWstdGFiID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLXRhYiA+ICogPiBhIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiAyICovXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogIzk5OTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10YWIgPiAqID4gYTpob3Zlcixcbi51ay10YWIgPiAqID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzc0NzM3MDtcbiAgYm9yZGVyLWNvbG9yOiAjMjY1OGE1OyB9XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCb3R0b21cbiAqL1xuLnVrLXRhYi1ib3R0b206OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvOyB9XG5cbi51ay10YWItYm90dG9tID4gKiA+IGEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLypcbiAqIExlZnQgKyBSaWdodFxuICogMS4gUmVzZXQgR3V0dGVyXG4gKi9cbi51ay10YWItbGVmdCxcbi51ay10YWItcmlnaHQge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAxICovXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi51ay10YWItcmlnaHQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4udWstdGFiIC51ay1kcm9wZG93biB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM3NDczNzA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEuNGVtO1xuICAgIGhlaWdodDogMS40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjB3aWR0aCUzRCUyMjElMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHglM0QlMjI2JTIyJTIweSUzRCUyMjAlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4gIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4udWstYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1hY2NvcmRpb24tY29udGVudDo6YmVmb3JlLFxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1hY2NvcmRpb24tY29udGVudDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlcyBieSBmb3JjaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGlvblxuICovXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgei1pbmRleDogOTgwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzOyB9XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN3aXRjaGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cbi51ay1zd2l0Y2hlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cbi51ay1zd2l0Y2hlciA+IDpub3QoLnVrLWFjdGl2ZSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXN3aXRjaGVyID4gKiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvbm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG4udWstaWNvbm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLyogMyAqL1xuICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cbi51ay1pY29ubmF2ID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWljb25uYXYgPiAqID4gYSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb25uYXYgPiAqID4gYTpob3Zlcixcbi51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBNb2RpZmllcjogJ3VrLWljb25uYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwge1xuICAvKiAxICovXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbi8qIDIgKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi8qIERpcmVjdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qIEFuaW1hdGlvbnMgZm9yIHNjcm9sbHNweVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRmFkZVxuICovXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjhzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cblxuLypcbiAqIFNjYWxlXG4gKi9cbi51ay1hbmltYXRpb24tc2NhbGUtdXAge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjsgfVxuXG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Age1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7IH1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsOyB9XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7IH1cblxuLypcbiAqIFNoYWtlXG4gKi9cbi51ay1hbmltYXRpb24tc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogdWstc2hha2U7IH1cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFuaW1hdGlvbi1mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzOyB9XG5cbi8qIEVuYWJsZSBhbmltYXRpb24gb25seSBvbiBob3ZlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBOb3RlOiBGaXJlZm94IGFuZCBJRSBuZWVkcyB0aGlzIGJlY2F1c2UgYW5pbWF0aW9ucyBhcmUgbm90IHRyaWdnZXJlZCB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGRpc3BsYXkgYG5vbmVgIGFuZCBgYmxvY2tgXG4gKi9cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGYWRlXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKlxuICogU2xpZGUgVG9wXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Age1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIEJvdHRvbVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIExlZnRcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFJpZ2h0XG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBUb3AgU21hbGxcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgTGVmdCBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgUmlnaHQgU21hbGxcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBNZWRpdW1cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgTGVmdCBNZWRpdW1cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTY2FsZSBVcFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMDIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLypcbiAqIFNjYWxlIERvd25cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9IH1cblxuLypcbiAqIFNoYWtlXG4gKi9cbkBrZXlmcmFtZXMgdWstc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogV2lkdGhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRXF1YWwgY2hpbGQgd2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLWNoaWxkLXdpZHRoJ10gPiAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICoge1xuICB3aWR0aDogNTAlOyB9XG5cbi51ay1jaGlsZC13aWR0aC0xLTMgPiAqIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICoge1xuICB3aWR0aDogMjUlOyB9XG5cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4udWstY2hpbGQtd2lkdGgtMS02ID4gKiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG5cbi51ay1jaGlsZC13aWR0aC1hdXRvID4gKiB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiAgICBJbnN0ZWFkIG9mIDAsIDFweCBpcyBuZWVkZWQgdG8gbWFrZSBjZWxsIHdyYXAgaW50byBuZXh0IHJvdyBpZiBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGVcbiAqICAgIGFuZCB0aGUgZ3JpZCBndXR0ZXIgaXMgMCBwaXhlbHMgd2lkZVxuICovXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gKiB7XG4gIHdpZHRoOiAxcHg7IH1cblxuLypcbiAqIDEuIE1ha2UgYHdpZHRoOiAxcHhgIHdvcmssIGJlY2F1c2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjIGZsZXggaXRlbXMgd29u4oCZdCBzaHJpbmtcbiAqICAgIGJlbG93IHRoZWlyIG1pbmltdW0gY29udGVudCBzaXplLiBUbyBjaGFuZ2UgdGhpcywgc2V0IHRoZSBtaW4td2lkdGguXG4gKiAgICBPbmx5IG5lZWRlZCBmb3IgRmlyZWZveC4gQWxsIG90aGVyIGJyb3dzZXJzIGlnbm9yZSB0aGlzLlxuICpcbiAqIDIuIGB3aWR0aGAgaXMgaWdub3JlZCB3aGVuIHdyYXBwaW5nIGZsZXggaXRlbXMgaW4gU2FmYXJpXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzIzExLW1pbi1hbmQtbWF4LXNpemUtZGVjbGFyYXRpb25zLWFyZS1pZ25vcmVkLXdoZW4td3JhcHBpbmctZmxleC1pdGVtc1xuICovXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gIGZsZXg6IDE7XG4gIC8qIDEgKi9cbiAgbWluLXdpZHRoOiAwO1xuICAvKiAyICovXG4gIGZsZXgtYmFzaXM6IDFweDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gKiB7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBtID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBtID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gKiB7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICoge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQGwgPiAqIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+ICoge1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBTaW5nbGUgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cbltjbGFzcyo9J3VrLXdpZHRoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogSGFsdmVzICovXG4udWstd2lkdGgtMS0yIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4vKiBUaGlyZHMgKi9cbi51ay13aWR0aC0xLTMge1xuICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuXG4udWstd2lkdGgtMi0zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cblxuLyogUXVhcnRlcnMgKi9cbi51ay13aWR0aC0xLTQge1xuICB3aWR0aDogMjUlOyB9XG5cbi51ay13aWR0aC0zLTQge1xuICB3aWR0aDogNzUlOyB9XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnVrLXdpZHRoLTItNSB7XG4gIHdpZHRoOiA0MCU7IH1cblxuLnVrLXdpZHRoLTMtNSB7XG4gIHdpZHRoOiA2MCU7IH1cblxuLnVrLXdpZHRoLTQtNSB7XG4gIHdpZHRoOiA4MCU7IH1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cblxuLnVrLXdpZHRoLTUtNiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG5cbi8qIFBpeGVsICovXG4udWstd2lkdGgtc21hbGwge1xuICB3aWR0aDogMTUwcHg7IH1cblxuLnVrLXdpZHRoLW1lZGl1bSB7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4udWstd2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNDUwcHg7IH1cblxuLnVrLXdpZHRoLXhsYXJnZSB7XG4gIHdpZHRoOiA2MDBweDsgfVxuXG4udWstd2lkdGgteHhsYXJnZSB7XG4gIHdpZHRoOiA3NTBweDsgfVxuXG4vKiBBdXRvICovXG4udWstd2lkdGgtYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qIEV4cGFuZCAqL1xuLnVrLXdpZHRoLWV4cGFuZCB7XG4gIHdpZHRoOiAxcHg7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleC1iYXNpczogMXB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQHMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAcyB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay13aWR0aC0yLTNcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAcyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAcyB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBGaWZ0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNVxcQHMge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLXdpZHRoLTItNVxcQHMge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQHMge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnVrLXdpZHRoLTQtNVxcQHMge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7IH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEBzIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNjAwcHg7IH1cbiAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQHMge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAcyB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBtIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLXdpZHRoLTItM1xcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEBtIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay13aWR0aC0zLTRcXEBtIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAbSB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAbSB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAudWstd2lkdGgtMy01XFxAbSB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAudWstd2lkdGgtNC01XFxAbSB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay13aWR0aC01LTZcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuICAvKiBQaXhlbCAqL1xuICAudWstd2lkdGgtc21hbGxcXEBtIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQG0ge1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAudWstd2lkdGgtbGFyZ2VcXEBtIHtcbiAgICB3aWR0aDogNDUwcHg7IH1cbiAgLnVrLXdpZHRoLXhsYXJnZVxcQG0ge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgteHhsYXJnZVxcQG0ge1xuICAgIHdpZHRoOiA3NTBweDsgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogRXhwYW5kICovXG4gIC51ay13aWR0aC1leHBhbmRcXEBtIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLXdpZHRoLTItM1xcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEBsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay13aWR0aC0zLTRcXEBsIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAbCB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAudWstd2lkdGgtMy01XFxAbCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAudWstd2lkdGgtNC01XFxAbCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay13aWR0aC01LTZcXEBsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTsgfVxuICAvKiBQaXhlbCAqL1xuICAudWstd2lkdGgtc21hbGxcXEBsIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQGwge1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAudWstd2lkdGgtbGFyZ2VcXEBsIHtcbiAgICB3aWR0aDogNDUwcHg7IH1cbiAgLnVrLXdpZHRoLXhsYXJnZVxcQGwge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgteHhsYXJnZVxcQGwge1xuICAgIHdpZHRoOiA3NTBweDsgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogRXhwYW5kICovXG4gIC51ay13aWR0aC1leHBhbmRcXEBsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEB4bCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEB4bCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEB4bCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAeGwge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEB4bCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAeGwge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQHhsIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEB4bCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQHhsIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgteHhsYXJnZVxcQHhsIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQHhsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWlnaHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstaGVpZ2h0J10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBPbmx5IHdvcmtzIGlmIHBhcmVudCBlbGVtZW50IGhhcyBhIGhlaWdodCBzZXRcbiAqL1xuLnVrLWhlaWdodC0xLTEge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG4udWstaGVpZ2h0LXZpZXdwb3J0IHtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLypcbiAqIFBpeGVsXG4gKiBVc2VmdWwgZm9yIGBvdmVyZmxvdzogYXV0b2BcbiAqL1xuLnVrLWhlaWdodC1zbWFsbCB7XG4gIGhlaWdodDogMTUwcHg7IH1cblxuLnVrLWhlaWdodC1tZWRpdW0ge1xuICBoZWlnaHQ6IDMwMHB4OyB9XG5cbi51ay1oZWlnaHQtbGFyZ2Uge1xuICBoZWlnaHQ6IDQ1MHB4OyB9XG5cbi51ay1oZWlnaHQtbWF4LXNtYWxsIHtcbiAgbWF4LWhlaWdodDogMTUwcHg7IH1cblxuLnVrLWhlaWdodC1tYXgtbWVkaXVtIHtcbiAgbWF4LWhlaWdodDogMzAwcHg7IH1cblxuLnVrLWhlaWdodC1tYXgtbGFyZ2Uge1xuICBtYXgtaGVpZ2h0OiA0NTBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbGVhZCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzc0NzM3MDsgfVxuXG4udWstdGV4dC1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7IH1cbiAgLnVrLXRleHQtbWV0YSBhIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAudWstdGV4dC1tZXRhIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4udWstdGV4dC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbXV0ZWQge1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzI2NThhNSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzMyZDI5NiAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZhYTA1YSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiAjZjA1MDZlICFpbXBvcnRhbnQ7IH1cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cbi51ay10ZXh0LWJhY2tncm91bmQge1xuICAvKiAxICovXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAzICovXG4gIGNvbG9yOiAjMjY1OGE1ICFpbXBvcnRhbnQ7IH1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY1OGE1OyB9IH1cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAbSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEBtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEBsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAeGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cbi51ay10ZXh0LXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWJhc2VsaW5lIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuLnVrLXRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogMS4gTWFrZSBzdXJlIGEgbWF4LXdpZHRoIGlzIHNldCBhZnRlciB3aGljaCB0cnVuY2F0aW9uIGNhbiBvY2N1clxuICogMi4gUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXNcbiAqIDMuIEZpeCBmb3IgdGFibGUgY2VsbHNcbiAqL1xuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiAyICovXG50aC51ay10ZXh0LXRydW5jYXRlLFxudGQudWstdGV4dC10cnVuY2F0ZSB7XG4gIG1heC13aWR0aDogMDsgfVxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICogTm90ZTogTm90IHVzaW5nIGBoeXBoZW5zOiBhdXRvO2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkXG4gKi9cbi51ay10ZXh0LWJyZWFrIHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAvKiAyICovXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29sdW1uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSB7XG4gIGNvbHVtbi1nYXA6IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtjbGFzcyo9J3VrLWNvbHVtbi0nXSB7XG4gICAgY29sdW1uLWdhcDogNDBweDsgfSB9XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSBpbWcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIERvdWJsZSB0aGUgY29sdW1uIGdhcFxuICovXG4udWstY29sdW1uLWRpdmlkZXIge1xuICBjb2x1bW4tcnVsZTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIC8qIDEgKi9cbiAgY29sdW1uLWdhcDogNjBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICBjb2x1bW4tZ2FwOiA4MHB4OyB9IH1cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb2x1bW4tMS0yIHtcbiAgY29sdW1uLWNvdW50OiAyOyB9XG5cbi51ay1jb2x1bW4tMS0zIHtcbiAgY29sdW1uLWNvdW50OiAzOyB9XG5cbi51ay1jb2x1bW4tMS00IHtcbiAgY29sdW1uLWNvdW50OiA0OyB9XG5cbi51ay1jb2x1bW4tMS01IHtcbiAgY29sdW1uLWNvdW50OiA1OyB9XG5cbi51ay1jb2x1bW4tMS02IHtcbiAgY29sdW1uLWNvdW50OiA2OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgLnVrLWNvbHVtbi0xLTNcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7IH1cbiAgLnVrLWNvbHVtbi0xLTRcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgLnVrLWNvbHVtbi0xLTVcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgLnVrLWNvbHVtbi0xLTZcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDY7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstY29sdW1uLTEtMlxcQG0ge1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAudWstY29sdW1uLTEtM1xcQG0ge1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAudWstY29sdW1uLTEtNFxcQG0ge1xuICAgIGNvbHVtbi1jb3VudDogNDsgfVxuICAudWstY29sdW1uLTEtNVxcQG0ge1xuICAgIGNvbHVtbi1jb3VudDogNTsgfVxuICAudWstY29sdW1uLTEtNlxcQG0ge1xuICAgIGNvbHVtbi1jb3VudDogNjsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY29sdW1uLTEtMlxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAudWstY29sdW1uLTEtM1xcQGwge1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAudWstY29sdW1uLTEtNFxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogNDsgfVxuICAudWstY29sdW1uLTEtNVxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogNTsgfVxuICAudWstY29sdW1uLTEtNlxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogNjsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAudWstY29sdW1uLTEtM1xcQHhsIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7IH1cbiAgLnVrLWNvbHVtbi0xLTRcXEB4bCB7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC51ay1jb2x1bW4tMS01XFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogNTsgfVxuICAudWstY29sdW1uLTEtNlxcQHhsIHtcbiAgICBjb2x1bW4tY291bnQ6IDY7IH0gfVxuXG4vKiBNYWtlIGVsZW1lbnQgc3BhbiBhY3Jvc3MgYWxsIGNvbHVtbnNcbiAqIERvZXMgbm90IHdvcmsgaW4gRmlyZWZveCB5ZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbHVtbi1zcGFuIHtcbiAgY29sdW1uLXNwYW46IGFsbDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiogKyBbY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKi9cbi51ay1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cbi51ay1hbGlnbi1sZWZ0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBmbG9hdDogbGVmdDsgfVxuXG4udWstYWxpZ24tcmlnaHQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstYWxpZ24tcmlnaHRcXEBzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEBsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC51ay1hbGlnbi1sZWZ0LFxuICAudWstYWxpZ24tbGVmdFxcQHMsXG4gIC51ay1hbGlnbi1sZWZ0XFxAbSxcbiAgLnVrLWFsaWduLWxlZnRcXEBsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgLnVrLWFsaWduLXJpZ2h0LFxuICAudWstYWxpZ24tcmlnaHRcXEBzLFxuICAudWstYWxpZ24tcmlnaHRcXEBtLFxuICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC51ay1hbGlnbi1yaWdodFxcQHhsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICogMy4gRml4IGZvciB1cHBlcmNhc2UgYXR0cmlidXRlIG5hbWVzIGluIEVkZ2UuIFdpbGwgYmUgZml4ZWQgaW4gV2luZG93cyAxMCBidWlsZHMgMTYyNTErXG4gKi9cbi8qIDEgKi9cbi51ay1zdmcsXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpLFxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbRklMTCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjsgfVxuXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtTVFJPS0UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuLnVrLXN2ZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLXBhbmVsOjpiZWZvcmUsXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnVrLXBhbmVsOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXBhbmVsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cbi51ay1wYW5lbC1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiAxNzBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgcmVzaXplOiBib3RoOyB9XG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBgdGFibGUtY2VsbGAgaXMgdXNlZCB3aXRoIGA6OmJlZm9yZWAgYmVjYXVzZSBgdGFibGVgIGNyZWF0ZXMgYSAxcHggZ2FwIHdoZW4gaXQgYmVjb21lcyBhIGZsZXggaXRlbSwgb25seSBpbiBXZWJraXRcbiAqIDIuIGB0YWJsZWAgaXMgdXNlZCBhZ2FpbiB3aXRoIGA6OmFmdGVyYCBiZWNhdXNlIGBjbGVhcmAgb25seSB3b3JrcyB3aXRoIGJsb2NrIGVsZW1lbnRzLlxuICogTm90ZTogYGRpc3BsYXk6IGJsb2NrYCB3aXRoIGBvdmVyZmxvdzogaGlkZGVuYCBpcyBjdXJyZW50bHkgbm90IHdvcmtpbmcgaW4gdGhlIGxhdGVzdCBTYWZhcmlcbiAqL1xuLyogMSAqL1xuLnVrLWNsZWFyZml4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICovXG4udWstZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi51ay1mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKiAxICovXG5bY2xhc3MqPSd1ay1mbG9hdC0nXSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBPdmVyZm93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqIE5vdGU6IEZpcmVmb3ggaWdub3JlcyBgcGFkZGluZy1ib3R0b21gIGZvciB0aGUgc2Nyb2xsYWJsZSBvdmVyZmxvdyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MThcbiAqL1xuLnVrLW92ZXJmbG93LWF1dG8ge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi51ay1vdmVyZmxvdy1hdXRvID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcmVzaXplIHtcbiAgcmVzaXplOiBib3RoOyB9XG5cbi51ay1yZXNpemUtdmVydGljYWwge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpc3BsYXktYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi51ay1kaXNwbGF5LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG5cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKiA1LiBGb3JjZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24gd2l0aG91dCBjcmVhdGluZyBhIG5ldyBzdGFja2luZyBjb250ZXh0XG4gKiAgICB0byBmaXggMXB4IGdsaXRjaCB3aGVuIGNvbWJpbmVkIHdpdGggb3ZlcmxheXMgYW5kIHRyYW5zaXRpb25zIGluIFdlYmtpdFxuICogNi4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogNSAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udWstaW5saW5lLWNsaXAge1xuICAvKiA2ICovXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogUmVzcG9uc2l2ZSBvYmplY3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmVzZXJ2ZSBvcmlnaW5hbCBkaW1lbnNpb25zXG4gKiBCZWNhdXNlIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhcmUgYWxyZWFkeSByZXNwb25zaXZlIGJ5IGRlZmF1bHQsIHNlZSBCYXNlIGNvbXBvbmVudFxuICovXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggYXVkaW8sXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8ge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG4udWstcmVzcG9uc2l2ZS13aWR0aCxcbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGguIGBpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBgdWstcHJlc2VydmUtd2lkdGggaW1nYFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICovXG4udWstcmVzcG9uc2l2ZS13aWR0aCB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8qIDIgKi9cbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIGhlaWdodC4gT25seSB3b3JrcyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGEgZml4ZWQgaGVpZ2h0XG4gKiAyLiBBdXRvIHNjYWxlIHRoZSB3aWR0aC4gT25seSBuZWVkZWQgaWYgYHdpZHRoYCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMy4gUmVzZXQgbWF4LXdpZHRoLCB3aGljaCBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYWxyZWFkeSBoYXZlIGJ5IGRlZmF1bHRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgLyogMSAqL1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAvKiAyICovXG4gIHdpZHRoOiBhdXRvO1xuICAvKiAzICovXG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJvcmRlci1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnVrLWJvcmRlci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuLnVrLWlubGluZS1jbGlwW2NsYXNzKj0ndWstYm9yZGVyLSddIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuLyogQm94LXNoYWRvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYm94LXNoYWRvdy1zbWFsbCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstYm94LXNoYWRvdy1sYXJnZSB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLnVrLWJveC1zaGFkb3cteGxhcmdlIHtcbiAgYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuW2NsYXNzKj0ndWstYm94LXNoYWRvdy1ob3ZlciddIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0OyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXNtYWxsOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLWxhcmdlOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci14bGFyZ2U6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi8qIEJveC1zaGFkb3cgYm90dG9tXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEJsdXIgZG9lc24ndCB3b3JrIG9uIHBzZXVkbyBlbGVtZW50cyB3aXRoIG5lZ2F0aXZlIGB6LWluZGV4YCBpbiBFZGdlLlxuICogICAgU29sdmVkIGJ5IHVzaW5nIGBiZWZvcmVgIGFuZCBhZGQgcG9zaXRpb24gY29udGV4dCB0byBjaGlsZCBlbGVtZW50cy5cbiAqL1xuQHN1cHBvcnRzIChmaWx0ZXI6IGJsdXIoMCkpIHtcbiAgLnVrLWJveC1zaGFkb3ctYm90dG9tIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC51ay1ib3gtc2hhZG93LWJvdHRvbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTMwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICBmaWx0ZXI6IGJsdXIoMjBweCk7IH1cbiAgLyogMyAqL1xuICAudWstYm94LXNoYWRvdy1ib3R0b20gPiAqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gRmlyZWZveCBkb2Vzbid0IGFwcGx5IGA6OmZpcnN0LWxldHRlcmAgaWYgdGhlIGZpcnN0IGxldHRlciBpcyBpbnNpZGUgY2hpbGQgZWxlbWVudHNcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDAwNFxuICogMi4gSW4gRmlyZWZveCwgYSBmbG9hdGluZyBgOjpmaXJzdC1sZXR0ZXJgIGRvZXNuJ3QgaGF2ZSBhIGxpbmUgYm94IGFuZCB0aGVyZSBmb3Igbm8gYGxpbmUtaGVpZ2h0YFxuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE3OTMzXG4gKiAzLiBDYXVzZWQgYnkgMS46IEVkZ2UgY3JlYXRlcyB0d28gbmVzdGVkIGA6OmZpcnN0LWxldHRlcmAgY29udGFpbmVycywgb25lIGZvciBlYWNoIHNlbGVjdG9yXG4gKiAgICBUaGlzIGRvdWJsZXMgdGhlIGBmb250LXNpemVgIGV4cG9uZW50aWFsIHdoZW4gdXNpbmcgdGhlIGBlbWAgdW5pdC5cbiAqL1xuLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbi51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiA0LjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cblxuLyogMiAqL1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgbWFyZ2luLXRvcDogMS4xJTsgfSB9XG5cbi8qIDMgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBmb250LXNpemU6IDFlbTsgfSB9XG5cbi8qIExvZ29cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuLnVrLWxvZ28ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjNjY2O1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbG9nbzpob3Zlcixcbi51ay1sb2dvOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51ay1sb2dvLWludmVyc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIERyYWcgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cbi51ay1kcmFnLFxuLnVrLWRyYWcgKiB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiAyICovXG4udWstZHJhZyBpZnJhbWUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKiBEcmFnb3ZlciBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG4udWstZHJhZ292ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMyk7IH1cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJsZW5kLW11bHRpcGx5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG5cbi51ay1ibGVuZC1zY3JlZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG5cbi51ay1ibGVuZC1vdmVybGF5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cblxuLnVrLWJsZW5kLWRhcmtlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cblxuLnVrLWJsZW5kLWxpZ2h0ZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuXG4udWstYmxlbmQtY29sb3ItZG9kZ2Uge1xuICBtaXgtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cblxuLnVrLWJsZW5kLWNvbG9yLWJ1cm4ge1xuICBtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuXG4udWstYmxlbmQtaGFyZC1saWdodCB7XG4gIG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG5cbi51ay1ibGVuZC1zb2Z0LWxpZ2h0IHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cblxuLnVrLWJsZW5kLWRpZmZlcmVuY2Uge1xuICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuXG4udWstYmxlbmQtZXhjbHVzaW9uIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuXG4udWstYmxlbmQtaHVlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGh1ZTsgfVxuXG4udWstYmxlbmQtc2F0dXJhdGlvbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG5cbi51ay1ibGVuZC1jb2xvciB7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuXG4udWstYmxlbmQtbHVtaW5vc2l0eSB7XG4gIG1peC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2Zvcm0tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLyogVHJhbnNmb3JtIE9yaWdpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1jZW50ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tbGVmdCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLXJpZ2h0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4udWstZmxleC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb25cbiAqL1xuLnVrLWZsZXg6OmJlZm9yZSxcbi51ay1mbGV4OjphZnRlcixcbi51ay1mbGV4LWlubGluZTo6YmVmb3JlLFxuLnVrLWZsZXgtaW5saW5lOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IEhvcml6b250YWxcbiAqL1xuLnVrLWZsZXgtbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4udWstZmxleC1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLnVrLWZsZXgtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4udWstZmxleC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnVrLWZsZXgtcmlnaHRcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstZmxleC1sZWZ0XFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEBsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnVrLWZsZXgtcmlnaHRcXEBsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEBsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstZmxleC1sZWZ0XFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnVrLWZsZXgtcmlnaHRcXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuLnVrLWZsZXgtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi51ay1mbGV4LXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi51ay1mbGV4LW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnVrLWZsZXgtYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qIERpcmVjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZmxleC1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi51ay1mbGV4LXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi51ay1mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnVrLWZsZXgtY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZmxleC1ub3dyYXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG4udWstZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7XG4gIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cbi51ay1mbGV4LXdyYXAtc3RyZXRjaCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cblxuLnVrLWZsZXgtd3JhcC10b3Age1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi51ay1mbGV4LXdyYXAtbWlkZGxlIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi51ay1mbGV4LXdyYXAtYm90dG9tIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cblxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4udWstZmxleC13cmFwLWFyb3VuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuLnVrLWZsZXgtZmlyc3Qge1xuICBvcmRlcjogLTE7IH1cblxuLnVrLWZsZXgtbGFzdCB7XG4gIG9yZGVyOiA5OTsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAcyB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEBzIHtcbiAgICBvcmRlcjogOTk7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstZmxleC1maXJzdFxcQG0ge1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAbSB7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAbCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEBsIHtcbiAgICBvcmRlcjogOTk7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstZmxleC1maXJzdFxcQHhsIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnVrLWZsZXgtbGFzdFxcQHhsIHtcbiAgICBvcmRlcjogOTk7IH0gfVxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEluaXRpYWw6IDAgMSBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzXG4gKi9cbi8qXG4gKiBObyBGbGV4OiAwIDAgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zXG4gKi9cbi51ay1mbGV4LW5vbmUge1xuICBmbGV4OiBub25lOyB9XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuLnVrLWZsZXgtYXV0byB7XG4gIGZsZXg6IGF1dG87IH1cblxuLypcbiAqIEFic29sdXRlIEZsZXg6IDEgMSAwJVxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBmbGV4XG4gKi9cbi51ay1mbGV4LTEge1xuICBmbGV4OiAxOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuKiArIC51ay1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi10b3Age1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuKiArIC51ay1tYXJnaW4tc21hbGwge1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3Age1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tbWVkaXVtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi1tZWRpdW0ge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tdG9wIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiogKyAudWstbWFyZ2luLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbWFyZ2luLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gICogKyAudWstbWFyZ2luLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudDsgfSB9XG5cbi8qIFhMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLXhsYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cblxuKiArIC51ay1tYXJnaW4teGxhcmdlIHtcbiAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4OyB9XG4gICogKyAudWstbWFyZ2luLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4teGxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNDBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1yZW1vdmUge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS10b3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICoge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLWF1dG8ge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdG9wIHtcbiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLWxlZnQge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWRkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYWRkaW5nIHtcbiAgcGFkZGluZzogMzBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1zbWFsbCB7XG4gIHBhZGRpbmc6IDE1cHg7IH1cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBhZGRpbmctbGFyZ2Uge1xuICBwYWRkaW5nOiAzMHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstcGFkZGluZy1sYXJnZSB7XG4gICAgcGFkZGluZzogNzBweDsgfSB9XG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1yZW1vdmUge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERpcmVjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tdG9wJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1ib3R0b20nXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLXJpZ2h0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXInXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi8qIEVkZ2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERvbid0IHVzZSBgd2lkdGg6IDEwMCVgIGJlY2F1c2UgaXQgaXMgd3JvbmcgaWYgdGhlIHBhcmVudCBoYXMgcGFkZGluZy4gKi9cbi51ay1wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIENvcm5lcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tbGVmdCB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyIChOb3Qgd29ya2luZyBpbiBGaXJlZm94KVxuICogMi4gRml4IHRleHQgd3JhcHBpbmcgZm9yIEZpcmVmb3hcbiAqL1xuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAyICovXG4gIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gIHJpZ2h0OiAxMDAlO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodC1vdXQge1xuICBsZWZ0OiAxMDAlO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAyICovXG4gIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIge1xuICB0b3A6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICBib3R0b206IDA7IH1cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBvc2l0aW9uLWNvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tei1pbmRleCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLyogTWFyZ2luIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstcG9zaXRpb24tc21hbGwge1xuICBtYXJnaW46IDE1cHg7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtMTVweCwgLTE1cHgpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0xNXB4KTsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTE1cHgpOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLnVrLXBvc2l0aW9uLW1lZGl1bSB7XG4gIG1hcmdpbjogMzBweDsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtMzBweCwgLTMwcHgpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0zMHB4KTsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgbWFyZ2luOiAzMHB4OyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTMwcHgsIC0zMHB4KTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtMzBweCk7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0zMHB4KTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXJnaW46IDUwcHg7IH1cbiAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC01MHB4LCAtNTBweCk7IH1cbiAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC01MHB4KTsgfVxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC01MHB4KTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBVc2luZyBtdWx0aXBsZSBzZWxlY3RvcnMgdG8gZXhjbHVkZSBgdWstdHJhbnNpdGlvbi10b2dnbGVgXG4gKiBOb3RlOiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIHdpdGggYHVrLXBvc3Rpb24tY2VudGVyLSpgIGNsYXNzZXMgYmVjYXVzZSB0aGV5IGFsc28gdXNlIGB0cmFuc2Zvcm1gXG4gKiAgICAgICBKdXN0IHB1dCB0aGUgdHJhbnNpdGlvbiBpbiBhbiBleHRyYSBgZGl2YFxuICovXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7IH1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogRmFkZVxuICovXG4udWstdHJhbnNpdGlvbi1mYWRlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqIE5vdGU6IFVzaW5nIGBzY2FsZTNkYCBmb3IgYmV0dGVyIGltYWdlIHJlbmRlcmluZ1xuICovXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpOyB9XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Age1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTsgfVxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zaXRpb24tb3BhcXVlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBEdXJhdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNpdGlvbi1zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC43czsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSGlkZGVuXG4gKiBgaGlkZGVuYCBhdHRyaWJ1dGUgYWxzbyBzZXQgaGVyZSB0byBtYWtlIGl0IHN0cm9uZ2VyXG4gKi9cbltoaWRkZW5dLFxuLnVrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1oaWRkZW5cXEBzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstaGlkZGVuXFxAbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1oaWRkZW5cXEBsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstaGlkZGVuXFxAeGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qXG4gKiBWaXNpYmxlXG4gKi9cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnVrLXZpc2libGVcXEBzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAudWstdmlzaWJsZVxcQG0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVrLXZpc2libGVcXEBsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gIC51ay12aXNpYmxlXFxAeGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi8qIEhvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBIaWRkZW5cbiAqIENhbid0IHVzZSBgZGlzcGxheTogaGlkZGVuYCBiZWNhdXNlIGl0J3Mgbm90IGZvY3VzYWJsZS4gVGhpcyBpcyBhY2Nlc3NpYmxlIHRocm91Z2gga2V5Ym9hcmQuXG4gKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIEludmlzaWJsZVxuICogQ2FuJ3QgdXNlIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGJlY2F1c2UgaXQncyBub3QgZm9jdXNhYmxlLiBUaGlzIGlzIGFjY2Vzc2libGUgdGhyb3VnaCBrZXlib2FyZC5cbiAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIC51ay1pbnZpc2libGUtaG92ZXI6bm90KDpmb2N1cykge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cblxuLyogVG91Y2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaGFzIGxpbWl0ZWQgYWNjdXJhY3ksIGUuZy4gYSB0b3VjaCBzY3JlZW4uXG4gKiBXb3JrcyBvbiBtb2JpbGUgYnJvd3NlcnM6IFNhZmFyaSwgQ2hyb21lIGFuZCBBbmRyb2lkIGJyb3dzZXJcbiAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWhpZGRlbi10b3VjaCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAudWstaGlkZGVuLW5vdG91Y2gge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSW52ZXJzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSW1wbGVtZW50ZWQgY2xhc3MgZGVwZW5kcyBvbiB0aGUgZ2VuZXJhbCB0aGVtZSBjb2xvclxuICogYHVrLWxpZ2h0YCBpcyBmb3IgbGlnaHQgY29sb3JzIG9uIGRhcmsgYmFja2dyb3VuZHNcbiAqIGB1ay1kYXJrYCBpcyBvciBkYXJrIGNvbG9ycyBvbiBsaWdodCBiYWNrZ3JvdW5kc1xuICovXG4udWstbGlnaHQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLFxuICAudWstbGlnaHQgLnVrLWxpbmssXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluayxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluayxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluayxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluayxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluayxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWxpbms6aG92ZXIsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbms6aG92ZXIsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3ZlcixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3ZlcixcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rOmhvdmVyLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3ZlcixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluazpob3ZlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3ZlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgOm5vdChwcmUpID4gY29kZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBjb2RlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGNvZGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBjb2RlLFxuICAudWstbGlnaHQgOm5vdChwcmUpID4ga2JkLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGtiZCxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBrYmQsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4ga2JkLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgOm5vdChwcmUpID4ga2JkLFxuICAudWstbGlnaHQgOm5vdChwcmUpID4gc2FtcCxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gc2FtcCxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBzYW1wLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IHNhbXAsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBzYW1wIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAudWstbGlnaHQgZW0sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgZW0sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBlbSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBlbSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGVtLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBlbSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBlbSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBlbSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGVtIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgaDEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgxLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoMSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoMSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgxLCAudWstbGlnaHQgLnVrLWgxLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgxLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgxLFxuICAudWstbGlnaHQgaDIsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDIsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMixcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgyLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoMixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoMixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgyLCAudWstbGlnaHQgLnVrLWgyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgyLFxuICAudWstbGlnaHQgaDMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoMyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoMyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgzLCAudWstbGlnaHQgLnVrLWgzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgzLFxuICAudWstbGlnaHQgaDQsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNCxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNCxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg0LFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNCxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoNCxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoNCxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg0LCAudWstbGlnaHQgLnVrLWg0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg0LFxuICAudWstbGlnaHQgaDUsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDUsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg1LFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNSxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoNSxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoNSxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg1LCAudWstbGlnaHQgLnVrLWg1LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg1LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg1LFxuICAudWstbGlnaHQgaDYsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNixcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg2LFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoNixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoNixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg2LCAudWstbGlnaHQgLnVrLWg2LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDYsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDYsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDYsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg2LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg2IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgYmxvY2txdW90ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBibG9ja3F1b3RlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBibG9ja3F1b3RlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgYmxvY2txdW90ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBibG9ja3F1b3RlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGJsb2NrcXVvdGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgYmxvY2txdW90ZSBmb290ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSBmb290ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUgZm9vdGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCBociwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBociwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGhyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGhyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGhyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGhyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGhyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaHIsIC51ay1saWdodCAudWstaHIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ociwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ociwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1ociwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaHIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgYS51ay1saW5rLW11dGVkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGEudWstbGluay1tdXRlZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstbXV0ZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgYS51ay1saW5rLW11dGVkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYS51ay1saW5rLW11dGVkLFxuICAudWstbGlnaHQgLnVrLWxpbmstbXV0ZWQgYSxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYSxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay1tdXRlZCBhLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkIGEsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay1tdXRlZCBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gIC51ay1saWdodCAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYTpob3ZlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkIGE6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IGEudWstbGluay10ZXh0OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay10ZXh0OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstdGV4dDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1saW5rLXRleHQgYTpob3ZlcixcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay10ZXh0IGE6aG92ZXIsXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLXRleHQgYTpob3ZlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLXRleHQgYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1oZWFkaW5nOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlcixcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlcixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLWhlYWRpbmcgYTpob3ZlcixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1kaXZpZGVyLWljb24sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb24sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiklMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTsgfVxuICAudWstbGlnaHQgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuICAudWstbGlnaHQgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAudWstbGlnaHQgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tbGluaywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstaWNvbi1saW5rOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6aG92ZXIsXG4gIC51ay1saWdodCAudWstaWNvbi1saW5rOmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmFjdGl2ZSxcbiAgLnVrLWxpZ2h0IC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWlucHV0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0LFxuICAudWstbGlnaHQgLnVrLXNlbGVjdCxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdCxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdCxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdCxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0LFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3QsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0LFxuICAudWstbGlnaHQgLnVrLXRleHRhcmVhLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYSxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYSxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYSxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWEsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gICAgLnVrLWxpZ2h0IC51ay1pbnB1dDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDpmb2N1cyxcbiAgICAudWstbGlnaHQgLnVrLXNlbGVjdDpmb2N1cyxcbiAgICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsXG4gICAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsXG4gICAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0OmZvY3VzLFxuICAgIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0OmZvY3VzLFxuICAgIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6Zm9jdXMsXG4gICAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0OmZvY3VzLFxuICAgIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdDpmb2N1cyxcbiAgICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpmb2N1cyxcbiAgICAudWstbGlnaHQgLnVrLXRleHRhcmVhOmZvY3VzLFxuICAgIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLFxuICAgIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Zm9jdXMsXG4gICAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Zm9jdXMsXG4gICAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cyxcbiAgICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Zm9jdXMsXG4gICAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWE6Zm9jdXMsXG4gICAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Zm9jdXMsXG4gICAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50OyB9XG4gIC51ay1saWdodCAudWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50OyB9XG4gIC51ay1saWdodCAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpOyB9XG4gIC51ay1saWdodCAudWstcmFkaW8sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW8sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW8sXG4gIC51ay1saWdodCAudWstY2hlY2tib3gsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94LFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94LFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94LFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveCxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3gsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC4xKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLXJhZGlvOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmZvY3VzLFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkLFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gIC51ay1saWdodCAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gIC51ay1saWdodCAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnVrLWxpZ2h0IC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG4gIFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTsgfVxuICBcbiAgLnVrLWxpZ2h0IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1mb3JtLWxhYmVsLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWxhYmVsLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0tbGFiZWwsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0tbGFiZWwsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1sYWJlbCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWZvcm0tbGFiZWwsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWZvcm0tbGFiZWwsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWZvcm0tbGFiZWwsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZm9ybS1sYWJlbCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1mb3JtLWljb24sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0taWNvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb24sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0taWNvbiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1mb3JtLWljb24sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWZvcm0taWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZm9ybS1pY29uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWZvcm0taWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWZvcm0taWNvbjpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0taWNvbjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0taWNvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWZvcm0taWNvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1mb3JtLWljb246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZm9ybS1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gIC51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tcHJpbWFyeSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4gIC51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4gIC51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAudWstbGlnaHQgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1saW5rLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbmssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbmssIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWxpbms6aG92ZXIsXG4gIC51ay1saWdodCAudWstYnV0dG9uLWxpbms6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpmb2N1cyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tbGluazpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1jbG9zZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2UsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2UsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2UsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jbG9zZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWNsb3NlOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWNsb3NlOmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2U6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstdG90b3AsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3AsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3Age1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10b3RvcDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay10b3RvcDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3A6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLWJhZGdlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2UsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2UsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1iYWRnZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYmFkZ2UsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYmFkZ2U6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2U6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYmFkZ2U6aG92ZXIsXG4gIC51ay1saWdodCAudWstYmFkZ2U6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmZvY3VzLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpmb2N1cyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2U6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYmFkZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstbGFiZWwsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sYWJlbCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sYWJlbCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxhYmVsLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sYWJlbCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGFiZWwsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1hcnRpY2xlLW1ldGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFydGljbGUtbWV0YSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYXJ0aWNsZS1tZXRhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFydGljbGUtbWV0YSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gIC51ay1saWdodCAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbixcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbixcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2YmFyLWl0ZW0sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1pdGVtLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1pdGVtLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1pdGVtLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItaXRlbSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXZiYXItdG9nZ2xlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAudWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbixcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbixcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbixcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbixcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsXG4gIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXRhYjo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWI6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWI6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10YWI6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYjo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLXRhYiA+ICogPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+ICogPiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstdGFiID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpmb2N1cyxcbiAgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zbGlkZW5hdiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXYsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXYsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXYsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zbGlkZW5hdiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLXNsaWRlbmF2OmZvY3VzLFxuICAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6Zm9jdXMsXG4gIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsgfVxuICAudWstbGlnaHQgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstZG90bmF2ID4gKiA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG4gIC51ay1saWdodCAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4gIC51ay1saWdodCAudWstZG90bmF2ID4gKiA+IDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC51ay1saWdodCAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC51ay1saWdodCAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC51ay1saWdodCAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjB3aWR0aCUzRCUyMjElMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHglM0QlMjI2JTIyJTIweSUzRCUyMjAlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+ICogPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuICAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyxcbiAgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyxcbiAgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMsXG4gIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0LWxlYWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbGVhZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbGVhZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbGVhZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbGVhZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXRleHQtbWV0YSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbWV0YSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbWV0YSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbWV0YSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LW1ldGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1tZXRhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstdGV4dC1tdXRlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tdXRlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW11dGVkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW11dGVkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LW11dGVkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LW11dGVkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LW11dGVkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbXV0ZWQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDsgfVxuICAudWstbGlnaHQgLnVrLXRleHQtcHJpbWFyeSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtcHJpbWFyeSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtcHJpbWFyeSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtcHJpbWFyeSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LXByaW1hcnksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1wcmltYXJ5IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpICFpbXBvcnRhbnQ7IH1cbiAgLnVrLWxpZ2h0IC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY29sdW1uLWRpdmlkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgY29sdW1uLXJ1bGUtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWxvZ28sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbG9nbzpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ286aG92ZXIsXG4gIC51ay1saWdodCAudWstbG9nbzpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpmb2N1cyxcbiAgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmZvY3VzLFxuICAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmZvY3VzLFxuICAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286Zm9jdXMsXG4gIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmZvY3VzLFxuICAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmZvY3VzLFxuICAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWstbGlnaHQgLnVrLWxvZ28taW52ZXJzZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28taW52ZXJzZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28taW52ZXJzZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ28taW52ZXJzZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvLWludmVyc2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nby1pbnZlcnNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcXHJcblx0RmlsZSBmb3IgZ2VuZXJlbGwgc2V0dGluZ3NcclxuXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKiogIENvbG9ycyAgKioqKioqL1xyXG5cclxuJGRhcmstY29sb3I6ICMyMzIzMjM7XHJcblxyXG4kcHJpbWFyeS1jb2xvcjogIzI2NThhNTtcclxuJHByaW1hcnktbGlnaHQ6ICMzZTczYjE7XHJcbiRwcmltYXJ5LXN1cGVybGlnaHQ6ICM4NWEyYzQ7XHJcbiRwcmltYXJ5LW1pbjogI2UwZThmMDtcclxuJHByaW1hcnktZGFyazogXHQjMDAzNDdiO1xyXG4kcHJpbWFyeS1hbHQ6IFx0IzQzNjhhMjtcclxuXHJcbiRzZWNvbmRhcnktY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2Vjb25kYXJ5LWRhcms6ICAkcHJpbWFyeS1kYXJrO1xyXG5cclxuJGdyZWVuLWNvbG9yOiAjYTJkMDM3O1xyXG4kZ3JlZW4tZGFyazogIzQ0NzQwMDtcclxuXHJcblxyXG4vLyBTaGFkZXMgb2YgR3JheVxyXG5cclxuJG1haW4tZ3JheS1jb2xvcjogIzQ4NDc0MztcclxuJG1haW4tZ3JheS1saWdodDogIzc0NzM3MDtcclxuXHJcbiRncmF5LWNvbG9yOiBcdFx0XHQjOWU5ZTllO1xyXG4kZ3JheS1hbHQ6XHRcdFx0XHQjNzE3MTcxO1xyXG4kZ3JheS10aGlyZDpcdFx0XHQjM2MzYjM4O1xyXG4kbGlnaHQtZ3JheTogXHRcdFx0I2NlY2VjZTtcclxuJGdyYXktc3VwZXJsaWdodDogXHRcdCNlZWU7XHJcbiRncmF5LXdoaXRlOlx0XHRcdCNmN2Y3Zjc7XHJcbiRkYXJrLWdyYXk6IFx0XHRcdCMzYTNhM2E7XHJcbiR0cmFucy1kYXJrOiBcdFx0XHRyZ2JhKDAsMCwwLDAuNzUpO1xyXG4kdHJhbnMtZ3JheTogXHRcdFx0cmdiYSgxNzEsMTcxLDE3MSwwLjgpO1xyXG4kdHJhbnMtZ3JheS1kYXJrOiBcdFx0cmdiYSgyNDcsMjQ3LDI0NywwLjk1KTtcclxuJHdhcm0tZ3JheS1jb2xvcjogXHRcdCMzYzNiMzg7XHJcblxyXG5cclxuJHRyYW5zLXdoaXRlOiBcdFx0cmdiYSgyNTUsMjU1LDI1NSwwLjYpO1xyXG4kdHJhbnMtc3VwZXJsaWdodDpcdHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XHJcblxyXG4kdHJhbnMtcHJpbWFyeTogXHRyZ2JhKDU1LDg5LDEyNywwLjc1KTtcclxuXHJcbi8vIEZvbnQgLSBDb2xvcnNcclxuXHJcbiRmb250LWNvbG9yOiBcdFx0XHQjNTg1ODU4O1xyXG4kZm9udC1kYXJrOiBcdFx0XHQjMTExO1xyXG4kZm9udC1saWdodDogXHRcdFx0JGdyYXktY29sb3I7XHJcbiRmb250LW1lbnUtY29sb3I6IFx0XHQjOTY5NTkwO1xyXG5cclxuXHJcbi8qKioqKiogIG1hcmdpbnMgLyBwYWRkaW5ncyBhbmQgc28gb24gICoqKioqKi9cclxuXHJcbiRnYXA6XHQzcmVtO1xyXG5cclxuXHJcblxyXG4vKioqKioqICBCcmVha3BvaW50cyAgKioqKioqL1xyXG5cclxuJG1heC1tZWRpdW06IFx0XHRcdG1heC13aWR0aCAgNjAwcHg7XHJcbiRtYXgtbW9iaWxlOiBcdFx0XHRtYXgtd2lkdGggIDc2N3B4O1xyXG4kbWF4LXRhYmxldC1sYW5kc2NhcGU6ICBtYXgtd2lkdGggMTAyM3B4O1xyXG4kbWF4LW1vYmlsZS1sYW5kc2NhcGU6IChtYXgtaGVpZ2h0IDc4MHB4KSAob3JpZW50YXRpb24gbGFuZHNjYXBlKTtcclxuJG1heC1tb2JpbGUtcG9ydHJhaXQ6ICAobWF4LWhlaWdodCA3ODBweCkgKG9yaWVudGF0aW9uIHBvcnRyYWl0KTtcclxuXHJcbiRwb3J0cmFpdDogKG9yaWVudGF0aW9uIHBvcnRyYWl0KTtcclxuXHJcbiRtb2JpbGUtbGFuZHNjYXBlXHQ6IFx0NDI1cHg7XHJcbiRtZWRpdW06XHRcdFx0XHQ2MDBweDtcdFx0XHRcclxuJHRhYmxldC1wb3J0cmFpdDogXHRcdDc2OHB4O1xyXG4kdGFibGV0LWxhbmRzY2FwZTogIFx0MTAyNHB4O1xyXG4kbWF4LWNvbnRlbnQ6XHRcdFx0MTIwMHB4O1xyXG4kbGFwdG9wOiAgXHRcdFx0XHQxNDQwcHg7IiwiLy8gTmFtZTogICAgICAgICAgICBCYXNlXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmF1bHQgdmFsdWVzIGZvciBIVE1MIGVsZW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWgxYCwgYHVrLWgyYCwgYHVrLWgzYCwgYHVrLWg0YCwgYHVrLWg1YCwgYHVrLWg2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaHJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDItZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYmFzZS1wcmUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAgICBOb3QgdXNpbmcgYGZvbnRgIHByb3BlcnR5IGJlY2F1c2UgYSBsZWFkaW5nIGh5cGhlbiAoZS5nLiAtYXBwbGUtc3lzdGVtKSBjYXVzZXMgdGhlIGZvbnQgdG8gYnJlYWsgaW4gSUUxMSBhbmQgRWRnZVxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5cbmh0bWwge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1ib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ib2R5LWxpbmUtaGVpZ2h0O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtYm9keS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ib2R5KSkge0BpbmNsdWRlIGhvb2stYmFzZS1ib2R5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7IC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuYSxcbi51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rKCk7fVxufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluay1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ7IH1cblxuLypcbiAqIDEuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBTdHlsZVxuICovXG5cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHk7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtY29kZS1mb250LXNpemU7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkYmFzZS1jb2RlLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtY29kZSgpO31cbn1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5cbmVtIHsgY29sb3I6ICRiYXNlLWVtLWNvbG9yOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWlucy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1pbnMtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTWFya1xuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLW1hcmstYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtbWFyay1jb2xvcjtcbn1cblxuLypcbiAqIFF1b3RlXG4gKi9cblxucSB7IGZvbnQtc3R5bGU6ICRiYXNlLXF1b3RlLWZvbnQtc3R5bGU7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHsgZm9udC1zaXplOiAkYmFzZS1zbWFsbC1mb250LXNpemU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogUmVzcG9uc2l2ZW5lc3NcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGhcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDIuIENvcnJlY3RzIGBtYXgtd2lkdGhgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogSGlkZSBgYWx0YCB0ZXh0IGZvciBsYXp5IGxvYWQgaW1hZ2VzXG4gKiBTZWxlY3RvciBmb3IgYmFja2dyb3VuZCB3aGlsZSBsb2FkaW5nIGltZ1tkYXRhLXNyYyo9Jy5qcGcnXVtzcmMqPSdkYXRhOmltYWdlJ10geyBiYWNrZ3JvdW5kOiBncmV5OyB9XG4gKi9cblxuaW1nOm5vdChbc3JjXSkgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNYXJnaW5zXG4gKi9cblxucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7IG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHsgbWFyZ2luLXRvcDogJGJhc2UtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhlYWRpbmcoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2IHsgbWFyZ2luLXRvcDogJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5cbmgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDEoKTt9XG59XG5cbmgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDIoKTt9XG59XG5cbmgzLCAudWstaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDMtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMy1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWJhc2UtaDMoKTt9XG59XG5cbmg0LCAudWstaDQge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDQoKTt9XG59XG5cbmg1LCAudWstaDUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDUoKTt9XG59XG5cbmg2LCAudWstaDYge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDYtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDYoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgaDEsIC51ay1oMSB7IGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW07IH1cbiAgICBoMiwgLnVrLWgyIHsgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG51bCxcbm9sIHsgcGFkZGluZy1sZWZ0OiAkYmFzZS1saXN0LXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xuXG51bCA+IGxpID4gdWwsXG51bCA+IGxpID4gb2wsXG5vbCA+IGxpID4gb2wsXG5vbCA+IGxpID4gdWwgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmR0IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbmRkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGFuZCBoZWlnaHQgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICogMy4gQWRkIHRoZSBjb3JyZWN0IHRleHQtYWxpZ24gaW4gRWRnZSBhbmQgSUUuXG4gKiA0LiBTdHlsZVxuICovXG5cbmhyLCAudWstaHIge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDMgKi9cbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDAgMCAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtaHItYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLWhyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWJhc2UtaHIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7IG1hcmdpbi10b3A6ICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCB9XG5cblxuLyogQWRkcmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFkZHJlc3MgeyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDtcbiAgICBmb250LXN0eWxlOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7IG1hcmdpbi10b3A6ICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG59XG5cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBmb250OiAkYmFzZS1wcmUtZm9udC1zaXplIHVucXVvdGUoXCIvXCIpICRiYXNlLXByZS1saW5lLWhlaWdodCAkYmFzZS1wcmUtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRiYXNlLXByZS1jb2xvcjtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1wcmUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLXByZSgpO31cbn1cblxucHJlIGNvZGUgeyBmb250LWZhbWlseTogJGJhc2UtcHJlLWZvbnQtZmFtaWx5OyB9XG5cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1haW4geyAvKiAyICovXG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaWZyYW1lIHsgYm9yZGVyOiAwOyB9XG5cblxuLyogUHJldmVudCB0aGUgMzAwbXMgZGVsYXkgZm9yIHRvdWNoc2NyZWVuIGludGVyYWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNb3N0IGJyb3dzZXJzIHByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGF1dG9tYXRpY2FsbHkgZm9yIHNpdGVzIHRoYXQgdXNlIHRoZSBgd2lkdGg9ZGV2aWNlLXdpZHRoYCBwcm9wZXJ0eS5cbiAqIEZvciBTYWZhcmkgb24gaU9TIDkuMyssIElFIDExIGFuZCBFZGdlIG9uIGRlc2t0b3BzIGFuZCBJRSAxMSBvbiBXaW5kb3dzIFBob25lIDguMSBpdCBtdXN0IGJlIGFwcGxpZWQgbWFudWFsbHkuXG4gKi9cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHsgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLnZhci1tZWRpYS1zOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtc21hbGx9JzsgfVxuLnZhci1tZWRpYS1tOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbWVkaXVtfSc7IH1cbi52YXItbWVkaWEtbDo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LWxhcmdlfSc7IH1cbi52YXItbWVkaWEteGw6OmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXhsYXJnZX0nOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbiIsIiRnbG9iYWwtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb2xvcjogIzY2NiAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogMTVweCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICNmOGY4ZjggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXRvcDogJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogIzMyZDI5NiAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAjZmFhMDVhICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogI2YwNTA2ZSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ndXR0ZXI6IDQwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246IDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1tYXJnaW46IDcwcHggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteHhsYXJnZS1mb250LXNpemU6IDIuNjI1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogMC44NzVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICMyMjIgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiA1cHggIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhZGdlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogIzBmNmVjZCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6IGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1lbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtdG9wOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAkY2FyZC1iYWRnZS10b3AgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWd1dHRlcjogNzBweCAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6IDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6IDE2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY291bnRkb3duLWl0ZW0tbGluZS1oZWlnaHQ6IDcwcHggIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogNHJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiA2cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogM3JlbSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogJGRvdG5hdi1pdGVtLXdpZHRoICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGdsb2JhbC16LWluZGV4OiAxMDAwICFkZWZhdWx0O1xuJGRyb3Atei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZzogMjVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMTUlKSAhZGVmYXVsdDtcbiRmb3JtLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1saW5lLWhlaWdodDogJGZvcm0taGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogOHB4ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC14c21hbGw6IDUwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1zbWFsbDogMTMwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1tZWRpdW06IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICM0NDQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAtNHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiA1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWljb24td2lkdGg6ICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW4teHNtYWxsOiAxMDBweCAhZGVmYXVsdDtcbiRncmlkLWNvbHVtbi1zbWFsbDogMjAwcHggIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW4tbWVkaXVtOiAzMDBweCAhZGVmYXVsdDtcbiRncmlkLWNvbHVtbi1sYXJnZTogNDAwcHggIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW4teGxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRncmlkLWNvbHVtbi14eGxhcmdlOiA2MDBweCAhZGVmYXVsdDtcbiRncmlkLWdhcC1zbWFsbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1nYXAtbWVkaXVtOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWdhcC1sYXJnZTogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAzLjc1cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sOiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjggIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206IDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtdG9wOiB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiAwLjllbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXdpZHRoOiAyMDAwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAwLjZlbSAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlaWdodC1zbWFsbC1oZWlnaHQ6IDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiA0NTBweCAhZGVmYXVsdDtcbiRpY29uLWltYWdlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLXNpemU6IDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtY29udGVudDogJy4nICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRsaWdodGJveC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAjMDAwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtd2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1oZWlnaHQ6ICRsaXN0LWJ1bGxldC13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtYXJnaW4tbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLW1hcmdpbjogMTQwcHggIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmtlci1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6IDUwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uOiAwICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlOiAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6IGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbG9yLW1vZGU6IG5vbmUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICgkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgKiAyKSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi1ib3R0b206IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06IDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogNTBweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6IDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2Utd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1hY3RpdmUtY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1ib2xkLWZvbnQtd2VpZ2h0OiBib2xkZXIgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdG9vbHRpcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJHRvdG9wLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zY2FsZTogMS4xICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246IDAuN3MgIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6IDE3MHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogMjBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuJGxvZ28tZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxvZ28tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbG9nby1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbDogNjQwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW06IDk2MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2U6IDEyMDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhsYXJnZTogMTYwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteHNtYWxsLW1heDogKCRicmVha3BvaW50LXNtYWxsIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1tZWRpdW0gLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bS1tYXg6ICgkYnJlYWtwb2ludC1sYXJnZSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2UtbWF4OiAoJGJyZWFrcG9pbnQteGxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiR3aWR0aC1zbWFsbC13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC14eGxhcmdlLXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogMC40ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk6IDAuOCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluay1jb2xvcjogJGFydGljbGUtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcHJlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAyMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMzAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItYm9yZGVyOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1ib3JkZXI6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTogZGFzaGVkICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJveC1zaGFkb3c6IDAgNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstY29sb3I6ICR0ZXh0LW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC40KSAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAjZWZlZmVmICFkZWZhdWx0OyIsIkBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogKCRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQgKiAxZW0pO1xuICAgICAgICBoZWlnaHQ6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB9XG5cbiAgICAudWstb3BlbiA+ICY6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTsgfVxuXG59XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKXtcblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxuICAgIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1nbG9iYWwtY29sb3IpOyB9XG5cbn1cbkBtaXhpbiBob29rLWFsZXJ0KCl7fVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIENvbnRlbnRcbiAgICAgKi9cblxuICAgIC51ay1hbGVydCBoMSxcbiAgICAudWstYWxlcnQgaDIsXG4gICAgLnVrLWFsZXJ0IGgzLFxuICAgIC51ay1hbGVydCBoNCxcbiAgICAudWstYWxlcnQgaDUsXG4gICAgLnVrLWFsZXJ0IGg2IHsgY29sb3I6IGluaGVyaXQ7IH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAudWstYWxlcnQgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fVxuQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCl7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSAge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1hcnRpY2xlLW1ldGEgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1iYWRnZSgpe31cbkBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKXtcblxuICAgIC51ay1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlKCk7fVxuICAgIH1cblxuICAgIC51ay1iYWRnZTpob3ZlcixcbiAgICAudWstYmFkZ2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbkBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhc2UtY29kZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbCAkYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2RlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7XG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtY29sb3I7XG59XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7XG5cbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLXByZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGJhc2UtcHJlLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1wcmUtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLXByZS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXByZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpe1xuXG4gICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29sb3I7XG5cbiAgICAvLyBCYXNlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgYSxcbiAgICAudWstbGluayAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluaygpO31cbiAgICB9XG5cbiAgICBhOmhvdmVyLFxuICAgIC51ay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBDb2RlXG4gICAgLy9cblxuICAgIDpub3QocHJlKSA+IGNvZGUsXG4gICAgOm5vdChwcmUpID4ga2JkLFxuICAgIDpub3QocHJlKSA+IHNhbXAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEVtcGhhc2l6ZVxuICAgIC8vXG5cbiAgICBlbSB7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWVtLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIEhlYWRpbmdzXG4gICAgLy9cblxuICAgIGgxLCAudWstaDEsXG4gICAgaDIsIC51ay1oMixcbiAgICBoMywgLnVrLWgzLFxuICAgIGg0LCAudWstaDQsXG4gICAgaDUsIC51ay1oNSxcbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKTt9XG4gICAgfVxuXG4gICAgaDEsIC51ay1oMSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDEoKTt9XG4gICAgfVxuXG4gICAgaDIsIC51ay1oMiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDIoKTt9XG4gICAgfVxuXG4gICAgaDMsIC51ay1oMyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDMoKTt9XG4gICAgfVxuXG4gICAgaDQsIC51ay1oNCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDQoKTt9XG4gICAgfVxuXG4gICAgaDUsIC51ay1oNSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDUoKTt9XG4gICAgfVxuXG4gICAgaDYsIC51ay1oNiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDYpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDYoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCbG9ja3F1b3Rlc1xuICAgIC8vXG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKTt9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSBmb290ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gSG9yaXpvbnRhbCBydWxlc1xuICAgIC8vXG5cbiAgICBociwgLnVrLWhyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtYmFzZS1oci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaHIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaHIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpe1xuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlcixcbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cblxuICAgIC51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24oKXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLWRlZmF1bHQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLXRleHQtYm9yZGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2Utb3V0O1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXtcblxuICAgICY6OmJlZm9yZSB7IHJpZ2h0OiAwOyB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXtcblxuICAgIC8qIEdyb3VwXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIENvbGxhcHNlIGJvcmRlclxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCA+IC51ay1idXR0b246bnRoLWNoaWxkKG4rMiksXG4gICAgLnVrLWJ1dHRvbi1ncm91cCA+IGRpdjpudGgtY2hpbGQobisyKSAudWstYnV0dG9uIHsgbWFyZ2luLWxlZnQ6ICgtJGJ1dHRvbi1ib3JkZXItd2lkdGgpOyB9XG5cbiAgICAvKlxuICAgICAqIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIHN1cGVyaW1wb3NlIHRoZSBzdWNjZXNzb3IgZWxlbWVudHMgYm9yZGVyXG4gICAgICogS25vd24gaXNzdWU6IElmIHlvdSB1c2UgYW4gYGFgIGVsZW1lbnQgYXMgYnV0dG9uIGFuZCBhbiBpY29uIGluc2lkZSxcbiAgICAgKiB0aGUgYWN0aXZlIHN0YXRlIHdpbGwgbm90IHdvcmsgaWYgeW91IGNsaWNrIHRoZSBpY29uIGluc2lkZSB0aGUgYnV0dG9uXG4gICAgICogV29ya2Fyb3VuZDogSnVzdCB1c2UgYSBgYnV0dG9uYCBvciBgaW5wdXRgIGVsZW1lbnQgYXMgYnV0dG9uXG4gICAgICovXG5cbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmZvY3VzLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXtcbiAgICAmOjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpe1xuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDpob3ZlcixcbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuICAgIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBTZWNvbmRhcnlcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUZXh0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tdGV4dDpob3ZlcixcbiAgICAudWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuICAgIC51ay1idXR0b24tbGluazpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjsgfVxuXG5cbn1cbkBtaXhpbiBob29rLWNhcmQoKXsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXsgYm9yZGVyLWJvdHRvbTogJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpeyBib3JkZXItdG9wOiAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXItd2lkdGggIHNvbGlkICRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBEZWZhdWx0XG4gICAgICovXG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgIH1cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFNtYWxsXG4gICAgICovXG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAudWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbiAgICAvKlxuICAgICAqIExhcmdlXG4gICAgICovXG5cbiAgICAvKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbjogMDsgfVxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHsgbWFyZ2luOiAwOyB9XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuICAgIH1cblxufVxuQG1peGluIGhvb2stY2xvc2UoKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5O1xufVxuQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpe1xuXG4gICAgLnVrLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNsb3NlOmhvdmVyLFxuICAgIC51ay1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKXtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7IGNvbHVtbi1ydWxlLWNvbG9yOiAkaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7XG4gICAgcGFkZGluZzogJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCl7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlcixcbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXtcbiAgICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtO1xufVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fVxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3LCAkcHJvcGVydHk6IGJhY2tncm91bmQtaW1hZ2Upe1xuXG4gICAgJGVzY2FwZS1jb2xvci1kZWZhdWx0OiAgZXNjYXBlKCRjb2xvci1kZWZhdWx0KSAhZGVmYXVsdDtcbiAgICAkZXNjYXBlLWNvbG9yLW5ldzogIGVzY2FwZShcIiN7JGNvbG9yLW5ld31cIikgIWRlZmF1bHQ7XG5cbiAgICAkZGF0YS11cmk6ICBkYXRhLXVyaSgnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04JywgXCIjeyRzcmN9XCIpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogIHJlcGxhY2UoXCIjeyRkYXRhLXVyaX1cIiwgXCIjeyRlc2NhcGUtY29sb3ItZGVmYXVsdH1cIiwgXCIjeyRlc2NhcGUtY29sb3ItbmV3fVwiLCBcImdcIikgIWRlZmF1bHQ7XG5cbiAgICAjeyRwcm9wZXJ0eX06IHVucXVvdGUoJHJlcGxhY2Utc3JjKTtcbn1cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWRpdmlkZXIoKXtcblxuICAgIC51ay1kaXZpZGVyLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuICAgIC51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1kb3RuYXYoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe1xuICAgIGJvcmRlcjogJGRvdG5hdi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCAkZG90bmF2LWl0ZW0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7IGJvcmRlci1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCl7IGJvcmRlci1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSk7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWRvdG5hdigpe1xuXG4gICAgLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bigpeyBib3gtc2hhZG93OiAkZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2KCl7IGZvbnQtc2l6ZTogJGRyb3Bkb3duLW5hdi1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2stZmxleC1taXNjKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZSgpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKXsgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrKCl7IGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtKCl7XG4gICAgYm9yZGVyOiAkZm9ybS1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpeyBib3JkZXItY29sb3I6ICRmb3JtLWRhbmdlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tc3VjY2VzcygpeyBib3JkZXItY29sb3I6ICRmb3JtLXN1Y2Nlc3MtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGU6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXtcbiAgICBib3JkZXI6ICRmb3JtLXJhZGlvLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYWRpby1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xufVxuQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpeyBjb2xvcjogJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpe1xuXG4gICAgLnVrLWlucHV0LFxuICAgIC51ay1zZWxlY3QsXG4gICAgLnVrLXRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtZm9ybS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybSgpO31cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yO1xuICAgICAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1mb2N1cygpO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUGxhY2Vob2xkZXJcbiAgICAvL1xuXG4gICAgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstcmFkaW8sXG4gICAgLnVrLWNoZWNrYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC51ay1yYWRpbzpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbiAgICAvLyBMYWJlbFxuICAgIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLWZvcm0taWNvbiB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWljb24tY29sb3I7IH1cbiAgICAudWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCl7XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCl7XG5cbiAgICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4gICAgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWhlaWdodC1taXNjKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCl7XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6aG92ZXIsXG4gICAgLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6YWN0aXZlLFxuICAgIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCdXR0b25cbiAgICAvL1xuXG4gICAgLnVrLWljb24tYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuICAgIC51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCl7XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlcixcbiAgICAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpe1xuXG4gICAgYS51ay1saW5rLW11dGVkLFxuICAgIC51ay1saW5rLW11dGVkIGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZCgpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gICAgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay10ZXh0OmhvdmVyLFxuICAgIC51ay1saW5rLXRleHQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuICAgIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpe1xuXG4gICAgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4gICAgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpe1xuXG4gICAgLnVrLXRvdG9wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmhvdmVyLFxuICAgIC51ay10b3RvcDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCl7XG5cbiAgICAudWstbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGFiZWwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVG9nZ2xlXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLWl0ZW0ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpe1xuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBpbGxcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGlzYWJsZWRcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKXtcblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay10YWIgPiAqID4gYTpmb2N1c3tcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIsXG4gICAgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKXtcblxuICAgIC51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4gICAgLnVrLWRyb3BjYXAgcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kcm9wY2FwKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28oKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ286aG92ZXIsXG4gICAgLnVrLWxvZ286Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nby1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nby1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBpbmxpbmU7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZSgpe1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnV0dG9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCk7XG59XG5AbWl4aW4gaG9vay1sYWJlbCgpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbGFiZWwtdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbkBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbkBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fVxuQG1peGluIGhvb2stbGVhZGVyKCl7fVxuQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxlYWRlcigpe1xuXG4gICAgLnVrLWxlYWRlci1maWxsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sZWFkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saWdodGJveCgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbkBtaXhpbiBob29rLWxpbmstbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXtcblxuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJvcmRlci10b3A6ICRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LXN0cmlwZWQtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbkBtaXhpbiBob29rLW1hcmtlcigpe1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbWFya2VyKCl7XG5cbiAgICAudWstbWFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyKCk7fVxuICAgIH1cblxuICAgIC51ay1tYXJrZXI6aG92ZXIsXG4gICAgLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbkBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpeyBmb250LXNpemU6ICRuYXYtZGVmYXVsdC1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXsgYm94LXNoYWRvdzogbm9uZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpeyBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogTmF2YmFyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuICAgIC8qXG4gICAgICogR3JpZCBEaXZpZGVyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAoJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsIC8gMik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWwgLyAyKTtcbiAgICAgICAgbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbkBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpeyBib3JkZXI6ICRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGggZGFzaGVkICRwbGFjZWhvbGRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2KCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlcigpe31cbkBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbkBtaXhpbiBob29rLXN1Ym5hdigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7XG4gICAgZm9udC1zaXplOiAkc3VibmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tKCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe1xuICAgIGJvcmRlci10b3A6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbWlzYygpe1xuXG4gICAgLnVrLXRhYiAudWstZHJvcGRvd24geyBtYXJnaW4tbGVmdDogKCR0YWItbWFyZ2luLWhvcml6b250YWwgKyAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKSB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLXRhYi1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWJsZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbkBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGFibGUtbWlzYygpe1xuXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyIHsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGxpbmVhcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYmxlKCl7XG5cbiAgICAudWstdGFibGUgdGgge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgY2FwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbiAgICAudWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuICAgIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuICAgIC51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJHRleHQtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtKCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOyB9XG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe1xuICAgICY6OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7IH1cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGh1bWJuYXYoKXtcblxuICAgIC51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGlsZSgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbkBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b3RvcCgpeyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbkBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuQG1peGluIGhvb2stZHJvcGNhcCgpe1xuICAgIC8vIFByZXZlbnQgbGluZSB3cmFwXG4gICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbn1cbkBtaXhpbiBob29rLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlYWRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBoZWFkaW5nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhlYWRpbmctcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctaGVyb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1saW5lYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAzLjc1cmVtICFkZWZhdWx0OyAgLy8gNjBweFxuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sOiAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjkgIWRlZmF1bHQ7IC8vIDU0cHhcblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjggIWRlZmF1bHQ7IC8vIDQ4cHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgICA4cmVtICFkZWZhdWx0OyAvLyAxMjhweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC43NSAhZGVmYXVsdDsgLy8gOTZweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC41ICFkZWZhdWx0OyAvLyA2NHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlYWRpbmctYnVsbGV0LXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAwLjllbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlYWRpbmctbGluZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgMC42ZW0gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFByaW1hcnlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXByaW1hcnkoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhlYWRpbmctcHJpbWFyeSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sO1xuICAgIH1cblxufVxuXG5cbi8qIEhlcm9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1oZXJvIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWhlcm8oKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw7XG4gICAgfVxuXG59XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWRpdmlkZXIoKTt9XG59XG5cblxuLyogQnVsbGV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogJGhlYWRpbmctYnVsbGV0LXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBoZWlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0O1xuICAgIGJvcmRlci1sZWZ0OiAkaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1idWxsZXQoKTt9XG59XG5cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDbGlwIHRoZSBjaGlsZCBlbGVtZW50XG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEV4dHJhIG1hcmt1cCBpcyBuZWVkZWQgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnblxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDIuIE1ha2UgdGhlIGVsZW1lbnQgYXMgbGFyZ2UgYXMgcG9zc2libGUuIEl0J3MgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyLlxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4udWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdW5xdW90ZSgnY2FsYygjeyRoZWFkaW5nLWxpbmUtdG9wfSAtICgjeyRoZWFkaW5nLWxpbmUtaGVpZ2h0fSAvIDIpKScpO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogJGhlYWRpbmctbGluZS13aWR0aDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLWJvdHRvbTogJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctbGluZS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbGluZSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbGluZSgpO31cbn1cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlIHtcbiAgICByaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG4udWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERpdmlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBkaXZpZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRpdmlkZXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItc21hbGxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGl2aWRlci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBkZWZhdWx0IGBocmBcbiAqIDIuIFNldCBtYXJnaW4gaWYgYSBgZGl2YCBpcyB1c2VkIGZvciBzZW1hbnRpY2FsIHJlYXNvblxuICovXG5cbltjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWJvdHRvbTogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsO1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBbY2xhc3MqPSd1ay1kaXZpZGVyJ10geyBtYXJnaW4tdG9wOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGRpdmlkZXItaWNvbi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRkaXZpZGVyLWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkZGl2aWRlci1pY29uLWxpbmUtdG9wO1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgLSAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIGJvcmRlci1ib3R0b206ICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZSgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlIHtcbiAgICByaWdodDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgbGVmdDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKTt9XG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgY2hpbGQgaGVpZ2h0LCBjYXVzZWQgYnkgYGlubGluZS1ibG9ja2BcbiAqL1xuXG4udWstZGl2aWRlci1zbWFsbCB7IGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRkaXZpZGVyLXNtYWxsLXdpZHRoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAkZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLXNtYWxsKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBNaXhpblxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIG1peGlucyB3aGljaCBhcmUgdXNlZCBhY3Jvc3MgYWxsIGNvbXBvbmVudHNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBTVkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldykgIWRlZmF1bHQ7XG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkcmVwbGFjZS1zcmMsIFwiI1wiLCBcIiUyM1wiKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocXVvdGUoJHJlcGxhY2Utc3JjKSk7XG59IiwiLy8gTmFtZTogICAgICAgICAgICBMaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxpc3QtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRsaXN0LW5lc3RlZC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbGlzdC1idWxsZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaXN0LWJ1bGxldC13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1saXN0ID4gbGk6OmJlZm9yZSxcbi51ay1saXN0ID4gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstbGlzdCA+IGxpOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbGlzdCA+IGxpID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBOZXN0ZWQgbGlzdHNcbiAqL1xuXG4udWstbGlzdCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG4udWstbGlzdCA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QgPiBsaSA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbGlzdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgcGFkZGluZzogJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZDogJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEJ1bGxldFxuICovXG5cbi51ay1saXN0LWJ1bGxldCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiB1bnF1b3RlKCdjYWxjKCN7JGxpc3QtYnVsbGV0LXdpZHRofSArICN7JGxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodH0pJyk7XG59XG5cbi51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkbGlzdC1idWxsZXQtd2lkdGg7XG4gICAgaGVpZ2h0OiAkbGlzdC1idWxsZXQtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRsaXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtYnVsbGV0KSkge0BpbmNsdWRlIGhvb2stbGlzdC1idWxsZXQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0LWxhcmdlID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1sYXJnZSA+IGxpID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlzdC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGFibGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFibGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFibGUtbWlkZGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtanVzdGlmeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNocmlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1yZXNwb25zaXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuXG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUpKSB7QGluY2x1ZGUgaG9vay10YWJsZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXRhYmxlIHsgbWFyZ2luLXRvcDogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKTt9XG59XG5cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNlbGwoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGZvb3Qge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3Rlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWZvb3RlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2FwdGlvbigpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXN0cmlwZWQoKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaG92ZXIoKTt9XG59XG5cblxuLyogQWN0aXZlIHN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXNtYWxsKCk7fVxufVxuXG4udWstdGFibGUtbGFyZ2UgdGgsXG4udWstdGFibGUtbGFyZ2UgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWxhcmdlKCk7fVxufVxuXG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMDsgfVxuXG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zaHJpbmsgeyB3aWR0aDogMXB4OyB9XG4udWstdGFibGUtZXhwYW5kIHsgbWluLXdpZHRoOiAkdGFibGUtZXhwYW5kLW1pbi13aWR0aDsgfVxuXG5cbi8qIENlbGwgbGluayBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuXG4udWstdGFibGUtbGluayB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHsgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBSZXNwb25zaXZlIHRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRib2R5LFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpmaXJzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy10b3A6IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy1ib3R0b206IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb24taW1hZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRpY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogOCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiA5ICovXG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIC8qIDEwICovXG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIFJlcXVpcmVkIGZvciBgYnV0dG9uYC4gKi9cbmJ1dHRvbi51ay1pY29uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICogMS4gRml4IGZvciB1cHBlcmNhc2UgYXR0cmlidXRlIG5hbWVzIGluIEVkZ2UuIFdpbGwgYmUgZml4ZWQgaW4gV2luZG93cyAxMCBidWlsZHMgMTYyNTErXG4gKi9cblxuLnVrLWljb24gW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstaWNvbiBbRklMTCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IGZpbGw6IGN1cnJlbnRjb2xvcjsgfSAvLyAxXG4udWstaWNvbiBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpLFxuLnVrLWljb24gW1NUUk9LRSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9IC8vIDFcblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLWljb24gPiAqIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpc3BsYXkgaW1hZ2VzIGluIGljb24gZGltZW5zaW9uc1xuICovXG5cbi51ay1pY29uLWltYWdlIHtcbiAgICB3aWR0aDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWltYWdlLXNpemU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5rXG4gKi9cblxuLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWljb24tbGluaygpO31cbn1cblxuLnVrLWljb24tbGluazpob3Zlcixcbi51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tbGluazphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWljb24tYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWJ1dHRvbjphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtIFJhbmdlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGhlIHJhbmdlIGlucHV0IHR5cGVcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1yYW5nZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtIFJhbmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5vcm1hbGl6ZSBhbmQgZGVmYXVsdHNcbiAqIDIuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDMuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWVcbiAqIDYuIFJlbW92ZSBwYWRkaW5nIGluIElFMTFcbiAqL1xuXG4udWstcmFuZ2Uge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDIgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8qIDYgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZSgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi51ay1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7IGJvcmRlcjogbm9uZTsgfVxuXG4vKiBJRTExIFJlc2V0ICovXG4udWstcmFuZ2U6Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbXMtdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuXG4vKiBUaHVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogKGZsb29yKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCAvIDIpICogLTEpO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKyBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10b29sdGlwIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNhZmFyaSBkb2Vzbid0IGhhdmUgYSBmb2N1cyBzdGF0ZS4gVXNpbmcgYWN0aXZlIGluc3RlYWQuXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi8qIDEgKi9cbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZm9ybXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlbGVjdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRleHRhcmVhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmFkaW9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jaGVja2JveGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlZ2VuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpZWxkc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWZvcm0tY3VzdG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdGFja2VkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ob3Jpem9udGFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYWJlbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb24tZmxpcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1mb3JtLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ibGFua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHMtdGV4dGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS13aWR0aC14c21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLypcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuLnVrLWlucHV0IHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VsZWN0IHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cblxuLnVrLXNlbGVjdCBvcHRncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxuLnVrLXRleHRhcmVhIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwICRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybSkpIHtAaW5jbHVkZSBob29rLWZvcm0oKTt9XG59XG5cbi8qXG4gKiBTaW5nbGUtbGluZVxuICogMS4gQWxsb3cgYW55IGVsZW1lbnQgdG8gbG9vayBsaWtlIGFuIGBpbnB1dGAgb3IgYHNlbGVjdGAgZWxlbWVudFxuICogMi4gTWFrZSBzdXJlIGxpbmUtaGVpZ2h0IGlzIG5vdCBsYXJnZXIgdGhhbiBoZWlnaHRcbiAqICAgIEFsc28gbmVlZGVkIHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0taGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zaW5nbGUtbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tc2luZ2xlLWxpbmUoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1tdWx0aS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1tdWx0aS1saW5lKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1mb2N1cy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tZm9jdXMoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbi51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4udWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWZvcm0tc21hbGwgeyBmb250LXNpemU6ICRmb3JtLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1zbWFsbDpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1zbWFsbDpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLWZvcm0tbGFyZ2UgeyBmb250LXNpemU6ICRmb3JtLWxhcmdlLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEVycm9yXG4gKi9cblxuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJGZvcm0tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWZvcm0tZGFuZ2VyKCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzICB7XG4gICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWZvcm0tc3VjY2VzcygpO31cbn1cblxuLypcbiAqIEJsYW5rXG4gKi9cblxuLnVrLWZvcm0tYmxhbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmspKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rKCk7fVxufVxuXG4udWstZm9ybS1ibGFuazpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmstZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rLWZvY3VzKCk7fVxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXhzbWFsbDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogKCRmb3JtLXdpZHRoLXhzbWFsbCArIDI1cHgpOyB9XG5cbi51ay1mb3JtLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXNtYWxsOyB9XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkZm9ybS13aWR0aC1tZWRpdW07IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2UgeyB3aWR0aDogJGZvcm0td2lkdGgtbGFyZ2U7IH1cblxuXG4vKiBTZWxlY3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7IGNvbG9yOiAkZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBEb2VzIG5vdCB3b3JrIGluIElFMTFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG5cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgd2lkdGg6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXJhZGlvLW1hcmdpbi10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpbygpO31cbn1cblxuLnVrLXJhZGlvIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWZvY3VzKCk7fVxufVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG5cbi51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvbnNcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpO31cbn1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogTGVnZW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExlZ2VuZFxuICogMS4gQmVoYXZlIGxpa2UgYmxvY2sgZWxlbWVudFxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbGVnZW5kIHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250LXNpemU6ICRmb3JtLWxlZ2VuZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sZWdlbmQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxlZ2VuZCgpO31cbn1cblxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIDEuIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIGZvcm0gY29udHJvbCB0byBhbHdheXMgY292ZXIgaXRzIGNvbnRhaW5lclxuICogMi4gUmVxdWlyZWQgZm9yIEZpcmVmb3ggZm9yIHBvc2l0aW9uaW5nIHRvIHRoZSBsZWZ0XG4gKiAzLiBSZXF1aXJlZCBmb3IgV2Via2l0IHRvIG1ha2UgYGhlaWdodGAgd29ya1xuICogNC4gSGlkZSBjb250cm9sZSBhbmQgc2hvdyBjdXJzb3JcbiAqIDUuIE5lZWRlZCBmb3IgdGhlIGN1cnNvclxuICogNi4gQ2xpcCBoZWlnaHQgY2F1c2VkIGJ5IDUuIE5lZWRlZCBmb3IgV2Via2l0IG9ubHlcbiAqL1xuXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgbGVmdDogMDtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDQgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiA1ICovXG4gICAgZm9udC1zaXplOiA1MDBweDtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mb3JtLWxhYmVsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGFiZWwoKTt9XG59XG5cblxuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN0YWNrZWRcbiAqL1xuXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbn1cblxuLypcbiAqIEhvcml6b250YWxcbiAqL1xuXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC8qIEJlaGF2ZSBsaWtlIGB1ay1mb3JtLXN0YWNrZWRgICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMgeyBtYXJnaW4tbGVmdDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDsgfVxuXG4gICAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzLXRleHQgeyBwYWRkaW5nLXRvcDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOyB9XG5cbn1cblxuXG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNldCB3aWR0aFxuICogMy4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1mb3JtLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogJGZvcm0taWNvbi13aWR0aDtcbiAgICAvKiAzICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiA0ICovXG4gICAgY29sb3I6ICRmb3JtLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBJbnB1dCBwYWRkaW5nXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSB+IC51ay1pbnB1dCB7IHBhZGRpbmctbGVmdDogJGZvcm0taWNvbi13aWR0aCAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG5cbi51ay1mb3JtLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLnVrLWZvcm0taWNvbi1mbGlwIH4gLnVrLWlucHV0IHsgcGFkZGluZy1yaWdodDogJGZvcm0taWNvbi13aWR0aCAhaW1wb3J0YW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnV0dG9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgYnV0dG9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJ1dHRvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1idXR0b24tZ3JvdXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYnV0dG9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1sYXJnZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJ1dHRvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBTdHlsZVxuICogOC4gYGxpbmUtaGVpZ2h0YCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGhlaWdodCBiZWNhdXNlIGl0IGFsc28gY2VudGVycyB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGZvciBgYWAgZWxlbWVudHMuXG4gKiAgICBCZXR0ZXIgd291bGQgYmUgdG8gdXNlIGhlaWdodCBhbmQgZmxleGJveCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseSBidXQgZmxleGJveCBkb2Vzbid0IHdvcmsgaW4gRmlyZWZveCBvbiBgYnV0dG9uYCBlbGVtZW50cy5cbiAqIDkuIEFsaWduIHRleHQgaWYgYnV0dG9uIGhhcyBhIHdpZHRoXG4gKiAxMC4gUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstYnV0dG9uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XG4gICAgLyogOCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmUtaGVpZ2h0O1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMTAgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbigpO31cbn1cblxuLnVrLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAgIC8qIDggKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1mb2N1cykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1mb2N1cygpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbjphY3RpdmUsXG4udWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3Zlcixcbi51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYnV0dG9uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRhbmdlcjpob3Zlcixcbi51ay1idXR0b24tZGFuZ2VyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGFuZ2VyOmFjdGl2ZSxcbi51ay1idXR0b24tZGFuZ2VyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG5cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJ1dHRvbi1zbWFsbCB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tc21hbGwtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc21hbGwpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc21hbGwoKTt9XG59XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxhcmdlKCk7fVxufVxuXG5cbi8qIFRleHQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tdGV4dCB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tdGV4dC1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIsXG4udWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLWxpbmsge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGluaygpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tbGluazpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogR3JvdXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cblxuLnVrLWJ1dHRvbi1ncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VjdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbGF5b3V0IHNlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWN0aW9uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNlY3Rpb24teHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tb3ZlcmxhcGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuXG4udWstc2VjdGlvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1zZWN0aW9uOjpiZWZvcmUsXG4udWstc2VjdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1zZWN0aW9uOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXNlY3Rpb24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay1zZWN0aW9uLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW11dGVkKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstc2VjdGlvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tcHJpbWFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgbW9kaWZpZXIgdG8gbWFrZSBhIHNlY3Rpb24gb3ZlcmxhcCBhbm90aGVyIHNlY3Rpb24gd2l0aCBhbiBib3JkZXIgaW1hZ2VcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG5cbi51ay1zZWN0aW9uLW92ZXJsYXAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW92ZXJsYXApKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW92ZXJsYXAoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29udGFpbmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBhbGlnbiBhbmQgY2VudGVyIHlvdXIgc2l0ZSBhbmQgZ3JpZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbnRhaW5lci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb250YWluZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG5cbi51ay1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jb250YWluZXI6OmJlZm9yZSxcbi51ay1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY29udGFpbmVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cblxuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG5cbi8qIEV4cGFuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFeHBhbmQgb25lIHNpZGUgb25seVxuICovXG5cbi51ay1jb250YWluZXItZXhwYW5kLWxlZnQgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteHNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLWxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLWxhcmdlLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVXRpbGl0eSBjbGFzc2VzIHRvIHJlc2V0IGNvbnRhaW5lciBwYWRkaW5nIG9uIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpZGVcbiAqIE5vdGU6IEl0IGhhcyB0byBiZSBuZWdhdGl2ZSBtYXJnaW4gb24gdGhlIGl0ZW0sIGJlY2F1c2UgaXQncyBzcGVjaWZpYyB0byB0aGUgaXRlbS5cbiAqL1xuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsfSknKSB9XG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbnRhaW5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stY29udGFpbmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgR3JpZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHJlc3BvbnNpdmUsIGZsdWlkIGFuZCBuZXN0YWJsZSBncmlkc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWdyaWRgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZ3JpZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtY29sbGFwc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hdGNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWNvbGxhcHNlYFxuLy9cbi8vIFN1Yi1tb2RpZmllcjogICAgYHVrLWdyaWQtaXRlbS1tYXRjaGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGNlbGxzIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEdyaWQgY2VsbFxuICogTm90ZTogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogUmVzZXQgbWFyZ2luIGZvciBlLmcuIHBhcmFncmFwaHNcbiAqL1xuXG4udWstZ3JpZCA+ICogeyBtYXJnaW46IDA7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1ncmlkID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEd1dHRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQsXG4udWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQsXG4gICAgLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIENvbGxhcHNlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2UgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWdyaWQtY29sbGFwc2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLWxlZnQ6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogTWF0Y2ggY2hpbGQgb2YgYSBncmlkIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cblxuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBmbGV4OiBhdXRvO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtbWlzYykpIHtAaW5jbHVkZSBob29rLWdyaWQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZ3JpZC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGlsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRpbGVkIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGlsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10aWxlLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zZWNvbmRhcnlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZSkpIHtAaW5jbHVkZSBob29rLXRpbGUoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXRpbGU6OmJlZm9yZSxcbi51ay10aWxlOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXRpbGU6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10aWxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogWFNtYWxsXG4gKi9cblxuLnVrLXRpbGUteHNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstdGlsZS1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay10aWxlLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLypcbiAqIFhMYXJnZVxuICovXG5cbi51ay10aWxlLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS14bGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstdGlsZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLXRpbGUtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIE11dGVkXG4gKi9cblxuLnVrLXRpbGUtbXV0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLW11dGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay10aWxlLW11dGVkKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay10aWxlLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXRpbGUtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXNlY29uZGFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRpbGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGlsZSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ2FyZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGJveGVkIGNvbnRlbnQgY29udGFpbmVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNhcmRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY2FyZC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbWVkaWEtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWJhZGdlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNhcmQtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWxhcmdlYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjYXJkLWJhZGdlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuXG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuXG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDYXJkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkKSkge0BpbmNsdWRlIGhvb2stY2FyZCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1ib2R5KCk7fVxufVxuXG4udWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWZvb3RlciB7XG4gICAgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWZvb3RlcigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstY2FyZC1ib2R5OjpiZWZvcmUsXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YmVmb3JlLFxuLnVrLWNhcmQtaGVhZGVyOjphZnRlcixcbi51ay1jYXJkLWZvb3Rlcjo6YmVmb3JlLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmFmdGVyLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY2FyZC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIE1lZGlhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIGFsaWdubWVudCBtb2RpZmllciB0byBzdHlsZSB0aGUgbWVkaWEgZWxlbWVudCwgZS5nLiB3aXRoIGBib3JkZXItcmFkaXVzYFxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLXRvcCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtbGVmdCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQgIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS10b3ApKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXRvcCgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtcmlnaHQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY2FyZC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC10aXRsZSgpO31cbn1cblxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkY2FyZC1iYWRnZS10b3A7XG4gICAgcmlnaHQ6ICRjYXJkLWJhZGdlLXJpZ2h0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJhZGdlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstY2FyZC1iYWRnZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogSG92ZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ob3Zlcjpub3QoLnVrLWNhcmQtZGVmYXVsdCk6bm90KC51ay1jYXJkLXByaW1hcnkpOm5vdCgudWstY2FyZC1zZWNvbmRhcnkpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICogTm90ZTogSGVhZGVyIGFuZCBGb290ZXIgYXJlIG9ubHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBkZWZhdWx0IHN0eWxlXG4gKi9cblxuLnVrLWNhcmQtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWNhcmQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnkoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstY2FyZC1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnkoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWNhcmQtc21hbGwudWstY2FyZC1ib2R5LFxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1sYXJnZS51ay1jYXJkLWJvZHksXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNhcmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2FyZCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWlzYygpe31cbiIsIi8vIDEuIFlvdXIgY3VzdG9tIHZhcmlhYmxlcyBhbmQgdmFyaWFibGUgb3ZlcndyaXRlcy5cclxuQGltcG9ydCBcIm92ZXJ3cml0ZVVpa2l0XCI7XHJcblxyXG4vLyAyLiBJbXBvcnQgZGVmYXVsdCB2YXJpYWJsZXMgYW5kIGF2YWlsYWJsZSBtaXhpbnMuXHJcbkBpbXBvcnQgXCJ2ZW5kb3IvdWlraXQvdmFyaWFibGVzLXRoZW1lLnNjc3NcIjtcclxuQGltcG9ydCBcInZlbmRvci91aWtpdC9taXhpbnMtdGhlbWUuc2Nzc1wiO1xyXG5cclxuLy8gMy4gWW91ciBjdXN0b20gbWl4aW4gb3ZlcndyaXRlcy5cclxuQG1peGluIGhvb2stY2FyZCgpIHsgY29sb3I6ICMwMDA7IH0gXHJcblxyXG4vLyA0LiBJbXBvcnQgVUlraXQuXHJcbkBpbXBvcnQgXCJ2ZW5kb3IvdWlraXQvdWlraXQtdGhlbWUuc2Nzc1wiOyIsIi8vIE5hbWU6ICAgICAgICAgICAgU3Bpbm5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbG9hZGluZyBzcGlubmVyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3Bpbm5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3Bpbm5lci1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0OyAvLyBNaW51cyBzdHJva2Ugd2lkdGggdG8gcHJldmVudCBvdmVyZmxvdyBjbGlwcGluZ1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kKDIgKiAzLjE0MSAqICRzcGlubmVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc3Bpbm5lci1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNwaW5uZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lcigpO31cbn1cblxuXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3Bpbm5lciA+ICogeyBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbn1cblxuLypcbiAqIENpcmNsZVxuICovXG5cbi51ay1zcGlubmVyID4gKiA+ICoge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoICRzcGlubmVyLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIHN0cm9rZS13aWR0aDogJHNwaW5uZXItc3Ryb2tlLXdpZHRoO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZS80O1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpO1xuICAgIH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlYXJjaFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRoZSBzZWFyY2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWFyY2hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2VhcmNoLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLXRvZ2dsZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1zZWFyY2gtaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zZWFyY2gtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1uYXZiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIFJlc2V0IGBmb3JtYFxuICovXG5cbi51ay1zZWFyY2gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogNS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqIDcuIFZlcnRpY2FsIGFsaWdubWVudFxuICogOC4gVGFrZSB0aGUgZnVsbCBjb250YWluZXIgd2lkdGhcbiAqIDkuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA3ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA4ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogOSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHNlYXJjaC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWlucHV0KCk7fVxufVxuXG4udWstc2VhcmNoLWlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogSWNvbiAoQWRvcHRzIGB1ay1pY29uYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWljb246Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBhYm92ZSBpbnB1dFxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLW5hdmJhciB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbmF2YmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1uYXZiYXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG5cblxuLyogTGFyZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWxhcmdlIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2Utd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbGFyZ2UtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3Zlcixcbi51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgc3R5bGVzIGZvciBsaXN0IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdi1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2LXBhcmVudC1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1jZW50ZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi8qIDEgKi9cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRuYXYtcGFyZW50LWljb24taGVpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2LXBhcmVudC1pY29uKCk7fVxufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAkbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsICRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1zdWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2KSkge0BpbmNsdWRlIGhvb2stc3VibmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstc3VibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXZpZGVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAtICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1sZWZ0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRzdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWwgJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgdGFiYmVkIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFiLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstdGFiIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSR0YWItbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYikpIHtAaW5jbHVkZSBob29rLXRhYigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXRhYiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCb3R0b21cbiAqL1xuXG4udWstdGFiLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tKCk7fVxufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbS1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbS1pdGVtKCk7fVxufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogMSAqL1xuLnVrLXRhYi1sZWZ0ID4gKixcbi51ay10YWItcmlnaHQgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWItbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0KSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQoKTt9XG59XG5cbi51ay10YWItcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQpKSB7QGluY2x1ZGUgaG9vay10YWItcmlnaHQoKTt9XG59XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQtaXRlbSgpO31cbn1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodC1pdGVtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFiLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQWNjb3JkaW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWNjb3JkaW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFjY29yZGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hY2NvcmRpb24tdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hY2NvcmRpb24tY29udGVudGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFjY29yZGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24taXRlbSgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWFjY29yZGlvbi10aXRsZTpob3Zlcixcbi51ay1hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKTt9XG59XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1jb250ZW50KSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudDo6YmVmb3JlLFxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4gLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU3RpY2t5XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBtYWtlIGVsZW1lbnRzIHN0aWNreSBpbiB0aGUgdmlld3BvcnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdGlja3lgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstc3RpY2t5LWZpeGVkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3RpY2t5LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG5cbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN0aWNreVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlcyBieSBmb3JjaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGlvblxuICovXG5cbi51ay1zdGlja3ktZml4ZWQge1xuICAgIHotaW5kZXg6ICRzdGlja3ktei1pbmRleDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG5cbi51ay1zdGlja3lbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2UgeyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdGlja3ktbWlzYykpIHtAaW5jbHVkZSBob29rLXN0aWNreS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3dpdGNoZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG5hdmlnYXRlIHRocm91Z2ggZGlmZmVyZW50IGNvbnRlbnQgcGFuZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zd2l0Y2hlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN3aXRjaGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstc3dpdGNoZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gOm5vdCgudWstYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zd2l0Y2hlciA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zd2l0Y2hlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3dpdGNoZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25uYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbm5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1pY29ubmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvbm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2KSkge0BpbmNsdWRlIGhvb2staWNvbm5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Iga2V5ZnJhbWUgYW5pbWF0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFuaW1hdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFuaW1hdGlvbi1yZXZlcnNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWtlbmJ1cm5zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFuaW1hdGlvbi10b2dnbGVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstaG92ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuXG4vKiBBbmltYXRpb25zIGZvciBzY3JvbGxzcHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay1hbmltYXRpb24tZmFkZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhZGUtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4vKlxuICogU2NhbGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNjYWxlLXVwIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7IH1cbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4OyB9XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0OyB9XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsOyB9XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtOyB9XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbi51ay1hbmltYXRpb24ta2VuYnVybnMge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb247XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbi51ay1hbmltYXRpb24tc2hha2UgeyBhbmltYXRpb24tbmFtZTogdWstc2hha2U7IH1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbmltYXRpb24tZmFzdCB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOyB9XG5cblxuLyogRW5hYmxlIGFuaW1hdGlvbiBvbmx5IG9uIGhvdmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogRmlyZWZveCBhbmQgSUUgbmVlZHMgdGhpcyBiZWNhdXNlIGFuaW1hdGlvbnMgYXJlIG5vdCB0cmlnZ2VyZWQgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBkaXNwbGF5IGBub25lYCBhbmQgYGJsb2NrYFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XG5cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Age1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b21cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0XG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3AtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgVXBcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMDIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBEb3duXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbkBrZXlmcmFtZXMgdWstc2hha2Uge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgMTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gICAgMjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgICAzMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgICA0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gICAgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gICAgODAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgICA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbmltYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFuaW1hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgV2lkdGhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB3aWR0aHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jaGlsZC13aWR0aC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstd2lkdGgtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kd2lkdGgtc21hbGwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgteHhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFdpZHRoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBFcXVhbCBjaGlsZCB3aWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jaGlsZC13aWR0aCddID4gKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICogeyB3aWR0aDogNTAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS0zID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay1jaGlsZC13aWR0aC0xLTQgPiAqIHsgd2lkdGg6IDI1JTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNSA+ICogeyB3aWR0aDogMjAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS02ID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLWF1dG8gPiAqIHsgd2lkdGg6IGF1dG87IH1cblxuLypcbiAqICAgIEluc3RlYWQgb2YgMCwgMXB4IGlzIG5lZWRlZCB0byBtYWtlIGNlbGwgd3JhcCBpbnRvIG5leHQgcm93IGlmIHByZWRlY2Vzc29yIGlzIDEwMCUgd2lkZVxuICogICAgYW5kIHRoZSBncmlkIGd1dHRlciBpcyAwIHBpeGVscyB3aWRlXG4gKi9cblxuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+ICogeyB3aWR0aDogMXB4OyB9XG5cbi8qXG4gKiAxLiBNYWtlIGB3aWR0aDogMXB4YCB3b3JrLCBiZWNhdXNlIGFjY29yZGluZyB0byB0aGUgc3BlYyBmbGV4IGl0ZW1zIHdvbuKAmXQgc2hyaW5rXG4gKiAgICBiZWxvdyB0aGVpciBtaW5pbXVtIGNvbnRlbnQgc2l6ZS4gVG8gY2hhbmdlIHRoaXMsIHNldCB0aGUgbWluLXdpZHRoLlxuICogICAgT25seSBuZWVkZWQgZm9yIEZpcmVmb3guIEFsbCBvdGhlciBicm93c2VycyBpZ25vcmUgdGhpcy5cbiAqXG4gKiAyLiBgd2lkdGhgIGlzIGlnbm9yZWQgd2hlbiB3cmFwcGluZyBmbGV4IGl0ZW1zIGluIFNhZmFyaVxuICogICAgaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyMxMS1taW4tYW5kLW1heC1zaXplLWRlY2xhcmF0aW9ucy1hcmUtaWdub3JlZC13aGVuLXdyYXBwaW5nLWZsZXgtaXRlbXNcbiAqL1xuXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAwO1xuICAgIC8qIDIgKi9cbiAgICBmbGV4LWJhc2lzOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHMgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBtID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbSA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQG0gPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHhsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAeGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vKiBTaW5nbGUgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGBtYXgtd2lkdGhgIGlzIG5lZWRlZCBmb3IgdGhlIHBpeGVsLWJhc2VkIGNsYXNzZXNcbiAqL1xuXG5bY2xhc3MqPSd1ay13aWR0aCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIEhhbHZlcyAqL1xuLnVrLXdpZHRoLTEtMiB7IHdpZHRoOiA1MCU7IH1cblxuLyogVGhpcmRzICovXG4udWstd2lkdGgtMS0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuLnVrLXdpZHRoLTItMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuLyogUXVhcnRlcnMgKi9cbi51ay13aWR0aC0xLTQgeyB3aWR0aDogMjUlOyB9XG4udWstd2lkdGgtMy00IHsgd2lkdGg6IDc1JTsgfVxuXG4vKiBGaWZ0aHMgKi9cbi51ay13aWR0aC0xLTUgeyB3aWR0aDogMjAlOyB9XG4udWstd2lkdGgtMi01IHsgd2lkdGg6IDQwJTsgfVxuLnVrLXdpZHRoLTMtNSB7IHdpZHRoOiA2MCU7IH1cbi51ay13aWR0aC00LTUgeyB3aWR0aDogODAlOyB9XG5cbi8qIFNpeHRocyAqL1xuLnVrLXdpZHRoLTEtNiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbi51ay13aWR0aC01LTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbi8qIFBpeGVsICovXG4udWstd2lkdGgtc21hbGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4udWstd2lkdGgtbWVkaXVtIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbi51ay13aWR0aC1sYXJnZSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC14bGFyZ2UgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuLnVrLXdpZHRoLXh4bGFyZ2UgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuLyogQXV0byAqL1xuLnVrLXdpZHRoLWF1dG8geyB3aWR0aDogYXV0bzsgfVxuXG4vKiBFeHBhbmQgKi9cbi51ay13aWR0aC1leHBhbmQge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleC1iYXNpczogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBzIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBzIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBzIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBzIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHMgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHMgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHMgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHMgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAcyB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBzIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBzIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbSB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbSB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbSB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbSB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBtIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBtIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBtIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBtIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQG0geyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQG0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQG0geyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQGwge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHhsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEB4bCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEB4bCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAeGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAeGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHhsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEB4bCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAeGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEB4bCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAeGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAeGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2std2lkdGgtbWlzYykpIHtAaW5jbHVkZSBob29rLXdpZHRoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlaWdodFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGhlaWdodHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWlnaHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWhlaWdodCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cblxuLnVrLWhlaWdodC0xLTEgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG5cbi51ay1oZWlnaHQtdmlld3BvcnQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG5cbi51ay1oZWlnaHQtc21hbGwgeyBoZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1lZGl1bSB7IGhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LWxhcmdlIHsgaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1tZWRpdW0geyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHsgbWF4LWhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1oZWlnaHQtbWlzYykpIHtAaW5jbHVkZSBob29rLWhlaWdodC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJvbGQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiAkdGV4dC1ib2xkLWZvbnQtd2VpZ2h0OyB9XG5cblxuLyogVHJhbnNmb3JtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbG93ZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogJHRleHQtc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC13YXJuaW5nIHsgY29sb3I6ICR0ZXh0LXdhcm5pbmctY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZGFuZ2VyIHsgY29sb3I6ICR0ZXh0LWRhbmdlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcblxuICAgIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1iYWNrZ3JvdW5kKSkge0BpbmNsdWRlIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCk7fVxuICAgIH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBzIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBzIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHMgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQG0geyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQG0geyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbSB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAeGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHhsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHhsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuXG4udWstdGV4dC10b3AgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1iYXNlbGluZSB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG5cbi51ay10ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cblxuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUgeyBtYXgtd2lkdGg6IDA7IH1cblxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICogTm90ZTogTm90IHVzaW5nIGBoeXBoZW5zOiBhdXRvO2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkXG4gKi9cblxuLnVrLXRleHQtYnJlYWsge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDIgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIDMgKi9cbnRoLnVrLXRleHQtYnJlYWssXG50ZC51ay10ZXh0LWJyZWFrIHsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiQGltcG9ydCBcInNldHRpbmdzXCI7XHJcblxyXG4vLyBDb2xvcnNcclxuJGdsb2JhbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAgJHByaW1hcnktZGFyaztcclxuXHJcbi8vIEJhY2tncm91bmRzXHJcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAkZ3JheS13aGl0ZTtcclxuXHJcbi8vIFRleHRcclxuJGdsb2JhbC1lbXBoYXNpcy1jb2xvcjogJG1haW4tZ3JheS1saWdodDtcclxuJHRleHQtc21hbGwtZm9udC1zaXplOiAwLjc1cmVtOyIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29sdW1uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdGV4dCBjb2x1bW5zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29sdW1uLSpgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY29sdW1uLXNwYW5gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY29sdW1uLWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbHVtbi1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29sdW1uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIHsgY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXI7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIFtjbGFzcyo9J3VrLWNvbHVtbi0nXSB7IGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyLWw7IH1cblxufVxuXG4vKlxuICogRml4IGltYWdlIDFweCBsaW5lIHdyYXBwaW5nIGludG8gdGhlIG5leHQgY29sdW1uIGluIENocm9tZVxuICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSBpbWcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRG91YmxlIHRoZSBjb2x1bW4gZ2FwXG4gKi9cblxuLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICBjb2x1bW4tcnVsZTogJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGggc29saWQgJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgLyogMSAqL1xuICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlciAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAgICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyLWwgKiAyKTtcbiAgICB9XG5cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29sdW1uLTEtMiB7IGNvbHVtbi1jb3VudDogMjt9XG4udWstY29sdW1uLTEtMyB7IGNvbHVtbi1jb3VudDogMzsgfVxuLnVrLWNvbHVtbi0xLTQgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbi51ay1jb2x1bW4tMS01IHsgY29sdW1uLWNvdW50OiA1OyB9XG4udWstY29sdW1uLTEtNiB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHMgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQHMgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQHMgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHMgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQHMgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbSB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbSB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbSB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbSB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbSB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQGwgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQGwgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQGwgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQGwgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEB4bCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAeGwgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQHhsIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEB4bCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAeGwgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBNYWtlIGVsZW1lbnQgc3BhbiBhY3Jvc3MgYWxsIGNvbHVtbnNcbiAqIERvZXMgbm90IHdvcmsgaW4gRmlyZWZveCB5ZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29sdW1uLXNwYW4geyBjb2x1bW4tc3BhbjogYWxsOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29sdW1uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb2x1bW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGlnblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gYWxpZ24gZW1iZWRkZWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsaWduLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1jZW50ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10geyBtYXJnaW4tdG9wOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuXG4udWstYWxpZ24tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cblxuLnVrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1sZWZ0LFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgICAudWstYWxpZ24tbGVmdFxcQG0sXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0LFxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHsgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsaWduLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGlnbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU1ZHXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBzdHlsZSBTVkdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3ZnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMi4gU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKiAzLiBGaXggZm9yIHVwcGVyY2FzZSBhdHRyaWJ1dGUgbmFtZXMgaW4gRWRnZS4gV2lsbCBiZSBmaXhlZCBpbiBXaW5kb3dzIDEwIGJ1aWxkcyAxNjI1MStcbiAqL1xuXG4vKiAxICovXG4udWstc3ZnLFxuLyogMiAqL1xuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW0ZJTEwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH0gLy8gM1xuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpLFxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbU1RST0tFKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH0gLy8gM1xuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN2Zy1taXNjKSkge0BpbmNsdWRlIGhvb2stc3ZnLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBVdGlsaXR5XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBjb2xsZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFuZWwtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNsZWFyZml4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmxvYXQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJmbG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNpemUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc3BsYXktKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlubGluZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzcG9uc2l2ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmUtd2lkdGhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3JkZXItKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGNhcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxvZ29gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ibGVuZC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tb3JpZ2luLSpgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ292ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ibHVyOiAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAzKSAqIDFlbSkgIWRlZmF1bHQ7XG5cbiRsb2dvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxvZ28tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbG9nby1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGRyYWdvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogUGFuZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFuZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstcGFuZWw6OmJlZm9yZSxcbi51ay1wYW5lbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1wYW5lbDo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXBhbmVsID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLypcbiAqIFNjcm9sbGFibGVcbiAqL1xuXG4udWstcGFuZWwtc2Nyb2xsYWJsZSB7XG4gICAgaGVpZ2h0OiAkcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZztcbiAgICBib3JkZXI6ICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHJlc2l6ZTogYm90aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFuZWwtc2Nyb2xsYWJsZSkpIHtAaW5jbHVkZSBob29rLXBhbmVsLXNjcm9sbGFibGUoKTt9XG59XG5cblxuLyogQ2xlYXJmaXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gYHRhYmxlLWNlbGxgIGlzIHVzZWQgd2l0aCBgOjpiZWZvcmVgIGJlY2F1c2UgYHRhYmxlYCBjcmVhdGVzIGEgMXB4IGdhcCB3aGVuIGl0IGJlY29tZXMgYSBmbGV4IGl0ZW0sIG9ubHkgaW4gV2Via2l0XG4gKiAyLiBgdGFibGVgIGlzIHVzZWQgYWdhaW4gd2l0aCBgOjphZnRlcmAgYmVjYXVzZSBgY2xlYXJgIG9ubHkgd29ya3Mgd2l0aCBibG9jayBlbGVtZW50cy5cbiAqIE5vdGU6IGBkaXNwbGF5OiBibG9ja2Agd2l0aCBgb3ZlcmZsb3c6IGhpZGRlbmAgaXMgY3VycmVudGx5IG5vdCB3b3JraW5nIGluIHRoZSBsYXRlc3QgU2FmYXJpXG4gKi9cblxuLyogMSAqL1xuLnVrLWNsZWFyZml4OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLyogMiAqL1xuLnVrLWNsZWFyZml4OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuXG4vKiBGbG9hdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqL1xuXG4udWstZmxvYXQtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4udWstZmxvYXQtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLyogMSAqL1xuW2NsYXNzKj0ndWstZmxvYXQtJ10geyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuXG4vKiBPdmVyZm93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEVuYWJsZSBzY3JvbGxiYXJzIGlmIGNvbnRlbnQgaXMgY2xpcHBlZFxuICogTm90ZTogRmlyZWZveCBpZ25vcmVzIGBwYWRkaW5nLWJvdHRvbWAgZm9yIHRoZSBzY3JvbGxhYmxlIG92ZXJmbG93IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUxOFxuICovXG5cbi51ay1vdmVyZmxvdy1hdXRvIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi51ay1vdmVyZmxvdy1hdXRvID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogUmVzaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXJlc2l6ZSB7IHJlc2l6ZTogYm90aDsgfVxuLnVrLXJlc2l6ZS12ZXJ0aWNhbCB7IHJlc2l6ZTogdmVydGljYWw7IH1cblxuXG4vKiBEaXNwbGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc3BsYXktYmxvY2sgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4udWstZGlzcGxheS1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBJbmxpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKiA1LiBGb3JjZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24gd2l0aG91dCBjcmVhdGluZyBhIG5ldyBzdGFja2luZyBjb250ZXh0XG4gKiAgICB0byBmaXggMXB4IGdsaXRjaCB3aGVuIGNvbWJpbmVkIHdpdGggb3ZlcmxheXMgYW5kIHRyYW5zaXRpb25zIGluIFdlYmtpdFxuICogNi4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5cbltjbGFzcyo9J3VrLWlubGluZSddIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA1ICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51ay1pbmxpbmUtY2xpcCB7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogUmVzcG9uc2l2ZSBvYmplY3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXNlcnZlIG9yaWdpbmFsIGRpbWVuc2lvbnNcbiAqIEJlY2F1c2UgYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFyZSBhbHJlYWR5IHJlc3BvbnNpdmUgYnkgZGVmYXVsdCwgc2VlIEJhc2UgY29tcG9uZW50XG4gKi9cblxuLnVrLXByZXNlcnZlLXdpZHRoLFxuLnVrLXByZXNlcnZlLXdpZHRoIGF1ZGlvLFxuLnVrLXByZXNlcnZlLXdpZHRoIGNhbnZhcyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBpbWcsXG4udWstcHJlc2VydmUtd2lkdGggc3ZnLFxuLnVrLXByZXNlcnZlLXdpZHRoIHZpZGVvIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogQ29ycmVjdHMgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCxcbi51ay1yZXNwb25zaXZlLWhlaWdodCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGguIGBpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBgdWstcHJlc2VydmUtd2lkdGggaW1nYFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gaGVpZ2h0LiBPbmx5IHdvcmtzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBoYXMgYSBmaXhlZCBoZWlnaHRcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIHdpZHRoLiBPbmx5IG5lZWRlZCBpZiBgd2lkdGhgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAzLiBSZXNldCBtYXgtd2lkdGgsIHdoaWNoIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhbHJlYWR5IGhhdmUgYnkgZGVmYXVsdFxuICovXG5cbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gICAgLyogMSAqL1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cblxuLyogQm9yZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJvcmRlci1jaXJjbGUgeyBib3JkZXItcmFkaXVzOiA1MCU7IH1cbi51ay1ib3JkZXItcm91bmRlZCB7IGJvcmRlci1yYWRpdXM6ICRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOyB9XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuXG4udWstaW5saW5lLWNsaXBbY2xhc3MqPSd1ay1ib3JkZXItJ10geyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuXG5cbi8qIEJveC1zaGFkb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm94LXNoYWRvdy1zbWFsbCB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbWVkaXVtIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LXhsYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstYm94LXNoYWRvdy1ob3ZlciddIHsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYm94LXNoYWRvdy1kdXJhdGlvbiBlYXNlLWluLW91dDsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEJsdXIgZG9lc24ndCB3b3JrIG9uIHBzZXVkbyBlbGVtZW50cyB3aXRoIG5lZ2F0aXZlIGB6LWluZGV4YCBpbiBFZGdlLlxuICogICAgU29sdmVkIGJ5IHVzaW5nIGBiZWZvcmVgIGFuZCBhZGQgcG9zaXRpb24gY29udGV4dCB0byBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkge1xuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b206OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAvKiAxICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAoLSRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLyogMiAqL1xuICAgICAgICBoZWlnaHQ6ICRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDtcbiAgICAgICAgZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJveC1zaGFkb3ctYm90dG9tKSkge0BpbmNsdWRlIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKTt9XG4gICAgfVxuXG4gICAgLyogMyAqL1xuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxufVxuXG5cbi8qIERyb3AgY2FwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpcmVmb3ggZG9lc24ndCBhcHBseSBgOjpmaXJzdC1sZXR0ZXJgIGlmIHRoZSBmaXJzdCBsZXR0ZXIgaXMgaW5zaWRlIGNoaWxkIGVsZW1lbnRzXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMDRcbiAqIDIuIEluIEZpcmVmb3gsIGEgZmxvYXRpbmcgYDo6Zmlyc3QtbGV0dGVyYCBkb2Vzbid0IGhhdmUgYSBsaW5lIGJveCBhbmQgdGhlcmUgZm9yIG5vIGBsaW5lLWhlaWdodGBcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTMxNzkzM1xuICogMy4gQ2F1c2VkIGJ5IDEuOiBFZGdlIGNyZWF0ZXMgdHdvIG5lc3RlZCBgOjpmaXJzdC1sZXR0ZXJgIGNvbnRhaW5lcnMsIG9uZSBmb3IgZWFjaCBzZWxlY3RvclxuICogICAgVGhpcyBkb3VibGVzIHRoZSBgZm9udC1zaXplYCBleHBvbmVudGlhbCB3aGVuIHVzaW5nIHRoZSBgZW1gIHVuaXQuXG4gKi9cblxuLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbi8qIDEgKi9cbi51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3BjYXAtbWFyZ2luLXJpZ2h0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogJGRyb3BjYXAtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2stZHJvcGNhcCgpO31cbn1cblxuLyogMiAqL1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblxuICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgbWFyZ2luLXRvcDogMS4xJTsgfVxuXG59XG5cbi8qIDMgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuXG4gIC51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIgeyBmb250LXNpemU6IDFlbTsgfVxuXG59XG5cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWxvZ28ge1xuICAgIGZvbnQtc2l6ZTogJGxvZ28tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbG9nby1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGxvZ28tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nbykpIHtAaW5jbHVkZSBob29rLWxvZ28oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1sb2dvLWhvdmVyKCk7fVxufVxuXG4udWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cblxuLnVrLWRyYWcsXG4vKiAxICovXG4udWstZHJhZyAqIHsgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG5cbi51ay1kcmFnb3ZlciB7IGJveC1zaGFkb3c6ICRkcmFnb3Zlci1ib3gtc2hhZG93OyB9XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmxlbmQtbXVsdGlwbHkgeyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1ibGVuZC1zY3JlZW4geyBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmxlbmQtb3ZlcmxheSB7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmxlbmQtZGFya2VuIHsgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJsZW5kLWxpZ2h0ZW4geyBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmxlbmQtY29sb3ItYnVybiB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmxlbmQtaGFyZC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmxlbmQtc29mdC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmxlbmQtZGlmZmVyZW5jZSB7IG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmxlbmQtZXhjbHVzaW9uIHsgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJsZW5kLWh1ZSB7IG1peC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHsgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1ibGVuZC1jb2xvciB7IG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJsZW5kLWx1bWlub3NpdHkgeyBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXV0aWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXV0aWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZsZXhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBsYXlvdXRzIGJhc2VkIG9uIGZsZXhib3hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mbGV4LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZmxleCB7IGRpc3BsYXk6IGZsZXg7IH1cbi51ay1mbGV4LWlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG5cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LWFyb3VuZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBzIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHhsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4udWstZmxleC1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4udWstZmxleC1yb3ctcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuLnVrLWZsZXgtY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLnVrLWZsZXgtY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbm93cmFwIHsgZmxleC13cmFwOiBub3dyYXA7IH1cbi51ay1mbGV4LXdyYXAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuLnVrLWZsZXgtd3JhcC10b3AgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC13cmFwLW1pZGRsZSB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtd3JhcC1ib3R0b20geyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtd3JhcC1hcm91bmQgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG5cbi51ay1mbGV4LWZpcnN0IHsgb3JkZXI6IC0xO31cbi51ay1mbGV4LWxhc3QgeyBvcmRlcjogOTk7fVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAcyB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBzIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQG0geyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbSB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHhsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHhsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG5cbi51ay1mbGV4LW5vbmUgeyBmbGV4OiBub25lOyB9XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuXG4udWstZmxleC1hdXRvIHsgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuXG4udWstZmxleC0xIHsgZmxleDogMTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZsZXgtbWlzYykpIHtAaW5jbHVkZSBob29rLWZsZXgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZmxleC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFyZ2luXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbWFyZ2luc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmdpbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXNtYWxsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbWVkaXVtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi14bGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1yZW1vdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1hdXRvLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmdpbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tYXJnaW4geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXJlbW92ZSB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS10b3AgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKiB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by10b3AgeyBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1ib3R0b20geyBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmdpbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFyZ2luLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQYWRkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgcGFkZGluZ1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZGRpbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1yZW1vdmUtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFkZGluZy1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZGRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXNtYWxsIHsgcGFkZGluZzogJHBhZGRpbmctc21hbGwtcGFkZGluZzsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctcmVtb3ZlIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtdG9wIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWJvdHRvbSB7IHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWRkaW5nLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWRkaW5nLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUG9zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHBvc2l0aW9uIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wb3NpdGlvbi1hYnNvbHV0ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJlbGF0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tei1pbmRleGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY292ZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstcG9zaXRpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstcG9zaXRpb24tdG9wJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1ib3R0b20nXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLXJpZ2h0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXInXSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIgKE5vdCB3b3JraW5nIGluIEZpcmVmb3gpXG4gKiAyLiBGaXggdGV4dCB3cmFwcGluZyBmb3IgRmlyZWZveFxuICovXG5cbi51ay1wb3NpdGlvbi1jZW50ZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFZlcnRpY2FsICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHsgbGVmdDogMDsgfVxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7IHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdC1vdXQge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodC1vdXQge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4vKiBIb3Jpem9udGFsICovXG4udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHsgdG9wOiAwOyB9XG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IGJvdHRvbTogMDsgfVxuXG5cbi8qIENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tcmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tei1pbmRleCB7IHotaW5kZXg6IDE7IH1cblxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstcG9zaXRpb24tc21hbGwgeyBtYXJnaW46ICRwb3NpdGlvbi1zbWFsbC1tYXJnaW47IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbiwgKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi51ay1wb3NpdGlvbi1tZWRpdW0geyBtYXJnaW46ICRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbiwgKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1wb3NpdGlvbi1sYXJnZSB7IG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHsgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wb3NpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcG9zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVHJhbnNpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRyYW5zaXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdHJhbnNpdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRyYW5zaXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1vcGFxdWVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsb3dgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstdHJhbnNpdGlvbi10b2dnbGVgLFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1hY3RpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuM3MgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNjYWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAwLjdzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFVzaW5nIG11bHRpcGxlIHNlbGVjdG9ycyB0byBleGNsdWRlIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWBcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWBcbiAqICAgICAgIEp1c3QgcHV0IHRoZSB0cmFuc2l0aW9uIGluIGFuIGV4dHJhIGBkaXZgXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tZmFkZSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1mYWRlIHsgb3BhY2l0eTogMDsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqIE5vdGU6IFVzaW5nIGBzY2FsZTNkYCBmb3IgYmV0dGVyIGltYWdlIHJlbmRlcmluZ1xuICovXG5cbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSB7IG9wYWNpdHk6IDA7IH1cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAgeyB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24geyB0cmFuc2Zvcm06IHNjYWxlM2QoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUsMSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUsMSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xufVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10geyBvcGFjaXR5OiAwOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLXNsb3cgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdHJhbnNpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stdHJhbnNpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFZpc2liaWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHNob3cgb3IgaGlkZSBjb250ZW50IG9uIGJyZWFrcG9pbnRzLCBob3ZlciBvciB0b3VjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhpZGRlbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4taG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4tdG91Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4tbm90b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIGBoaWRkZW5gIGF0dHJpYnV0ZSBhbHNvIHNldCBoZXJlIHRvIG1ha2UgaXQgc3Ryb25nZXJcbiAqL1xuXG5baGlkZGVuXSxcbi51ay1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWhpZGRlblxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oaWRkZW5cXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWaXNpYmxlXG4gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cblxuLyogSG92ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZGVuXG4gKiBDYW4ndCB1c2UgYGRpc3BsYXk6IGhpZGRlbmAgYmVjYXVzZSBpdCdzIG5vdCBmb2N1c2FibGUuIFRoaXMgaXMgYWNjZXNzaWJsZSB0aHJvdWdoIGtleWJvYXJkLlxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBJbnZpc2libGVcbiAqIENhbid0IHVzZSBgdmlzaWJpbGl0eTogaGlkZGVuYCBiZWNhdXNlIGl0J3Mgbm90IGZvY3VzYWJsZS4gVGhpcyBpcyBhY2Nlc3NpYmxlIHRocm91Z2gga2V5Ym9hcmQuXG4gKi9cblxuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIC51ay1pbnZpc2libGUtaG92ZXI6bm90KDpmb2N1cykgeyBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBUb3VjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGhhcyBsaW1pdGVkIGFjY3VyYWN5LCBlLmcuIGEgdG91Y2ggc2NyZWVuLlxuICogV29ya3Mgb24gbW9iaWxlIGJyb3dzZXJzOiBTYWZhcmksIENocm9tZSBhbmQgQW5kcm9pZCBicm93c2VyXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGlzIGFjY3VyYXRlLCBlLmcuIG1vdXNlLlxuICogMS4gRmFsbGJhY2sgZm9yIElFMTEgYW5kIEZpcmVmb3gsIGJlY2F1c2UgYHBvaW50ZXJgIGlzIG5vdCBzdXBwb3J0ZWRcbiAqIDIuIFJlc2V0IGlmIHN1cHBvcnRlZFxuICovXG5cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay12aXNpYmlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay12aXNpYmlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSW52ZXJzZVxuLy8gRGVzY3JpcHRpb246ICAgICBJbnZlcnNlIGNvbXBvbmVudCBzdHlsZSBmb3IgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGFya2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBsaWdodCkgeyAudWstbGlnaHQgeyBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBkYXJrKSB7IC51ay1kYXJrIHsgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlKCl7fSJdfQ== */
