@charset "UTF-8";

/* ========================================================================
   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 IE and iOS.
 * 3. Style
 */

html {
  /* 1 */
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666;
}

/*
 * Removes default margin.
 */

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: #1e87f0;
  text-decoration: none;
  cursor: pointer;
}

a:hover,
.uk-link:hover {
  color: #0f6ecd;
  text-decoration: underline;
}

/* Text-level semantics
 ========================================================================== */

/*
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/*
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/*
 * 1. Correct the odd `em` font sizing in all browsers.
 * 2. Consolas has a better baseline in running text compared to `Courier`
 * 3. Style
 */

:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-size: 0.875rem;
  /* 2 */
  font-family: Consolas, monaco, monospace;
  /* 3 */
  color: #f0506e;
  white-space: nowrap;
  padding: 2px 6px;
  background: #f8f8f8;
}

/*
 * 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 */
  box-sizing: border-box;
}

/*
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: 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: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  color: #333;
  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.625rem;
  line-height: 1.2;
  font-weight: 100;
  font-size: 2.2rem;
}

h2,
.uk-h2 {
  font-size: 2rem;
  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;
}

/* 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 */
  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: #333;
}

/* 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.
 * 2. Override UA
 */

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, 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 vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/*
 * 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: Link
 ========================================================================== */

/* Muted
 ========================================================================== */

a.uk-link-muted,
.uk-link-muted a {
  color: #999;
}

a.uk-link-muted:hover,
.uk-link-muted a:hover {
  color: #666;
}

/* Text
 ========================================================================== */

a.uk-link-text:not(:hover),
.uk-link-text a:not(:hover) {
  color: inherit;
}

a.uk-link-text:hover,
.uk-link-text a:hover {
  color: #999;
}

/* Heading
 ========================================================================== */

a.uk-link-heading:not(:hover),
.uk-link-heading a:not(:hover) {
  color: inherit;
}

a.uk-link-heading:hover,
.uk-link-heading a:hover {
  color: #1e87f0;
  text-decoration: none;
}

/* Reset
 ========================================================================== */

/*
 * `!important` needed to override inverse component
 */

a.uk-link-reset,
a.uk-link-reset:hover,
.uk-link-reset a,
.uk-link-reset a:hover {
  color: inherit !important;
  text-decoration: none !important;
}

/* ========================================================================
   Component: Heading
 ========================================================================== */

/* Primary
 ========================================================================== */

.uk-heading-primary {
  font-size: 2.625rem;
  line-height: 1.2;
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-heading-primary {
    font-size: 3.75rem;
    line-height: 1.1;
  }
}

/* Hero
 ========================================================================== */

.uk-heading-hero {
  font-size: 4rem;
  line-height: 1.1;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-heading-hero {
    font-size: 6rem;
    line-height: 1;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .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%3E%3C%2Fcircle%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: #f8f8f8;
}

.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%3E%3C%2Fcircle%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: Description list
 ========================================================================== */

/*
 * Term
 */

.uk-description-list > dt {
  color: #333;
  font-size: 0.875rem;
  font-weight: normal;
  text-transform: uppercase;
}

.uk-description-list > dt:nth-child(n+2) {
  margin-top: 20px;
}

/*
 * Description
 */

/* Style modifier
 ========================================================================== */

/*
 * Line
 */

.uk-description-list-divider > dt:nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
}

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

/* Row
 ========================================================================== */

.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
  background: #ffd;
}

/* 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: #f8f8f8;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

/*
 * Hover
 */

.uk-table-hover > tr:hover,
.uk-table-hover tbody tr:hover {
  background: #ffd;
}

/* Size modifier
 ========================================================================== */

.uk-table-small th,
.uk-table-small td {
  padding: 10px 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: 300px;
}

/* 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 {
  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 > * {
  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 {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover + Focus */

.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #ebebeb;
  color: #666;
  outline: none;
}

/* OnClick + Active */

.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: #dfdede;
  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 */
  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 #cccbcb;
}

/* Firefox */

.uk-range::-moz-range-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccbcb;
}

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

/* 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: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-webkit-slider-runnable-track,
.uk-range:active::-webkit-slider-runnable-track {
  background: #d2d2d2;
}

/* Firefox */

.uk-range::-moz-range-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-moz-range-track {
  background: #d2d2d2;
}

/* Edge */

.uk-range::-ms-fill-lower,
.uk-range::-ms-fill-upper {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-ms-fill-lower,
.uk-range:focus::-ms-fill-upper {
  background: #d2d2d2;
}

/* ========================================================================
   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 */
  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.
 */

.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 6px;
  background: #fff;
  color: #666;
  border: 1px solid #e5e5e5;
  transition: 0.2s ease-in-out;
  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: #1e87f0;
}

/* Disabled */

.uk-input:disabled,
.uk-select:disabled,
.uk-textarea:disabled {
  background-color: #f8f8f8;
  color: #999;
  border-color: #e5e5e5;
}

/*
 * Placeholder
 */

.uk-input:-ms-input-placeholder {
  color: #999 !important;
}

.uk-input::-webkit-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::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: 40px;
}

select.uk-form-width-xsmall {
  width: 65px;
}

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

.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%3E%3C%2Fpolygon%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%3E%3C%2Fpolygon%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;
}

/*
 * 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%3E%3C%2Fpolygon%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%3E%3C%2Fpolygon%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 #cccbcb;
  transition: 0.2s ease-in-out;
  transition-property: background-color, border;
}

.uk-radio {
  border-radius: 50%;
}

/* Focus */

.uk-radio:focus,
.uk-checkbox:focus {
  outline: none;
  border-color: #1e87f0;
}

/*
 * Checked
 */

.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
  background-color: #1e87f0;
  border-color: transparent;
}

/* Focus */

.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.uk-checkbox:indeterminate:focus {
  background-color: #0e6ecd;
}

/*
 * 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%3E%3C%2Fcircle%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%2F%3E%0A%3C%2Fsvg%3E");
}

.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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E");
}

/*
 * Disabled
 */

.uk-radio:disabled,
.uk-checkbox:disabled {
  background-color: #f8f8f8;
  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%3E%3C%2Fcircle%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%2F%3E%0A%3C%2Fsvg%3E");
}

.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%3E%3C%2Frect%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: #333;
  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: 30px;
  /* 3 */
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: 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: 30px;
}

/*
 * Position modifier
 */

.uk-form-icon-flip {
  right: 0;
  left: auto;
}

.uk-form-icon-flip + .uk-input {
  padding-right: 30px;
}

/* ========================================================================
   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;
  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;
  transition: 0.1s ease-in-out;
  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: #333;
  border: 1px solid #e5e5e5;
}

/* Hover + Focus */

.uk-button-default:hover,
.uk-button-default:focus {
  background-color: transparent;
  color: #333;
  border-color: #b2b2b2;
}

/* OnClick + Active */

.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: transparent;
  color: #333;
  border-color: #999898;
}

/*
 * Primary
 */

.uk-button-primary {
  background-color: #1e87f0;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover + Focus */

.uk-button-primary:hover,
.uk-button-primary:focus {
  background-color: #0f7ae5;
  color: #fff;
}

/* OnClick + Active */

.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: #0e6ecd;
  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: #333;
  position: relative;
}

.uk-button-text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 100%;
  border-bottom: 1px solid #333;
  transition: right 0.3s ease-out;
}

/* Hover + Focus */

.uk-button-text:hover,
.uk-button-text:focus {
  color: #333;
}

.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: #1e87f0;
}

/* Hover + Focus */

.uk-button-link:hover,
.uk-button-link:focus {
  color: #0f6ecd;
  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: -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 {
  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: #f8f8f8;
}

/*
 * Primary
 */

.uk-section-primary {
  background: #1e87f0;
}

/*
 * 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 {
  box-sizing: content-box;
  /* 1 */
  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-small {
  max-width: 900px;
}

.uk-container-large {
  max-width: 1600px;
}

.uk-container-expand {
  max-width: none;
}

/* ========================================================================
   Component: Grid
 ========================================================================== */

/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */

.uk-grid {
  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: -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 */
  box-sizing: border-box;
  width: 100%;
  /* 3 */
  -ms-flex: auto;
      flex: auto;
}

/* ========================================================================
   Component: Tile
 ========================================================================== */

.uk-tile {
  position: relative;
  box-sizing: border-box;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 30px;
  padding-bottom: 30px;
}

/* 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: #f8f8f8;
}

/*
 * Primary
 */

.uk-tile-primary {
  background: #1e87f0;
}

/*
 * Secondary
 */

.uk-tile-secondary {
  background: #222;
}

/* ========================================================================
   Component: Card
 ========================================================================== */

.uk-card {
  position: relative;
  box-sizing: border-box;
  transition: box-shadow 0.1s ease-in-out;
}

/* 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;
  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;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-default .uk-card-title {
  color: #333;
}

.uk-card-default.uk-card-hover:hover {
  background-color: #fff;
  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: #1e87f0;
  color: #fff;
  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: #1e87f0;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/*
 * Secondary
 */

.uk-card-secondary {
  background: #222;
  color: #fff;
  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;
  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: -15px -30px;
}

.uk-card-title + .uk-nav-default {
  margin-top: 0;
}

.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: -25px -40px;
  }

  .uk-card-title + .uk-nav-default {
    margin-top: 0;
  }

  .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: -5px -20px;
}

.uk-card-small .uk-card-title + .uk-nav-default {
  margin-top: 0;
}

.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: -55px -70px;
  }

  .uk-card-large .uk-card-title + .uk-nav-default {
    margin-top: 0;
  }
}

/* ========================================================================
   Component: Close
 ========================================================================== */

/*
 * Adopts `uk-icon`
 */

.uk-close {
  color: #999;
  transition: 0.1s ease-in-out;
  transition-property: color, opacity;
}

/* Hover + Focus */

.uk-close:hover,
.uk-close:focus {
  color: #666;
  outline: none;
}

/* ========================================================================
   Component: Spinner
 ========================================================================== */

/*
 * Adopts `uk-icon`
 */

/* SVG
 ========================================================================== */

.uk-spinner > * {
  animation: uk-spinner-rotate 1.4s linear infinite;
}

@keyframes uk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(270deg);
  }
}

/*
 * Circle
 */

.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round;
}

@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px;
  }

  50% {
    stroke-dashoffset: 22px;
    transform: rotate(135deg);
  }

  100% {
    stroke-dashoffset: 88px;
    transform: rotate(450deg);
  }
}

/* ========================================================================
   Component: Totop
 ========================================================================== */

/*
 * Addopts `uk-icon`
 */

.uk-totop {
  padding: 5px;
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */

.uk-totop:hover,
.uk-totop:focus {
  color: #666;
  outline: none;
}

/* OnClick */

.uk-totop:active {
  color: #333;
}

/* ========================================================================
   Component: Marker
 ========================================================================== */

/*
 * Addopts `uk-icon`
 */

.uk-marker {
  padding: 5px;
  background: #222;
  color: #fff;
  border-radius: 500px;
}

/* Hover + Focus */

.uk-marker:hover,
.uk-marker:focus {
  color: #fff;
  outline: none;
}

/* ========================================================================
   Component: Alert
 ========================================================================== */

.uk-alert {
  position: relative;
  margin-bottom: 20px;
  padding: 15px 29px 15px 15px;
  background: #f8f8f8;
  color: #666;
}

/* Add margin if adjacent element */

* + .uk-alert {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */

.uk-alert > :last-child {
  margin-bottom: 0;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */

.uk-alert-close {
  position: absolute;
  top: 20px;
  right: 15px;
  color: inherit;
  opacity: 0.4;
}

/*
 * Remove margin from adjacent element
 */

.uk-alert-close:first-child + * {
  margin-top: 0;
}

/*
 * Hover + Focus
 */

.uk-alert-close:hover,
.uk-alert-close:focus {
  color: inherit;
  opacity: 0.8;
}

/* Style modifiers
 ========================================================================== */

/*
 * Primary
 */

.uk-alert-primary {
  background: #d8eafc;
  color: #1e87f0;
}

/*
 * Success
 */

.uk-alert-success {
  background: #edfbf6;
  color: #32d296;
}

/*
 * Warning
 */

.uk-alert-warning {
  background: #fef5ee;
  color: #faa05a;
}

/*
 * Danger
 */

.uk-alert-danger {
  background: #fef4f6;
  color: #f0506e;
}

/*
     * Content
     */

.uk-alert h1,
.uk-alert h2,
.uk-alert h3,
.uk-alert h4,
.uk-alert h5,
.uk-alert h6 {
  color: inherit;
}

.uk-alert a:not([class]) {
  color: inherit;
  text-decoration: underline;
}

.uk-alert a:not([class]):hover {
  color: inherit;
  text-decoration: underline;
}

/* ========================================================================
   Component: Badge
 ========================================================================== */

/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */

.uk-badge {
  box-sizing: border-box;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 2 */
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}

/*
 * Required for `a`
 */

.uk-badge:hover,
.uk-badge:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}

/* ========================================================================
   Component: Label
 ========================================================================== */

.uk-label {
  display: inline-block;
  padding: 0 10px;
  background: #1e87f0;
  line-height: 1.5;
  font-size: 0.875rem;
  color: #fff;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: 2px;
  text-transform: uppercase;
}

/* Color modifiers
 ========================================================================== */

/*
 * Success
 */

.uk-label-success {
  background-color: #32d296;
  color: #fff;
}

/*
 * Warning
 */

.uk-label-warning {
  background-color: #faa05a;
  color: #fff;
}

/*
 * Danger
 */

.uk-label-danger {
  background-color: #f0506e;
  color: #fff;
}

/* ========================================================================
   Component: Overlay
 ========================================================================== */

.uk-overlay {
  padding: 30px 30px;
}

/*
 * Remove margin from the last-child
 */

.uk-overlay > :last-child {
  margin-bottom: 0;
}

/* Icon
 ========================================================================== */

/* Style modifiers
 ========================================================================== */

/*
 * Default
 */

.uk-overlay-default {
  background: rgba(255, 255, 255, 0.8);
}

/*
 * Primary
 */

.uk-overlay-primary {
  background: rgba(34, 34, 34, 0.8);
}

/* ========================================================================
   Component: Article
 ========================================================================== */

/*
 * Micro clearfix
 */

.uk-article::before,
.uk-article::after {
  content: "";
  display: table;
}

.uk-article::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */

.uk-article > :last-child {
  margin-bottom: 0;
}

/* Adjacent sibling
 ========================================================================== */

.uk-article + .uk-article {
  margin-top: 70px;
}

/* Title
 ========================================================================== */

.uk-article-title {
  font-size: 2.625rem;
  line-height: 1.2;
}

/* Meta
 ========================================================================== */

.uk-article-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}

.uk-article-meta a {
  color: #999;
}

.uk-article-meta a:hover {
  color: #666;
  text-decoration: none;
}

/* ========================================================================
   Component: Comment
 ========================================================================== */

/* Sections
 ========================================================================== */

.uk-comment-header {
  margin-bottom: 20px;
}

/*
 * Micro clearfix
 */

.uk-comment-body::before,
.uk-comment-body::after,
.uk-comment-header::before,
.uk-comment-header::after {
  content: "";
  display: table;
}

.uk-comment-body::after,
.uk-comment-header::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */

.uk-comment-body > :last-child,
.uk-comment-header > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */

.uk-comment-title {
  font-size: 1.25rem;
  line-height: 1.4;
}

/* Meta
 ========================================================================== */

.uk-comment-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}

/* Avatar
 ========================================================================== */

/* List
 ========================================================================== */

.uk-comment-list {
  padding: 0;
  list-style: none;
}

/* Adjacent siblings */

.uk-comment-list > :nth-child(n+2) {
  margin-top: 70px;
}

/*
 * Sublists
 * Note: General sibling selector allows reply block between comment and sublist
 */

.uk-comment-list .uk-comment ~ ul {
  margin: 70px 0 0 0;
  padding-left: 30px;
  list-style: none;
}

/* Tablet and bigger */

@media (min-width: 960px) {
  .uk-comment-list .uk-comment ~ ul {
    padding-left: 100px;
  }
}

/* Adjacent siblings */

.uk-comment-list .uk-comment ~ ul > :nth-child(n+2) {
  margin-top: 70px;
}

/* Style modifier
 ========================================================================== */

.uk-comment-primary {
  padding: 30px;
  background-color: #f8f8f8;
}

/* ========================================================================
   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 */
  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::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: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: 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%3E%3C%2Fpolyline%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%3E%3C%2Fpolyline%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: #333;
}

/*
 * Header
 */

.uk-nav-default .uk-nav-header {
  color: #333;
}

/*
 * 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: #333;
}

/*
 * Header
 */

.uk-nav-primary .uk-nav-header {
  color: #333;
}

/*
 * 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: Navbar
 ========================================================================== */

/*
 * 1. Create position context to center navbar group
 */

.uk-navbar {
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  position: relative;
}

/* Container
 ========================================================================== */

.uk-navbar-container:not(.uk-navbar-transparent) {
  background: #f8f8f8;
}

/*
 * Remove pseudo elements created by micro clearfix as precaution (if Container component is used)
 */

.uk-navbar-container > ::before,
.uk-navbar-container > ::after {
  display: none !important;
}

/* Groups
 ========================================================================== */

/*
 * 1. Align navs and items vertically if they have a different height
 * 2. Note: IE 11 requires an extra `div` which affects the center selector
 */

.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center,
.uk-navbar-center-left > *,
.uk-navbar-center-right > * {
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-align: center;
      align-items: center;
}

/*
 * Horizontal alignment
 * 1. Create position context for centered navbar with sub groups (left/right)
 * 2. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 3. Fix text wrapping if the centered section is larger than 50% of the navbar
 * 4. Align sub groups for centered navbar
 */

.uk-navbar-right {
  margin-left: auto;
}

.uk-navbar-center:only-child {
  margin-left: auto;
  margin-right: auto;
  /* 1 */
  position: relative;
}

.uk-navbar-center:not(:only-child) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 2 */
  z-index: 990;
}

/* 3 */

.uk-navbar-center:not(:only-child) .uk-navbar-nav > li > a,
.uk-navbar-center:not(:only-child) .uk-navbar-item,
.uk-navbar-center:not(:only-child) .uk-navbar-toggle {
  white-space: nowrap;
}

/* 4 */

.uk-navbar-center-left,
.uk-navbar-center-right {
  position: absolute;
  top: 0;
}

.uk-navbar-center-left {
  right: 100%;
}

.uk-navbar-center-right {
  left: 100%;
}

[class*='uk-navbar-center-'] .uk-navbar-nav > li > a,
[class*='uk-navbar-center-'] .uk-navbar-item,
[class*='uk-navbar-center-'] .uk-navbar-toggle {
  white-space: nowrap;
}

/* Nav
 ========================================================================== */

/*
 * 1. Reset list
 */

.uk-navbar-nav {
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * Allow items to wrap into the next line
 * Only not `absolute` positioned groups
 */

.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center:only-child {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/*
 * Items
 * 1. Center content vertically and horizontally
 * 2. Dimensions
 * 3. Style
 * 4. Required for `a`
 */

.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  /* 1 */
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  /* 2 */
  box-sizing: border-box;
  height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 0.875rem;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* 4 */
  text-decoration: none;
}

/*
 * Nav items
 */

.uk-navbar-nav > li > a {
  color: #999;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/*
 * Hover
 * Apply hover style also to focus state and if dropdown is opened
 */

.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li > a.uk-open {
  color: #666;
  outline: none;
}

/* OnClick */

.uk-navbar-nav > li > a:active {
  color: #333;
}

/* Active */

.uk-navbar-nav > li.uk-active > a {
  color: #333;
}

/* Item
 ========================================================================== */

.uk-navbar-item {
  color: #666;
}

/* Toggle
 ========================================================================== */

.uk-navbar-toggle {
  color: #999;
}

.uk-navbar-toggle:hover,
.uk-navbar-toggle:focus,
.uk-navbar-toggle.uk-open {
  color: #666;
  outline: none;
  text-decoration: none;
}

/*
 * Icon
 * Adopts `uk-icon`
 */

/* Hover + Focus */

/* Subtitle
 ========================================================================== */

.uk-navbar-subtitle {
  font-size: 0.875rem;
}

/* Style modifiers
 ========================================================================== */

/* Dropdown
 ========================================================================== */

/*
 * Adopts `uk-dropdown`
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */

.uk-navbar-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */

.uk-navbar-dropdown.uk-open {
  display: block;
}

/*
 * Direction / Alignment modifiers
 */

/* Direction */

[class*='uk-navbar-dropdown-top'] {
  margin-top: -15px;
}

[class*='uk-navbar-dropdown-bottom'] {
  margin-top: 15px;
}

[class*='uk-navbar-dropdown-left'] {
  margin-left: -15px;
}

[class*='uk-navbar-dropdown-right'] {
  margin-left: 15px;
}

/*
 * Grid
 * Adopts `uk-grid`
 */

/* Gutter Horizontal */

.uk-navbar-dropdown-grid {
  margin-left: -50px;
}

.uk-navbar-dropdown-grid > * {
  padding-left: 50px;
}

/* Gutter Vertical */

.uk-navbar-dropdown-grid > .uk-grid-margin {
  margin-top: 50px;
}

/* Stack */

.uk-navbar-dropdown-stack .uk-navbar-dropdown-grid > * {
  width: 100% !important;
}

/*
 * Width modifier
 */

.uk-navbar-dropdown-width-2:not(.uk-navbar-dropdown-stack) {
  width: 400px;
}

.uk-navbar-dropdown-width-3:not(.uk-navbar-dropdown-stack) {
  width: 600px;
}

.uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) {
  width: 800px;
}

.uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) {
  width: 1000px;
}

/*
 * Dropbar modifier
 */

.uk-navbar-dropdown-dropbar {
  margin-top: 0;
  margin-bottom: 30px;
  box-shadow: none;
}

/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */

.uk-navbar-dropdown-nav {
  font-size: 0.875rem;
}

/*
 * Items
 */

.uk-navbar-dropdown-nav > li > a {
  color: #999;
}

/* Hover + Focus */

.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus {
  color: #666;
}

/* Active */

.uk-navbar-dropdown-nav > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */

.uk-navbar-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */

.uk-navbar-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */

.uk-navbar-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-navbar-dropdown-nav .uk-nav-sub a:hover,
.uk-navbar-dropdown-nav .uk-nav-sub a:focus {
  color: #666;
}

/* Dropbar
 ========================================================================== */

.uk-navbar-dropbar {
  background: #fff;
}

/*
 * Slide modifier
 */

.uk-navbar-dropbar-slide {
  position: absolute;
  z-index: 1020;
  left: 0;
  right: 0;
}

/*
     * Navbar
     */

.uk-navbar-container > .uk-container .uk-navbar-left {
  margin-left: -15px;
  margin-right: -15px;
}

.uk-navbar-container > .uk-container .uk-navbar-right {
  margin-right: -15px;
}

/*
     * Grid Divider
     */

.uk-navbar-dropdown-grid > * {
  position: relative;
}

.uk-navbar-dropdown-grid > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  border-left: 1px solid #e5e5e5;
}

/* Vertical */

.uk-navbar-dropdown-grid.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50px;
  right: 0;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Subnav
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */

.uk-subnav {
  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 */
  -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;
  transition: 0.1s ease-in-out;
  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: #333;
}

/* Divider modifier
 ========================================================================== */

/*
 * 1. Align items and divider vertically
 */

.uk-subnav-divider > * {
  /* 1 */
  display: -ms-flexbox;
  display: flex;
  -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: #f8f8f8;
  color: #666;
}

/* OnClick */

.uk-subnav-pill > * > a:active {
  background-color: #f8f8f8;
  color: #666;
}

/* Active */

.uk-subnav-pill > .uk-active > a {
  background-color: #1e87f0;
  color: #fff;
}

/* Disabled
 * The same for all style modifiers
 ========================================================================== */

.uk-subnav > .uk-disabled > a {
  color: #999;
}

/* ========================================================================
   Component: Breadcrumb
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 */

.uk-breadcrumb {
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  padding: 0;
  list-style: none;
}

/*
 * Space is allocated solely based on content dimensions: 0 0 auto
 */

.uk-breadcrumb > * {
  -ms-flex: none;
      flex: none;
}

/* Items
 ========================================================================== */

.uk-breadcrumb > * > * {
  display: inline-block;
  font-size: 0.875rem;
  color: #999;
}

/* Hover + Focus */

.uk-breadcrumb > * > :hover,
.uk-breadcrumb > * > :focus {
  color: #666;
  text-decoration: none;
}

/* Disabled */

/* Active */

.uk-breadcrumb > :last-child > * {
  color: #666;
}

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */

.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  margin: 0 20px;
  color: #999;
}

/* ========================================================================
   Component: Pagination
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */

.uk-pagination {
  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-pagination > * {
  /* 1 */
  -ms-flex: none;
      flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */

/*
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */

.uk-pagination > * > * {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */

.uk-pagination > * > :hover,
.uk-pagination > * > :focus {
  color: #666;
  text-decoration: none;
}

/* Active */

.uk-pagination > .uk-active > * {
  color: #666;
}

/* Disabled */

.uk-pagination > .uk-disabled > * {
  color: #999;
}

/* ========================================================================
   Component: Tab
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */

.uk-tab {
  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 */
  -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;
  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: #333;
  border-color: #1e87f0;
}

/* 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 {
  -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: Slidenav
 ========================================================================== */

/*
 * Adopts `uk-icon`
 */

.uk-slidenav {
  padding: 5px 10px;
  color: rgba(102, 102, 102, 0.6);
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */

.uk-slidenav:hover,
.uk-slidenav:focus {
  color: rgba(102, 102, 102, 0.8);
  outline: none;
}

/* OnClick */

.uk-slidenav:active {
  color: rgba(102, 102, 102, 0.9);
}

/* Icon modifier
 ========================================================================== */

/*
 * Previous
 */

/*
 * Next
 */

/* Size modifier
 ========================================================================== */

.uk-slidenav-large {
  padding: 10px 10px;
}

/* Container
 ========================================================================== */

.uk-slidenav-container {
  display: -ms-flexbox;
  display: flex;
}

/* ========================================================================
   Component: Dotnav
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */

.uk-dotnav {
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -15px;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */

.uk-dotnav > * {
  /* 1 */
  -ms-flex: none;
      flex: none;
  /* 2 */
  padding-left: 15px;
}

/* Items
 ========================================================================== */

/*
 * Items
 * 1. Hide text if present
 */

.uk-dotnav > * > * {
  display: block;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(102, 102, 102, 0.1);
  /* 1 */
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  transition: background-color 0.2s ease-in-out;
}

/* Hover + Focus */

.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
  background-color: rgba(102, 102, 102, 0.4);
  outline: none;
}

/* OnClick */

.uk-dotnav > * > :active {
  background-color: rgba(102, 102, 102, 0.6);
}

/* Active */

.uk-dotnav > .uk-active > * {
  background-color: rgba(102, 102, 102, 0.4);
}

/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */

/*
 * 1. Change direction
 * 2. Gutter
 */

.uk-dotnav-vertical {
  /* 1 */
  -ms-flex-direction: column;
      flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px;
}

/* 2 */

.uk-dotnav-vertical > * {
  padding-left: 0;
  padding-top: 15px;
}

/* ========================================================================
   Component: Thumbnav
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */

.uk-thumbnav {
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -15px;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */

.uk-thumbnav > * {
  /* 1 */
  -ms-flex: none;
      flex: none;
  /* 2 */
  padding-left: 15px;
}

/* Items
 ========================================================================== */

/*
 * Items
 */

.uk-thumbnav > * > * {
  display: inline-block;
}

/* Hover + Focus */

.uk-thumbnav > * > :hover,
.uk-thumbnav > * > :focus {
  outline: none;
}

/* Active */

/* Modifier: 'uk-thumbnav-vertical'
 ========================================================================== */

/*
 * 1. Change direction
 * 2. Gutter
 */

.uk-thumbnav-vertical {
  /* 1 */
  -ms-flex-direction: column;
      flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px;
}

/* 2 */

.uk-thumbnav-vertical > * {
  padding-left: 0;
  padding-top: 15px;
}

/* ========================================================================
   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: #333;
  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%3E%3C%2Frect%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%3E%3C%2Frect%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%3E%3C%2Frect%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: Drop
 ========================================================================== */

/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 */

.uk-drop {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  width: 300px;
}

/* Show */

.uk-drop.uk-open {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */

/* Direction */

[class*='uk-drop-top'] {
  margin-top: -20px;
}

[class*='uk-drop-bottom'] {
  margin-top: 20px;
}

[class*='uk-drop-left'] {
  margin-left: -20px;
}

[class*='uk-drop-right'] {
  margin-left: 20px;
}

/* Grid modifiers
 ========================================================================== */

.uk-drop-stack .uk-drop-grid > * {
  width: 100% !important;
}

/* ========================================================================
   Component: Dropdown
 ========================================================================== */

/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */

.uk-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  min-width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */

.uk-dropdown.uk-open {
  display: block;
}

/* Nav
 * Adopts `uk-nav`
 ========================================================================== */

.uk-dropdown-nav {
  white-space: nowrap;
  font-size: 0.875rem;
}

/*
 * Items
 */

.uk-dropdown-nav > li > a {
  color: #999;
}

/* Hover + Focus + Active */

.uk-dropdown-nav > li > a:hover,
.uk-dropdown-nav > li > a:focus,
.uk-dropdown-nav > li.uk-active > a {
  color: #666;
}

/*
 * Header
 */

.uk-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */

.uk-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */

.uk-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-dropdown-nav .uk-nav-sub a:hover,
.uk-dropdown-nav .uk-nav-sub a:focus {
  color: #666;
}

/* Direction / Alignment modifiers
 ========================================================================== */

/* Direction */

[class*='uk-dropdown-top'] {
  margin-top: -10px;
}

[class*='uk-dropdown-bottom'] {
  margin-top: 10px;
}

[class*='uk-dropdown-left'] {
  margin-left: -10px;
}

[class*='uk-dropdown-right'] {
  margin-left: 10px;
}

/* Grid modifiers
 ========================================================================== */

.uk-dropdown-stack .uk-dropdown-grid > * {
  width: 100% !important;
}

/* ========================================================================
   Component: Modal
 ========================================================================== */

/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */

.uk-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  background: rgba(0, 0, 0, 0.6);
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-modal {
    padding: 50px 30px;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-modal {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*
 * Open
 */

.uk-modal.uk-open {
  opacity: 1;
}

/* Page
 ========================================================================== */

/*
 * Prevent scrollbars
 */

.uk-modal-page {
  overflow: hidden;
}

/* Dialog
 ========================================================================== */

/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
 *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
 * 4. Style
 * 5. Slide-in transition
 */

.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: calc(100% - 0.01px) !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  transform: translateY(-100px);
  transition: 0.3s linear;
  transition-property: opacity, transform;
}

/*
 * Open
 */

.uk-open > .uk-modal-dialog {
  opacity: 1;
  transform: translateY(0);
}

/* Size modifier
 ========================================================================== */

/*
 * Container size
 * Take the same size as the Container component
 */

.uk-modal-container .uk-modal-dialog {
  width: 1200px;
}

/*
 * Full size
 * 1. Remove padding and background from modal
 * 2. Reset all default declarations from modal dialog
 */

/* 1 */

.uk-modal-full {
  padding: 0;
  background: none;
}

/* 2 */

.uk-modal-full .uk-modal-dialog {
  margin: 0;
  width: 100%;
  max-width: 100%;
  transform: translateY(0);
}

/* Sections
 ========================================================================== */

.uk-modal-body {
  padding: 30px 30px;
}

.uk-modal-header {
  padding: 15px 30px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}

.uk-modal-footer {
  padding: 15px 30px;
  background: #fff;
  border-top: 1px solid #e5e5e5;
}

/*
 * Micro clearfix
 */

.uk-modal-body::before,
.uk-modal-body::after,
.uk-modal-header::before,
.uk-modal-header::after,
.uk-modal-footer::before,
.uk-modal-footer::after {
  content: "";
  display: table;
}

.uk-modal-body::after,
.uk-modal-header::after,
.uk-modal-footer::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */

.uk-modal-body > :last-child,
.uk-modal-header > :last-child,
.uk-modal-footer > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */

.uk-modal-title {
  font-size: 2rem;
  line-height: 1.3;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */

[class*='uk-modal-close-'] {
  position: absolute;
  z-index: 1010;
  top: 10px;
  right: 10px;
  padding: 5px;
}

/*
 * Remove margin from adjacent element
 */

[class*='uk-modal-close-']:first-child + * {
  margin-top: 0;
}

/*
 * Hover
 */

/*
 * Default
 */

/*
 * Outside
 * 1. Prevent scrollbar on small devices
 */

.uk-modal-close-outside {
  top: 0;
  /* 1 */
  right: -5px;
  transform: translate(0, -100%);
  color: white;
}

.uk-modal-close-outside:hover {
  color: #fff;
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  /* 1 */

  .uk-modal-close-outside {
    right: 0;
    transform: translate(100%, -100%);
  }
}

/*
 * Full
 */

.uk-modal-close-full {
  top: 0;
  right: 0;
  padding: 20px;
  background: #fff;
}

/* ========================================================================
   Component: Lightbox
 ========================================================================== */

/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */

.uk-lightbox {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 5 */
  background: #000;
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */

.uk-lightbox.uk-open {
  display: block;
  /* 2 */
  opacity: 1;
}

/* Page
 ========================================================================== */

/*
 * Prevent scrollbars
 */

.uk-lightbox-page {
  overflow: hidden;
}

/* Item
 ========================================================================== */

/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Color needed for spinner icon
 * 4. Optimize animation
 * 5. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 */

.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  /* 3 */
  color: rgba(255, 255, 255, 0.7);
  /* 4 */
  will-change: transform, opacity;
}

/* 5 */

.uk-lightbox-items > * > * {
  max-width: 100vw;
  max-height: 100vh;
}

.uk-lightbox-items > * > :not(iframe) {
  width: auto;
  height: auto;
}

.uk-lightbox-items > .uk-active {
  display: -ms-flexbox;
  display: flex;
}

/* Toolbar
 ========================================================================== */

.uk-lightbox-toolbar {
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
}

.uk-lightbox-toolbar * {
  color: rgba(255, 255, 255, 0.7);
}

/* Toolbar Icon (Close)
 ========================================================================== */

.uk-lightbox-toolbar-icon {
  padding: 5px;
  color: rgba(255, 255, 255, 0.7);
}

/*
 * Hover
 */

.uk-lightbox-toolbar-icon:hover {
  color: #fff;
}

/* Button (Slidenav)
 ========================================================================== */

/*
 * 1. Center icon vertically and horizontally
 */

.uk-lightbox-button {
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  /* 1 */
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}

/*
 * Hover
 */

.uk-lightbox-button:hover {
  color: #fff;
}

/* Caption
 ========================================================================== */

/* Iframe
 ========================================================================== */

.uk-lightbox-iframe {
  width: 80%;
  height: 80%;
}

/* ========================================================================
   Component: Slideshow
 ========================================================================== */

/*
 * 1. Prevent tab highlighting on iOS.
 */

.uk-slideshow {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Items
 ========================================================================== */

/*
 * 1. Create position and stacking context
 * 2. Reset list
 * 3. Clip child elements
 * 4. Prevent displaying the callout information on iOS.
 */

.uk-slideshow-items {
  /* 1 */
  position: relative;
  z-index: 0;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  overflow: hidden;
  /* 4 */
  -webkit-touch-callout: none;
}

/* Item
 ========================================================================== */

/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 * 5. Disable horizontal panning gestures in IE11 and Edge
 */

.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity;
  /* 5 */
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

/*
 * Hide not active items
 */

.uk-slideshow-items > :not(.uk-active) {
  display: none;
}

/* ========================================================================
   Component: Slider
 ========================================================================== */

/*
 * 1. Prevent tab highlighting on iOS.
 */

.uk-slider {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Container
 ========================================================================== */

/*
 * 1. Clip child elements
 */

.uk-slider-container {
  /* 1 */
  overflow: hidden;
}

/* Items
 ========================================================================== */

/*
 * 1. Optimize animation
 * 2. Create a containing block. In Safari it's neither created by `transform` nor `will-change`.
 */

.uk-slider-items {
  /* 1 */
  will-change: transform;
  /* 2 */
  position: relative;
}

/*
 * 1. Reset list style without interfering with grid
 * 2. Prevent displaying the callout information on iOS.
 */

.uk-slider-items:not(.uk-grid) {
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 2 */
  -webkit-touch-callout: none;
}

.uk-slider-items.uk-grid {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

/* Item
 ========================================================================== */

/*
 * 1. Let items take content dimensions (0 0 auto)
 * 2. Create position context
 * 3. Disable horizontal panning gestures in IE11 and Edge
 */

.uk-slider-items > * {
  /* 1 */
  -ms-flex: none;
      flex: none;
  /* 2 */
  position: relative;
  /* 3 */
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

/* ========================================================================
   Component: Sticky
 ========================================================================== */

/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */

.uk-sticky-fixed {
  z-index: 980;
  box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*
 * Faster animations
 */

.uk-sticky[class*='uk-animation-'] {
  animation-duration: 0.2s;
}

.uk-sticky.uk-animation-reverse {
  animation-duration: 0.2s;
}

/* ========================================================================
   Component: Off-canvas
 ========================================================================== */

/*
 * 1. Hide by default
 * 2. Set position
 */

.uk-offcanvas {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
}

/*
 * Flip modifier
 */

.uk-offcanvas-flip .uk-offcanvas {
  right: 0;
  left: auto;
}

/* Bar
 ========================================================================== */

/*
 * 1. Set position
 * 2. Size and style
 * 3. Allow scrolling
 * 4. Transform
 */

.uk-offcanvas-bar {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  transform: translateX(-100%);
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-offcanvas-bar {
    width: 350px;
    padding: 40px 40px;
  }
}

/* Flip modifier */

.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: 0;
  transform: translateX(100%);
}

/*
 * Open
 */

.uk-open > .uk-offcanvas-bar {
  transform: translateX(0);
}

/*
 * Slide Animation (Used in slide and push mode)
 */

.uk-offcanvas-bar-animation {
  transition: transform 0.3s ease-out;
}

/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset transform
 */

.uk-offcanvas-reveal {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 0;
  overflow: hidden;
  /* 3 */
  transition: width 0.3s ease-out;
}

.uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  transform: translateX(0);
}

.uk-open > .uk-offcanvas-reveal {
  width: 270px;
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-open > .uk-offcanvas-reveal {
    width: 350px;
  }
}

/*
 * Flip modifier
 */

.uk-offcanvas-flip .uk-offcanvas-reveal {
  right: 0;
  left: auto;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */

.uk-offcanvas-close {
  position: absolute;
  z-index: 1000;
  top: 20px;
  right: 20px;
  padding: 5px;
}

/* Overlay
 ========================================================================== */

/*
 * Overlay the whole page. Needed for the `::before`
 * 1. Using `100vw` so no modification is needed when off-canvas is flipped
 * 2. Allow for closing with swipe gesture on devices with pointer events.
 */

.uk-offcanvas-overlay {
  /* 1 */
  width: 100vw;
  /* 2 */
  -ms-touch-action: none;
      touch-action: none;
}

/*
 * 1. Mask the whole page
 * 2. Fade-in transition
 */

.uk-offcanvas-overlay::before {
  /* 1 */
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.1);
  /* 2 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

.uk-offcanvas-overlay.uk-open::before {
  opacity: 1;
}

/* Container
 ========================================================================== */

/*
 * Prevent horizontal scrollbar when the content is slide-out
 * Has to be on the `html` element too to make it work on the `body`
 */

.uk-offcanvas-page,
.uk-offcanvas-container {
  overflow-x: hidden;
}

/*
 * Prevent all scrollbars if overlay is used
 */

.uk-offcanvas-container-overlay {
  overflow: hidden;
}

/* Content
 ========================================================================== */

/*
 * Prepare slide-out animation (Used in reveal and push mode)
 * Using `position: left` instead of `transform` because position `fixed` elements like sticky navbars
 * lose their fixed state and behaves like `absolute` within a transformed container
 * Note: JS sets a fixed width and height so the page can slide-out without shrinking
 * 1. Smooth scrolling
 */

.uk-offcanvas-container .uk-offcanvas-content {
  position: relative;
  left: 0;
  transition: left 0.3s ease-out;
  /* 1 */
  -webkit-overflow-scrolling: touch;
}

/* Disable scrolling if overlay mode */

.uk-offcanvas-overlay .uk-offcanvas-content {
  overflow-y: hidden;
}

/*
 * Activate slide-out animation
 */

:not(.uk-offcanvas-flip) > .uk-offcanvas-content-animation {
  left: 270px;
}

.uk-offcanvas-flip > .uk-offcanvas-content-animation {
  left: -270px;
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  :not(.uk-offcanvas-flip) > .uk-offcanvas-content-animation {
    left: 350px;
  }

  .uk-offcanvas-flip > .uk-offcanvas-content-animation {
    left: -350px;
  }
}

/* ========================================================================
   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: -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 */
  -ms-flex: none;
      flex: none;
  /* 2 */
  padding-left: 10px;
}

/* Items
 ========================================================================== */

/*
 * Items
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */

.uk-iconnav > * > * {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
}

/* Hover + Focus */

.uk-iconnav > * > :hover,
.uk-iconnav > * > :focus {
  color: #666;
  outline: none;
}

/* Active */

.uk-iconnav > .uk-active > * {
  color: #666;
}

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */

/*
 * 1. Change direction
 * 2. Gutter
 */

.uk-iconnav-vertical {
  /* 1 */
  -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: Notification
 ========================================================================== */

/*
 * 1. Set position
 * 2. Dimensions
 */

.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1040;
  /* 2 */
  box-sizing: border-box;
  width: 350px;
}

/* Position modifiers
========================================================================== */

.uk-notification-top-right,
.uk-notification-bottom-right {
  left: auto;
  right: 10px;
}

.uk-notification-top-center,
.uk-notification-bottom-center {
  left: 50%;
  margin-left: -175px;
}

.uk-notification-bottom-left,
.uk-notification-bottom-right,
.uk-notification-bottom-center {
  top: auto;
  bottom: 10px;
}

/* Responsiveness
========================================================================== */

/* Phones portrait and smaller */

@media (max-width: 639px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0;
  }
}

/* Message
========================================================================== */

.uk-notification-message {
  position: relative;
  margin-bottom: 10px;
  padding: 15px;
  background: #f8f8f8;
  color: #666;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */

.uk-notification-close {
  display: none;
  position: absolute;
  top: 20px;
  right: 15px;
}

.uk-notification-message:hover .uk-notification-close {
  display: block;
}

/* Style modifiers
 ========================================================================== */

/*
 * Primary
 */

.uk-notification-message-primary {
  color: #1e87f0;
}

/*
 * Success
 */

.uk-notification-message-success {
  color: #32d296;
}

/*
 * Warning
 */

.uk-notification-message-warning {
  color: #faa05a;
}

/*
 * Danger
 */

.uk-notification-message-danger {
  color: #f0506e;
}

/* ========================================================================
   Component: Tooltip
 ========================================================================== */

/*
 * 1. Hide by default
 * 2. Position
 * 3. Dimensions
 * 4. Style
 */

.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 4 */
  background: #666;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
}

/* Show */

.uk-tooltip.uk-active {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */

/* Direction */

[class*='uk-tooltip-top'] {
  margin-top: -10px;
}

[class*='uk-tooltip-bottom'] {
  margin-top: 10px;
}

[class*='uk-tooltip-left'] {
  margin-left: -10px;
}

[class*='uk-tooltip-right'] {
  margin-left: 10px;
}

/* ========================================================================
   Component: Placeholder
 ========================================================================== */

.uk-placeholder {
  margin-bottom: 20px;
  padding: 30px 30px;
  background: transparent;
  border: 1px dashed #e5e5e5;
}

/* Add margin if adjacent element */

* + .uk-placeholder {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */

.uk-placeholder > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Progress
 ========================================================================== */

/*
 * 1. Remove default style
 * 2. Behave like a block element
 * 3. Remove borders in Firefox and Edge
 * 4. Set background color for progress container in Firefox, IE11 and Edge
 * 5. Style
 */

.uk-progress {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  display: block;
  width: 100%;
  /* 3 */
  border: 0;
  /* 4 */
  background-color: #f8f8f8;
  /* 5 */
  margin-bottom: 20px;
  height: 15px;
  border-radius: 500px;
  overflow: hidden;
}

/* Add margin if adjacent element */

* + .uk-progress {
  margin-top: 20px;
}

/*
 * Remove animated circles for indeterminate state in IE11 and Edge
 */

.uk-progress:indeterminate {
  color: transparent;
}

/*
 * Progress container
 * 2. Remove progress bar for indeterminate state in Firefox
 */

.uk-progress::-webkit-progress-bar {
  background-color: #f8f8f8;
  border-radius: 500px;
  overflow: hidden;
}

/* 2 */

.uk-progress:indeterminate::-moz-progress-bar {
  width: 0;
}

/*
 * Progress bar
 * 1. Remove right border in IE11 and Edge
 */

.uk-progress::-webkit-progress-value {
  background-color: #1e87f0;
  transition: width 0.6s ease;
}

.uk-progress::-moz-progress-bar {
  background-color: #1e87f0;
}

.uk-progress::-ms-fill {
  background-color: #1e87f0;
  transition: width 0.6s ease;
  /* 1 */
  border: 0;
}

/* ========================================================================
   Component: Sortable
 ========================================================================== */

.uk-sortable {
  position: relative;
}

/*
 * Deactivate browser touch actions in IE11 and Edge
 */

.uk-sortable > * {
  -ms-touch-action: none;
      touch-action: none;
}

/*
 * Deactivate pointer-events on SVGs in Safari
 */

.uk-sortable svg {
  pointer-events: none;
}

/*
 * Remove margin from the last-child
 */

.uk-sortable > :last-child {
  margin-bottom: 0;
}

/* Drag
 ========================================================================== */

.uk-sortable-drag {
  position: absolute !important;
  z-index: 1050 !important;
  pointer-events: none;
}

/* Placeholder
 ========================================================================== */

.uk-sortable-placeholder {
  opacity: 0;
}

/* Empty modifier
 ========================================================================== */

.uk-sortable-empty {
  min-height: 50px;
}

/* Handle
 ========================================================================== */

/* Hover */

.uk-sortable-handle:hover {
  cursor: move;
}

/* ========================================================================
   Component: Countdown
 ========================================================================== */

/* Item
 ========================================================================== */

/*
 * 1. Center numbers and separators vertically
 */

.uk-countdown-number,
.uk-countdown-separator {
  /* 1 */
  line-height: 70px;
}

/* Number
 ========================================================================== */

.uk-countdown-number {
  font-size: 2rem;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-countdown-number {
    font-size: 4rem;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-countdown-number {
    font-size: 6rem;
  }
}

/* Separator
 ========================================================================== */

.uk-countdown-separator {
  font-size: 1rem;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-countdown-separator {
    font-size: 2rem;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-countdown-separator {
    font-size: 3rem;
  }
}

/* Label
 ========================================================================== */

/* ========================================================================
   Component: Animation
 ========================================================================== */

[class*='uk-animation-'] {
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

/* Direction modifier
 ========================================================================== */

.uk-animation-reverse {
  animation-direction: reverse;
  animation-timing-function: ease-in;
}

/* Animations for scrollspy
 ========================================================================== */

/*
 * Fade
 */

.uk-animation-fade {
  animation-name: uk-fade;
  animation-duration: 0.8s;
  animation-timing-function: linear;
}

/*
 * Scale
 */

.uk-animation-scale-up {
  animation-name: uk-fade-scale-02;
}

.uk-animation-scale-down {
  animation-name: uk-fade-scale-18;
}

/*
 * Slide
 */

.uk-animation-slide-top {
  animation-name: uk-fade-top;
}

.uk-animation-slide-bottom {
  animation-name: uk-fade-bottom;
}

.uk-animation-slide-left {
  animation-name: uk-fade-left;
}

.uk-animation-slide-right {
  animation-name: uk-fade-right;
}

/*
 * Slide Small
 */

.uk-animation-slide-top-small {
  animation-name: uk-fade-top-small;
}

.uk-animation-slide-bottom-small {
  animation-name: uk-fade-bottom-small;
}

.uk-animation-slide-left-small {
  animation-name: uk-fade-left-small;
}

.uk-animation-slide-right-small {
  animation-name: uk-fade-right-small;
}

/*
 * Slide Medium
 */

.uk-animation-slide-top-medium {
  animation-name: uk-fade-top-medium;
}

.uk-animation-slide-bottom-medium {
  animation-name: uk-fade-bottom-medium;
}

.uk-animation-slide-left-medium {
  animation-name: uk-fade-left-medium;
}

.uk-animation-slide-right-medium {
  animation-name: uk-fade-right-medium;
}

/*
 * Kenburns
 */

.uk-animation-kenburns {
  animation-name: uk-scale-kenburns;
  animation-duration: 15s;
}

/*
 * Shake
 */

.uk-animation-shake {
  animation-name: uk-shake;
}

/* Duration modifier
 ========================================================================== */

.uk-animation-fast {
  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-'] {
  animation-name: none;
}

/* Keyframes used by animation classes
 ========================================================================== */

/*
 * Fade
 */

@keyframes uk-fade {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*
 * Slide Top
 */

@keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * Slide Bottom
 */

@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * Slide Left
 */

@keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*
 * Slide Right
 */

@keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*
 * Slide Top Small
 */

@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * Slide Bottom Small
 */

@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * Slide Left Small
 */

@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*
 * Slide Right Small
 */

@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*
 * Slide Top Medium
 */

@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * Slide Bottom Medium
 */

@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * Slide Left Medium
 */

@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*
 * Slide Right Medium
 */

@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*
 * Scale Up
 */

@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/*
 * Scale Down
 */

@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/*
 * Kenburns
 */

@keyframes uk-scale-kenburns {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.2);
  }
}

/*
 * Shake
 */

@keyframes uk-shake {
  0%, 100% {
    transform: translateX(0);
  }

  10% {
    transform: translateX(-9px);
  }

  20% {
    transform: translateX(8px);
  }

  30% {
    transform: translateX(-7px);
  }

  40% {
    transform: translateX(6px);
  }

  50% {
    transform: translateX(-5px);
  }

  60% {
    transform: translateX(4px);
  }

  70% {
    transform: translateX(-3px);
  }

  80% {
    transform: translateX(2px);
  }

  90% {
    transform: translateX(-1px);
  }
}

/* ========================================================================
   Component: Width
 ========================================================================== */

/* Equal child widths
 ========================================================================== */

[class*='uk-child-width'] > * {
  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']) {
  -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']) {
    -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']) {
    -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']) {
    -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']) {
    -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'] {
  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;
  -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;
    -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;
    -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;
    -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;
    -ms-flex: 1;
        flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px;
  }
}

/* ========================================================================
   Component: Text
 ========================================================================== */

/* Style modifiers
 ========================================================================== */

.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333;
}

.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.875rem;
  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: #1e87f0 !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: #1e87f0 !important;
}

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #1e87f0;
  }
}

/* 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. Add a hyphen where the word breaks
 * 4. 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
 */

.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word;
  /* 3 */
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* 4 */

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 {
  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: Cover
 ========================================================================== */

/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */

.uk-cover {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

iframe.uk-cover {
  pointer-events: none;
}

/* Container
 ========================================================================== */

/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */

.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative;
}

/* ========================================================================
   Component: Background
 ========================================================================== */

/* Color
 ========================================================================== */

.uk-background-default {
  background-color: #fff;
}

.uk-background-muted {
  background-color: #f8f8f8;
}

.uk-background-primary {
  background-color: #1e87f0;
}

.uk-background-secondary {
  background-color: #222;
}

/* Size
 ========================================================================== */

.uk-background-cover,
.uk-background-contain {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.uk-background-cover {
  background-size: cover;
}

.uk-background-contain {
  background-size: contain;
}

/* Position
 ========================================================================== */

.uk-background-top-left {
  background-position: 0 0;
}

.uk-background-top-center {
  background-position: 50% 0;
}

.uk-background-top-right {
  background-position: 100% 0;
}

.uk-background-center-left {
  background-position: 0 50%;
}

.uk-background-center-center {
  background-position: 50% 50%;
}

.uk-background-center-right {
  background-position: 100% 50%;
}

.uk-background-bottom-left {
  background-position: 0 100%;
}

.uk-background-bottom-center {
  background-position: 50% 100%;
}

.uk-background-bottom-right {
  background-position: 100% 100%;
}

/* Repeat
 ========================================================================== */

.uk-background-norepeat {
  background-repeat: no-repeat;
}

/* Attachment
 ========================================================================== */

.uk-background-fixed {
  background-attachment: fixed;
}

/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */

@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll;
  }
}

/* Image
 ========================================================================== */

/* Phone portrait and smaller */

@media (max-width: 639px) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}

/* Phone landscape and smaller */

@media (max-width: 959px) {
  .uk-background-image\@m {
    background-image: none !important;
  }
}

/* Tablet landscape and smaller */

@media (max-width: 1199px) {
  .uk-background-image\@l {
    background-image: none !important;
  }
}

/* Desktop and smaller */

@media (max-width: 1599px) {
  .uk-background-image\@xl {
    background-image: none !important;
  }
}

/* Blend modes
 ========================================================================== */

.uk-background-blend-multiply {
  background-blend-mode: multiply;
}

.uk-background-blend-screen {
  background-blend-mode: screen;
}

.uk-background-blend-overlay {
  background-blend-mode: overlay;
}

.uk-background-blend-darken {
  background-blend-mode: darken;
}

.uk-background-blend-lighten {
  background-blend-mode: lighten;
}

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge;
}

.uk-background-blend-color-burn {
  background-blend-mode: color-burn;
}

.uk-background-blend-hard-light {
  background-blend-mode: hard-light;
}

.uk-background-blend-soft-light {
  background-blend-mode: soft-light;
}

.uk-background-blend-difference {
  background-blend-mode: difference;
}

.uk-background-blend-exclusion {
  background-blend-mode: exclusion;
}

.uk-background-blend-hue {
  background-blend-mode: hue;
}

.uk-background-blend-saturation {
  background-blend-mode: saturation;
}

.uk-background-blend-color {
  background-blend-mode: color;
}

.uk-background-blend-luminosity {
  background-blend-mode: luminosity;
}

/* ========================================================================
   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: Utility
 ========================================================================== */

/* Panel
 ========================================================================== */

.uk-panel {
  position: relative;
  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;
}

/* Height
 ========================================================================== */

[class*='uk-height'] {
  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;
}

/* 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 {
  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 {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-medium {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-large {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-xlarge {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/*
 * Hover
 */

[class*='uk-box-shadow-hover'] {
  transition: box-shadow 0.1s ease-in-out;
}

.uk-box-shadow-hover-small:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-medium:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-large:hover {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-hover-xlarge:hover {
  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
 ========================================================================== */

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

/* Leader
 ========================================================================== */

.uk-leader {
  overflow: hidden;
}

/*
 * 1. Place element in text flow
 * 2. Never break into a new line
 * 3. Get a string back with as many repeating characters to fill the container
 * 4. Prevent wrapping. Overflowing characters will be clipped by the container
 */

.uk-leader-fill::after {
  /* 1 */
  display: inline-block;
  margin-left: 15px;
  /* 2 */
  width: 0;
  /* 3 */
  content: attr(data-fill);
  /* 4 */
  white-space: nowrap;
}

/*
 * Hide if media does not match
 */

.uk-leader-fill.uk-leader-hide::after {
  display: none;
}

/* Pass fill character to JS */

.var-leader-fill:before {
  content: ".";
}

/* Logo
 ========================================================================== */

/*
 * 1. Required for `a`
 */

.uk-logo {
  font-size: 1.5rem;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: white;
  /* 1 */
  text-decoration: none;
}

/* Hover + Focus */

.uk-logo:hover,
.uk-logo:focus {
  color: white;
  outline: none;
  /* 1 */
  text-decoration: none;
}

.uk-logo-inverse {
  display: none;
}

/* 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 {
  transform: translate(0, 0);
}

/* 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 {
  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 {
  transform: translate(-50%, -50%);
}

/* Transform Origin
========================================================================== */

.uk-transform-origin-top-left {
  transform-origin: 0 0;
}

.uk-transform-origin-top-center {
  transform-origin: 50% 0;
}

.uk-transform-origin-top-right {
  transform-origin: 100% 0;
}

.uk-transform-origin-center-left {
  transform-origin: 0 50%;
}

.uk-transform-origin-center-right {
  transform-origin: 100% 50%;
}

.uk-transform-origin-bottom-left {
  transform-origin: 0 100%;
}

.uk-transform-origin-bottom-center {
  transform-origin: 50% 100%;
}

.uk-transform-origin-bottom-right {
  transform-origin: 100% 100%;
}

/* ========================================================================
   Component: Flex
 ========================================================================== */

.uk-flex {
  display: -ms-flexbox;
  display: flex;
}

.uk-flex-inline {
  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 {
  -ms-flex-pack: start;
      justify-content: flex-start;
}

.uk-flex-center {
  -ms-flex-pack: center;
      justify-content: center;
}

.uk-flex-right {
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.uk-flex-between {
  -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 {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }

  .uk-flex-center\@s {
    -ms-flex-pack: center;
        justify-content: center;
  }

  .uk-flex-right\@s {
    -ms-flex-pack: end;
        justify-content: flex-end;
  }

  .uk-flex-between\@s {
    -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 {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }

  .uk-flex-center\@m {
    -ms-flex-pack: center;
        justify-content: center;
  }

  .uk-flex-right\@m {
    -ms-flex-pack: end;
        justify-content: flex-end;
  }

  .uk-flex-between\@m {
    -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 {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }

  .uk-flex-center\@l {
    -ms-flex-pack: center;
        justify-content: center;
  }

  .uk-flex-right\@l {
    -ms-flex-pack: end;
        justify-content: flex-end;
  }

  .uk-flex-between\@l {
    -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 {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }

  .uk-flex-center\@xl {
    -ms-flex-pack: center;
        justify-content: center;
  }

  .uk-flex-right\@xl {
    -ms-flex-pack: end;
        justify-content: flex-end;
  }

  .uk-flex-between\@xl {
    -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 {
  -ms-flex-align: stretch;
      align-items: stretch;
}

.uk-flex-top {
  -ms-flex-align: start;
      align-items: flex-start;
}

.uk-flex-middle {
  -ms-flex-align: center;
      align-items: center;
}

.uk-flex-bottom {
  -ms-flex-align: end;
      align-items: flex-end;
}

/* Direction
 ========================================================================== */

.uk-flex-row {
  -ms-flex-direction: row;
      flex-direction: row;
}

.uk-flex-row-reverse {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
}

.uk-flex-column {
  -ms-flex-direction: column;
      flex-direction: column;
}

.uk-flex-column-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 {
  -ms-flex-order: -1;
      order: -1;
}

.uk-flex-last {
  -ms-flex-order: 99;
      order: 99;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-flex-first\@s {
    -ms-flex-order: -1;
        order: -1;
  }

  .uk-flex-last\@s {
    -ms-flex-order: 99;
        order: 99;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-flex-first\@m {
    -ms-flex-order: -1;
        order: -1;
  }

  .uk-flex-last\@m {
    -ms-flex-order: 99;
        order: 99;
  }
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-flex-first\@l {
    -ms-flex-order: -1;
        order: -1;
  }

  .uk-flex-last\@l {
    -ms-flex-order: 99;
        order: 99;
  }
}

/* Large screen and bigger */

@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    -ms-flex-order: -1;
        order: -1;
  }

  .uk-flex-last\@xl {
    -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 {
  -ms-flex: none;
      flex: none;
}

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */

.uk-flex-auto {
  -ms-flex: auto;
      flex: auto;
}

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */

.uk-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%;
  transform: translate(-50%, -50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-max-content;
  max-width: 100%;
  box-sizing: border-box;
}

/* Vertical */

[class*='uk-position-center-left'],
[class*='uk-position-center-right'] {
  top: 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%;
  transform: translateX(-50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-max-content;
  max-width: 100%;
  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 {
  transform: translate(-50%, -50%) translate(-15px, -15px);
}

.uk-position-small[class*='uk-position-center-left'],
.uk-position-small[class*='uk-position-center-right'] {
  transform: translateY(-50%) translateY(-15px);
}

.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-15px);
}

/*
 * Medium
 */

.uk-position-medium {
  margin: 30px;
}

.uk-position-medium.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.uk-position-medium[class*='uk-position-center-left'],
.uk-position-medium[class*='uk-position-center-right'] {
  transform: translateY(-50%) translateY(-30px);
}

.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

/*
 * Large
 */

.uk-position-large {
  margin: 30px;
}

.uk-position-large.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.uk-position-large[class*='uk-position-center-left'],
.uk-position-large[class*='uk-position-center-right'] {
  transform: translateY(-50%) translateY(-30px);
}

.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-position-large {
    margin: 50px;
  }

  .uk-position-large.uk-position-center {
    transform: translate(-50%, -50%) translate(-50px, -50px);
  }

  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    transform: translateY(-50%) translateY(-50px);
  }

  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    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'] {
  transition: 0.3s ease-out;
  transition-property: opacity, transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -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 {
  transform: scale3d(1, 1, 1);
}

.uk-transition-scale-down {
  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;
  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;
  transform: scale3d(1, 1, 1);
}

/*
 * Slide
 */

[class*='uk-transition-slide'] {
  opacity: 0;
}

.uk-transition-slide-top {
  transform: translateY(-100%);
}

.uk-transition-slide-bottom {
  transform: translateY(100%);
}

.uk-transition-slide-left {
  transform: translateX(-100%);
}

.uk-transition-slide-right {
  transform: translateX(100%);
}

.uk-transition-slide-top-small {
  transform: translateY(-10px);
}

.uk-transition-slide-bottom-small {
  transform: translateY(10px);
}

.uk-transition-slide-left-small {
  transform: translateX(-10px);
}

.uk-transition-slide-right-small {
  transform: translateX(10px);
}

.uk-transition-slide-top-medium {
  transform: translateY(-50px);
}

.uk-transition-slide-bottom-medium {
  transform: translateY(50px);
}

.uk-transition-slide-left-medium {
  transform: translateX(-50px);
}

.uk-transition-slide-right-medium {
  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;
  transform: translateX(0) translateY(0);
}

/* Opacity modifier
========================================================================== */

.uk-transition-opaque {
  opacity: 1;
}

/* Duration modifiers
========================================================================== */

.uk-transition-slow {
  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']),
.uk-overlay-primary,
.uk-offcanvas-bar {
  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-overlay-primary a,
.uk-offcanvas-bar 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,
.uk-overlay-primary .uk-link,
.uk-offcanvas-bar .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-overlay-primary a:hover,
.uk-offcanvas-bar 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,
.uk-overlay-primary .uk-link:hover,
.uk-offcanvas-bar .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-overlay-primary :not(pre) > code,
.uk-offcanvas-bar :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-overlay-primary :not(pre) > kbd,
.uk-offcanvas-bar :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,
.uk-overlay-primary :not(pre) > samp,
.uk-offcanvas-bar :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,
.uk-overlay-primary em,
.uk-offcanvas-bar 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-overlay-primary h1,
.uk-offcanvas-bar 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-overlay-primary .uk-h1,
.uk-offcanvas-bar .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-overlay-primary h2,
.uk-offcanvas-bar 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-overlay-primary .uk-h2,
.uk-offcanvas-bar .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-overlay-primary h3,
.uk-offcanvas-bar 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-overlay-primary .uk-h3,
.uk-offcanvas-bar .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-overlay-primary h4,
.uk-offcanvas-bar 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-overlay-primary .uk-h4,
.uk-offcanvas-bar .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-overlay-primary h5,
.uk-offcanvas-bar 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-overlay-primary .uk-h5,
.uk-offcanvas-bar .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-overlay-primary h6,
.uk-offcanvas-bar 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,
.uk-overlay-primary .uk-h6,
.uk-offcanvas-bar .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,
.uk-overlay-primary blockquote,
.uk-offcanvas-bar 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,
.uk-overlay-primary blockquote footer,
.uk-offcanvas-bar 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-overlay-primary hr,
.uk-offcanvas-bar 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-overlay-primary a.uk-link-muted,
.uk-offcanvas-bar 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,
.uk-overlay-primary .uk-link-muted a,
.uk-offcanvas-bar .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-overlay-primary a.uk-link-muted:hover,
.uk-offcanvas-bar 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,
.uk-overlay-primary .uk-link-muted a:hover,
.uk-offcanvas-bar .uk-link-muted a:hover {
  color: rgba(255, 255, 255, 0.7);
}

.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,
.uk-overlay-primary .uk-heading-divider,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-heading-bullet::before,
.uk-offcanvas-bar .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-overlay-primary .uk-heading-line > :before,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-heading-line > :after,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-divider-icon,
.uk-offcanvas-bar .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%3E%3C%2Fcircle%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-overlay-primary .uk-divider-icon::before,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-divider-icon::after,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-divider-small::after,
.uk-offcanvas-bar .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),
.uk-overlay-primary .uk-list-divider > li:nth-child(n+2),
.uk-offcanvas-bar .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),
.uk-overlay-primary .uk-list-striped > li:nth-of-type(odd),
.uk-offcanvas-bar .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),
.uk-overlay-primary .uk-list-striped > li:nth-of-type(odd),
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-list-bullet > li::before,
.uk-offcanvas-bar .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%3E%3C%2Fcircle%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,
.uk-overlay-primary .uk-icon-link,
.uk-offcanvas-bar .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-overlay-primary .uk-icon-link:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-icon-link:focus,
.uk-offcanvas-bar .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-overlay-primary .uk-icon-link:active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-active > .uk-icon-link,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-icon-button,
.uk-offcanvas-bar .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-overlay-primary .uk-icon-button:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-icon-button:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-icon-button:active,
.uk-offcanvas-bar .uk-icon-button:active {
  background-color: rgba(230, 229, 229, 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-overlay-primary .uk-input,
.uk-offcanvas-bar .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-overlay-primary .uk-select,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-textarea,
.uk-offcanvas-bar .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-overlay-primary .uk-input:focus,
.uk-offcanvas-bar .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-overlay-primary .uk-select:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-textarea:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-input:-ms-input-placeholder,
.uk-offcanvas-bar .uk-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-input::-moz-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder,
.uk-card-primary.uk-card-body .uk-input::-moz-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-input::-moz-placeholder,
.uk-card-secondary.uk-card-body .uk-input::-moz-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-moz-placeholder,
.uk-overlay-primary .uk-input::-moz-placeholder,
.uk-offcanvas-bar .uk-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.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,
.uk-overlay-primary .uk-input::-webkit-input-placeholder,
.uk-offcanvas-bar .uk-input::-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,
.uk-overlay-primary .uk-textarea:-ms-input-placeholder,
.uk-offcanvas-bar .uk-textarea:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-textarea::-moz-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder,
.uk-card-primary.uk-card-body .uk-textarea::-moz-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-moz-placeholder,
.uk-card-secondary.uk-card-body .uk-textarea::-moz-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-moz-placeholder,
.uk-overlay-primary .uk-textarea::-moz-placeholder,
.uk-offcanvas-bar .uk-textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.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,
.uk-overlay-primary .uk-textarea::-webkit-input-placeholder,
.uk-offcanvas-bar .uk-textarea::-webkit-input-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]),
.uk-overlay-primary .uk-select:not([multiple]):not([size]),
.uk-offcanvas-bar .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%3E%3C%2Fpolygon%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%3E%3C%2Fpolygon%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-overlay-primary .uk-radio,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-checkbox,
.uk-offcanvas-bar .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-overlay-primary .uk-radio:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-checkbox:focus,
.uk-offcanvas-bar .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-overlay-primary .uk-radio:checked,
.uk-offcanvas-bar .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-overlay-primary .uk-checkbox:checked,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-checkbox:indeterminate,
.uk-offcanvas-bar .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-overlay-primary .uk-radio:checked:focus,
.uk-offcanvas-bar .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-overlay-primary .uk-checkbox:checked:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-checkbox:indeterminate:focus,
.uk-offcanvas-bar .uk-checkbox:indeterminate:focus {
  background-color: #e6e5e5;
}

.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-overlay-primary .uk-radio:checked,
.uk-offcanvas-bar .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%3E%3C%2Fcircle%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,
.uk-overlay-primary .uk-checkbox:checked,
.uk-offcanvas-bar .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%2F%3E%0A%3C%2Fsvg%3E");
}

.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,
.uk-overlay-primary .uk-checkbox:indeterminate,
.uk-offcanvas-bar .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%3E%3C%2Frect%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,
.uk-overlay-primary .uk-form-label,
.uk-offcanvas-bar .uk-form-label {
  color: #fff;
}

.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,
.uk-overlay-primary .uk-button-default,
.uk-offcanvas-bar .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-overlay-primary .uk-button-default:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-default:focus,
.uk-offcanvas-bar .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-overlay-primary .uk-button-default:active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-default.uk-active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-primary,
.uk-offcanvas-bar .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-overlay-primary .uk-button-primary:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-primary:focus,
.uk-offcanvas-bar .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-overlay-primary .uk-button-primary:active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-primary.uk-active,
.uk-offcanvas-bar .uk-button-primary.uk-active {
  background-color: #e6e5e5;
  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,
.uk-overlay-primary .uk-button-secondary,
.uk-offcanvas-bar .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-overlay-primary .uk-button-secondary:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-secondary:focus,
.uk-offcanvas-bar .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-overlay-primary .uk-button-secondary:active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-secondary.uk-active,
.uk-offcanvas-bar .uk-button-secondary.uk-active {
  background-color: #e6e5e5;
  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,
.uk-overlay-primary .uk-button-text,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-text::before,
.uk-offcanvas-bar .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-overlay-primary .uk-button-text:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-text:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-button-text:disabled,
.uk-offcanvas-bar .uk-button-text:disabled {
  color: rgba(255, 255, 255, 0.5);
}

.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,
.uk-overlay-primary .uk-grid-divider > :not(.uk-first-column)::before,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-close,
.uk-offcanvas-bar .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-overlay-primary .uk-close:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-close:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-totop,
.uk-offcanvas-bar .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-overlay-primary .uk-totop:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-totop:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-totop:active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-badge,
.uk-offcanvas-bar .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-overlay-primary .uk-badge:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-badge:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-label,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-article-meta,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-input,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-input:-ms-input-placeholder,
.uk-offcanvas-bar .uk-search-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-search-input::-moz-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder,
.uk-card-primary.uk-card-body .uk-search-input::-moz-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder,
.uk-card-secondary.uk-card-body .uk-search-input::-moz-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder,
.uk-overlay-primary .uk-search-input::-moz-placeholder,
.uk-offcanvas-bar .uk-search-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.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,
.uk-overlay-primary .uk-search-input::-webkit-input-placeholder,
.uk-offcanvas-bar .uk-search-input::-webkit-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,
.uk-overlay-primary .uk-search .uk-search-icon,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search .uk-search-icon:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-default .uk-search-input,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-default .uk-search-input:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-navbar .uk-search-input,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-large .uk-search-input,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-toggle,
.uk-offcanvas-bar .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-overlay-primary .uk-search-toggle:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-search-toggle:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-parent-icon > .uk-parent > a::after,
.uk-offcanvas-bar .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%3E%3C%2Fpolyline%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,
.uk-overlay-primary .uk-nav-parent-icon > .uk-parent.uk-open > a::after,
.uk-offcanvas-bar .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%3E%3C%2Fpolyline%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,
.uk-overlay-primary .uk-nav-default > li > a,
.uk-offcanvas-bar .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-overlay-primary .uk-nav-default > li > a:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-default > li > a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-default > li.uk-active > a,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-default .uk-nav-header,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-default .uk-nav-divider,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-default .uk-nav-sub a,
.uk-offcanvas-bar .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-overlay-primary .uk-nav-default .uk-nav-sub a:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-default .uk-nav-sub a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-primary > li > a,
.uk-offcanvas-bar .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-overlay-primary .uk-nav-primary > li > a:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-primary > li > a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-primary > li.uk-active > a,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-primary .uk-nav-header,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-primary .uk-nav-divider,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub a,
.uk-offcanvas-bar .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-overlay-primary .uk-nav-primary .uk-nav-sub a:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-navbar-nav > li > a,
.uk-offcanvas-bar .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-overlay-primary .uk-navbar-nav > li:hover > a,
.uk-offcanvas-bar .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-overlay-primary .uk-navbar-nav > li > a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-navbar-nav > li > a.uk-open,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-navbar-nav > li > a:active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-navbar-nav > li.uk-active > a,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-navbar-item,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-navbar-toggle,
.uk-offcanvas-bar .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-overlay-primary .uk-navbar-toggle:hover,
.uk-offcanvas-bar .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-overlay-primary .uk-navbar-toggle:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-navbar-toggle.uk-open,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav > * > :first-child,
.uk-offcanvas-bar .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-overlay-primary .uk-subnav > * > a:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav > * > a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav > .uk-active > a,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav-pill > * > :first-child,
.uk-offcanvas-bar .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-overlay-primary .uk-subnav-pill > * > a:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav-pill > * > a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav-pill > * > a:active,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav-pill > .uk-active > a,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-subnav > .uk-disabled > a,
.uk-offcanvas-bar .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 > * > *,
.uk-overlay-primary .uk-breadcrumb > * > *,
.uk-offcanvas-bar .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-overlay-primary .uk-breadcrumb > * > :hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-breadcrumb > * > :focus,
.uk-offcanvas-bar .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 > *,
.uk-overlay-primary .uk-breadcrumb > :last-child > *,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before,
.uk-offcanvas-bar .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 > * > *,
.uk-overlay-primary .uk-pagination > * > *,
.uk-offcanvas-bar .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-overlay-primary .uk-pagination > * > :hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-pagination > * > :focus,
.uk-offcanvas-bar .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 > *,
.uk-overlay-primary .uk-pagination > .uk-active > *,
.uk-offcanvas-bar .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 > *,
.uk-overlay-primary .uk-pagination > .uk-disabled > *,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-tab::before,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-tab > * > a,
.uk-offcanvas-bar .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-overlay-primary .uk-tab > * > a:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-tab > * > a:focus,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-tab > .uk-active > a,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-tab > .uk-disabled > a,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-slidenav,
.uk-offcanvas-bar .uk-slidenav {
  color: rgba(255, 255, 255, 0.3);
}

.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-overlay-primary .uk-slidenav:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-slidenav:focus,
.uk-offcanvas-bar .uk-slidenav:focus {
  color: rgba(255, 255, 255, 0.5);
}

.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,
.uk-overlay-primary .uk-slidenav:active,
.uk-offcanvas-bar .uk-slidenav:active {
  color: rgba(255, 255, 255, 0.6);
}

.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 > * > *,
.uk-overlay-primary .uk-dotnav > * > *,
.uk-offcanvas-bar .uk-dotnav > * > * {
  background-color: rgba(255, 255, 255, 0.1);
}

.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-overlay-primary .uk-dotnav > * > :hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-dotnav > * > :focus,
.uk-offcanvas-bar .uk-dotnav > * > :focus {
  background-color: rgba(255, 255, 255, 0.4);
}

.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,
.uk-overlay-primary .uk-dotnav > * > :active,
.uk-offcanvas-bar .uk-dotnav > * > :active {
  background-color: rgba(255, 255, 255, 0.6);
}

.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 > *,
.uk-overlay-primary .uk-dotnav > .uk-active > *,
.uk-offcanvas-bar .uk-dotnav > .uk-active > * {
  background-color: rgba(255, 255, 255, 0.6);
}

.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,
.uk-overlay-primary .uk-accordion-title::after,
.uk-offcanvas-bar .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%3E%3C%2Frect%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%3E%3C%2Frect%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,
.uk-overlay-primary .uk-open > .uk-accordion-title::after,
.uk-offcanvas-bar .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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-iconnav > * > *,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-card-primary.uk-card-body .uk-iconnav > * > *,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > *,
.uk-card-secondary.uk-card-body .uk-iconnav > * > *,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > *,
.uk-overlay-primary .uk-iconnav > * > *,
.uk-offcanvas-bar .uk-iconnav > * > * {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-iconnav > * > :hover,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-card-primary.uk-card-body .uk-iconnav > * > :hover,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > :hover,
.uk-card-secondary.uk-card-body .uk-iconnav > * > :hover,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > :hover,
.uk-overlay-primary .uk-iconnav > * > :hover,
.uk-offcanvas-bar .uk-iconnav > * > :hover,
.uk-light .uk-iconnav > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-card-primary.uk-card-body .uk-iconnav > * > :focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > :focus,
.uk-card-secondary.uk-card-body .uk-iconnav > * > :focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > :focus,
.uk-overlay-primary .uk-iconnav > * > :focus,
.uk-offcanvas-bar .uk-iconnav > * > :focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-iconnav > .uk-active > *,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-card-primary.uk-card-body .uk-iconnav > .uk-active > *,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > *,
.uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > *,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > *,
.uk-overlay-primary .uk-iconnav > .uk-active > *,
.uk-offcanvas-bar .uk-iconnav > .uk-active > * {
  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,
.uk-overlay-primary .uk-text-lead,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-text-meta,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-text-muted,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-text-primary,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-column-divider,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-logo,
.uk-offcanvas-bar .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-overlay-primary .uk-logo:hover,
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-logo:focus,
.uk-offcanvas-bar .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),
.uk-overlay-primary .uk-logo > :not(.uk-logo-inverse):not(:only-of-type),
.uk-offcanvas-bar .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,
.uk-overlay-primary .uk-logo-inverse,
.uk-offcanvas-bar .uk-logo-inverse {
  display: inline;
}

/* ========================================================================
   Component: Print
 ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

@page {
    margin: 0.5cm;
}

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

.en-sidebar {
  border-right: 1px solid #e5e5e5;
  width: 300px;
}

.en-container {
  position: fixed;
  bottom: 0;
  top: 80px;
  width: 100%;
}

.en-navbar-container {
  background: #1e87f0;
  height: 80px;
  color: white;
}

.index-headline {
  font-size: 68px;
  color: #1e87f0;
  font-weight: 100;
}

.en-logo {
  font-weight: 100;
}

.en-response-code .code {
  min-height: 100px;
}

.en-spinner {
  display: none;
}

.en-spinner.show {
  display: inline-block;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy92YXJpYWJsZXMtdGhlbWUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9taXhpbnMtdGhlbWUuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy91aWtpdC10aGVtZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL19pbXBvcnQuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS92YXJpYWJsZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9iYXNlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGluay5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2hlYWRpbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kaXZpZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGlzdC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Rlc2NyaXB0aW9uLWxpc3Quc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90YWJsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2ljb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9mb3JtLXJhbmdlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZm9ybS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2J1dHRvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NlY3Rpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9jb250YWluZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9ncmlkLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGlsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NhcmQuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9jbG9zZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NwaW5uZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9tYXJrZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90b3RvcC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FsZXJ0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYmFkZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9sYWJlbC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL292ZXJsYXkuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hcnRpY2xlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY29tbWVudC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NlYXJjaC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL25hdi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL25hdmJhci5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3N1Ym5hdi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2JyZWFkY3J1bWIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wYWdpbmF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGFiLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc2xpZGVuYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kb3RuYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90aHVtYm5hdi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FjY29yZGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Ryb3Auc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kcm9wZG93bi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL21vZGFsLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGlnaHRib3guc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zdGlja3kuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9vZmZjYW52YXMuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9pY29ubmF2LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbm90aWZpY2F0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdG9vbHRpcC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3BsYWNlaG9sZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvcHJvZ3Jlc3Muc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zb3J0YWJsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NvdW50ZG93bi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FuaW1hdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3dpZHRoLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGV4dC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NvbHVtbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2JhY2tncm91bmQuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hbGlnbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3V0aWxpdHkuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9tYXJnaW4uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wYWRkaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvcG9zaXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90cmFuc2l0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvaW52ZXJzZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvX2ltcG9ydC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmFyaWFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9taXhpbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFzZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGluay5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaGVhZGluZy5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGl2aWRlci5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlzdC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGVzY3JpcHRpb24tbGlzdC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGFibGUuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0tcmFuZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2J1dHRvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2VjdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29udGFpbmVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9ncmlkLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90aWxlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jYXJkLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jbG9zZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3Bpbm5lci5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdG90b3Auc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmtlci5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWxlcnQuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2JhZGdlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9sYWJlbC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYXJ0aWNsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29tbWVudC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25hdmJhci5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3VibmF2LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9icmVhZGNydW1iLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWdpbmF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90YWIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlbmF2LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kb3RuYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RodW1ibmF2LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hY2NvcmRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3Auc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3Bkb3duLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlc2hvdy5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2xpZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL29mZmNhbnZhcy5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3dpdGNoZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb25uYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdG9vbHRpcC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Byb2dyZXNzLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zb3J0YWJsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY291bnRkb3duLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3dpZHRoLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdmVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWNrZ3JvdW5kLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZmxleC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFyZ2luLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wb3NpdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdHJhbnNpdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaW52ZXJzZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3ZhcmlhYmxlcy10aGVtZS5zY3NzXCI7XG5AaW1wb3J0IFwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL21peGlucy10aGVtZS5zY3NzXCI7XG5cbkBpbXBvcnQgXCJ1aWtpdC9zcmMvc2Nzcy91aWtpdC10aGVtZS5zY3NzXCI7XG5cbi5lbi1zaWRlYmFyIHtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTVlNTtcblx0d2lkdGg6IDMwMHB4O1xufVxuLmVuLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Ym90dG9tOiAwO1xuXHR0b3A6IDgwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuLmVuLW5hdmJhci1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDtcblx0aGVpZ2h0OiA4MHB4O1xuXHRjb2xvcjogd2hpdGU7XG59XG4uaW5kZXgtaGVhZGxpbmUge1xuXHRmb250LXNpemU6IDY4cHg7XG5cdGNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDtcblx0Zm9udC13ZWlnaHQ6IDEwMDtcbn1cbi5pbmRleC1zdWJoZWFkbGluZSB7XG59XG4uZW4tbG9nbyB7XG5cdGZvbnQtd2VpZ2h0OiAxMDA7XG59XG4uZW4tcmVzcG9uc2UtY29kZSB7XG5cdFxuXHQuY29kZSB7XG5cdFx0bWluLWhlaWdodDogMTAwcHg7XG5cdH1cbn1cbi5lbi1zcGlubmVyIHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHQmLnNob3cge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxufSIsIiRnbG9iYWwtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ndXR0ZXI6IDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAjZjhmOGY4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtY29sb3I6ICM2NjYgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogIzFlODdmMCAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAjMzJkMjk2ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ6ICNmYWEwNWEgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kOiAjZjA1MDZlICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogNDBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLW1hcmdpbjogNzBweCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZTogMi42MjVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMjIyICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2Utc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYWRnZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWNvbG9yOiAjMWU4N2YwICFkZWZhdWx0O1xuJGJhc2UtbGluay1jb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstaG92ZXItY29sb3I6ICMwZjZlY2QgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyOiAjZTVlNWU1ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1lbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6IDcwcHggIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06IDEwMHB4ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1pdGVtLWxpbmUtaGVpZ2h0OiA3MHB4ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06IDNyZW0gIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6IDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6IDE2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtd2lkdGg6IDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTZweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Atei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG4kZm9ybS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICRmb3JtLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0td2lkdGgteHNtYWxsOiA0MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6IDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAtNHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiA1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWljb24td2lkdGg6IDMwcHggIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06IDMuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LW06IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiA0cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtczogNnJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtczogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06IDhyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LXRvcDogdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogMC45ZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAwLjZlbSAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGljb24taW1hZ2Utc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRpY29uLWxpbmstY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6IGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tc2l6ZTogMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaGVpZ2h0OiAkbGlzdC1idWxsZXQtd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJG1hcmdpbi1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW46ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtbWFyZ2luOiAxNDBweCAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFya2VyLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXZlcnRpY2FsOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4tdmVydGljYWwteHM6IDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi1ob3Jpem9udGFsOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi12ZXJ0aWNhbC14cyAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wb3NpdGlvbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246IDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6IDEwMCUgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjogbGlnaHRlbigkZ2xvYmFsLWludmVyc2UtY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWNhcHRpb24tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2FwdGlvbi1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUzRSUzQyUyRnBvbHlsaW5lJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAoJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogMzBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAzNTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tYm90dG9tOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aDogMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aC1tOiAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246IDIwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmcteGxhcmdlLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmcteGxhcmdlLXBhZGRpbmctbTogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy14bGFyZ2UtcGFkZGluZy1sOiAoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgKiAyKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6IDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2Utd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMC4wMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdG9vbHRpcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJHRvdG9wLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zY2FsZTogMS4xICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246IDAuN3MgIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6IDE3MHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlaWdodC1zbWFsbC1oZWlnaHQ6IDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiA0NTBweCAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1jb250ZW50OiAnLicgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGxvZ28tZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxvZ28tY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJGRyYWdvdmVyLWJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsOiA2NDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bTogOTYwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteGxhcmdlOiAxNjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14c21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtc21hbGwgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsLW1heDogKCRicmVha3BvaW50LW1lZGl1bSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtLW1heDogKCRicmVha3BvaW50LWxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZS1tYXg6ICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJHdpZHRoLXNtYWxsLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLXh4bGFyZ2Utd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTogMC44ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbDogMnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRiYXNlLXByZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDIwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAzMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1ib3JkZXI6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWJvcmRlcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiBkYXNoZWQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmc6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1jb2xvcjogJHRleHQtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDsiLCJAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZSgpe1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgaGVpZ2h0OiAoJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodCAqIDFlbSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgfVxuXG4gICAgLnVrLW9wZW4gPiAmOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpe1xuXG4gICAgLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZ2xvYmFsLWNvbG9yKTsgfVxuXG4gICAgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWxlcnQoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xufVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbkBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogQ29udGVudFxuICAgICAqL1xuXG4gICAgLnVrLWFsZXJ0IGgxLFxuICAgIC51ay1hbGVydCBoMixcbiAgICAudWstYWxlcnQgaDMsXG4gICAgLnVrLWFsZXJ0IGg0LFxuICAgIC51ay1hbGVydCBoNSxcbiAgICAudWstYWxlcnQgaDYgeyBjb2xvcjogaW5oZXJpdDsgfVxuXG4gICAgLnVrLWFsZXJ0IGE6bm90KFtjbGFzc10pIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWFydGljbGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe1xuXG4gICAgYSB7IGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I7IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKXtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlICB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWFydGljbGUtbWV0YSAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhY2tncm91bmQtbWlzYygpe31cbkBtaXhpbiBob29rLWJhZGdlKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYWRnZSgpe1xuXG4gICAgLnVrLWJhZGdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhZGdlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFkZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJhZGdlOmhvdmVyLFxuICAgIC51ay1iYWRnZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFzZS1jb2RlKCl7XG4gICAgcGFkZGluZzogJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsICRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWNvZGUtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWJhc2UtaDEoKXtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xufVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7XG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtY29sb3I7XG59XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7XG5cbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLXByZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGJhc2UtcHJlLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1wcmUtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLXByZS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXByZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpe1xuXG4gICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29sb3I7XG5cbiAgICAvLyBCYXNlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgYSxcbiAgICAudWstbGluayAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluaygpO31cbiAgICB9XG5cbiAgICBhOmhvdmVyLFxuICAgIC51ay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBDb2RlXG4gICAgLy9cblxuICAgIDpub3QocHJlKSA+IGNvZGUsXG4gICAgOm5vdChwcmUpID4ga2JkLFxuICAgIDpub3QocHJlKSA+IHNhbXAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEVtcGhhc2l6ZVxuICAgIC8vXG5cbiAgICBlbSB7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWVtLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIEhlYWRpbmdzXG4gICAgLy9cblxuICAgIGgxLCAudWstaDEsXG4gICAgaDIsIC51ay1oMixcbiAgICBoMywgLnVrLWgzLFxuICAgIGg0LCAudWstaDQsXG4gICAgaDUsIC51ay1oNSxcbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKTt9XG4gICAgfVxuXG4gICAgaDEsIC51ay1oMSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDEoKTt9XG4gICAgfVxuXG4gICAgaDIsIC51ay1oMiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDIoKTt9XG4gICAgfVxuXG4gICAgaDMsIC51ay1oMyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDMoKTt9XG4gICAgfVxuXG4gICAgaDQsIC51ay1oNCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDQoKTt9XG4gICAgfVxuXG4gICAgaDUsIC51ay1oNSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDUoKTt9XG4gICAgfVxuXG4gICAgaDYsIC51ay1oNiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDYpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDYoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCbG9ja3F1b3Rlc1xuICAgIC8vXG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKTt9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSBmb290ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gSG9yaXpvbnRhbCBydWxlc1xuICAgIC8vXG5cbiAgICBociB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWJhc2UtaHItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKXtcblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b24tdGV4dC10cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLWRlZmF1bHQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLXRleHQtYm9yZGVyO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe1xuXG4gICAgJjo6YmVmb3JlIHsgcmlnaHQ6IDA7IH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXtcblxuICAgICY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tbWlzYygpe1xuXG4gICAgLyogR3JvdXBcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQ29sbGFwc2UgYm9yZGVyXG4gICAgICovXG5cbiAgICAudWstYnV0dG9uLWdyb3VwID4gLnVrLWJ1dHRvbjpudGgtY2hpbGQobisyKSxcbiAgICAudWstYnV0dG9uLWdyb3VwID4gZGl2Om50aC1jaGlsZChuKzIpIC51ay1idXR0b24geyBtYXJnaW4tbGVmdDogKC0kYnV0dG9uLWJvcmRlci13aWR0aCk7IH1cblxuICAgIC8qXG4gICAgICogQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gc3VwZXJpbXBvc2UgdGhlIHN1Y2Nlc3NvciBlbGVtZW50cyBib3JkZXJcbiAgICAgKiBLbm93biBpc3N1ZTogSWYgeW91IHVzZSBhbiBgYWAgZWxlbWVudCBhcyBidXR0b24gYW5kIGFuIGljb24gaW5zaWRlLFxuICAgICAqIHRoZSBhY3RpdmUgc3RhdGUgd2lsbCBub3Qgd29yayBpZiB5b3UgY2xpY2sgdGhlIGljb24gaW5zaWRlIHRoZSBidXR0b25cbiAgICAgKiBXb3JrYXJvdW5kOiBKdXN0IHVzZSBhIGBidXR0b25gIG9yIGBpbnB1dGAgZWxlbWVudCBhcyBidXR0b25cbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpob3ZlcixcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246Zm9jdXMsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe1xuICAgICY6OmJlZm9yZSB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxufVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKXtcblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jYXJkKCl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbkBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuQG1peGluIGhvb2stY2FyZC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7IGJvcmRlci1ib3R0b206ICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXsgYm9yZGVyLXRvcDogJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoICBzb2xpZCAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogRGVmYXVsdFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW46ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCkgKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cbiAgICAudWstY2FyZC10aXRsZSArIC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbi10b3A6IDA7IH1cblxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IHsgbWFyZ2luOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCkgKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sKTsgfVxuICAgICAgICAudWstY2FyZC10aXRsZSArIC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbi10b3A6IDA7IH1cblxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBTbWFsbFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IHsgbWFyZ2luOiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWwpOyB9XG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtdGl0bGUgKyAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICAudWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAudWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuICAgIC8qXG4gICAgICogTGFyZ2VcbiAgICAgKi9cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbjogKC0kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbCArIDE1cHgpICgtJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7IH1cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtdGl0bGUgKyAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNsb3NlKCl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKXtcblxuICAgIC51ay1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlKCk7fVxuICAgIH1cblxuICAgIC51ay1jbG9zZTpob3ZlcixcbiAgICAudWstY2xvc2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCl7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1ydWxlLWNvbG9yOiAkaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgICAgICAtbW96LWNvbHVtbi1ydWxlLWNvbG9yOiAkaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgICAgICBjb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7XG4gICAgcGFkZGluZzogJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvdW50ZG93bigpe1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIsXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe31cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXtcbiAgICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtO1xufVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fVxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KXtcblxuICAgICRlc2NhcGUtY29sb3ItZGVmYXVsdDogIGVzY2FwZSgkY29sb3ItZGVmYXVsdCkgIWRlZmF1bHQ7XG4gICAgJGVzY2FwZS1jb2xvci1uZXc6ICBlc2NhcGUoXCIjeyRjb2xvci1uZXd9XCIpICFkZWZhdWx0O1xuXG4gICAgJGRhdGEtdXJpOiAgZGF0YS11cmkoJ2ltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCcsIFwiI3skc3JjfVwiKSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6ICByZXBsYWNlKFwiI3skZGF0YS11cml9XCIsIFwiI3skZXNjYXBlLWNvbG9yLWRlZmF1bHR9XCIsIFwiI3skZXNjYXBlLWNvbG9yLW5ld31cIiwgXCJnXCIpICFkZWZhdWx0O1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZSgkcmVwbGFjZS1zcmMpO1xufVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpe1xuXG4gICAgLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRvdG5hdigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCl7XG5cbiAgICAudWstZG90bmF2ID4gKiA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRkcm9wZG93bi1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXsgZm9udC1zaXplOiAkZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpeyBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXsgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0oKXtcbiAgICBib3JkZXI6ICRmb3JtLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1ib3JkZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5AbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuQG1peGluIGhvb2stZm9ybS1mb2N1cygpeyBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1kYW5nZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1ibGFuaygpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI7XG4gICAgYm9yZGVyLXN0eWxlOiAkZm9ybS1ibGFuay1mb2N1cy1ib3JkZXItc3R5bGU7XG59XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvKCl7XG4gICAgYm9yZGVyOiAkZm9ybS1yYWRpby1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tcmFkaW8tYm9yZGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbkBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG59XG5AbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCl7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCl7XG5cbiAgICAudWstaW5wdXQsXG4gICAgLnVrLXNlbGVjdCxcbiAgICAudWstdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtKCk7fVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQbGFjZWhvbGRlclxuICAgIC8vXG5cbiAgICAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG4gICAgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cbiAgICAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXJhZGlvLFxuICAgIC51ay1jaGVja2JveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpbygpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIENoZWNrZWRcbiAgICAudWstcmFkaW86Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy8gTGFiZWxcbiAgICAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCl7XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCl7XG5cbiAgICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSxcbiAgICAudWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24oKXtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yXG59XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpe1xuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluaygpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmhvdmVyLFxuICAgIC51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmFjdGl2ZSxcbiAgICAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQnV0dG9uXG4gICAgLy9cblxuICAgIC51ay1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjpob3ZlcixcbiAgICAudWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staWNvbm5hdigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpe1xuXG4gICAgLnVrLWljb25uYXYgPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1sYWJlbCgpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbGFiZWwtdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbkBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbkBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGFiZWwoKXtcblxuICAgIC51ay1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sYWJlbC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxhYmVsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7XG5cbiAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBib3JkZXItdG9wOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJGxpc3Qtc3RyaXBlZC1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saXN0LWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXtcblxuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpe1xuXG4gICAgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4gICAgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCl7XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQsXG4gICAgLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1tdXRlZDpob3ZlcixcbiAgICAudWstbGluay1tdXRlZCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpe1xuXG4gICAgLnVrLXRvdG9wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmhvdmVyLFxuICAgIC51ay10b3RvcDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuICAgIC51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuICAgIC8vXG4gICAgLy8gSWNvblxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVG9nZ2xlXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+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+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIsXG4gICAgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKXtcblxuICAgIC51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4gICAgLnVrLWRyb3BjYXAgcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kcm9wY2FwKCk7fVxuICAgIH1cblxuICAgIC51ay1sZWFkZXItZmlsbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGVhZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28oKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ286aG92ZXIsXG4gICAgLnVrLWxvZ286Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nby1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nby1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBpbmxpbmU7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZSgpe1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnV0dG9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCk7XG59XG5AbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbkBtaXhpbiBob29rLW1hcmtlcigpe1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbWFya2VyKCl7XG5cbiAgICAudWstbWFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyKCk7fVxuICAgIH1cblxuICAgIC51ay1tYXJrZXI6aG92ZXIsXG4gICAgLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLW1vZGFsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXsgZm9udC1zaXplOiAkbmF2LWRlZmF1bHQtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpeyBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7IGJveC1zaGFkb3c6IG5vbmU7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKXsgZm9udC1zaXplOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogTmF2YmFyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuICAgIC8qXG4gICAgICogR3JpZCBEaXZpZGVyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAoJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsIC8gMik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWwgLyAyKTtcbiAgICAgICAgbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbkBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXsgYm9yZGVyOiAkcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoIGRhc2hlZCAkcGxhY2Vob2xkZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fVxuQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXByaW50KCl7fVxuQG1peGluIGhvb2stcHJvZ3Jlc3MoKXtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1peGluIGhvb2stcHJvZ3Jlc3MtYmFyKCl7fVxuQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbkBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlcjogJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aCBzb2xpZCAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXNlYXJjaC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24oKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW11dGVkKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW1lZGlhKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYoKXtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbkBtaXhpbiBob29rLXN1Ym5hdigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7XG4gICAgZm9udC1zaXplOiAkc3VibmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN3aXRjaGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10YWIoKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAkdGFiLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItaXRlbSgpe1xuICAgIGJvcmRlci1ib3R0b206ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5AbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICR0YWItaXRlbS1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYi1ib3R0b20oKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLWJvdHRvbS1pdGVtKCl7XG4gICAgYm9yZGVyLXRvcDogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1peGluIGhvb2stdGFiLWxlZnQoKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLXJpZ2h0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXtcbiAgICBib3JkZXItcmlnaHQ6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1taXNjKCl7XG5cbiAgICAudWstdGFiIC51ay1kcm9wZG93biB7IG1hcmdpbi1sZWZ0OiAoJHRhYi1tYXJnaW4taG9yaXpvbnRhbCArICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWwpIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWIoKXtcblxuICAgICY6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogJGludmVyc2UtdGFiLWJvcmRlcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDsgfVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYmxlKCl7fVxuQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtbWlzYygpe1xuXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWJsZSgpe1xuXG4gICAgLnVrLXRhYmxlIHRoIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtY2FwdGlvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6Zmlyc3QtY2hpbGQgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbiAgICAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtaG92ZXIgPiB0cjpob3ZlcixcbiAgICAudWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2stdGV4dC1tZXRhKCl7XG5cbiAgICBhIHsgY29sb3I6ICR0ZXh0LW1ldGEtbGluay1jb2xvcjsgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1tZXRhLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpe31cbkBtaXhpbiBob29rLXRpbGUoKXt9XG5AbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwKCl7fVxuQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuQG1peGluIGhvb2stdG90b3AoKXtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cbkBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1kcm9wY2FwKCl7XG4gICAgLy8gUHJldmVudCBsaW5lIHdyYXBcbiAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xufVxuQG1peGluIGhvb2stbGVhZGVyKCl7fVxuQG1peGluIGhvb2stbG9nbygpe31cbkBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe31cbkBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbkBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9IiwiLy9cbi8vIFRoZW1lXG4vL1xuXG5AaW1wb3J0IFwidGhlbWUvX2ltcG9ydC5zY3NzXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL19pbXBvcnQuc2Nzc1wiO1xuXG5cbiIsIi8vIEJhc2VcbkBpbXBvcnQgXCJ2YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2Uuc2Nzc1wiO1xuXG4vLyBFbGVtZW50c1xuQGltcG9ydCBcImxpbmsuc2Nzc1wiO1xuQGltcG9ydCBcImhlYWRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcImRpdmlkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcImRlc2NyaXB0aW9uLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcInRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJpY29uLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLXJhbmdlLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLnNjc3NcIjtcbkBpbXBvcnQgXCJidXR0b24uc2Nzc1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJzZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb250YWluZXIuc2Nzc1wiO1xuQGltcG9ydCBcImdyaWQuc2Nzc1wiO1xuQGltcG9ydCBcInRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNhcmQuc2Nzc1wiO1xuXG4vLyBDb21tb25cbkBpbXBvcnQgXCJjbG9zZS5zY3NzXCI7XG5AaW1wb3J0IFwic3Bpbm5lci5zY3NzXCI7XG5AaW1wb3J0IFwibWFya2VyLnNjc3NcIjtcbkBpbXBvcnQgXCJ0b3RvcC5zY3NzXCI7XG5AaW1wb3J0IFwiYWxlcnQuc2Nzc1wiO1xuQGltcG9ydCBcImJhZGdlLnNjc3NcIjtcbkBpbXBvcnQgXCJsYWJlbC5zY3NzXCI7XG5AaW1wb3J0IFwib3ZlcmxheS5zY3NzXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tbWVudC5zY3NzXCI7XG5AaW1wb3J0IFwic2VhcmNoLnNjc3NcIjtcblxuLy8gTmF2c1xuQGltcG9ydCBcIm5hdi5zY3NzXCI7XG5AaW1wb3J0IFwibmF2YmFyLnNjc3NcIjtcbkBpbXBvcnQgXCJzdWJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcImJyZWFkY3J1bWIuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2luYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRhYi5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVuYXYuc2Nzc1wiO1xuQGltcG9ydCBcImRvdG5hdi5zY3NzXCI7XG5AaW1wb3J0IFwidGh1bWJuYXYuc2Nzc1wiO1xuXG4vLyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwiYWNjb3JkaW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJkcm9wLnNjc3NcIjtcbkBpbXBvcnQgXCJkcm9wZG93bi5zY3NzXCI7XG5AaW1wb3J0IFwibW9kYWwuc2Nzc1wiO1xuQGltcG9ydCBcImxpZ2h0Ym94LnNjc3NcIjtcbkBpbXBvcnQgXCJzdGlja3kuc2Nzc1wiO1xuQGltcG9ydCBcIm9mZmNhbnZhcy5zY3NzXCI7XG5cbi8vIEFkZGl0aW9uYWxcbkBpbXBvcnQgXCJpY29ubmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJub3RpZmljYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJwcm9ncmVzcy5zY3NzXCI7XG5AaW1wb3J0IFwic29ydGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvdW50ZG93bi5zY3NzXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcImFuaW1hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwid2lkdGguc2Nzc1wiO1xuQGltcG9ydCBcInRleHQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbHVtbi5zY3NzXCI7XG5AaW1wb3J0IFwiYmFja2dyb3VuZC5zY3NzXCI7XG5AaW1wb3J0IFwiYWxpZ24uc2Nzc1wiO1xuQGltcG9ydCBcInV0aWxpdHkuc2Nzc1wiO1xuQGltcG9ydCBcIm1hcmdpbi5zY3NzXCI7XG5AaW1wb3J0IFwicGFkZGluZy5zY3NzXCI7XG5AaW1wb3J0IFwicG9zaXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImludmVyc2Uuc2Nzc1wiO1xuIiwiLy9cbi8vIENvbXBvbmVudDogVmFyaWFibGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gR2xvYmFsIHZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vL1xuLy8gQ29sb3JzXG4vL1xuXG4vL1xuLy8gQmFja2dyb3VuZHNcbi8vXG5cbi8vXG4vLyBCb3JkZXJzXG4vL1xuXG4vL1xuLy8gU3BhY2luZ3Ncbi8vXG5cbi8vXG4vLyBDb250cm9sc1xuLy9cblxuLy9cbi8vIFotaW5kZXhcbi8vIiwiLy9cbi8vIENvbXBvbmVudDogQmFzZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGJhc2UtYmxvY2txdW90ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1wcmUtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRiYXNlLXByZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuXG5cbi8vIEJvZHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG5cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cblxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEhlYWRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1oZWFkaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWgzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWg2KCl7fVxuXG5cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuXG5cbi8vIEJsb2NrcXVvdGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cbi8vIFByZWZvcm1hdHRlZCB0ZXh0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IExpbmtcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE11dGVkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cblxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cblxuXG4vLyBUZXh0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG5cblxuLy8gSGVhZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cblxuLy8gQG1peGluIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuXG5cbi8vIFJlc2V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGluay1yZXNldCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEhlYWRpbmdcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFByaW1hcnlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG5cblxuLy8gSGVyb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cblxuXG4vLyBEaXZpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuXG5cbi8vIEJ1bGxldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuXG5cbi8vIExpbmVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IERpdmlkZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cblxuXG4vLyBTbWFsbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTGlzdFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWJ1bGxldCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRhYmxlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cblxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cblxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG5cblxuLy8gU2l6ZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBJY29uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTGlua1xuLy9cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG5cbi8vXG4vLyBCdXR0b25cbi8vXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogRm9ybSBSYW5nZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuXG5cbi8vIFRodW1iXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gVHJhY2tcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEZvcm1cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0taGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRmb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tc21hbGwtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJGZvcm0tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgICBkYXNoZWQgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG5cblxuXG5cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBSYWRpbyBhbmQgY2hlY2tib3hcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5cblxuXG5cbi8vIExlZ2VuZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuXG5cbi8vIExhYmVsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cblxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cblxuIiwiLy9cbi8vIENvbXBvbmVudDogQnV0dG9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJ1dHRvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYnV0dG9uLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kYnV0dG9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidXR0b24tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDIwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAzMCUpICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRidXR0b24tdGV4dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYnV0dG9uLXRleHQtaG92ZXItY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cbi8vXG4vLyBQcmltYXJ5XG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cblxuLy9cbi8vIFNlY29uZGFyeVxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuXG4vL1xuLy8gRGFuZ2VyXG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG5cblxuLy8gRGlzYWJsZWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBTaXplIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuXG5cbi8vIFRleHQgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cbi8vIExpbmsgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU2VjdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLWRlZmF1bHQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IENvbnRhaW5lclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEdyaWRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGlsZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGlsZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBDYXJkXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRjYXJkLWhvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuXG5cbi8vIE1lZGlhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuXG5cbi8vIEJhZGdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cblxuXG4vLyBIb3ZlciBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5cblxuXG5cblxuXG5cbi8vXG4vLyBQcmltYXJ5XG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuXG5cblxuLy9cbi8vIFNlY29uZGFyeVxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuIiwiLy9cbi8vIENvbXBvbmVudDogQ2xvc2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU3Bpbm5lclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBNYXJrZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogVG90b3Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQWxlcnRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEJhZGdlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZSgpe31cblxuLy8gQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IExhYmVsXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGxhYmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiRsYWJlbC10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQ29sb3IgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cblxuLy8gQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cblxuLy8gQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE92ZXJsYXlcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5cbi8vIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBBcnRpY2xlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRhcnRpY2xlLW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuXG5cbi8vIEFkamFjZW50IHNpYmxpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuXG5cbi8vIFRpdGxlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cblxuXG4vLyBNZXRhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQ29tbWVudFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRjb21tZW50LXByaW1hcnktcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudCgpe31cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuXG5cbi8vIE1ldGFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG5cblxuLy8gQXZhdGFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5cblxuLy8gTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU2VhcmNoXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuXG5cbi8vIERlZmF1bHQgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTmF2YmFyIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuXG5cbi8vIExhcmdlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cblxuXG4vLyBUb2dnbGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE5hdlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRuYXYtZGVmYXVsdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuXG4vLyBTdWJsaXN0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5cblxuLy8gUGFyZW50IGljb24gbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5cblxuLy8gSGVhZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cblxuXG4vLyBEaXZpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5cblxuLy8gRGVmYXVsdCBzdHlsZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuXG5cbi8vIFByaW1hcnkgc3R5bGUgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBOYXZiYXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDI1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICgkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgKiAyKSAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgMCA1cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5cblxuLy8gQ29udGFpbmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cblxuXG4vLyBOYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cblxuXG4vLyBJdGVtXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWl0ZW0oKXt9XG5cblxuLy8gVG9nZ2xlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5cblxuLy8gU3VidGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuXG5cbi8vIERyb3Bkb3duXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cbi8vIERyb3Bkb3duIG5hdlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cblxuXG4vLyBEcm9wYmFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBTdWJuYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kc3VibmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5cblxuLy8gRGl2aWRlciBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuXG5cbi8vIFBpbGwgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuXG5cbi8vIERpc2FibGVkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBCcmVhZGNydW1iXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuXG5cbi8vIEl0ZW1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogUGFnaW5hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cblxuXG4vLyBJdGVtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGFiXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJHRhYi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSXRlbXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cblxuXG4vLyBQb3NpdGlvbiBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFiLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFNsaWRlbmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cblxuXG4vLyBJY29uIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG5cblxuLy8gU2l6ZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuXG5cbi8vIENvbnRhaW5lclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IERvdG5hdlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2KCl7fVxuXG5cblxuIiwiLy9cbi8vIENvbXBvbmVudDogVGh1bWJuYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuNCkgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG5cblxuXG5cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQWNjb3JkaW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuXG5cbi8vIEl0ZW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cblxuXG4vLyBUaXRsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5cblxuLy8gQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5cblxuIiwiLy9cbi8vIENvbXBvbmVudDogRHJvcFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRyb3AtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBEcm9wZG93blxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJGRyb3Bkb3duLW5hdi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE5hdlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE1vZGFsXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuXG5cbi8vIERpYWxvZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cblxuXG4vLyBGdWxsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuXG5cblxuXG4vLyBUaXRsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLXRpdGxlKCl7fVxuXG5cbi8vIENsb3NlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UoKXt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuXG5cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbW9kYWwtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBMaWdodGJveFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3goKXt9XG5cblxuLy8gSXRlbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG5cblxuLy8gVG9vbGJhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG5cblxuLy8gVG9vbGJhciBJY29uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG5cblxuLy8gQnV0dG9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU3RpY2t5XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQmFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cblxuXG4vLyBPdmVybGF5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEljb25uYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cblxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG5cblxuLy8gTWVzc2FnZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuXG5cbi8vIENsb3NlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tc3VjY2Vzcygpe31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLXdhcm5pbmcoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1kYW5nZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRvb2x0aXBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJHBsYWNlaG9sZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogUHJvZ3Jlc3Ncbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IFNvcnRhYmxlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cblxuXG4vLyBEcmFnXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cblxuXG4vLyBQbGFjZWhvbGRlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuXG5cbi8vIEVtcHR5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBDb3VudGRvd25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bigpe31cblxuXG4vLyBJdGVtXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5cblxuLy8gTnVtYmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW51bWJlcigpe31cblxuXG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuXG5cbi8vIExhYmVsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogQW5pbWF0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogV2lkdGhcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRleHRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kdGV4dC1tZXRhLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRleHQtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cblxuXG5cblxuLy8gU2l6ZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuXG5cbi8vIEJhY2tncm91bmQgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IENvbHVtblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEJhY2tncm91bmRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQWxpZ25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFV0aWxpdHlcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFBhbmVsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cblxuXG4vLyBCb3gtc2hhZG93IGJvdHRvbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuXG5cbi8vIERyb3AgY2FwXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTGVhZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGVhZGVyKCl7fVxuXG5cbi8vIExvZ29cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1sb2dvKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZHJvcGNhcCgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBNYXJnaW5cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBQYWRkaW5nXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFBvc2l0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEludmVyc2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9IiwiLy8gQmFzZVxuQGltcG9ydCBcInZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW4uc2Nzc1wiO1xuQGltcG9ydCBcImJhc2Uuc2Nzc1wiO1xuXG4vLyBFbGVtZW50c1xuQGltcG9ydCBcImxpbmsuc2Nzc1wiO1xuQGltcG9ydCBcImhlYWRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcImRpdmlkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcImRlc2NyaXB0aW9uLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcInRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJpY29uLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLXJhbmdlLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb24sIEZvcm0gUmFuZ2VcbkBpbXBvcnQgXCJidXR0b24uc2Nzc1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJzZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb250YWluZXIuc2Nzc1wiO1xuQGltcG9ydCBcImdyaWQuc2Nzc1wiO1xuQGltcG9ydCBcInRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNhcmQuc2Nzc1wiO1xuXG4vLyBDb21tb25cbkBpbXBvcnQgXCJjbG9zZS5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwic3Bpbm5lci5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwidG90b3Auc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcIm1hcmtlci5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwiYWxlcnQuc2Nzc1wiOyAvLyBBZnRlcjogQ2xvc2VcbkBpbXBvcnQgXCJiYWRnZS5zY3NzXCI7XG5AaW1wb3J0IFwibGFiZWwuc2Nzc1wiO1xuQGltcG9ydCBcIm92ZXJsYXkuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImFydGljbGUuc2Nzc1wiOyAvLyBBZnRlcjogU3VibmF2XG5AaW1wb3J0IFwiY29tbWVudC5zY3NzXCI7IC8vIEFmdGVyOiBTdWJuYXZcbkBpbXBvcnQgXCJzZWFyY2guc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuXG4vLyBOYXZzXG5AaW1wb3J0IFwibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJuYXZiYXIuc2Nzc1wiOyAvLyBBZnRlcjogQ2FyZCwgR3JpZCwgTmF2LCBJY29uLCBTZWFyY2hcbkBpbXBvcnQgXCJzdWJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcImJyZWFkY3J1bWIuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2luYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRhYi5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVuYXYuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImRvdG5hdi5zY3NzXCI7XG5AaW1wb3J0IFwidGh1bWJuYXYuc2Nzc1wiO1xuXG4vLyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwiYWNjb3JkaW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJkcm9wLnNjc3NcIjsgLy8gQWZ0ZXI6IENhcmRcbkBpbXBvcnQgXCJkcm9wZG93bi5zY3NzXCI7IC8vIEFmdGVyOiBDYXJkXG5AaW1wb3J0IFwibW9kYWwuc2Nzc1wiOyAvLyBBZnRlcjogQ2xvc2VcbkBpbXBvcnQgXCJsaWdodGJveC5zY3NzXCI7IC8vIEFmdGVyOiBDbG9zZVxuQGltcG9ydCBcInNsaWRlc2hvdy5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJzdGlja3kuc2Nzc1wiO1xuQGltcG9ydCBcIm9mZmNhbnZhcy5zY3NzXCI7XG5AaW1wb3J0IFwic3dpdGNoZXIuc2Nzc1wiO1xuLy8gU2Nyb2xsc3B5XG4vLyBUb2dnbGVcbi8vIFNjcm9sbFxuXG4vLyBBZGRpdGlvbmFsXG5AaW1wb3J0IFwiaWNvbm5hdi5zY3NzXCI7XG5AaW1wb3J0IFwibm90aWZpY2F0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0b29sdGlwLnNjc3NcIjtcbkBpbXBvcnQgXCJwbGFjZWhvbGRlci5zY3NzXCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3Muc2Nzc1wiO1xuQGltcG9ydCBcInNvcnRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3VudGRvd24uc2Nzc1wiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJhbmltYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIndpZHRoLnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZXh0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb2x1bW4uc2Nzc1wiO1xuQGltcG9ydCBcImNvdmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJiYWNrZ3JvdW5kLnNjc3NcIjtcbkBpbXBvcnQgXCJhbGlnbi5zY3NzXCI7XG5AaW1wb3J0IFwidXRpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwiZmxleC5zY3NzXCI7IC8vIEFmdGVyOiBVdGlsaXR5XG5AaW1wb3J0IFwibWFyZ2luLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWRkaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJwb3NpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidmlzaWJpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwiaW52ZXJzZS5zY3NzXCI7XG5cbi8vIE5lZWQgdG8gYmUgbG9hZGVkIGxhc3RcbkBpbXBvcnQgXCJwcmludC5zY3NzXCI7XG4iLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBWYXJpYWJsZXNcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBjb21tb24gdmFsdWVzIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEJyZWFrcG9pbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUGhvbmUgUG9ydHJhaXQ6ICAgR2FsYXh5ICgzNjB4NjQwKSwgaVBob25lIDYgKDM3NXg2NjcpLCBpUGhvbmUgNisgKDQxNHg3MzYpXG4vLyBQaG9uZSBMYW5kc2NhcGU6ICBHYWxheHkgKDY0MHgzNjApLCBpUGhvbmUgNiAoNjY3eDM3NSksIGlQaG9uZSA2KyAoNzM2eDQxNClcbi8vIFRhYmxldCBQb3J0cmFpdDogIGlQYWQgKDc2OHgxMDI0KSwgR2FsYXh5IFRhYiAoODAweDEyODApLFxuLy8gVGFibGV0IExhbmRzY2FwZTogaVBhZCAoMTAyNHg3NjgpLCBpUGFkIFBybyAoMTAyNHgxMzY2KSxcbi8vIERlc2t0b3A6ICAgICAgICAgIEdhbGF4eSBUYWIgKDEyODB4ODAwKSwgaVBhZCBQcm8gKDEzNjZ4MTAyNClcblxuJGJyZWFrcG9pbnQtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjQwcHggIWRlZmF1bHQ7ICAvLyBQaG9uZSBsYW5kc2NhcGVcbiRicmVha3BvaW50LW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MHB4ICFkZWZhdWx0OyAgLy8gVGFibGV0IExhbmRzY2FwZVxuJGJyZWFrcG9pbnQtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0OyAvLyBEZXNrdG9wXG4kYnJlYWtwb2ludC14bGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjAwcHggIWRlZmF1bHQ7IC8vIExhcmdlIFNjcmVlbnNcblxuJGJyZWFrcG9pbnQteHNtYWxsLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRicmVha3BvaW50LXNtYWxsIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbC1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcblxuXG4vLyBHbG9iYWwgdmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRnbG9iYWwtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0OyAgICAgIC8vIDI0cHhcblxuJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgIDIuNjI1cmVtICFkZWZhdWx0OyAvLyA0MnB4XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgICAgIC8vIDMycHhcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7ICAgLy8gMjRweFxuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7ICAvLyAyMHB4XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgMC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0cHhcblxuLy9cbi8vIENvbG9yc1xuLy9cblxuJGdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2NjYgIWRlZmF1bHQ7XG4kZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4kZ2xvYmFsLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzFlODdmMCAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjMGY2ZWNkICFkZWZhdWx0O1xuXG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuLy9cbi8vIEJhY2tncm91bmRzXG4vL1xuXG4kZ2xvYmFsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzFlODdmMCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuXG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzMyZDI5NiAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjZmFhMDVhICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICNmMDUwNmUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCb3JkZXJzXG4vL1xuXG4kZ2xvYmFsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCb3gtU2hhZG93c1xuLy9cblxuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgIDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDE0cHggMjVweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgIDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBTcGFjaW5nc1xuLy9cblxuLy8gVXNlZCBpbiBtYXJnaW4sIHNlY3Rpb24sIGxpc3RcbiRnbG9iYWwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0MHB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGluIGdyaWQsIGNvbHVtbiwgY29udGFpbmVyLCBhbGlnbiwgY2FyZCwgcGFkZGluZ1xuJGdsb2JhbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcwcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBDb250cm9sc1xuLy9cblxuJGdsb2JhbC1jb250cm9sLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1NXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gWi1pbmRleFxuLy9cblxuJGdsb2JhbC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7IiwiLy9cbi8vIENvbXBvbmVudDogICAgICAgTWl4aW5cbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBtaXhpbnMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gU1ZHXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KXtcblxuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHJlcGxhY2Utc3JjLCBcIiNcIiwgXCIlMjNcIik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHF1b3RlKCRyZXBsYWNlLXNyYykpO1xufSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFzZVxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZhdWx0IHZhbHVlcyBmb3IgSFRNTCBlbGVtZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oMWAsIGB1ay1oMmAsIGB1ay1oM2AsIGB1ay1oNGAsIGB1ay1oNWAsIGB1ay1oNmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYXNlLWJvZHktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuJGJhc2Utc3Ryb25nLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLW1hcmstYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1xdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgIGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRiYXNlLXByZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IGBmb250LXNpemVgIHRvIHN1cHBvcnQgYHJlbWAgdW5pdHNcbiAqICAgIE5vdCB1c2luZyBgZm9udGAgcHJvcGVydHkgYmVjYXVzZSBhIGxlYWRpbmcgaHlwaGVuIChlLmcuIC1hcHBsZS1zeXN0ZW0pIGNhdXNlcyB0aGUgZm9udCB0byBicmVhayBpbiBJRTExIGFuZCBFZGdlXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5cbmh0bWwge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1ib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ib2R5LWxpbmUtaGVpZ2h0O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtYm9keS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ib2R5KSkge0BpbmNsdWRlIGhvb2stYmFzZS1ib2R5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlcyBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cblxuLyogTGlua3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEgeyAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbmEsXG4udWstbGluayB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluaykpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluaygpO31cbn1cblxuYTpob3Zlcixcbi51ay1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmstaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ7IH1cblxuLypcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAzLiBTdHlsZVxuICovXG5cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAkYmFzZS1jb2RlLWZvbnQtc2l6ZTtcbiAgICAvKiAyICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHk7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkYmFzZS1jb2RlLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtY29kZSgpO31cbn1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5cbmVtIHsgY29sb3I6ICRiYXNlLWVtLWNvbG9yOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWlucy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1pbnMtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTWFya1xuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLW1hcmstYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtbWFyay1jb2xvcjtcbn1cblxuLypcbiAqIFF1b3RlXG4gKi9cblxucSB7IGZvbnQtc3R5bGU6ICRiYXNlLXF1b3RlLWZvbnQtc3R5bGU7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHsgZm9udC1zaXplOiAkYmFzZS1zbWFsbC1mb250LXNpemU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogUmVzcG9uc2l2ZW5lc3NcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGhcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDIuIENvcnJlY3RzIGBtYXgtd2lkdGhgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNiB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRiYXNlLWhlYWRpbmctY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWJhc2UtaGVhZGluZygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgYW5kIGhlaWdodCBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBBZGQgdGhlIGNvcnJlY3QgdGV4dC1hbGlnbiBpbiBFZGdlIGFuZCBJRS5cbiAqIDQuIFN0eWxlXG4gKi9cblxuaHIsIC51ay1ociB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMyAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1oci1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtaHItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ocigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHsgbWFyZ2luLXRvcDogJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIH1cblxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHsgbWFyZ2luLXRvcDogJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbn1cblxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIE92ZXJyaWRlIFVBXG4gKi9cblxucHJlIHtcbiAgICBmb250OiAkYmFzZS1wcmUtZm9udC1zaXplIHVucXVvdGUoXCIvXCIpICRiYXNlLXByZS1saW5lLWhlaWdodCAkYmFzZS1wcmUtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRiYXNlLXByZS1jb2xvcjtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1wcmUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLXByZSgpO31cbn1cblxucHJlIGNvZGUgeyBmb250LWZhbWlseTogJGJhc2UtcHJlLWZvbnQtZmFtaWx5OyB9XG5cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWFpbiB7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5pZnJhbWUgeyBib3JkZXI6IDA7IH1cblxuXG4vKiBQcmV2ZW50IHRoZSAzMDBtcyBkZWxheSBmb3IgdG91Y2hzY3JlZW4gaW50ZXJhY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1vc3QgYnJvd3NlcnMgcHJldmVudCB0aGUgMzAwbXMgZGVsYXkgYXV0b21hdGljYWxseSBmb3Igc2l0ZXMgdGhhdCB1c2UgdGhlIGB3aWR0aD1kZXZpY2Utd2lkdGhgIHByb3BlcnR5LlxuICogRm9yIFNhZmFyaSBvbiBpT1MgOS4zKywgSUUgMTEgYW5kIEVkZ2Ugb24gZGVza3RvcHMgYW5kIElFIDExIG9uIFdpbmRvd3MgUGhvbmUgOC4xIGl0IG11c3QgYmUgYXBwbGllZCBtYW51YWxseS5cbiAqL1xuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEgeyB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5cbi8qIFBhc3MgbWVkaWEgYnJlYWtwb2ludHMgdG8gSlNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQnJlYWtwb2ludHNcbiAqL1xuXG4udmFyLW1lZGlhLXM6OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1zbWFsbH0nOyB9XG4udmFyLW1lZGlhLW06OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1tZWRpdW19JzsgfVxuLnZhci1tZWRpYS1sOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbGFyZ2V9JzsgfVxuLnZhci1tZWRpYS14bDo6YmVmb3JlIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQteGxhcmdlfSc7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYXNlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1wcmUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaW5rXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlua3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1oZWFkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1yZXNldGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpbmtcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIE11dGVkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZCgpO31cbn1cblxuYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZC1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLXRleHQ6bm90KDpob3ZlciksXG4udWstbGluay10ZXh0IGE6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQoKTt9XG59XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay10ZXh0LWhvdmVyKCk7fVxufVxuXG5cbi8qIEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstaGVhZGluZzpub3QoOmhvdmVyKSxcbi51ay1saW5rLWhlYWRpbmcgYTpub3QoOmhvdmVyKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZygpO31cbn1cblxuYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4udWstbGluay1oZWFkaW5nIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZy1ob3ZlcigpO31cbn1cblxuXG4vKiBSZXNldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cblxuYS51ay1saW5rLXJlc2V0LFxuYS51ay1saW5rLXJlc2V0OmhvdmVyLFxuLnVrLWxpbmstcmVzZXQgYSxcbi51ay1saW5rLXJlc2V0IGE6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstcmVzZXQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXJlc2V0KCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbWlzYykpIHtAaW5jbHVkZSBob29rLWxpbmstbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuLy8gQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSGVhZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGhlYWRpbmdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGVhZGluZy1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1oZXJvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1idWxsZXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWxpbmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgMy43NXJlbSAhZGVmYXVsdDsgLy8gNTRweFxuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1tOiAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7IC8vIDY0cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAvLyA5NnB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LXM6ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgIDhyZW0gIWRlZmF1bHQ7IC8vIDEyOHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWJ1bGxldC10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMC45ZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgMC42ZW0gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFByaW1hcnlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXByaW1hcnkoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBIZXJvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1oZXJvKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1zO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW07XG4gICAgfVxuXG59XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWRpdmlkZXIoKTt9XG59XG5cblxuLyogQnVsbGV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogJGhlYWRpbmctYnVsbGV0LXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBoZWlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0O1xuICAgIGJvcmRlci1sZWZ0OiAkaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1idWxsZXQoKTt9XG59XG5cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDbGlwIHRoZSBjaGlsZCBlbGVtZW50XG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEV4dHJhIG1hcmt1cCBpcyBuZWVkZWQgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnblxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDIuIE1ha2UgdGhlIGVsZW1lbnQgYXMgbGFyZ2UgYXMgcG9zc2libGUuIEl0J3MgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyLlxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4udWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdW5xdW90ZSgnY2FsYyg1MCUgLSAoI3skaGVhZGluZy1saW5lLWhlaWdodH0gLyAyKSknKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRoZWFkaW5nLWxpbmUtd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEaXZpZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGl2aWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kaXZpZGVyLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXZpZGVyLXNtYWxsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRpdmlkZXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuXG4kZGl2aWRlci1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgZGVmYXVsdCBgaHJgXG4gKiAyLiBTZXQgbWFyZ2luIGlmIGEgYGRpdmAgaXMgdXNlZCBmb3Igc2VtYW50aWNhbCByZWFzb25cbiAqL1xuXG5bY2xhc3MqPSd1ay1kaXZpZGVyJ10ge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgW2NsYXNzKj0ndWstZGl2aWRlciddIHsgbWFyZ2luLXRvcDogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLWljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLWljb24taGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbigpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGRpdmlkZXItaWNvbi1saW5lLXRvcDtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlIC0gKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICBib3JkZXItYm90dG9tOiAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gICAgcmlnaHQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGNoaWxkIGhlaWdodCwgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgXG4gKi9cblxuLnVrLWRpdmlkZXItc21hbGwgeyBsaW5lLWhlaWdodDogMDsgfVxuXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZGl2aWRlci1zbWFsbC13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1zbWFsbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxpc3QtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRsaXN0LW5lc3RlZC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbGlzdC1idWxsZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaXN0LWJ1bGxldC13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1saXN0ID4gbGk6OmJlZm9yZSxcbi51ay1saXN0ID4gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstbGlzdCA+IGxpOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbGlzdCA+IGxpID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBOZXN0ZWQgbGlzdHNcbiAqL1xuXG4udWstbGlzdCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG4udWstbGlzdCA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QgPiBsaSA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbGlzdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgcGFkZGluZzogJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZDogJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEJ1bGxldFxuICovXG5cbi51ay1saXN0LWJ1bGxldCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiB1bnF1b3RlKCdjYWxjKCN7JGxpc3QtYnVsbGV0LXdpZHRofSArICN7JGxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodH0pJyk7XG59XG5cbi51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkbGlzdC1idWxsZXQtd2lkdGg7XG4gICAgaGVpZ2h0OiAkbGlzdC1idWxsZXQtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRsaXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtYnVsbGV0KSkge0BpbmNsdWRlIGhvb2stbGlzdC1idWxsZXQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0LWxhcmdlID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1sYXJnZSA+IGxpID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlzdC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERlc2NyaXB0aW9uIGxpc3Rcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRlc2NyaXB0aW9uLWxpc3RgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDogICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoOiAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyOiAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERlc2NyaXB0aW9uIGxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGVybVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQge1xuICAgIGNvbG9yOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKTt9XG59XG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDtcbn1cblxuLypcbiAqIERlc2NyaXB0aW9uXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkZCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmVcbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoIHNvbGlkICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBUYWJsZVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIHRhYmxlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRhYmxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRhYmxlLW1pZGRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1zdHJpcGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWp1c3RpZnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1zaHJpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1leHBhbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtcmVzcG9uc2l2ZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcblxuJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlKSkge0BpbmNsdWRlIGhvb2stdGFibGUoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay10YWJsZSB7IG1hcmdpbi10b3A6ICR0YWJsZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkZXIgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICovXG5cbi51ay10YWJsZSB0aCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6ICR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1oZWFkZXItY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWhlYWRlci1jZWxsKCk7fVxufVxuXG5cbi8qIENlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWNlbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1jZWxsKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRhYmxlIHRkID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRm9vdGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIHRmb290IHtcbiAgICBmb250LXNpemU6ICR0YWJsZS1mb290ZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1mb290ZXIoKTt9XG59XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXNpemU6ICR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2FwdGlvbikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNhcHRpb24oKTt9XG59XG5cblxuLyogUm93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG59XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLW1pZGRsZSxcbi51ay10YWJsZS1taWRkbGUgdGQgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4udWstdGFibGUtZGl2aWRlciA+IDpub3QoOmZpcnN0LWNoaWxkKSA+IHRyLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6Zmlyc3QtY2hpbGQgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1zdHJpcGVkKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstdGFibGUtaG92ZXIgPiB0cjpob3Zlcixcbi51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWhvdmVyKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXNtYWxsKCk7fVxufVxuXG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMDsgfVxuXG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zaHJpbmsgeyB3aWR0aDogMXB4OyB9XG4udWstdGFibGUtZXhwYW5kIHsgbWluLXdpZHRoOiAkdGFibGUtZXhwYW5kLW1pbi13aWR0aDsgfVxuXG5cbi8qIENlbGwgbGluayBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuXG4udWstdGFibGUtbGluayB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHsgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBSZXNwb25zaXZlIHRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRib2R5LFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpmaXJzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy10b3A6IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy1ib3R0b206IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMC4wMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstaWNvbi1pbWFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWljb24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWljb24tYnV0dG9uYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29uLWltYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kaWNvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNnB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE5vdGU6IDEuIC0gNy4gaXMgcmVxdWlyZWQgZm9yIGBidXR0b25gIGVsZW1lbnRzLiBOZWVkZWQgZm9yIENsb3NlIGFuZCBGb3JtIEljb24gY29tcG9uZW50LlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gUmVtb3ZlIGJvcmRlci1yYWRpdXMgaW4gQ2hyb21lLlxuICogNC4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDUuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA2LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDcuIFJlbW92ZSBkZWZhdWx0IGBidXR0b25gIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgY29sb3JcbiAqIDguIFN0eWxlXG4gKiA5LiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAxMC4gTGV0IHRoZSBjb250YWluZXIgZml0IHRoZSBoZWlnaHQgb2YgdGhlIGljb25cbiAqL1xuXG4udWstaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA1ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA2ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNy4gKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDggKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogOSAqL1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICAvKiAxMCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4vKiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuICovXG5idXR0b24udWstaWNvbjpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstaWNvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqIDEuIEZpeCBmb3IgdXBwZXJjYXNlIGF0dHJpYnV0ZSBuYW1lcyBpbiBFZGdlLiBXaWxsIGJlIGZpeGVkIGluIFdpbmRvd3MgMTAgYnVpbGRzIDE2MjUxK1xuICovXG5cbi51ay1pY29uIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpLFxuLnVrLWljb24gW0ZJTEwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH0gLy8gMVxuLnVrLWljb24gW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1pY29uIFtTVFJPS0UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfSAvLyAxXG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1pY29uID4gKiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7IH1cblxuXG4vKiBJbWFnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXNwbGF5IGltYWdlcyBpbiBpY29uIGRpbWVuc2lvbnNcbiAqL1xuXG4udWstaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6ICRpY29uLWltYWdlLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGlua1xuICovXG5cbi51ay1pY29uLWxpbmsge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmsoKTt9XG59XG5cbi51ay1pY29uLWxpbms6aG92ZXIsXG4udWstaWNvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogJGljb24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBCdXR0b25cbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1pY29uLWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29uLWJ1dHRvbjpob3Zlcixcbi51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1idXR0b246YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1taXNjKSkge0BpbmNsdWRlIGhvb2staWNvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRm9ybSBSYW5nZVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIHRoZSByYW5nZSBpbnB1dCB0eXBlXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcmFuZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMTUlKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybSBSYW5nZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBOb3JtYWxpemUgYW5kIGRlZmF1bHRzXG4gKiAyLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAzLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gUmVtb3ZlIHdoaXRlIGJhY2tncm91bmQgaW4gQ2hyb21lXG4gKiA2LiBSZW1vdmUgcGFkZGluZyBpbiBJRTExXG4gKi9cblxuLnVrLXJhbmdlIHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAyICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAvKiA2ICovXG4gICAgcGFkZGluZzogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstcmFuZ2U6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4udWstcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIgeyBib3JkZXI6IG5vbmU7IH1cblxuLyogSUUxMSBSZXNldCAqL1xuLnVrLXJhbmdlOjotbXMtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tb3otcmFuZ2UtdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1zLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cblxuLyogVGh1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbi10b3A6IChmbG9vcigkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQgLyAyKSAqIC0xKTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBFZGdlICsgSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdG9vbHRpcCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBUcmFja1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTYWZhcmkgZG9lc24ndCBoYXZlIGEgZm9jdXMgc3RhdGUuIFVzaW5nIGFjdGl2ZSBpbnN0ZWFkLlxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssXG4vKiAxICovXG4udWstcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRm9ybVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGZvcm1zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZm9ybS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5wdXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWxlY3RgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10ZXh0YXJlYWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJhZGlvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2hlY2tib3hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sZWdlbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1maWVsZHNldGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1mb3JtLWN1c3RvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tc3RhY2tlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taG9yaXpvbnRhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tbGFiZWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWNvbnRyb2xzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1pY29uLWZsaXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZm9ybS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWRhbmdlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tYmxhbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWNvbnRyb2xzLXRleHRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9ybS1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0td2lkdGgteHNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1zbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1tZWRpdW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1sYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogICAgICAgICAgIDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiAgICAgIDdweCAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbi51ay1pbnB1dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlbGVjdCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDIuIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgYW5kIHVzZSBgYm9sZGAgaW5zdGVhZC5cbiAqIE5PVEU6IEJvdGggZGVjbGFyYXRpb25zIGRvbid0IHdvcmsgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICovXG5cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDIgKi9cbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxuLnVrLXRleHRhcmVhIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwICRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybSkpIHtAaW5jbHVkZSBob29rLWZvcm0oKTt9XG59XG5cbi8qXG4gKiBTaW5nbGUtbGluZVxuICogMS4gQWxsb3cgYW55IGVsZW1lbnQgdG8gbG9vayBsaWtlIGFuIGBpbnB1dGAgb3IgYHNlbGVjdGAgZWxlbWVudFxuICogMi4gTWFrZSBzdXJlIGxpbmUtaGVpZ2h0IGlzIG5vdCBsYXJnZXIgdGhhbiBoZWlnaHRcbiAqICAgIEFsc28gbmVlZGVkIHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0taGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zaW5nbGUtbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tc2luZ2xlLWxpbmUoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1tdWx0aS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1tdWx0aS1saW5lKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1mb2N1cy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tZm9jdXMoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbi51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4udWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWZvcm0tc21hbGwgeyBmb250LXNpemU6ICRmb3JtLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1zbWFsbDpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1zbWFsbDpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLWZvcm0tbGFyZ2UgeyBmb250LXNpemU6ICRmb3JtLWxhcmdlLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEVycm9yXG4gKi9cblxuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJGZvcm0tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWZvcm0tZGFuZ2VyKCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzICB7XG4gICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWZvcm0tc3VjY2VzcygpO31cbn1cblxuLypcbiAqIEJsYW5rXG4gKi9cblxuLnVrLWZvcm0tYmxhbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmspKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rKCk7fVxufVxuXG4udWstZm9ybS1ibGFuazpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmstZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rLWZvY3VzKCk7fVxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXhzbWFsbDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogKCRmb3JtLXdpZHRoLXhzbWFsbCArIDI1cHgpOyB9XG5cbi51ay1mb3JtLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXNtYWxsOyB9XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkZm9ybS13aWR0aC1tZWRpdW07IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2UgeyB3aWR0aDogJGZvcm0td2lkdGgtbGFyZ2U7IH1cblxuXG4vKiBTZWxlY3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBEb2VzIG5vdCB3b3JrIGluIElFMTFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG5cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgd2lkdGg6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXJhZGlvLW1hcmdpbi10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpbygpO31cbn1cblxuLnVrLXJhZGlvIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWZvY3VzKCk7fVxufVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG5cbi51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvbnNcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpO31cbn1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogTGVnZW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExlZ2VuZFxuICogMS4gQmVoYXZlIGxpa2UgYmxvY2sgZWxlbWVudFxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbGVnZW5kIHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250LXNpemU6ICRmb3JtLWxlZ2VuZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sZWdlbmQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxlZ2VuZCgpO31cbn1cblxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIDEuIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIGZvcm0gY29udHJvbCB0byBhbHdheXMgY292ZXIgaXRzIGNvbnRhaW5lclxuICogMi4gUmVxdWlyZWQgZm9yIEZpcmVmb3ggZm9yIHBvc2l0aW9uaW5nIHRvIHRoZSBsZWZ0XG4gKiAzLiBSZXF1aXJlZCBmb3IgV2Via2l0IHRvIG1ha2UgYGhlaWdodGAgd29ya1xuICogNC4gSGlkZSBjb250cm9sZSBhbmQgc2hvdyBjdXJzb3JcbiAqIDUuIE5lZWRlZCBmb3IgdGhlIGN1cnNvclxuICogNi4gQ2xpcCBoZWlnaHQgY2F1c2VkIGJ5IDUuIE5lZWRlZCBmb3IgV2Via2l0IG9ubHlcbiAqL1xuXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgbGVmdDogMDtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDQgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiA1ICovXG4gICAgZm9udC1zaXplOiA1MDBweDtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mb3JtLWxhYmVsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGFiZWwoKTt9XG59XG5cblxuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN0YWNrZWRcbiAqL1xuXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbn1cblxuLypcbiAqIEhvcml6b250YWxcbiAqL1xuXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC8qIEJlaGF2ZSBsaWtlIGB1ay1mb3JtLXN0YWNrZWRgICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMgeyBtYXJnaW4tbGVmdDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDsgfVxuXG4gICAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzLXRleHQgeyBwYWRkaW5nLXRvcDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOyB9XG5cbn1cblxuXG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNldCB3aWR0aFxuICogMy4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1mb3JtLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogJGZvcm0taWNvbi13aWR0aDtcbiAgICAvKiAzICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiA0ICovXG4gICAgY29sb3I6ICRmb3JtLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBJbnB1dCBwYWRkaW5nXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSArIC51ay1pbnB1dCB7IHBhZGRpbmctbGVmdDogJGZvcm0taWNvbi13aWR0aDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstZm9ybS1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51ay1mb3JtLWljb24tZmxpcCArIC51ay1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICRmb3JtLWljb24td2lkdGg7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnV0dG9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgYnV0dG9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJ1dHRvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1idXR0b24tZ3JvdXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYnV0dG9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1sYXJnZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJ1dHRvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBTdHlsZVxuICogOC4gYGxpbmUtaGVpZ2h0YCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGhlaWdodCBiZWNhdXNlIGl0IGFsc28gY2VudGVycyB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGZvciBgYWAgZWxlbWVudHMuXG4gKiAgICBCZXR0ZXIgd291bGQgYmUgdG8gdXNlIGhlaWdodCBhbmQgZmxleGJveCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseSBidXQgZmxleGJveCBkb2Vzbid0IHdvcmsgaW4gRmlyZWZveCBvbiBgYnV0dG9uYCBlbGVtZW50cy5cbiAqIDkuIEFsaWduIHRleHQgaWYgYnV0dG9uIGhhcyBhIHdpZHRoXG4gKiAxMC4gUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstYnV0dG9uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XG4gICAgLyogOCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmUtaGVpZ2h0O1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMTAgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbigpO31cbn1cblxuLnVrLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAgIC8qIDggKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1mb2N1cykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1mb2N1cygpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbjphY3RpdmUsXG4udWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3Zlcixcbi51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYnV0dG9uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRhbmdlcjpob3Zlcixcbi51ay1idXR0b24tZGFuZ2VyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGFuZ2VyOmFjdGl2ZSxcbi51ay1idXR0b24tZGFuZ2VyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG5cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJ1dHRvbi1zbWFsbCB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tc21hbGwtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc21hbGwpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc21hbGwoKTt9XG59XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxhcmdlKCk7fVxufVxuXG5cbi8qIFRleHQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tdGV4dCB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tdGV4dC1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIsXG4udWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLWxpbmsge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGluaygpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tbGluazpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogR3JvdXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cblxuLnVrLWJ1dHRvbi1ncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VjdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbGF5b3V0IHNlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWN0aW9uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNlY3Rpb24teHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tb3ZlcmxhcGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuXG4udWstc2VjdGlvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1zZWN0aW9uOjpiZWZvcmUsXG4udWstc2VjdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1zZWN0aW9uOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXNlY3Rpb24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay1zZWN0aW9uLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW11dGVkKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstc2VjdGlvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tcHJpbWFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgbW9kaWZpZXIgdG8gbWFrZSBhIHNlY3Rpb24gb3ZlcmxhcCBhbm90aGVyIHNlY3Rpb24gd2l0aCBhbiBib3JkZXIgaW1hZ2VcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG5cbi51ay1zZWN0aW9uLW92ZXJsYXAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW92ZXJsYXApKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW92ZXJsYXAoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29udGFpbmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBhbGlnbiBhbmQgY2VudGVyIHlvdXIgc2l0ZSBhbmQgZ3JpZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbnRhaW5lci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbnRhaW5lci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAxNjAwcHggIWRlZmF1bHQ7XG5cbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEJveCBzaXppbmcgaGFzIHRvIGJlIGBjb250ZW50LWJveGAgc28gdGhlIG1heC13aWR0aCBpcyBhbHdheXMgdGhlIHNhbWUgYW5kXG4gKiAgICB1bmFmZmVjdGVkIGJ5IHRoZSBwYWRkaW5nIG9uIGRpZmZlcmVudCBicmVha3BvaW50cy4gSXQncyBpbXBvcnRhbnQgZm9yIHRoZSBzaXplIG1vZGlmaWVycy5cbiAqL1xuXG4udWstY29udGFpbmVyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWNvbnRhaW5lcjo6YmVmb3JlLFxuLnVrLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jb250YWluZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb250YWluZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFJlbW92ZSBwYWRkaW5nIGZyb20gbmVzdGVkIGNvbnRhaW5lcnNcbiAqL1xuXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbnRhaW5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stY29udGFpbmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgR3JpZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHJlc3BvbnNpdmUsIGZsdWlkIGFuZCBuZXN0YWJsZSBncmlkc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWdyaWRgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZ3JpZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtY29sbGFwc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hdGNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWNvbGxhcHNlYFxuLy9cbi8vIFN1Yi1tb2RpZmllcjogICAgYHVrLWdyaWQtaXRlbS1tYXRjaGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGNlbGxzIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEdyaWQgY2VsbFxuICogTm90ZTogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogUmVzZXQgbWFyZ2luIGZvciBlLmcuIHBhcmFncmFwaHNcbiAqL1xuXG4udWstZ3JpZCA+ICogeyBtYXJnaW46IDA7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1ncmlkID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEd1dHRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQsXG4udWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQsXG4gICAgLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIENvbGxhcHNlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2UgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWdyaWQtY29sbGFwc2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLWxlZnQ6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogTWF0Y2ggY2hpbGQgb2YgYSBncmlkIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cblxuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBmbGV4OiBhdXRvO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtbWlzYykpIHtAaW5jbHVkZSBob29rLWdyaWQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZ3JpZC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGlsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRpbGVkIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGlsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10aWxlLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zZWNvbmRhcnlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZSkpIHtAaW5jbHVkZSBob29rLXRpbGUoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXRpbGU6OmJlZm9yZSxcbi51ay10aWxlOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXRpbGU6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10aWxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogWFNtYWxsXG4gKi9cblxuLnVrLXRpbGUteHNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstdGlsZS1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay10aWxlLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLypcbiAqIFhMYXJnZVxuICovXG5cbi51ay10aWxlLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS14bGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstdGlsZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLXRpbGUtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIE11dGVkXG4gKi9cblxuLnVrLXRpbGUtbXV0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLW11dGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay10aWxlLW11dGVkKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay10aWxlLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXRpbGUtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXNlY29uZGFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRpbGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGlsZSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ2FyZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGJveGVkIGNvbnRlbnQgY29udGFpbmVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNhcmRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY2FyZC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbWVkaWEtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWJhZGdlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNhcmQtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWxhcmdlYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjYXJkLWJhZGdlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuXG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuXG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDYXJkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkKSkge0BpbmNsdWRlIGhvb2stY2FyZCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1ib2R5KCk7fVxufVxuXG4udWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWZvb3RlciB7XG4gICAgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWZvb3RlcigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstY2FyZC1ib2R5OjpiZWZvcmUsXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YmVmb3JlLFxuLnVrLWNhcmQtaGVhZGVyOjphZnRlcixcbi51ay1jYXJkLWZvb3Rlcjo6YmVmb3JlLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmFmdGVyLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY2FyZC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIE1lZGlhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIGFsaWdubWVudCBtb2RpZmllciB0byBzdHlsZSB0aGUgbWVkaWEgZWxlbWVudCwgZS5nLiB3aXRoIGBib3JkZXItcmFkaXVzYFxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLXRvcCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtbGVmdCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQgIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS10b3ApKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXRvcCgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtcmlnaHQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY2FyZC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC10aXRsZSgpO31cbn1cblxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkY2FyZC1iYWRnZS10b3A7XG4gICAgcmlnaHQ6ICRjYXJkLWJhZGdlLXJpZ2h0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJhZGdlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstY2FyZC1iYWRnZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogSG92ZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ob3Zlcjpub3QoLnVrLWNhcmQtZGVmYXVsdCk6bm90KC51ay1jYXJkLXByaW1hcnkpOm5vdCgudWstY2FyZC1zZWNvbmRhcnkpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICogTm90ZTogSGVhZGVyIGFuZCBGb290ZXIgYXJlIG9ubHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBkZWZhdWx0IHN0eWxlXG4gKi9cblxuLnVrLWNhcmQtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWNhcmQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnkoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstY2FyZC1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnkoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWNhcmQtc21hbGwudWstY2FyZC1ib2R5LFxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1sYXJnZS51ay1jYXJkLWJvZHksXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNhcmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2FyZCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ2xvc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNsb3NlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNsb3NlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstY2xvc2Uge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stY2xvc2UoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1jbG9zZTpob3Zlcixcbi51ay1jbG9zZTpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3Bpbm5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbG9hZGluZyBzcGlubmVyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3Bpbm5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3Bpbm5lci1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0OyAvLyBNaW51cyBzdHJva2Ugd2lkdGggdG8gcHJldmVudCBvdmVyZmxvdyBjbGlwcGluZ1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kKDIgKiAzLjE0MSAqICRzcGlubmVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc3Bpbm5lci1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNwaW5uZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lcigpO31cbn1cblxuXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3Bpbm5lciA+ICogeyBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbn1cblxuLypcbiAqIENpcmNsZVxuICovXG5cbi51ay1zcGlubmVyID4gKiA+ICoge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoICRzcGlubmVyLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIHN0cm9rZS13aWR0aDogJHNwaW5uZXItc3Ryb2tlLXdpZHRoO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZS80O1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpO1xuICAgIH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvdG9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gaWNvbiB0byBzY3JvbGwgYmFjayB0byB0b3Bcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b3RvcGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG90b3AtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG90b3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstdG90b3Age1xuICAgIHBhZGRpbmc6ICR0b3RvcC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkdG90b3AtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wKSkge0BpbmNsdWRlIGhvb2stdG90b3AoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10b3RvcDpob3Zlcixcbi51ay10b3RvcDpmb2N1cyB7XG4gICAgY29sb3I6ICR0b3RvcC1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRvdG9wLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstdG90b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogJHRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdG90b3AtYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFya2VyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBtYXJrZXIgaWNvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmtlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbWFya2VyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFya2VyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLW1hcmtlciB7XG4gICAgcGFkZGluZzogJG1hcmtlci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtYXJrZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1hcmtlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbWFya2VyOmhvdmVyLFxuLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRtYXJrZXItaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsZXJ0XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWxlcnQgbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbGVydGBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1hbGVydC1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbGVydC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFsZXJ0LWNsb3NlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuXG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxlcnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nLXJpZ2h0ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0KSkge0BpbmNsdWRlIGhvb2stYWxlcnQoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1hbGVydCB7IG1hcmdpbi10b3A6ICRhbGVydC1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1hbGVydCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgICByaWdodDogJGFsZXJ0LWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXIgKyBGb2N1c1xuICovXG5cbi51ay1hbGVydC1jbG9zZTpob3Zlcixcbi51ay1hbGVydC1jbG9zZTpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1hbGVydC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFkZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gYmFkZ2VzXG5cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhZGdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWRnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstYmFkZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkYmFkZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRiYWRnZS1zaXplO1xuICAgIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsICRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWJhZGdlOmhvdmVyLFxuLnVrLWJhZGdlOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhZGdlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhZGdlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExhYmVsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBpbmRpY2F0ZSBpbXBvcnRhbnQgbm90ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1sYWJlbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1sYWJlbC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmctdmVydGljYWwgJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBsaW5lLWhlaWdodDogJGxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1sYWJlbCgpO31cbn1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1sYWJlbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWxhYmVsLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1sYWJlbC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE92ZXJsYXlcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb250ZW50IGFyZWFzIG92ZXJsYXlpbmcgYW4gaW1hZ2Vcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vdmVybGF5YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW92ZXJsYXktaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1vdmVybGF5LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVybGF5LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheSB7XG4gICAgcGFkZGluZzogJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbCAkb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXktaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktaWNvbikpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktaWNvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1vdmVybGF5LWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1vdmVybGF5LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktbWlzYykpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQXJ0aWNsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFydGljbGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYXJ0aWNsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hcnRpY2xlLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYXJ0aWNsZS1tZXRhYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhcnRpY2xlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFydGljbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlKCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstYXJ0aWNsZTo6YmVmb3JlLFxuLnVrLWFydGljbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstYXJ0aWNsZTo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBBZGphY2VudCBzaWJsaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUgKyAudWstYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogJGFydGljbGUtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtYWRqYWNlbnQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS10aXRsZSgpO31cbn1cblxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGFydGljbGUtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1tZXRhKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWlzYykpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbW1lbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBuZXN0ZWQgY29tbWVudHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb21tZW50YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbW1lbnQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbWV0YWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtYXZhdGFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1saXN0YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbW1lbnQtcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb21tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWJvZHkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWJvZHkoKTt9XG59XG5cbi51ay1jb21tZW50LWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jb21tZW50LWJvZHk6OmJlZm9yZSxcbi51ay1jb21tZW50LWJvZHk6OmFmdGVyLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjpiZWZvcmUsXG4udWstY29tbWVudC1oZWFkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNvbW1lbnQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNvbW1lbnQtaGVhZGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY29tbWVudC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC10aXRsZSgpO31cbn1cblxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkY29tbWVudC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGNvbW1lbnQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1tZXRhKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1tZXRhKCk7fVxufVxuXG5cbi8qIEF2YXRhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWF2YXRhciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYXZhdGFyKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1hdmF0YXIoKTt9XG59XG5cblxuLyogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqIE5vdGU6IEdlbmVyYWwgc2libGluZyBzZWxlY3RvciBhbGxvd3MgcmVwbHkgYmxvY2sgYmV0d2VlbiBjb21tZW50IGFuZCBzdWJsaXN0XG4gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHtcbiAgICBtYXJnaW46ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcCAwIDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViKCk7fVxufVxuXG4vKiBUYWJsZXQgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHsgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOyB9XG5cbn1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXByaW1hcnkoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1taXNjKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlYXJjaFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRoZSBzZWFyY2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWFyY2hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2VhcmNoLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLXRvZ2dsZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1zZWFyY2gtaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zZWFyY2gtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1uYXZiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIFJlc2V0IGBmb3JtYFxuICovXG5cbi51ay1zZWFyY2gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogNS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqIDcuIFZlcnRpY2FsIGFsaWdubWVudFxuICogOC4gVGFrZSB0aGUgZnVsbCBjb250YWluZXIgd2lkdGhcbiAqIDkuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA3ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA4ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogOSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHNlYXJjaC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWlucHV0KCk7fVxufVxuXG4udWstc2VhcmNoLWlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogSWNvbiAoQWRvcHRzIGB1ay1pY29uYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWljb246Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBhYm92ZSBpbnB1dFxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbi1mbGlwICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLW5hdmJhciB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbmF2YmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1uYXZiYXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG5cblxuLyogTGFyZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWxhcmdlIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2Utd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbGFyZ2UtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3Zlcixcbi51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgc3R5bGVzIGZvciBsaXN0IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdi1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2LXBhcmVudC1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1jZW50ZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi8qIDEgKi9cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRuYXYtcGFyZW50LWljb24taGVpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2LXBhcmVudC1pY29uKCk7fVxufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAkbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsICRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZiYXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIG5hdmlnYXRpb24gYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmJhcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXZiYXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItaXRlbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3VidGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGJhcmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd25gICsgTW9kaWZpZXJzXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLWdyaWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2YmFyLXRyYW5zcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN0aWNreWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1zdGFja2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2YmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIGNlbnRlciBuYXZiYXIgZ3JvdXBcbiAqL1xuXG4udWstbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1jb250YWluZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvbiAoaWYgQ29udGFpbmVyIGNvbXBvbmVudCBpcyB1c2VkKVxuICovXG5cbi51ay1uYXZiYXItY29udGFpbmVyID4gOjpiZWZvcmUsXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBHcm91cHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxpZ24gbmF2cyBhbmQgaXRlbXMgdmVydGljYWxseSBpZiB0aGV5IGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0XG4gKiAyLiBOb3RlOiBJRSAxMSByZXF1aXJlcyBhbiBleHRyYSBgZGl2YCB3aGljaCBhZmZlY3RzIHRoZSBjZW50ZXIgc2VsZWN0b3JcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLy8gMi4gW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlciddLFxuLnVrLW5hdmJhci1jZW50ZXIsXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0ID4gKixcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0ID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIEhvcml6b250YWwgYWxpZ25tZW50XG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgY2VudGVyZWQgbmF2YmFyIHdpdGggc3ViIGdyb3VwcyAobGVmdC9yaWdodClcbiAqIDIuIE5lZWRlZCBmb3IgZHJvcGRvd25zIGJlY2F1c2UgYSBuZXcgcG9zaXRpb24gY29udGV4dCBpcyBjcmVhdGVkXG4gKiAgICBgei1pbmRleGAgbXVzdCBiZSBzbWFsbGVyIHRoYW4gb2ZmLWNhbnZhc1xuICogMy4gRml4IHRleHQgd3JhcHBpbmcgaWYgdGhlIGNlbnRlcmVkIHNlY3Rpb24gaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBuYXZiYXJcbiAqIDQuIEFsaWduIHN1YiBncm91cHMgZm9yIGNlbnRlcmVkIG5hdmJhclxuICovXG5cbi51ay1uYXZiYXItcmlnaHQgeyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDIgKi9cbiAgICB6LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAxMDtcbn1cblxuLyogMyAqL1xuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSxcbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkgLnVrLW5hdmJhci1pdGVtLFxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLXRvZ2dsZSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogNCAqL1xuLnVrLW5hdmJhci1jZW50ZXItbGVmdCxcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogMDtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCB7IHJpZ2h0OiAxMDAlOyB9XG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7IGxlZnQ6IDEwMCU7IH1cblxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSxcbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10gLnVrLW5hdmJhci1pdGVtLFxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSAudWstbmF2YmFyLXRvZ2dsZSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuXG4vKiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1uYXZiYXItbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIE9ubHkgbm90IGBhYnNvbHV0ZWAgcG9zaXRpb25lZCBncm91cHNcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4vKlxuICogSXRlbXNcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMi4gRGltZW5zaW9uc1xuICogMy4gU3R5bGVcbiAqIDQuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSwgICAgLy8gTmF2IGl0ZW1cbi51ay1uYXZiYXItaXRlbSwgICAgICAgICAgICAvLyBDb250ZW50IGl0ZW1cbi51ay1uYXZiYXItdG9nZ2xlIHsgICAgICAgICAvLyBDbGlja2FibGUgaXRlbVxuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5O1xuICAgIC8qIDQgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWl0ZW0oKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci10b2dnbGUge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUoKTt9XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbjpob3ZlciA+IC51ay1uYXZiYXItdG9nZ2xlLWljb24sXG46Zm9jdXMgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN1YnRpdGxlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdHJhbnNwYXJlbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdHJhbnNwYXJlbnQpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKTt9XG59XG5cbi51ay1uYXZiYXItc3RpY2t5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN0aWNreSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdGlja3koKTt9XG59XG5cblxuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wZG93bmBcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbmF2YmFyLWRyb3Bkb3duLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRuYXZiYXItZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cblxuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogU3RhY2sgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tc3RhY2sgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDIpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogMyk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA0KTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDUpOyB9XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpO31cbn1cblxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGJhciB7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXIoKTt9XG59XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGJhci1zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGJhci16LWluZGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN1Ym5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgc3ViIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdWJuYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc3VibmF2LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zdWJuYXYtcGlsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAgICAgICAgICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN1Ym5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXN1Ym5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1zdWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogVXNpbmcgYDpmaXJzdC1jaGlsZGAgaW5zdGVhZCBvZiBgYWAgdG8gc3VwcG9ydCBgc3BhbmAgZWxlbWVudHMgZm9yIHRleHRcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAoJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsIC0gJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgYm9yZGVyLWxlZnQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpob3Zlcixcbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3VibmF2KCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnJlYWRjcnVtYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgYnJlYWRjcnVtYiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnJlYWRjcnVtYmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCcmVhZGNydW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICovXG5cbi51ay1icmVhZGNydW1iID4gKiB7IGZsZXg6IG5vbmU7IH1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3Zlcixcbi51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJyZWFkY3J1bWIgPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwICRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24oKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4udWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFiXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSB0YWJiZWQgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRhYmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWItYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWItcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay10YWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRhYi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiKSkge0BpbmNsdWRlIGhvb2stdGFiKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstdGFiID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRhYi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIENlbnRlciB0ZXh0IGlmIGEgd2lkdGggaXMgc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay10YWIgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWwgJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdGFiID4gKiA+IGE6aG92ZXIsXG4udWstdGFiID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJvdHRvbVxuICovXG5cbi51ay10YWItYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLXRhYi1ib3R0b20oKTt9XG59XG5cbi51ay10YWItYm90dG9tID4gKiA+IGEge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItYm90dG9tLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tLWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBMZWZ0ICsgUmlnaHRcbiAqIDEuIFJlc2V0IEd1dHRlclxuICovXG5cbi51ay10YWItbGVmdCxcbi51ay10YWItcmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKiAxICovXG4udWstdGFiLWxlZnQgPiAqLFxuLnVrLXRhYi1yaWdodCA+ICogeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYi1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWxlZnQpKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdCgpO31cbn1cblxuLnVrLXRhYi1yaWdodCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodCkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodCgpO31cbn1cblxuLnVrLXRhYi1sZWZ0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdC1pdGVtKCk7fVxufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZW5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByZXZpb3VzL25leHQgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlbmF2LWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zbGlkZW5hdi1wcmV2aW91c2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc2xpZGVuYXYge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsICRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNsaWRlbmF2OmhvdmVyLFxuLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1hY3RpdmUoKTt9XG59XG5cblxuLyogSWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2aW91c1xuICovXG5cbi51ay1zbGlkZW5hdi1wcmV2aW91cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LXByZXZpb3VzKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKTt9XG59XG5cbi8qXG4gKiBOZXh0XG4gKi9cblxuLnVrLXNsaWRlbmF2LW5leHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1uZXh0KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbmV4dCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWxhcmdlIHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWxhcmdlKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45NSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERvdG5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRvdG5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1kb3RuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERvdG5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2KSkge0BpbmNsdWRlIGhvb2stZG90bmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtc1xuICogMS4gSGlkZSB0ZXh0IGlmIHByZXNlbnRcbiAqL1xuXG4udWstZG90bmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkb3RuYXYtaXRlbS13aWR0aDtcbiAgICBoZWlnaHQ6ICRkb3RuYXYtaXRlbS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgLyogMSAqL1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4udWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstZG90bmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1kb3RuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRvdG5hdigpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRodW1ibmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGh1bWJuYWlsIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGh1bWJuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstdGh1bWJuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGh1bWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay10aHVtYm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdikpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRodW1ibmF2ID4gKiA+IDpob3Zlcixcbi51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLXRodW1ibmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstdGh1bWJuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2KCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQWNjb3JkaW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWNjb3JkaW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFjY29yZGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hY2NvcmRpb24tdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hY2NvcmRpb24tY29udGVudGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFjY29yZGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24taXRlbSgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWFjY29yZGlvbi10aXRsZTpob3Zlcixcbi51ay1hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKTt9XG59XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1jb250ZW50KSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudDo6YmVmb3JlLFxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4gLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgRHJvcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gcG9zaXRpb24gYW55IGVsZW1lbnQgbmV4dCB0byBhbnkgb3RoZXIgZWxlbWVudC5cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3AtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ncmlkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gVXNlczogICAgICAgICAgICBBbmltYXRpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqL1xuXG4udWstZHJvcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkZHJvcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZHJvcC13aWR0aDtcbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3AudWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcC10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRkcm9wLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcC1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kZHJvcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3AtbWFyZ2luOyB9XG5cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcC1zdGFjayAudWstZHJvcC1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3AtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRHJvcGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkcm9wZG93biBtZW51c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRyb3Bkb3duYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWRyb3Bkb3duLW5hdmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wZG93bi10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tZ3JpZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcGRvd24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRkcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bigpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2KSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICsgQWN0aXZlICovXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1kcm9wZG93bi1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRkcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRkcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1tYXJnaW47IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1zdGFjayAudWstZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTW9kYWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBtb2RhbCBkaWFsb2dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbW9kYWxgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbW9kYWwtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWRpYWxvZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1vdXRzaWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2UtZnVsbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1tb2RhbC1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mdWxsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1vZGFsLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcblxuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tb2RhbCB7IHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXMgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbW9kYWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1tb2RhbC51ay1vcGVuIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLW1vZGFsLXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBzcGlubmVyIGFuZCBjbG9zZSBidXR0b25cbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIEZpeCBgbWF4LXdpZHRoOiAxMDAlYCBub3Qgd29ya2luZyBpbiBjb21iaW5hdGlvbiB3aXRoIGZsZXggYW5kIHJlc3BvbnNpdmUgaW1hZ2VzIGluIElFMTFcbiAqICAgIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcndyaXRlIGB1ay13aWR0aC1hdXRvYC4gU2VlIGAjbW9kYWwtbWVkaWEtaW1hZ2VgIGluIHRlc3RzXG4gKiA0LiBTdHlsZVxuICogNS4gU2xpZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbC1kaWFsb2cge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6ICRtb2RhbC1kaWFsb2ctd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gMC4wMXB4KScpICFpbXBvcnRhbnQ7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWRpYWxvZykpIHtAaW5jbHVkZSBob29rLW1vZGFsLWRpYWxvZygpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG5cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7IHdpZHRoOiAkbW9kYWwtY29udGFpbmVyLXdpZHRoOyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG5cbi8qIDEgKi9cbi51ay1tb2RhbC1mdWxsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZnVsbCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtYm9keSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWJvZHkoKTt9XG59XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWhlYWRlcigpO31cbn1cblxuLnVrLW1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1mb290ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstbW9kYWwtYm9keTo6YmVmb3JlLFxuLnVrLW1vZGFsLWJvZHk6OmFmdGVyLFxuLnVrLW1vZGFsLWhlYWRlcjo6YmVmb3JlLFxuLnVrLW1vZGFsLWhlYWRlcjo6YWZ0ZXIsXG4udWstbW9kYWwtZm9vdGVyOjpiZWZvcmUsXG4udWstbW9kYWwtZm9vdGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLW1vZGFsLWJvZHk6OmFmdGVyLFxuLnVrLW1vZGFsLWhlYWRlcjo6YWZ0ZXIsXG4udWstbW9kYWwtZm9vdGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRtb2RhbC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC10aXRsZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0OmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBPdXRzaWRlXG4gKiAxLiBQcmV2ZW50IHNjcm9sbGJhciBvbiBzbWFsbCBkZXZpY2VzXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLyogMSAqL1xuICAgIHJpZ2h0OiAoLSRtb2RhbC1jbG9zZS1wYWRkaW5nKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIDEgKi9cbiAgICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIH1cblxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaWdodGJveFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGxpZ2h0Ym94IGltYWdlIGdhbGxlcnlcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGJveGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saWdodGJveC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaXRlbXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtYnV0dG9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtY2FwdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWlmcmFtZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaWdodGJveC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLWxpZ2h0Ym94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbGlnaHRib3gtei1pbmRleDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94KSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3goKTt9XG59XG5cbi8qXG4gKiBPcGVuXG4gKiAxLiBDZW50ZXIgY2hpbGRcbiAqIDIuIEZhZGUtaW5cbiAqL1xuXG4udWstbGlnaHRib3gudWstb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDE7XG59XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbGlnaHRib3gtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBjaGlsZCB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiAyLiBOb3QgdmlzaWJsZSBieSBkZWZhdWx0XG4gKiAzLiBDb2xvciBuZWVkZWQgZm9yIHNwaW5uZXIgaWNvblxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBSZXNwb25zaXZlbmVzc1xuICogICAgVXNpbmcgYHZoYCBmb3IgYG1heC1oZWlnaHRgIHRvIGZpeCBpbWFnZSBwcm9wb3J0aW9ucyBhZnRlciByZXNpemUgaW4gU2FmYXJpIGFuZCBPcGVyYVxuICogICAgVXNpbmcgYHZoYCBhbmQgYHZ3YCB0byBtYWtlIHJlc3BvbnNpdmUgaW1hZ2Ugd29yayBpbiBJRTExXG4gKi9cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvbG9yO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtaXRlbSgpO31cbn1cblxuLyogNSAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+ICoge1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG59XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLyogVG9vbGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKTt9XG59XG5cbi51ay1saWdodGJveC10b29sYmFyICogeyBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I7IH1cblxuXG4vKiBUb29sYmFyIEljb24gKENsb3NlKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb24ge1xuICAgIHBhZGRpbmc6ICRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZztcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCk7fVxufVxuXG5cblxuLyogQnV0dG9uIChTbGlkZW5hdilcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWxpZ2h0Ym94LWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtY2FwdGlvbiB7fVxuXG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1pZnJhbWUge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXNob3dcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzbGlkZXNob3dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVzaG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlc2hvdy1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3cge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3cpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3coKTt9XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGFuZCBzdGFja2luZyBjb250ZXh0XG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKiA0LiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAvKiA1ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdy1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIHNsaWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlci1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG4udWstc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0IHN0eWxlIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBncmlkXG4gKiAyLiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXM6bm90KC51ay1ncmlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4udWstc2xpZGVyLWl0ZW1zLnVrLWdyaWQgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTGV0IGl0ZW1zIHRha2UgY29udGVudCBkaW1lbnNpb25zICgwIDAgYXV0bylcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN0aWNreVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbWFrZSBlbGVtZW50cyBzdGlja3kgaW4gdGhlIHZpZXdwb3J0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3RpY2t5YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXN0aWNreS1maXhlZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN0aWNreS16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuXG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdGlja3lcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzb2x2ZSBmcmFtZSByYXRlIGlzc3VlcyBvbiBkZXZpY2VzIHdpdGggbG93ZXIgZnJhbWUgcmF0ZXMgYnkgZm9yY2luZyBoYXJkd2FyZSBhY2NlbGVyYXRpb25cbiAqL1xuXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgICB6LWluZGV4OiAkc3RpY2t5LXotaW5kZXg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRmFzdGVyIGFuaW1hdGlvbnNcbiAqL1xuXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxuXG4udWstc3RpY2t5LnVrLWFuaW1hdGlvbi1yZXZlcnNlIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3RpY2t5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdGlja3ktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE9mZi1jYW52YXNcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBvZmYtY2FudmFzIHNpZGViYXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vZmZjYW52YXNgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstb2ZmY2FudmFzLWJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtY29udGVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1wYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW9mZmNhbnZhcy1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1vZmZjYW52YXMtZmxpcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXJldmVhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1vdmVybGF5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG9mZmNhbnZhcy16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE9mZi1jYW52YXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2l6ZSBhbmQgc3R5bGVcbiAqIDMuIEFsbG93IHNjcm9sbGluZ1xuICogNC4gVHJhbnNmb3JtXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aDtcbiAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsICRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKiA0ICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWJhcikpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1iYXIoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTtcbiAgICAgICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tICRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLyogRmxpcCBtb2RpZmllciAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24geyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDsgfVxuXG4vKlxuICogUmV2ZWFsIEFuaW1hdGlvblxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDbGlwIHRoZSBiYXJcbiAqIDMuIEFuaW1hdGlvblxuICogNC4gUmVzZXQgdHJhbnNmb3JtXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xufVxuXG4udWstb2ZmY2FudmFzLXJldmVhbCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogNCAqL1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG4gICAgdG9wOiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWNsb3NlKCk7fVxufVxuXG5cbi8qIE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogT3ZlcmxheSB0aGUgd2hvbGUgcGFnZS4gTmVlZGVkIGZvciB0aGUgYDo6YmVmb3JlYFxuICogMS4gVXNpbmcgYDEwMHZ3YCBzbyBubyBtb2RpZmljYXRpb24gaXMgbmVlZGVkIHdoZW4gb2ZmLWNhbnZhcyBpcyBmbGlwcGVkXG4gKiAyLiBBbGxvdyBmb3IgY2xvc2luZyB3aXRoIHN3aXBlIGdlc3R1cmUgb24gZGV2aWNlcyB3aXRoIHBvaW50ZXIgZXZlbnRzLlxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheSB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICAvKiAyICovXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vKlxuICogMS4gTWFzayB0aGUgd2hvbGUgcGFnZVxuICogMi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5OjpiZWZvcmUge1xuICAgIC8qIDEgKi9cbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKTt9XG59XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2hlbiB0aGUgY29udGVudCBpcyBzbGlkZS1vdXRcbiAqIEhhcyB0byBiZSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQgdG9vIHRvIG1ha2UgaXQgd29yayBvbiB0aGUgYGJvZHlgXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1wYWdlLFxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIgeyBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLypcbiAqIFByZXZlbnQgYWxsIHNjcm9sbGJhcnMgaWYgb3ZlcmxheSBpcyB1c2VkXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXItb3ZlcmxheSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiBOb3RlOiBKUyBzZXRzIGEgZml4ZWQgd2lkdGggYW5kIGhlaWdodCBzbyB0aGUgcGFnZSBjYW4gc2xpZGUtb3V0IHdpdGhvdXQgc2hyaW5raW5nXG4gKiAxLiBTbW9vdGggc2Nyb2xsaW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIgLnVrLW9mZmNhbnZhcy1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLyogRGlzYWJsZSBzY3JvbGxpbmcgaWYgb3ZlcmxheSBtb2RlICovXG4udWstb2ZmY2FudmFzLW92ZXJsYXkgLnVrLW9mZmNhbnZhcy1jb250ZW50IHsgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cblxuOm5vdCgudWstb2ZmY2FudmFzLWZsaXApID4gLnVrLW9mZmNhbnZhcy1jb250ZW50LWFuaW1hdGlvbiB7IGxlZnQ6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi51ay1vZmZjYW52YXMtZmxpcCA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbiAgICAudWstb2ZmY2FudmFzLWZsaXAgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1tKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN3aXRjaGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBuYXZpZ2F0ZSB0aHJvdWdoIGRpZmZlcmVudCBjb250ZW50IHBhbmVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3dpdGNoZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTd2l0Y2hlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXN3aXRjaGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zd2l0Y2hlciA+IDpub3QoLnVrLWFjdGl2ZSkgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc3dpdGNoZXIgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3dpdGNoZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXN3aXRjaGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN3aXRjaGVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBJY29ubmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWljb25uYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstaWNvbm5hdi12ZXJ0aWNhbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25uYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdikpIHtAaW5jbHVkZSBob29rLWljb25uYXYoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstaWNvbm5hdiA+ICogPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29ubmF2ID4gKiA+IDpob3Zlcixcbi51ay1pY29ubmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbm90aWZpY2F0aW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb24tei1pbmRleDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZpY2F0aW9uLXdpZHRoIC8gLTIpO1xufVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1ub3RpZmljYXRpb24ge1xuICAgICAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKTt9XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb29sdGlwXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdG9vbHRpcHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b29sdGlwYFxuLy9cbi8vIE1vZGlmaWVycyAgICAgICAgYHVrLXRvb2x0aXAtdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG9vbHRpcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqL1xuXG4udWstdG9vbHRpcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdG9vbHRpcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmctdmVydGljYWwgJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcCgpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLXRvb2x0aXAudWstYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay10b29sdGlwLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJHRvb2x0aXAtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b29sdGlwLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG4vLyBAbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBsYWNlaG9sZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcGxhY2Vob2xkZXIgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wbGFjZWhvbGRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbCAkcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIgeyBtYXJnaW4tdG9wOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJvZ3Jlc3Ncbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcm9ncmVzcyBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcHJvZ3Jlc3NgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByb2dyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDMuIFJlbW92ZSBib3JkZXJzIGluIEZpcmVmb3ggYW5kIEVkZ2VcbiAqIDQuIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBwcm9ncmVzcyBjb250YWluZXIgaW4gRmlyZWZveCwgSUUxMSBhbmQgRWRnZVxuICogNS4gU3R5bGVcbiAqL1xuXG4udWstcHJvZ3Jlc3Mge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyOiAwO1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wcm9ncmVzcyB7IG1hcmdpbi10b3A6ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZSB7IGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgY29udGFpbmVyXG4gKiAyLiBSZW1vdmUgcHJvZ3Jlc3MgYmFyIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIEZpcmVmb3hcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiAyICovXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZTo6LW1vei1wcm9ncmVzcy1iYXIgeyB3aWR0aDogMDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1zLWZpbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNvcnRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc29ydGFibGUgZ3JpZHMgYW5kIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc29ydGFibGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc29ydGFibGUtZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtaGFuZGxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNvcnRhYmxlLWVtcHR5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRyYWdgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNvcnRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUoKTt9XG59XG5cbi8qXG4gKiBEZWFjdGl2YXRlIGJyb3dzZXIgdG91Y2ggYWN0aW9ucyBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gKiB7IHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4vKlxuICogRGVhY3RpdmF0ZSBwb2ludGVyLWV2ZW50cyBvbiBTVkdzIGluIFNhZmFyaVxuICovXG5cbi51ay1zb3J0YWJsZSBzdmcgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRHJhZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAkc29ydGFibGUtZHJhZ2dlZC16LWluZGV4ICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWRyYWcpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1kcmFnKCk7fVxufVxuXG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAkc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpO31cbn1cblxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1lbXB0eSB7XG4gICAgbWluLWhlaWdodDogJHNvcnRhYmxlLWVtcHR5LWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZW1wdHkpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1lbXB0eSgpO31cbn1cblxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7IGN1cnNvcjogbW92ZTsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3VudGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb3VudGRvd24gdGltZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY291bnRkb3duYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvdW50ZG93bi1udW1iZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tc2VwYXJhdG9yYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLWxhYmVsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb3VudGRvd24taXRlbS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICA3MHB4ICFkZWZhdWx0O1xuXG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7IC8vIDY0cHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAvLyA5NnB4XG5cbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyAxNnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7IC8vIDQ4cHhcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ291bnRkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93biB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBudW1iZXJzIGFuZCBzZXBhcmF0b3JzIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstY291bnRkb3duLW51bWJlcixcbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAvKiAxICovXG4gICAgbGluZS1oZWlnaHQ6ICRjb3VudGRvd24taXRlbS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24taXRlbSgpO31cbn1cblxuXG4vKiBOdW1iZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbnVtYmVyKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogU2VwYXJhdG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1sYWJlbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tcmV2ZXJzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1mYXN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1rZW5idXJuc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zaGFrZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hbmltYXRpb24tdG9nZ2xlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWhvdmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogQW5pbWF0aW9ucyBmb3Igc2Nyb2xsc3B5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDsgfVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNoYWtlIHsgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYW5pbWF0aW9uLWZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjsgfVxuXG5cbi8qIEVuYWJsZSBhbmltYXRpb24gb25seSBvbiBob3ZlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE5vdGU6IEZpcmVmb3ggYW5kIElFIG5lZWRzIHRoaXMgYmVjYXVzZSBhbmltYXRpb25zIGFyZSBub3QgdHJpZ2dlcmVkIHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gZGlzcGxheSBgbm9uZWAgYW5kIGBibG9ja2BcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSBbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tbmFtZTogbm9uZTsgfVxuXG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUge1xuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAgIDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gICAgNDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICAgIDcwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICAgIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYW5pbWF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbmltYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFdpZHRoXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Igd2lkdGhzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2hpbGQtd2lkdGgtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXdpZHRoLSpgXG4vL1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR3aWR0aC1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC14eGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogV2lkdGhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIEVxdWFsIGNoaWxkIHdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNoaWxkLXdpZHRoJ10gPiAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS0yID4gKiB7IHdpZHRoOiA1MCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICogeyB3aWR0aDogMjUlOyB9XG4udWstY2hpbGQtd2lkdGgtMS01ID4gKiB7IHdpZHRoOiAyMCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTYgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4udWstY2hpbGQtd2lkdGgtYXV0byA+ICogeyB3aWR0aDogYXV0bzsgfVxuXG4vKlxuICogICAgSW5zdGVhZCBvZiAwLCAxcHggaXMgbmVlZGVkIHRvIG1ha2UgY2VsbCB3cmFwIGludG8gbmV4dCByb3cgaWYgcHJlZGVjZXNzb3IgaXMgMTAwJSB3aWRlXG4gKiAgICBhbmQgdGhlIGdyaWQgZ3V0dGVyIGlzIDAgcGl4ZWxzIHdpZGVcbiAqL1xuXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuLypcbiAqIDEuIE1ha2UgYHdpZHRoOiAxcHhgIHdvcmssIGJlY2F1c2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjIGZsZXggaXRlbXMgd29u4oCZdCBzaHJpbmtcbiAqICAgIGJlbG93IHRoZWlyIG1pbmltdW0gY29udGVudCBzaXplLiBUbyBjaGFuZ2UgdGhpcywgc2V0IHRoZSBtaW4td2lkdGguXG4gKiAgICBPbmx5IG5lZWRlZCBmb3IgRmlyZWZveC4gQWxsIG90aGVyIGJyb3dzZXJzIGlnbm9yZSB0aGlzLlxuICpcbiAqIDIuIGB3aWR0aGAgaXMgaWdub3JlZCB3aGVuIHdyYXBwaW5nIGZsZXggaXRlbXMgaW4gU2FmYXJpXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzIzExLW1pbi1hbmQtbWF4LXNpemUtZGVjbGFyYXRpb25zLWFyZS1pZ25vcmVkLXdoZW4td3JhcHBpbmctZmxleC1pdGVtc1xuICovXG5cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDA7XG4gICAgLyogMiAqL1xuICAgIGZsZXgtYmFzaXM6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBzID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAcyA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQG0gPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbSA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBtID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4bCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4bCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEB4bCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG5cbi8qIFNpbmdsZSBXaWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gYG1heC13aWR0aGAgaXMgbmVlZGVkIGZvciB0aGUgcGl4ZWwtYmFzZWQgY2xhc3Nlc1xuICovXG5cbltjbGFzcyo9J3VrLXdpZHRoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogSGFsdmVzICovXG4udWstd2lkdGgtMS0yIHsgd2lkdGg6IDUwJTsgfVxuXG4vKiBUaGlyZHMgKi9cbi51ay13aWR0aC0xLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstd2lkdGgtMi0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4vKiBRdWFydGVycyAqL1xuLnVrLXdpZHRoLTEtNCB7IHdpZHRoOiAyNSU7IH1cbi51ay13aWR0aC0zLTQgeyB3aWR0aDogNzUlOyB9XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7IHdpZHRoOiAyMCU7IH1cbi51ay13aWR0aC0yLTUgeyB3aWR0aDogNDAlOyB9XG4udWstd2lkdGgtMy01IHsgd2lkdGg6IDYwJTsgfVxuLnVrLXdpZHRoLTQtNSB7IHdpZHRoOiA4MCU7IH1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuLnVrLXdpZHRoLTUtNiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuLyogUGl4ZWwgKi9cbi51ay13aWR0aC1zbWFsbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbi51ay13aWR0aC1tZWRpdW0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuLnVrLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuLnVrLXdpZHRoLXhsYXJnZSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteHhsYXJnZSB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4vKiBBdXRvICovXG4udWstd2lkdGgtYXV0byB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qIEV4cGFuZCAqL1xuLnVrLXdpZHRoLWV4cGFuZCB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHMgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHMgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHMgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHMgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAcyB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAcyB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAcyB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAcyB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBzIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBzIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHMgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHMge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBtIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBtIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBtIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBtIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQG0geyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQG0geyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQG0geyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQG0geyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbSB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbSB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBsIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBsIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbCB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAeGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHhsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHhsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEB4bCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEB4bCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAeGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHhsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEB4bCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHhsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEB4bCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEB4bCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAeGwge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay13aWR0aC1taXNjKSkge0BpbmNsdWRlIGhvb2std2lkdGgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2std2lkdGgtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJvbGQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiAkdGV4dC1ib2xkLWZvbnQtd2VpZ2h0OyB9XG5cblxuLyogVHJhbnNmb3JtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbG93ZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogJHRleHQtc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC13YXJuaW5nIHsgY29sb3I6ICR0ZXh0LXdhcm5pbmctY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZGFuZ2VyIHsgY29sb3I6ICR0ZXh0LWRhbmdlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcblxuICAgIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1iYWNrZ3JvdW5kKSkge0BpbmNsdWRlIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCk7fVxuICAgIH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBzIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBzIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHMgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQG0geyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQG0geyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbSB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAeGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHhsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHhsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuXG4udWstdGV4dC10b3AgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1iYXNlbGluZSB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG5cbi51ay10ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cblxuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUgeyBtYXgtd2lkdGg6IDA7IH1cblxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBBZGQgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzXG4gKiA0LiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay10ZXh0LWJyZWFrIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvKiAyICovXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDMgKi9cbiAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuLyogNCAqL1xudGgudWstdGV4dC1icmVhayxcbnRkLnVrLXRleHQtYnJlYWsgeyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbWlzYykpIHtAaW5jbHVkZSBob29rLXRleHQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbHVtblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHQgY29sdW1uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbHVtbi0qYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbHVtbi1zcGFuYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNvbHVtbi1kaXZpZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2x1bW4tZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSB7IGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICBbY2xhc3MqPSd1ay1jb2x1bW4tJ10geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sOyB9XG5cbn1cblxuLypcbiAqIEZpeCBpbWFnZSAxcHggbGluZSB3cmFwcGluZyBpbnRvIHRoZSBuZXh0IGNvbHVtbiBpbiBDaHJvbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10gaW1nIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERvdWJsZSB0aGUgY29sdW1uIGdhcFxuICovXG5cbi51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgY29sdW1uLXJ1bGU6ICRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoIHNvbGlkICRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXIgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlci1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi0xLTIgeyBjb2x1bW4tY291bnQ6IDI7fVxuLnVrLWNvbHVtbi0xLTMgeyBjb2x1bW4tY291bnQ6IDM7IH1cbi51ay1jb2x1bW4tMS00IHsgY29sdW1uLWNvdW50OiA0OyB9XG4udWstY29sdW1uLTEtNSB7IGNvbHVtbi1jb3VudDogNTsgfVxuLnVrLWNvbHVtbi0xLTYgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBzIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBzIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBzIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBzIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBzIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQG0geyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQG0geyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQG0geyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQG0geyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQG0geyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBsIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBsIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBsIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAeGwgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQHhsIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEB4bCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAeGwgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQHhsIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogTWFrZSBlbGVtZW50IHNwYW4gYWNyb3NzIGFsbCBjb2x1bW5zXG4gKiBEb2VzIG5vdCB3b3JrIGluIEZpcmVmb3ggeWV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi1zcGFuIHsgY29sdW1uLXNwYW46IGFsbDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbHVtbi1taXNjKSkge0BpbmNsdWRlIGhvb2stY29sdW1uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ292ZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGxldCBlbWJlZGRlZCBjb250ZW50IGNvdmVyIHRoZWlyIGNvbnRhaW5lciBpbiBhIGNlbnRlcmVkIHBvc2l0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY292ZXJgXG4vL1xuLy8gU3ViLW9iamVjdDogICAgICBgdWstY292ZXItY29udGFpbmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBXb3JrcyB3aXRoIGlmcmFtZXMgYW5kIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDEuIFJlc2V0IHJlc3BvbnNpdmVuZXNzIGZvciBlbWJlZGRlZCBjb250ZW50XG4gKiAyLiBDZW50ZXIgb2JqZWN0XG4gKiBOb3RlOiBQZXJjZW50IHZhbHVlcyBvbiB0aGUgYHRvcGAgcHJvcGVydHkgb25seSB3b3JrcyBpZiB0aGlzIGVsZW1lbnRcbiAqICAgICAgIGlzIGFic29sdXRlIHBvc2l0aW9uZWQgb3IgaWYgdGhlIGNvbnRhaW5lciBoYXMgYSBoZWlnaHRcbiAqL1xuXG4udWstY292ZXIge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbn1cblxuaWZyYW1lLnVrLWNvdmVyIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUGFyZW50IGNvbnRhaW5lciB3aGljaCBjbGlwcyByZXNpemVkIG9iamVjdFxuICogMi4gTmVlZGVkIGlmIHRoZSBjaGlsZCBpcyBwb3NpdGlvbmVkIGFic29sdXRlLiBTZWUgbm90ZSBhYm92ZVxuICovXG5cbi51ay1jb3Zlci1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY292ZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBCYWNrZ3JvdW5kXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgYmFja2dyb3VuZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWNrZ3JvdW5kLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFja2dyb3VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1kZWZhdWx0IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1tdXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ7IH1cbi51ay1iYWNrZ3JvdW5kLXByaW1hcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ7IH1cbi51ay1iYWNrZ3JvdW5kLXNlY29uZGFyeSB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOyB9XG5cblxuLyogU2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyLFxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4udWstYmFja2dyb3VuZC1jb3ZlciB7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4geyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuXG4vKiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLXRvcC1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLXRvcC1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH1cblxuXG4vKiBSZXBlYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ub3JlcGVhdCB7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuXG4vKiBBdHRhY2htZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZml4ZWQgeyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1iYWNrZ3JvdW5kLWZpeGVkIHsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7IH1cbn1cblxuXG4vKiBJbWFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBzIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQG0geyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBsIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEB4bCB7YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW11bHRpcGx5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2NyZWVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW92ZXJsYXkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRhcmtlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGFya2VuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1saWdodGVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1kb2RnZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWJ1cm4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWhhcmQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNvZnQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRpZmZlcmVuY2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWV4Y2x1c2lvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1odWUgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGh1ZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2F0dXJhdGlvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3IgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1sdW1pbm9zaXR5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFja2dyb3VuZC1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFja2dyb3VuZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsaWduXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBhbGlnbiBlbWJlZGRlZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxpZ24tbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxpZ24tcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLWNlbnRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsaWduXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG5bY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsO1xufVxuXG4qICsgW2NsYXNzKj0ndWstYWxpZ24nXSB7IG1hcmdpbi10b3A6ICRhbGlnbi1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENlbnRlclxuICovXG5cbi51ay1hbGlnbi1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLypcbiAqIExlZnQvUmlnaHRcbiAqL1xuXG4udWstYWxpZ24tbGVmdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnVrLWFsaWduLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLWxlZnQsXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzLFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbSxcbiAgICAudWstYWxpZ24tbGVmdFxcQGwgeyBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstYWxpZ24tcmlnaHQsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBtLFxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwgeyBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHhsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxpZ24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFsaWduLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBVdGlsaXR5XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBjb2xsZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFuZWwtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNsZWFyZml4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmxvYXQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJmbG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNpemUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc3BsYXktKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlubGluZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNwb25zaXZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZS13aWR0aGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJvcmRlci0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wY2FwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbG9nb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXN2Z2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJsZW5kLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS1vcmlnaW4tKmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnb3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG5cbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuXG4kbGVhZGVyLWZpbGwtY29udGVudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4nICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbG9nby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXBhbmVsOjpiZWZvcmUsXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstcGFuZWw6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wYW5lbCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cblxuLnVrLXBhbmVsLXNjcm9sbGFibGUge1xuICAgIGhlaWdodDogJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGggc29saWQgJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICByZXNpemU6IGJvdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhbmVsLXNjcm9sbGFibGUpKSB7QGluY2x1ZGUgaG9vay1wYW5lbC1zY3JvbGxhYmxlKCk7fVxufVxuXG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG5cbi8qIDEgKi9cbi51ay1jbGVhcmZpeDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKi9cblxuLnVrLWZsb2F0LWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLnVrLWZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIDEgKi9cbltjbGFzcyo9J3VrLWZsb2F0LSddIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqIE5vdGU6IEZpcmVmb3ggaWdub3JlcyBgcGFkZGluZy1ib3R0b21gIGZvciB0aGUgc2Nyb2xsYWJsZSBvdmVyZmxvdyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MThcbiAqL1xuXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1yZXNpemUgeyByZXNpemU6IGJvdGg7IH1cbi51ay1yZXNpemUtdmVydGljYWwgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNwbGF5LWJsb2NrIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWstaW5saW5lLWNsaXAge1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWhlaWdodCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cblxuLnVrLWhlaWdodC0xLTEgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG5cbi51ay1oZWlnaHQtdmlld3BvcnQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG5cbi51ay1oZWlnaHQtc21hbGwgeyBoZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1lZGl1bSB7IGhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LWxhcmdlIHsgaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1tZWRpdW0geyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHsgbWF4LWhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuXG4vKiBSZXNwb25zaXZlIG9iamVjdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggYXVkaW8sXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8geyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoLFxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aC4gYGltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGB1ay1wcmVzZXJ2ZS13aWR0aCBpbWdgXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgICAvKiAxICovXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm9yZGVyLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLnVrLWJvcmRlci1yb3VuZGVkIHsgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM7IH1cblxuLypcbiAqIEZpeCBgb3ZlcmZsb3c6IGhpZGRlbmAgdG8gYmUgaWdub3JlZCB3aXRoIGJvcmRlci1yYWRpdXMgYW5kIENTUyB0cmFuc2Zvcm1zIGluIFdlYmtpdFxuICovXG5cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9J3VrLWJvcmRlci0nXSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cblxuLyogQm94LXNoYWRvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3gtc2hhZG93LXNtYWxsIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1tZWRpdW0geyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1sYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3cteGxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1ib3gtc2hhZG93LWhvdmVyJ10geyB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRib3gtc2hhZG93LWR1cmF0aW9uIGVhc2UtaW4tb3V0OyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXNtYWxsOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1tZWRpdW06aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1sYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXIteGxhcmdlOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJveC1zaGFkb3cgYm90dG9tXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvbi5cbiAqIDIuIFNldCBzdHlsZVxuICogMy4gQmx1ciBkb2Vzbid0IHdvcmsgb24gcHNldWRvIGVsZW1lbnRzIHdpdGggbmVnYXRpdmUgYHotaW5kZXhgIGluIEVkZ2UuXG4gKiAgICBTb2x2ZWQgYnkgdXNpbmcgYGJlZm9yZWAgYW5kIGFkZCBwb3NpdGlvbiBjb250ZXh0IHRvIGNoaWxkIGVsZW1lbnRzLlxuICovXG5cbkBzdXBwb3J0cyAoZmlsdGVyOiBibHVyKDApKSB7XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIC8qIDEgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206ICgtJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAvKiAyICovXG4gICAgICAgIGhlaWdodDogJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoJGJveC1zaGFkb3ctYm90dG9tLWJsdXIpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYm94LXNoYWRvdy1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpO31cbiAgICB9XG5cbiAgICAvKiAzICovXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG59XG5cblxuLyogRHJvcCBjYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGNhcC1tYXJnaW4tcmlnaHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkZHJvcGNhcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3BjYXApKSB7QGluY2x1ZGUgaG9vay1kcm9wY2FwKCk7fVxufVxuXG5cbi8qIExlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sZWFkZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBQbGFjZSBlbGVtZW50IGluIHRleHQgZmxvd1xuICogMi4gTmV2ZXIgYnJlYWsgaW50byBhIG5ldyBsaW5lXG4gKiAzLiBHZXQgYSBzdHJpbmcgYmFjayB3aXRoIGFzIG1hbnkgcmVwZWF0aW5nIGNoYXJhY3RlcnMgdG8gZmlsbCB0aGUgY29udGFpbmVyXG4gKiA0LiBQcmV2ZW50IHdyYXBwaW5nLiBPdmVyZmxvd2luZyBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyXG4gKi9cblxuLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0O1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICAvKiAzICovXG4gICAgY29udGVudDogYXR0cihkYXRhLWZpbGwpO1xuICAgIC8qIDQgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBIaWRlIGlmIG1lZGlhIGRvZXMgbm90IG1hdGNoXG4gKi9cblxuLnVrLWxlYWRlci1maWxsLnVrLWxlYWRlci1oaWRlOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogUGFzcyBmaWxsIGNoYXJhY3RlciB0byBKUyAqL1xuLnZhci1sZWFkZXItZmlsbDpiZWZvcmUgeyBjb250ZW50OiAkbGVhZGVyLWZpbGwtY29udGVudDsgfVxuXG5cbi8qIExvZ29cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1sb2dvIHtcbiAgICBmb250LXNpemU6ICRsb2dvLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGxvZ28tZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRsb2dvLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1sb2dvKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbG9nbzpob3Zlcixcbi51ay1sb2dvOmZvY3VzIHtcbiAgICBjb2xvcjogJGxvZ28taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbG9nby1ob3ZlcigpO31cbn1cblxuLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMi4gU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKiAzLiBGaXggZm9yIHVwcGVyY2FzZSBhdHRyaWJ1dGUgbmFtZXMgaW4gRWRnZS4gV2lsbCBiZSBmaXhlZCBpbiBXaW5kb3dzIDEwIGJ1aWxkcyAxNjI1MStcbiAqL1xuXG4vKiAxICovXG4udWstc3ZnLFxuLyogMiAqL1xuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW0ZJTEwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH0gLy8gM1xuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpLFxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbU1RST0tFKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH0gLy8gM1xuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cblxuLnVrLWRyYWcsXG4vKiAxICovXG4udWstZHJhZyAqIHsgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG5cbi51ay1kcmFnb3ZlciB7IGJveC1zaGFkb3c6ICRkcmFnb3Zlci1ib3gtc2hhZG93OyB9XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmxlbmQtbXVsdGlwbHkgeyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1ibGVuZC1zY3JlZW4geyBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmxlbmQtb3ZlcmxheSB7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmxlbmQtZGFya2VuIHsgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJsZW5kLWxpZ2h0ZW4geyBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmxlbmQtY29sb3ItYnVybiB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmxlbmQtaGFyZC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmxlbmQtc29mdC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmxlbmQtZGlmZmVyZW5jZSB7IG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmxlbmQtZXhjbHVzaW9uIHsgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJsZW5kLWh1ZSB7IG1peC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHsgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1ibGVuZC1jb2xvciB7IG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJsZW5kLWx1bWlub3NpdHkgeyBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXV0aWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXV0aWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWxlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRmxleFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGxheW91dHMgYmFzZWQgb24gZmxleGJveFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZsZXgtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRmxleFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mbGV4IHsgZGlzcGxheTogZmxleDsgfVxuLnVrLWZsZXgtaW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uXG4gKi9cblxuLnVrLWZsZXg6OmJlZm9yZSxcbi51ay1mbGV4OjphZnRlcixcbi51ay1mbGV4LWlubGluZTo6YmVmb3JlLFxuLnVrLWZsZXgtaW5saW5lOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWxpZ24gaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBIb3Jpem9udGFsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbGVmdCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi51ay1mbGV4LXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtYXJvdW5kIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAcyB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAcyB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBtIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBpbiB0aGUgY3Jvc3MgYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBWZXJ0aWNhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXN0cmV0Y2ggeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuLnVrLWZsZXgtdG9wIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LW1pZGRsZSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi51ay1mbGV4LWJvdHRvbSB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG5cbi8qIERpcmVjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbi51ay1mbGV4LXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4udWstZmxleC1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4udWstZmxleC1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5cbi8qIFdyYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1ub3dyYXAgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuLnVrLWZsZXgtd3JhcCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC13cmFwLXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG4udWstZmxleC13cmFwLXRvcCB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LXdyYXAtbWlkZGxlIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC13cmFwLWJvdHRvbSB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC13cmFwLWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC13cmFwLWFyb3VuZCB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdCBpcyAwXG4gKi9cblxuLnVrLWZsZXgtZmlyc3QgeyBvcmRlcjogLTE7fVxuLnVrLWZsZXgtbGFzdCB7IG9yZGVyOiA5OTt9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBzIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHMgeyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbSB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBtIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbCB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAeGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAeGwgeyBvcmRlcjogOTk7IH1cblxufVxuXG5cbi8qIEl0ZW0gZGltZW5zaW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJbml0aWFsOiAwIDEgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rc1xuICovXG5cbi8qXG4gKiBObyBGbGV4OiAwIDAgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWZsZXgtbm9uZSB7IGZsZXg6IG5vbmU7IH1cblxuLypcbiAqIFJlbGF0aXZlIEZsZXg6IDEgMSBhdXRvXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgY29uc2lkZXJpbmcgY29udGVudFxuICovXG5cbi51ay1mbGV4LWF1dG8geyBmbGV4OiBhdXRvOyB9XG5cbi8qXG4gKiBBYnNvbHV0ZSBGbGV4OiAxIDEgMCVcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gZmxleFxuICovXG5cbi51ay1mbGV4LTEgeyBmbGV4OiAxOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZmxleC1taXNjKSkge0BpbmNsdWRlIGhvb2stZmxleC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBNYXJnaW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBtYXJnaW5zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbWFyZ2luLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tc21hbGwtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1tZWRpdW0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1sYXJnZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXhsYXJnZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXJlbW92ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWF1dG8tKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbWFyZ2luLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLXhsYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmdpblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW1hcmdpbiB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1zbWFsbC1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBNZWRpdW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWVkaXVtLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFhMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tcmVtb3ZlIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7IG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWxlZnQgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFyZ2luLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJnaW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZGRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBwYWRkaW5nXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFkZGluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLXJlbW92ZS0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWRkaW5nLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctc21hbGwgeyBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC1wYWRkaW5nOyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1yZW1vdmUgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS10b3AgeyBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtYm90dG9tIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZGRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZGRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQb3NpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gcG9zaXRpb24gY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBvc2l0aW9uLWFic29sdXRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmVsYXRpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi16LWluZGV4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jb3ZlcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1wb3NpdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIERpcmVjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBFZGdlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERvbid0IHVzZSBgd2lkdGg6IDEwMCVgIGJlY2F1c2UgaXQgaXMgd3JvbmcgaWYgdGhlIHBhcmVudCBoYXMgcGFkZGluZy4gKi9cbi51ay1wb3NpdGlvbi10b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIENvcm5lcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tdG9wLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tbGVmdCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuLypcbiAqIENlbnRlclxuICogMS4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lciAoTm90IHdvcmtpbmcgaW4gRmlyZWZveClcbiAqIDIuIEZpeCB0ZXh0IHdyYXBwaW5nIGZvciBGaXJlZm94XG4gKi9cblxuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQgeyBsZWZ0OiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHsgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIgeyB0b3A6IDA7IH1cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XG5cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7IHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxuXG5cbi8qIE1hcmdpbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1wb3NpdGlvbi1zbWFsbCB7IG1hcmdpbjogJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luLCAoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLnVrLXBvc2l0aW9uLW1lZGl1bSB7IG1hcmdpbjogJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW47IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luLCAoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXBvc2l0aW9uLWxhcmdlIHsgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4sICgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UgeyBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCkpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuICAgIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCk7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBvc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wb3NpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUcmFuc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdHJhbnNpdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10cmFuc2l0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdHJhbnNpdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLW9wYXF1ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWAsXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLWFjdGl2ZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zcyAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2NhbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgIDAuN3MgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRyYW5zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVXNpbmcgbXVsdGlwbGUgc2VsZWN0b3JzIHRvIGV4Y2x1ZGUgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYFxuICogTm90ZTogVHJhbnNpdGlvbnMgZG9uJ3Qgd29yayB3aXRoIGB1ay1wb3N0aW9uLWNlbnRlci0qYCBjbGFzc2VzIGJlY2F1c2UgdGhleSBhbHNvIHVzZSBgdHJhbnNmb3JtYFxuICogICAgICAgSnVzdCBwdXQgdGhlIHRyYW5zaXRpb24gaW4gYW4gZXh0cmEgYGRpdmBcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbn1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLWZhZGUgeyBvcGFjaXR5OiAwOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10geyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICogTm90ZTogVXNpbmcgYHNjYWxlM2RgIGZvciBiZXR0ZXIgaW1hZ2UgcmVuZGVyaW5nXG4gKi9cblxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddIHsgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7IHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7IHRyYW5zZm9ybTogc2NhbGUzZCgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSwxKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSwxKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7IG9wYWNpdHk6IDA7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuLyogT3BhY2l0eSBtb2RpZmllclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tb3BhcXVlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10cmFuc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10cmFuc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVmlzaWJpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gc2hvdyBvciBoaWRlIGNvbnRlbnQgb24gYnJlYWtwb2ludHMsIGhvdmVyIG9yIHRvdWNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGlkZGVuLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi10b3VjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ub3RvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5cbltoaWRkZW5dLFxuLnVrLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGlkZGVuXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhpZGRlblxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZpc2libGVcbiAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBIb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIENhbid0IHVzZSBgZGlzcGxheTogaGlkZGVuYCBiZWNhdXNlIGl0J3Mgbm90IGZvY3VzYWJsZS4gVGhpcyBpcyBhY2Nlc3NpYmxlIHRocm91Z2gga2V5Ym9hcmQuXG4gKi9cblxuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIC51ay1oaWRkZW4taG92ZXI6bm90KDpmb2N1cykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEludmlzaWJsZVxuICogQ2FuJ3QgdXNlIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGJlY2F1c2UgaXQncyBub3QgZm9jdXNhYmxlLiBUaGlzIGlzIGFjY2Vzc2libGUgdGhyb3VnaCBrZXlib2FyZC5cbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KC51ay1ob3ZlcikgLnVrLWludmlzaWJsZS1ob3Zlcjpub3QoOmZvY3VzKSB7IG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuXG5cbi8qIFRvdWNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaGFzIGxpbWl0ZWQgYWNjdXJhY3ksIGUuZy4gYSB0b3VjaCBzY3JlZW4uXG4gKiBXb3JrcyBvbiBtb2JpbGUgYnJvd3NlcnM6IFNhZmFyaSwgQ2hyb21lIGFuZCBBbmRyb2lkIGJyb3dzZXJcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cblxuLyogMSAqL1xuLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXZpc2liaWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXZpc2liaWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBJbnZlcnNlXG4vLyBEZXNjcmlwdGlvbjogICAgIEludmVyc2UgY29tcG9uZW50IHN0eWxlIGZvciBsaWdodCBvciBkYXJrIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kYXJrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEludmVyc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuLypcbiAqIEltcGxlbWVudGVkIGNsYXNzIGRlcGVuZHMgb24gdGhlIGdlbmVyYWwgdGhlbWUgY29sb3JcbiAqIGB1ay1saWdodGAgaXMgZm9yIGxpZ2h0IGNvbG9ycyBvbiBkYXJrIGJhY2tncm91bmRzXG4gKiBgdWstZGFya2AgaXMgb3IgZGFyayBjb2xvcnMgb24gbGlnaHQgYmFja2dyb3VuZHNcbiAqL1xuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGxpZ2h0KSB7IC51ay1saWdodCB7IEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGRhcmspIHsgLnVrLWRhcmsgeyBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQcmludFxuLy8gRGVzY3JpcHRpb246ICAgICBPcHRpbWl6ZSBwYWdlIGZvciBwcmludGluZ1xuLy9cbi8vIEFkYXB0ZWQgZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlXG4vL1xuLy8gTW9kaWZpY2F0aW9uczogICBSZW1vdmVkIGxpbmsgYGhyZWZgIGFuZCBgdGl0bGVgIHJlbGF0ZWQgcnVsZXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuXG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJpbnQpKSB7QGluY2x1ZGUgaG9vay1wcmludCgpO31cblxufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXByaW50KCl7fVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QXVFZ0ZBOzs4RUFFOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNELE9BQU87RUFDUCxXQUFXLEV0RXJCTSxNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXNFc0JuSCxTQUFTLEV0RW5CTSxJQUFJO0VzRW9CbkIsV0FBVyxFdEVyQlMsR0FBRztFc0VzQnZCLFdBQVcsRXRFbkJNLEdBQUc7RXNFb0JwQixPQUFPO0VBQ1Asd0JBQXdCLEVBQUUsSUFBSTtFQUM5QixvQkFBb0IsRUFBRSxJQUFJO0VBQzFCLE9BQU87RUFDUCxVQUFVLEV0RWpETSxJQUFJO0VzRWtEcEIsS0FBSyxFdEUxRk0sSUFBSTtDc0U0RmxCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFBRSxNQUFNLEVBQUUsQ0FBQztDQUFLOztBQUdyQjs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLENBQUMsQ0FBQztFQUFFLDRCQUE0QixFQUFFLE9BQU87Q0FBSzs7QUFF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TyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixpQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGlCQUE2Qzs7RUFFNUQsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixvQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGdCQUE0Qzs7RUFFM0QsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixrQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGlCQUE2Qzs7RUFFNUQsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixtQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGdCQUE0Qzs7RUFFM0QsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixrQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGlCQUE4Qzs7RUFFN0QsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixxQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGdCQUE2Qzs7RUFFNUQsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixtQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGlCQUE4Qzs7RUFFN0QsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixvQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGdCQUE2Qzs7RUFFNUQsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7OztBQUloQzs7R0FFRztBQUVILFVBQVUsQ0FBVixnQkFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLFVBQVU7O0VBRXpCLEFBQUEsSUFBSTtJQUNBLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLFFBQVE7Ozs7QUFJM0I7O0dBRUc7QUFFSCxVQUFVLENBQVYsZ0JBQVU7RUFDTixBQUFBLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxVQUFVOztFQUV6QixBQUFBLElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxRQUFROzs7O0FBSTNCOztHQUVHO0FBRUgsVUFBVSxDQUFWLGlCQUFVO0VBQ04sQUFBQSxFQUFFO0lBQUcsU0FBUyxFQUFFLFFBQVE7O0VBQ3hCLEFBQUEsSUFBSTtJQUFHLFNBQVMsRUFBRSxVQUFVOzs7O0FBR2hDOztHQUVHO0FBRUgsVUFBVSxDQUFWLFFBQVU7RUFDTixBQUFBLEVBQUUsRUFBRSxBQUFBLElBQUk7SUFBRyxTQUFTLEVBQUUsYUFBYTs7RUFDbkMsQUFBQSxHQUFHO0lBQUcsU0FBUyxFQUFFLGdCQUFnQjs7RUFDakMsQUFBQSxHQUFHO0lBQUcsU0FBUyxFQUFFLGVBQWU7O0VBQ2hDLEFBQUEsR0FBRztJQUFHLFNBQVMsRUFBRSxnQkFBZ0I7O0VBQ2pDLEFBQUEsR0FBRztJQUFHLFNBQVMsRUFBRSxlQUFlOztFQUNoQyxBQUFBLEdBQUc7SUFBRyxTQUFTLEVBQUUsZ0JBQWdCOztFQUNqQyxBQUFBLEdBQUc7SUFBRyxTQUFTLEVBQUUsZUFBZTs7RUFDaEMsQUFBQSxHQUFHO0lBQUcsU0FBUyxFQUFFLGdCQUFnQjs7RUFDakMsQUFBQSxHQUFHO0lBQUcsU0FBUyxFQUFFLGVBQWU7O0VBQ2hDLEFBQUEsR0FBRztJQUFHLFNBQVMsRUFBRSxnQkFBZ0I7Ozs7QUN4V3JDOzs4RUFFOEU7QUFHOUU7OEVBQzhFO0NBRTlFLEFBQUEsQUFBNEIsS0FBM0IsRUFBTyxnQkFBZ0IsQUFBdkIsSUFBMkIsQ0FBQyxDQUFDO0VBQzFCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0NBQ2Q7O0FBRUQsQUFBc0IsbUJBQUgsR0FBRyxDQUFDLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRztDQUFLOztBQUN6QyxBQUFzQixtQkFBSCxHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRUFBRSxzQkFBaUM7Q0FBSTs7QUFDdEUsQUFBc0IsbUJBQUgsR0FBRyxDQUFDLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRztDQUFLOztBQUN6QyxBQUFzQixtQkFBSCxHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHO0NBQUs7O0FBQ3pDLEFBQXNCLG1CQUFILEdBQUcsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFQUFFLHNCQUFpQztDQUFJOztBQUV0RSxBQUF1QixvQkFBSCxHQUFHLENBQUMsQ0FBQztFQUFFLEtBQUssRUFBRSxJQUFJO0NBQUs7O0FBRTNDOzs7R0FHRztBQUVILEFBQXlCLHNCQUFILEdBQUcsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFQUFFLEdBQUc7Q0FBSzs7QUFFNUM7Ozs7Ozs7R0FPRztBQUVILEFBQXlCLHNCQUFILEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQixHQUFvQjtFQUMvQyxJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU87RUFDUCxTQUFTLEVBQUUsQ0FBQztFQUNaLE9BQU87RUFDUCxVQUFVLEVBQUUsR0FBRztDQUNsQjs7QUFFRCxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQXlCLHNCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUk7R0FBSztFQUM3QyxBQUF5QixzQkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDNUMsQUFBeUIsc0JBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDO0dBQUk7RUFDekUsQUFBeUIsc0JBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRztHQUFLO0VBQzVDLEFBQXlCLHNCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUM1QyxBQUF5QixzQkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUV6RSxBQUEwQix1QkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJO0dBQUs7RUFDOUMsQUFBNEIseUJBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRztHQUFLO0VBRS9DLEFBQTRCLHlCQUFILEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQixHQUFvQjtJQUNsRCxJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQUc7R0FDbEI7OztBQUlMLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBeUIsc0JBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSTtHQUFLO0VBQzdDLEFBQXlCLHNCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUM1QyxBQUF5QixzQkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUN6RSxBQUF5QixzQkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDNUMsQUFBeUIsc0JBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRztHQUFLO0VBQzVDLEFBQXlCLHNCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQztHQUFJO0VBRXpFLEFBQTBCLHVCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUk7R0FBSztFQUM5QyxBQUE0Qix5QkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFFL0MsQUFBNEIseUJBQUgsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxVQUFVLEFBQWpCLEdBQW9CO0lBQ2xELElBQUksRUFBRSxDQUFDO0lBQ1AsU0FBUyxFQUFFLENBQUM7SUFDWixVQUFVLEVBQUUsR0FBRztHQUNsQjs7O0FBSUwsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUF5QixzQkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJO0dBQUs7RUFDN0MsQUFBeUIsc0JBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRztHQUFLO0VBQzVDLEFBQXlCLHNCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQztHQUFJO0VBQ3pFLEFBQXlCLHNCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUM1QyxBQUF5QixzQkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDNUMsQUFBeUIsc0JBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDO0dBQUk7RUFFekUsQUFBMEIsdUJBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSTtHQUFLO0VBQzlDLEFBQTRCLHlCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUUvQyxBQUE0Qix5QkFBSCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLFVBQVUsQUFBakIsR0FBb0I7SUFDbEQsSUFBSSxFQUFFLENBQUM7SUFDUCxTQUFTLEVBQUUsQ0FBQztJQUNaLFVBQVUsRUFBRSxHQUFHO0dBQ2xCOzs7QUFJTCw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQTBCLHVCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUk7R0FBSztFQUM5QyxBQUEwQix1QkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDN0MsQUFBMEIsdUJBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDO0dBQUk7RUFDMUUsQUFBMEIsdUJBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRztHQUFLO0VBQzdDLEFBQTBCLHVCQUFILEdBQUcsQ0FBQyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUM3QyxBQUEwQix1QkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUUxRSxBQUEyQix3QkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJO0dBQUs7RUFDL0MsQUFBNkIsMEJBQUgsR0FBRyxDQUFDLENBQUM7SUFBRSxLQUFLLEVBQUUsR0FBRztHQUFLO0VBRWhELEFBQTZCLDBCQUFILEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQixHQUFvQjtJQUNuRCxJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQUc7R0FDbEI7OztBQUtMOzhFQUM4RTtBQUU5RTs7R0FFRztDQUVILEFBQUEsQUFBQSxLQUFDLEVBQU8sVUFBVSxBQUFqQixFQUFtQjtFQUNoQixVQUFVLEVBQUUsVUFBVTtFQUN0QixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtDQUNsQjs7QUFFRCxZQUFZO0FBQ1osQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRztDQUFLOztBQUUvQixZQUFZO0FBQ1osQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsc0JBQWlDO0NBQUk7O0FBQzVELEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFQUFFLHNCQUFpQztDQUFJOztBQUU1RCxjQUFjO0FBQ2QsQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRztDQUFLOztBQUMvQixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHO0NBQUs7O0FBRS9CLFlBQVk7QUFDWixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHO0NBQUs7O0FBQy9CLEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFQUFFLEdBQUc7Q0FBSzs7QUFDL0IsQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsR0FBRztDQUFLOztBQUMvQixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFHO0NBQUs7O0FBRS9CLFlBQVk7QUFDWixBQUFBLGFBQWEsQ0FBQztFQUFFLEtBQUssRUFBRSxzQkFBaUM7Q0FBSTs7QUFDNUQsQUFBQSxhQUFhLENBQUM7RUFBRSxLQUFLLEVBQUUsc0JBQWlDO0NBQUk7O0FBRTVELFdBQVc7QUFDWCxBQUFBLGVBQWUsQ0FBQztFQUFFLEtBQUssRTVIbXZCSCxLQUFLO0M0SG52QnNCOztBQUMvQyxBQUFBLGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFNUhtdkJILEtBQUs7QzRIbnZCdUI7O0FBQ2pELEFBQUEsZUFBZSxDQUFDO0VBQUUsS0FBSyxFNUhtdkJILEtBQUs7QzRIbnZCc0I7O0FBQy9DLEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxLQUFLLEU1SG12QkgsS0FBSztDNEhudkJ1Qjs7QUFDakQsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLEtBQUssRTVIbXZCSCxLQUFLO0M0SG52QndCOztBQUVuRCxVQUFVO0FBQ1YsQUFBQSxjQUFjLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSTtDQUFLOztBQUVqQyxZQUFZO0FBQ1osQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLEtBQUssRUFBRSxHQUFHO0VBQ1YsSUFBSSxFQUFFLENBQUM7RUFDUCxTQUFTLEVBQUUsQ0FBQztFQUNaLFVBQVUsRUFBRSxHQUFHO0NBQ2xCOztBQUVELGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsV0FBVztFQUNYLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSTtHQUFLO0VBRW5DLFlBQVk7RUFDWixBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVsQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUMvRCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQztHQUFJO0VBRS9ELGNBQWM7RUFDZCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUNsQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVsQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFFbEMsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDO0dBQUk7RUFDL0QsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUUvRCxXQUFXO0VBQ1gsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLEtBQUssRTVIc3NCVixLQUFLO0c0SHRzQjZCO0VBQ2xELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxLQUFLLEU1SHNzQlYsS0FBSztHNEh0c0I4QjtFQUNwRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFNUhzc0JWLEtBQUs7RzRIdHNCNkI7RUFDbEQsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLEtBQUssRTVIc3NCVixLQUFLO0c0SHRzQjhCO0VBQ3BELEFBQUEsb0JBQW9CLENBQUM7SUFBRSxLQUFLLEU1SHNzQlYsS0FBSztHNEh0c0IrQjtFQUV0RCxVQUFVO0VBQ1YsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJO0dBQUs7RUFFcEMsWUFBWTtFQUNaLEFBQUEsbUJBQW1CLENBQUM7SUFDaEIsS0FBSyxFQUFFLEdBQUc7SUFDVixJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQUc7R0FDbEI7OztBQUlMLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsV0FBVztFQUNYLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSTtHQUFLO0VBRW5DLFlBQVk7RUFDWixBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVsQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUMvRCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQztHQUFJO0VBRS9ELGNBQWM7RUFDZCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUNsQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVsQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFFbEMsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDO0dBQUk7RUFDL0QsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUUvRCxXQUFXO0VBQ1gsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLEtBQUssRTVIdXBCVixLQUFLO0c0SHZwQjZCO0VBQ2xELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxLQUFLLEU1SHVwQlYsS0FBSztHNEh2cEI4QjtFQUNwRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFNUh1cEJWLEtBQUs7RzRIdnBCNkI7RUFDbEQsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLEtBQUssRTVIdXBCVixLQUFLO0c0SHZwQjhCO0VBQ3BELEFBQUEsb0JBQW9CLENBQUM7SUFBRSxLQUFLLEU1SHVwQlYsS0FBSztHNEh2cEIrQjtFQUVyRCxVQUFVO0VBQ1gsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJO0dBQUs7RUFFcEMsWUFBWTtFQUNaLEFBQUEsbUJBQW1CLENBQUM7SUFDaEIsS0FBSyxFQUFFLEdBQUc7SUFDVixJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQUc7R0FDbEI7OztBQUlMLHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsV0FBVztFQUNYLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSTtHQUFLO0VBRW5DLFlBQVk7RUFDWixBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVsQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUMvRCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQztHQUFJO0VBRS9ELGNBQWM7RUFDZCxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUNsQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVsQyxZQUFZO0VBQ1osQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFFbEMsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDO0dBQUk7RUFDL0QsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUUvRCxXQUFXO0VBQ1gsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLEtBQUssRTVId21CVixLQUFLO0c0SHhtQjZCO0VBQ2xELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxLQUFLLEU1SHdtQlYsS0FBSztHNEh4bUI4QjtFQUNwRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFNUh3bUJWLEtBQUs7RzRIeG1CNkI7RUFDbEQsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLEtBQUssRTVId21CVixLQUFLO0c0SHhtQjhCO0VBQ3BELEFBQUEsb0JBQW9CLENBQUM7SUFBRSxLQUFLLEU1SHdtQlYsS0FBSztHNEh4bUIrQjtFQUV0RCxVQUFVO0VBQ1YsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJO0dBQUs7RUFFcEMsWUFBWTtFQUNaLEFBQUEsbUJBQW1CLENBQUM7SUFDaEIsS0FBSyxFQUFFLEdBQUc7SUFDVixJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQUc7R0FDbEI7OztBQUlMLDZCQUE2QjtBQUM3QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsV0FBVztFQUNYLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSTtHQUFLO0VBRXBDLFlBQVk7RUFDWixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVuQyxZQUFZO0VBQ1osQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUNoRSxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLHNCQUFpQztHQUFJO0VBRWhFLGNBQWM7RUFDZCxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUNuQyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUc7R0FBSztFQUVuQyxZQUFZO0VBQ1osQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbkMsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbkMsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFDbkMsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFHO0dBQUs7RUFFbkMsWUFBWTtFQUNaLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsc0JBQWlDO0dBQUk7RUFDaEUsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxzQkFBaUM7R0FBSTtFQUVoRSxXQUFXO0VBQ1gsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLEtBQUssRTVIeWpCWCxLQUFLO0c0SHpqQjhCO0VBQ25ELEFBQUEsb0JBQW9CLENBQUM7SUFBRSxLQUFLLEU1SHlqQlgsS0FBSztHNEh6akIrQjtFQUNyRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsS0FBSyxFNUh5akJYLEtBQUs7RzRIempCOEI7RUFDbkQsQUFBQSxvQkFBb0IsQ0FBQztJQUFFLEtBQUssRTVIeWpCWCxLQUFLO0c0SHpqQitCO0VBQ3JELEFBQUEscUJBQXFCLENBQUM7SUFBRSxLQUFLLEU1SHlqQlgsS0FBSztHNEh6akJnQztFQUV2RCxVQUFVO0VBQ1YsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFJO0dBQUs7RUFFckMsWUFBWTtFQUNaLEFBQUEsb0JBQW9CLENBQUM7SUFDakIsS0FBSyxFQUFFLEdBQUc7SUFDVixJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQUc7R0FDbEI7OztBQy9WTDs7OEVBRThFO0FBRzlFOzhFQUM4RTtBQUU5RSxBQUFBLGFBQWEsQ0FBQztFQUNWLFNBQVMsRTdIZ0VZLE1BQU07RTZIL0QzQixXQUFXLEU3SHl5QlMsR0FBRztFNkh4eUJ2QixLQUFLLEU3SG9EZSxJQUFJO0M2SGxEM0I7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDVixTQUFTLEU3SFJZLFFBQVE7RTZIUzdCLFdBQVcsRTdIcXlCUyxHQUFHO0U2SHB5QnZCLEtBQUssRTdIUFksSUFBSTtDNkhTeEI7O0FBTEQsQTVIMjFESSxhNEgzMURTLEM1SDIxRFQsQ0FBQyxDQUFDO0VBQUUsS0FBSyxFRC8xRFEsSUFBSTtDQysxRGU7O0E0SDMxRHhDLEE1SDYxREksYTRINzFEUyxDNUg2MURULENBQUMsQUFBQSxNQUFNLENBQUM7RUFDSixLQUFLLEVEcjRERSxJQUFJO0VDczREWCxlQUFlLEVBQUUsSUFBSTtDQUN4Qjs7QTRIeDFETDs4RUFDOEU7QUFFOUUsQUFBQSxjQUFjLENBQUM7RUFDWCxTQUFTLEU3SG5CWSxRQUFRO0U2SG9CN0IsV0FBVyxFN0g2eEJVLEdBQUc7QzZIM3hCM0I7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxTQUFTLEU3SHdDWSxNQUFNO0U2SHZDM0IsV0FBVyxFN0h5eEJVLEdBQUc7QzZIdnhCM0I7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsYUFBYSxDQUFDO0VBQUUsV0FBVyxFQXJEc0IsTUFBTTtDQXFEQTs7QUFHdkQ7OEVBQzhFO0FBRTlFLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxjQUFjLEVBQUUsb0JBQW9CO0NBQUs7O0FBQzlELEFBQUEsbUJBQW1CLENBQUM7RUFBRSxjQUFjLEVBQUUscUJBQXFCO0NBQUs7O0FBQ2hFLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxjQUFjLEVBQUUsb0JBQW9CO0NBQUs7O0FBRzlEOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQ0FBQztFQUFFLEtBQUssRTdIN0NELElBQUksQzZINkNpQixVQUFVO0NBQUk7O0FBQ3hELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxLQUFLLEU3SDdFSSxPQUFPLEM2SDZFVyxVQUFVO0NBQUk7O0FBQzVELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxLQUFLLEU3SDNFSSxPQUFPLEM2SDJFVyxVQUFVO0NBQUk7O0FBQzVELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxLQUFLLEU3SHpFSSxPQUFPLEM2SHlFVyxVQUFVO0NBQUk7O0FBQzVELEFBQUEsZUFBZSxDQUFDO0VBQUUsS0FBSyxFN0h2RUksT0FBTyxDNkh1RVUsVUFBVTtDQUFJOztBQUcxRDs4RUFDOEU7QUFFOUU7Ozs7O0dBS0c7QUFFSCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLE9BQU87RUFDUCx1QkFBdUIsRUFBRSxJQUFJO0VBQzdCLHVCQUF1QixFQUFFLFdBQVc7RUFDcEMsT0FBTztFQUNQLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU87RUFDUCxLQUFLLEU3SHBHbUIsT0FBTyxDNkhvR0QsVUFBVTtDQUMzQzs7QUFFd0MsU0FBQyxFQUEvQix1QkFBdUIsRUFBRSxJQUFJO0VBRXBDLEFBQUEsbUJBQW1CLENBQUM7SUFDaEIsZ0JBQWdCLEU3SDFHSSxPQUFPO0c2SDRHOUI7OztBQUtMOzhFQUM4RTtBQUU5RSxBQUFBLGFBQWEsQ0FBQztFQUFFLFVBQVUsRUFBRSxlQUFlO0NBQUs7O0FBQ2hELEFBQUEsY0FBYyxDQUFDO0VBQUUsVUFBVSxFQUFFLGdCQUFnQjtDQUFLOztBQUNsRCxBQUFBLGVBQWUsQ0FBQztFQUFFLFVBQVUsRUFBRSxpQkFBaUI7Q0FBSzs7QUFDcEQsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLFVBQVUsRUFBRSxrQkFBa0I7Q0FBSzs7QUFFdEQsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsVUFBVSxFQUFFLGVBQWU7R0FBSztFQUNuRCxBQUFBLGlCQUFpQixDQUFDO0lBQUUsVUFBVSxFQUFFLGdCQUFnQjtHQUFLO0VBQ3JELEFBQUEsa0JBQWtCLENBQUM7SUFBRSxVQUFVLEVBQUUsaUJBQWlCO0dBQUs7OztBQUkzRCxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxVQUFVLEVBQUUsZUFBZTtHQUFLO0VBQ25ELEFBQUEsaUJBQWlCLENBQUM7SUFBRSxVQUFVLEVBQUUsZ0JBQWdCO0dBQUs7RUFDckQsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLFVBQVUsRUFBRSxpQkFBaUI7R0FBSzs7O0FBSTNELHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLFVBQVUsRUFBRSxlQUFlO0dBQUs7RUFDbkQsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLFVBQVUsRUFBRSxnQkFBZ0I7R0FBSztFQUNyRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsVUFBVSxFQUFFLGlCQUFpQjtHQUFLOzs7QUFJM0QsNkJBQTZCO0FBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsVUFBVSxFQUFFLGVBQWU7R0FBSztFQUNwRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsVUFBVSxFQUFFLGdCQUFnQjtHQUFLO0VBQ3RELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxVQUFVLEVBQUUsaUJBQWlCO0dBQUs7OztBQUk1RDs7R0FFRztBQUVILEFBQUEsWUFBWSxDQUFDO0VBQUUsY0FBYyxFQUFFLGNBQWM7Q0FBSzs7QUFDbEQsQUFBQSxlQUFlLENBQUM7RUFBRSxjQUFjLEVBQUUsaUJBQWlCO0NBQUs7O0FBQ3hELEFBQUEsZUFBZSxDQUFDO0VBQUUsY0FBYyxFQUFFLGlCQUFpQjtDQUFLOztBQUN4RCxBQUFBLGlCQUFpQixDQUFDO0VBQUUsY0FBYyxFQUFFLG1CQUFtQjtDQUFLOztBQUc1RDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQ0FBQztFQUFFLFdBQVcsRUFBRSxNQUFNO0NBQUs7O0FBRTFDOzs7O0dBSUc7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsT0FBTztFQUNQLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTztFQUNQLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0NBQ3RCOztBQUVELE9BQU87QUFDUCxBQUFBLEVBQUUsQUFBQSxpQkFBaUI7QUFDbkIsQUFBQSxFQUFFLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxTQUFTLEVBQUUsQ0FBQztDQUFLOztBQUd2Qzs7Ozs7O0dBTUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU87RUFDUCxhQUFhLEVBQUUsVUFBVTtFQUN6QixPQUFPO0VBQ1AsU0FBUyxFQUFFLFVBQVU7RUFDckIsT0FBTztFQUNQLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0NBQ2hCOztBQUVELE9BQU87QUFDUCxBQUFBLEVBQUUsQUFBQSxjQUFjO0FBQ2hCLEFBQUEsRUFBRSxBQUFBLGNBQWMsQ0FBQztFQUFFLFVBQVUsRUFBRSxTQUFTO0NBQUs7O0FDbk43Qzs7OEVBRThFO0NBRTlFLEFBQUEsQUFBQSxLQUFDLEVBQU8sWUFBWSxBQUFuQixFQUFxQjtFQUFFLFVBQVUsRTlIRWxCLElBQUk7QzhIRmtDOztBQUV0RCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0dBRXJCLEFBQUEsQUFBQSxLQUFDLEVBQU8sWUFBWSxBQUFuQixFQUFxQjtJQUFFLFVBQVUsRTlIQWYsSUFBSTtHOEhBaUM7OztBQUk1RDs7R0FFRztDQUVILEFBQUEsQUFBc0IsS0FBckIsRUFBTyxZQUFZLEFBQW5CLEVBQXFCLEdBQUcsQ0FBQztFQUFFLFNBQVMsRUFBRSxvQkFBa0I7Q0FBSTs7QUFHN0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFdBQVcsRTlIc09hLEdBQUcsQzhIdE9hLEtBQUssQzlId0VqQyxPQUFPO0U4SHZFbkIsT0FBTztFQUNQLFVBQVUsRUFBRSxJQUFvQjtDQUNuQzs7QUFFRCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsa0JBQWtCLENBQUM7SUFDZixVQUFVLEVBQUUsSUFBc0I7R0FDckM7OztBQUtMOzhFQUM4RTtBQUU5RSxBQUFBLGNBQWMsQ0FBQztFQUFFLFlBQVksRUFBRSxDQUFDO0NBQUk7O0FBQ3BDLEFBQUEsY0FBYyxDQUFDO0VBQUUsWUFBWSxFQUFFLENBQUM7Q0FBSzs7QUFDckMsQUFBQSxjQUFjLENBQUM7RUFBRSxZQUFZLEVBQUUsQ0FBQztDQUFLOztBQUNyQyxBQUFBLGNBQWMsQ0FBQztFQUFFLFlBQVksRUFBRSxDQUFDO0NBQUs7O0FBQ3JDLEFBQUEsY0FBYyxDQUFDO0VBQUUsWUFBWSxFQUFFLENBQUM7Q0FBSzs7QUFFckMsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN4QyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN4QyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN4QyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN4QyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSzs7O0FBSTVDLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLFlBQVksRUFBRSxDQUFDO0dBQUs7RUFDeEMsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLFlBQVksRUFBRSxDQUFDO0dBQUs7RUFDeEMsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLFlBQVksRUFBRSxDQUFDO0dBQUs7RUFDeEMsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLFlBQVksRUFBRSxDQUFDO0dBQUs7RUFDeEMsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLFlBQVksRUFBRSxDQUFDO0dBQUs7OztBQUk1Qyx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQztHQUFLO0VBQ3hDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQztHQUFLO0VBQ3hDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQztHQUFLO0VBQ3hDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQztHQUFLO0VBQ3hDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQztHQUFLOzs7QUFJNUMsNkJBQTZCO0FBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGtCQUFrQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN6QyxBQUFBLGtCQUFrQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN6QyxBQUFBLGtCQUFrQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN6QyxBQUFBLGtCQUFrQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSztFQUN6QyxBQUFBLGtCQUFrQixDQUFDO0lBQUUsWUFBWSxFQUFFLENBQUM7R0FBSzs7O0FBSTdDOzs4RUFFOEU7QUFFOUUsQUFBQSxlQUFlLENBQUM7RUFBRSxXQUFXLEVBQUUsR0FBRztDQUFLOztBQ2hIdkM7OzhFQUU4RTtBQUU5RTs7Ozs7O0dBTUc7QUFFSCxBQUFBLFNBQVMsQ0FBQztFQUNOLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsR0FBRztFQUNULEdBQUcsRUFBRSxHQUFHO0VBQ1IsU0FBUyxFQUFFLHFCQUFvQjtDQUNsQzs7QUFFRCxBQUFBLE1BQU0sQUFBQSxTQUFTLENBQUM7RUFBRSxjQUFjLEVBQUUsSUFBSTtDQUFLOztBQUczQzs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixPQUFPO0VBQ1AsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0NBQ3JCOztBQy9CRDs7OEVBRThFO0FBRzlFOzhFQUM4RTtBQUU5RSxBQUFBLHNCQUFzQixDQUFDO0VBQUUsZ0JBQWdCLEVoSTJCckIsSUFBSTtDZ0kzQnFEOztBQUM3RSxBQUFBLG9CQUFvQixDQUFDO0VBQUUsZ0JBQWdCLEVoSWhCYixPQUFPO0NnSWdCd0M7O0FBQ3pFLEFBQUEsc0JBQXNCLENBQUM7RUFBRSxnQkFBZ0IsRWhJWGIsT0FBTztDZ0lXMEM7O0FBQzdFLEFBQUEsd0JBQXdCLENBQUM7RUFBRSxnQkFBZ0IsRWhJNEJiLElBQUk7Q2dJNUIrQzs7QUFHakY7OEVBQzhFO0FBRTlFLEFBQUEsb0JBQW9CO0FBQ3BCLEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsbUJBQW1CLEVBQUUsT0FBTztFQUM1QixpQkFBaUIsRUFBRSxTQUFTO0NBQy9COztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxlQUFlLEVBQUUsS0FBSztDQUFLOztBQUNsRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsZUFBZSxFQUFFLE9BQU87Q0FBSzs7QUFHdEQ7OEVBQzhFO0FBRTlFLEFBQUEsdUJBQXVCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxHQUFHO0NBQUs7O0FBQ3ZELEFBQUEseUJBQXlCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxLQUFLO0NBQUs7O0FBQzNELEFBQUEsd0JBQXdCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxNQUFNO0NBQUs7O0FBQzNELEFBQUEsMEJBQTBCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxLQUFLO0NBQUs7O0FBQzVELEFBQUEsNEJBQTRCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxPQUFPO0NBQUs7O0FBQ2hFLEFBQUEsMkJBQTJCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxRQUFRO0NBQUs7O0FBQ2hFLEFBQUEsMEJBQTBCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxNQUFNO0NBQUs7O0FBQzdELEFBQUEsNEJBQTRCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxRQUFRO0NBQUs7O0FBQ2pFLEFBQUEsMkJBQTJCLENBQUM7RUFBRSxtQkFBbUIsRUFBRSxTQUFTO0NBQUs7O0FBR2pFOzhFQUM4RTtBQUU5RSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsaUJBQWlCLEVBQUUsU0FBUztDQUFLOztBQUczRDs4RUFDOEU7QUFFOUUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLEtBQUs7Q0FBSzs7QUFFeEQ7O0dBRUc7QUFFSCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU07RUFDbkIsQUFBQSxvQkFBb0IsQ0FBQztJQUFFLHFCQUFxQixFQUFFLE1BQU07R0FBSzs7O0FBSTdEOzhFQUM4RTtBQUU5RSxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsdUJBQXVCLENBQUM7SUFBRSxnQkFBZ0IsRUFBRSxlQUFlO0dBQUs7OztBQUlwRSxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsdUJBQXVCLENBQUM7SUFBRSxnQkFBZ0IsRUFBRSxlQUFlO0dBQUs7OztBQUlwRSxrQ0FBa0M7QUFDbEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsdUJBQXVCLENBQUM7SUFBRSxnQkFBZ0IsRUFBRSxlQUFlO0dBQUs7OztBQUlwRSx5QkFBeUI7QUFDekIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsd0JBQXdCLENBQUM7SUFBQyxnQkFBZ0IsRUFBRSxlQUFlO0dBQUs7OztBQUtwRTs4RUFDOEU7QUFFOUUsQUFBQSw2QkFBNkIsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFFBQVE7Q0FBSzs7QUFDcEUsQUFBQSwyQkFBMkIsQ0FBQztFQUFFLHFCQUFxQixFQUFFLE1BQU07Q0FBSzs7QUFDaEUsQUFBQSw0QkFBNEIsQ0FBQztFQUFFLHFCQUFxQixFQUFFLE9BQU87Q0FBSzs7QUFDbEUsQUFBQSwyQkFBMkIsQ0FBQztFQUFFLHFCQUFxQixFQUFFLE1BQU07Q0FBSzs7QUFDaEUsQUFBQSw0QkFBNEIsQ0FBQztFQUFFLHFCQUFxQixFQUFFLE9BQU87Q0FBSzs7QUFDbEUsQUFBQSxnQ0FBZ0MsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFdBQVc7Q0FBSzs7QUFDMUUsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFVBQVU7Q0FBSzs7QUFDeEUsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFVBQVU7Q0FBSzs7QUFDeEUsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFVBQVU7Q0FBSzs7QUFDeEUsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFVBQVU7Q0FBSzs7QUFDeEUsQUFBQSw4QkFBOEIsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFNBQVM7Q0FBSzs7QUFDdEUsQUFBQSx3QkFBd0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLEdBQUc7Q0FBSzs7QUFDMUQsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFVBQVU7Q0FBSzs7QUFDeEUsQUFBQSwwQkFBMEIsQ0FBQztFQUFFLHFCQUFxQixFQUFFLEtBQUs7Q0FBSzs7QUFDOUQsQUFBQSwrQkFBK0IsQ0FBQztFQUFFLHFCQUFxQixFQUFFLFVBQVU7Q0FBSzs7QUM1R3hFOzs4RUFFOEU7QUFFOUU7O0dBRUc7Q0FFSCxBQUFBLEFBQUEsS0FBQyxFQUFPLFVBQVUsQUFBakIsRUFBbUI7RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxhQUFhLEVqSURELElBQUk7Q2lJRW5COztBQUVELEFBQUksQ0FBSCxJQUFHLEFBQUEsS0FBQyxFQUFPLFVBQVUsQUFBakIsRUFBbUI7RUFBRSxVQUFVLEVqSUpwQixJQUFJO0NpSUk0Qzs7QUFFaEU7O0dBRUc7QUFFSCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7Q0FDckI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUNYLFVBQVUsRUFBRSxDQUFDO0VBQ2IsWUFBWSxFaklyQkEsSUFBSTtFaUlzQmhCLEtBQUssRUFBRSxJQUFJO0NBQ2Q7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixVQUFVLEVBQUUsQ0FBQztFQUNiLFdBQVcsRWpJM0JDLElBQUk7RWlJNEJoQixLQUFLLEVBQUUsS0FBSztDQUNmOztBQUVELGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxpQkFBaUIsQ0FBQztJQUNkLFVBQVUsRUFBRSxDQUFDO0lBQ2IsWUFBWSxFaklwQ0osSUFBSTtJaUlxQ1osS0FBSyxFQUFFLElBQUk7R0FDZDtFQUVELEFBQUEsa0JBQWtCLENBQUM7SUFDZixVQUFVLEVBQUUsQ0FBQztJQUNiLFdBQVcsRWpJMUNILElBQUk7SWlJMkNaLEtBQUssRUFBRSxLQUFLO0dBQ2Y7OztBQUlMLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxpQkFBaUIsQ0FBQztJQUNkLFVBQVUsRUFBRSxDQUFDO0lBQ2IsWUFBWSxFaklyREosSUFBSTtJaUlzRFosS0FBSyxFQUFFLElBQUk7R0FDZDtFQUVELEFBQUEsa0JBQWtCLENBQUM7SUFDZixVQUFVLEVBQUUsQ0FBQztJQUNiLFdBQVcsRWpJM0RILElBQUk7SWlJNERaLEtBQUssRUFBRSxLQUFLO0dBQ2Y7OztBQUlMLHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxpQkFBaUIsQ0FBQztJQUNkLFVBQVUsRUFBRSxDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUk7R0FDZDtFQUVELEFBQUEsa0JBQWtCLENBQUM7SUFDZixVQUFVLEVBQUUsQ0FBQztJQUNiLEtBQUssRUFBRSxLQUFLO0dBQ2Y7RUFFRCxBQUFBLGNBQWM7RUFDZCxBQUFBLGlCQUFpQjtFQUNqQixBQUFBLGlCQUFpQjtFQUNqQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsWUFBWSxFakk5RWIsSUFBSTtHaUk4RXlDO0VBRWhFLEFBQUEsZUFBZTtFQUNmLEFBQUEsa0JBQWtCO0VBQ2xCLEFBQUEsa0JBQWtCO0VBQ2xCLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxXQUFXLEVqSW5GYixJQUFJO0dpSW1GeUM7OztBQUlwRSw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsa0JBQWtCLENBQUM7SUFDZixVQUFVLEVBQUUsQ0FBQztJQUNiLFlBQVksRWpJNUZHLElBQUk7SWlJNkZuQixLQUFLLEVBQUUsSUFBSTtHQUNkO0VBRUQsQUFBQSxtQkFBbUIsQ0FBQztJQUNoQixVQUFVLEVBQUUsQ0FBQztJQUNiLFdBQVcsRWpJbEdJLElBQUk7SWlJbUduQixLQUFLLEVBQUUsS0FBSztHQUNmOzs7QUNoRUw7OzhFQUU4RTtBQUc5RTs4RUFDOEU7QUFFOUUsQUFBQSxTQUFTLENBQUM7RUFDTixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsVUFBVTtDQUN6Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsU0FBUyxBQUFBLFFBQVE7QUFDakIsQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ2IsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztDQUNqQjs7QUFFRCxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSTtDQUFLOztBQUVuQzs7R0FFRztBQUVILEFBQVksU0FBSCxHQUFHLFdBQVcsQ0FBQztFQUFFLGFBQWEsRUFBRSxDQUFDO0NBQUs7O0FBRy9DOztHQUVHO0FBRUgsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixNQUFNLEVsSWl5QmdCLEtBQUs7RWtJaHlCM0IsT0FBTyxFbElpeUJnQixJQUFJO0VrSWh5QjNCLE1BQU0sRWxJY1ksR0FBRyxDa0lka0IsS0FBSyxDbElnQmhDLE9BQU87RWtJZm5CLFFBQVEsRUFBRSxJQUFJO0VBQ2QsMEJBQTBCLEVBQUUsS0FBSztFQUNqQyxNQUFNLEVBQUUsSUFBSTtDQUVmOztBQUdEOzhFQUM4RTtBQUU5RTs7OztHQUlHO0FBRUgsT0FBTztBQUNQLEFBQUEsWUFBWSxBQUFBLFFBQVEsQ0FBQztFQUNqQixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxVQUFVO0NBQ3RCOztBQUVELE9BQU87QUFDUCxBQUFBLFlBQVksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0NBQ2Q7O0FBR0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxjQUFjLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSTtDQUFLOztBQUNqQyxBQUFBLGVBQWUsQ0FBQztFQUFFLEtBQUssRUFBRSxLQUFLO0NBQUs7O0FBRW5DLE9BQU87Q0FDUCxBQUFBLEFBQUEsS0FBQyxFQUFPLFdBQVcsQUFBbEIsRUFBb0I7RUFBRSxTQUFTLEVBQUUsSUFBSTtDQUFLOztBQUczQzs4RUFDOEU7QUFFOUUsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFFBQVEsRUFBRSxNQUFNO0NBQUs7O0FBRTNDOzs7R0FHRztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFDZCxRQUFRLEVBQUUsSUFBSTtFQUNkLDBCQUEwQixFQUFFLEtBQUs7Q0FDcEM7O0FBRUQsQUFBb0IsaUJBQUgsR0FBRyxXQUFXLENBQUM7RUFBRSxhQUFhLEVBQUUsQ0FBQztDQUFLOztBQUd2RDs4RUFDOEU7QUFFOUUsQUFBQSxVQUFVLENBQUM7RUFBRSxNQUFNLEVBQUUsSUFBSTtDQUFLOztBQUM5QixBQUFBLG1CQUFtQixDQUFDO0VBQUUsTUFBTSxFQUFFLFFBQVE7Q0FBSzs7QUFHM0M7OEVBQzhFO0FBRTlFLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxPQUFPLEVBQUUsZ0JBQWdCO0NBQUs7O0FBQ2xELEFBQUEsa0JBQWtCLENBQUM7RUFBRSxPQUFPLEVBQUUsaUJBQWlCO0NBQUs7O0FBQ3BELEFBQUEsd0JBQXdCLENBQUM7RUFBRSxPQUFPLEVBQUUsdUJBQXVCO0NBQUs7O0FBR2hFOzhFQUM4RTtBQUU5RTs7Ozs7Ozs7R0FRRztDQUVILEFBQUEsQUFBQSxLQUFDLEVBQU8sV0FBVyxBQUFsQixFQUFvQjtFQUNqQixPQUFPO0VBQ1AsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU87RUFDUCxjQUFjLEVBQUUsTUFBTTtFQUN0QixPQUFPO0VBQ1AsMkJBQTJCLEVBQUUsTUFBTTtDQUN0Qzs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU87RUFDUCxRQUFRLEVBQUUsTUFBTTtDQUNuQjs7QUFHRDs4RUFDOEU7Q0FFOUUsQUFBQSxBQUFBLEtBQUMsRUFBTyxXQUFXLEFBQWxCLEVBQW9CO0VBQUUsVUFBVSxFQUFFLFVBQVU7Q0FBSzs7QUFFbEQ7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUFFLE1BQU0sRUFBRSxJQUFJO0NBQUs7O0FBRWxDOztHQUVHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFVBQVUsRUFBRSxLQUFLO0NBQUs7O0FBRTVDOzs7R0FHRztBQUVILEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxNQUFNLEVsSStwQkgsS0FBSztDa0kvcEJ3Qjs7QUFDbkQsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLE1BQU0sRWxJK3BCSCxLQUFLO0NrSS9wQnlCOztBQUNyRCxBQUFBLGdCQUFnQixDQUFDO0VBQUUsTUFBTSxFbEkrcEJILEtBQUs7Q2tJL3BCd0I7O0FBRW5ELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxVQUFVLEVsSTJwQlgsS0FBSztDa0kzcEJnQzs7QUFDM0QsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFVBQVUsRWxJMnBCWCxLQUFLO0NrSTNwQmlDOztBQUM3RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsVUFBVSxFbEkycEJYLEtBQUs7Q2tJM3BCZ0M7O0FBRzNEOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUFFSCxBQUFBLGtCQUFrQjtBQUNsQixBQUFtQixrQkFBRCxDQUFDLEtBQUs7QUFDeEIsQUFBbUIsa0JBQUQsQ0FBQyxNQUFNO0FBQ3pCLEFBQW1CLGtCQUFELENBQUMsR0FBRztBQUN0QixBQUFtQixrQkFBRCxDQUFDLEdBQUc7QUFDdEIsQUFBbUIsa0JBQUQsQ0FBQyxLQUFLLENBQUM7RUFBRSxTQUFTLEVBQUUsSUFBSTtDQUFLOztBQUUvQzs7O0dBR0c7QUFFSCxBQUFBLG9CQUFvQjtBQUNwQixBQUFBLHFCQUFxQixDQUFDO0VBQUUsVUFBVSxFQUFFLFVBQVU7Q0FBSzs7QUFFbkQ7OztHQUdHO0FBRUgsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixPQUFPO0VBQ1AsU0FBUyxFQUFFLGVBQWU7RUFDMUIsT0FBTztFQUNQLE1BQU0sRUFBRSxJQUFJO0NBQ2Y7O0FBRUQ7Ozs7R0FJRztBQUVILEFBQUEscUJBQXFCLENBQUM7RUFDbEIsT0FBTztFQUNQLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU87RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU87RUFDUCxTQUFTLEVBQUUsSUFBSTtDQUNsQjs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLGFBQWEsRUFBRSxHQUFHO0NBQUs7O0FBQzNDLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxhQUFhLEVsSWttQkgsR0FBRztDa0lsbUJtQzs7QUFFckU7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQ0FBQSxBQUFBLEtBQUMsRUFBTyxZQUFZLEFBQW5CLEVBQXFCO0VBQUUsaUJBQWlCLEVBQUUsYUFBYTtDQUFJOztBQUczRTs4RUFDOEU7QUFFOUUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFVBQVUsRWxJK21CUCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0I7Q2tJL21CVzs7QUFDL0QsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFVBQVUsRWxJK21CUCxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBZ0I7Q2tJL21CVzs7QUFDakUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFVBQVUsRWxJK21CUCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBZ0I7Q2tJL21CUzs7QUFDL0QsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFVBQVUsRWxJK21CUCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBZ0I7Q2tJL21CVTs7QUFFakU7O0dBRUc7Q0FFSCxBQUFBLEFBQUEsS0FBQyxFQUFPLHFCQUFxQixBQUE1QixFQUE4QjtFQUFFLFVBQVUsRUFBRSxVQUFVLENsSThrQmpDLElBQUksQ2tJOWtCbUQsV0FBVztDQUFJOztBQUU1RixBQUFBLDBCQUEwQixBQUFBLE1BQU0sQ0FBQztFQUFFLFVBQVUsRWxJb21CbkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQWdCO0NrSXBtQnVCOztBQUMzRSxBQUFBLDJCQUEyQixBQUFBLE1BQU0sQ0FBQztFQUFFLFVBQVUsRWxJb21CbkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQWdCO0NrSXBtQnVCOztBQUM3RSxBQUFBLDBCQUEwQixBQUFBLE1BQU0sQ0FBQztFQUFFLFVBQVUsRWxJb21CbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQWdCO0NrSXBtQnFCOztBQUMzRSxBQUFBLDJCQUEyQixBQUFBLE1BQU0sQ0FBQztFQUFFLFVBQVUsRWxJb21CbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQWdCO0NrSXBtQnNCOztBQUc3RTs4RUFDOEU7QUFFOUU7Ozs7O0dBS0c7QUFFd0IsU0FBQyxFQUFqQixNQUFNLEVBQUUsT0FBTztFQUV0QixBQUFBLHFCQUFxQixDQUFDO0lBQ2xCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsY0FBYyxFQUFFLE1BQU07R0FDekI7RUFFRCxBQUFBLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztJQUMxQixPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU87SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVsSWdqQmEsS0FBSTtJa0kvaUJ2QixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxDQUFDO0lBQ1IsT0FBTztJQUNQLE1BQU0sRWxJNGlCYSxJQUFJO0lrSTNpQnZCLGFBQWEsRWxJNGlCYSxJQUFJO0lrSTNpQjlCLFVBQVUsRWxJNGlCYSxJQUFJO0lrSTNpQjNCLE1BQU0sRUFBRSxVQUE2QjtHQUV4QztFQUVELE9BQU87RUFDUCxBQUF3QixxQkFBSCxHQUFHLENBQUMsQ0FBQztJQUFFLFFBQVEsRUFBRSxRQUFRO0dBQUs7OztBQUt2RDs4RUFDOEU7QUFFOUUsQUFBQSxXQUFXLEFBQUEsY0FBYztBQUN6QixBQUFjLFdBQUgsR0FBRyxDQUFDLEFBQUEsY0FBYyxBQUFBLGNBQWMsQ0FBQztFQUN4QyxPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRWxJNmhCTyxJQUFJO0VrSTVoQnZCLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFbEk0aEJPLEtBQWlDO0VrSTNoQmpELFdBQVcsRUFBRSxDQUFDO0VqSXVqRGQsYUFBYSxFQUFFLElBQUk7Q2lJcmpEdEI7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEsVUFBVSxDQUFDO0VBQUUsUUFBUSxFQUFFLE1BQU07Q0FBSzs7QUFFbEM7Ozs7O0dBS0c7QUFFSCxBQUFBLGVBQWUsQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTztFQUNQLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRWxJellPLElBQUk7RWtJMFl0QixPQUFPO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixPQUFPO0VBQ1AsT0FBTyxFQUFFLGVBQWU7RUFDeEIsT0FBTztFQUNQLFdBQVcsRUFBRSxNQUFNO0NBRXRCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxlQUFlLEFBQUEsZUFBZSxBQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJO0NBQUs7O0FBRTFELCtCQUErQjtBQUMvQixBQUFBLGdCQUFnQixBQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRWxJdWZYLEdBQUc7Q2tJdmZrQzs7QUFHM0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxRQUFRLENBQUM7RUFDTCxTQUFTLEVsSS9UWSxNQUFNO0VrSWdVM0IsV0FBVyxFbElyV00sTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxVQUFVO0VrSXNXbkgsS0FBSyxFbEk4ZUksS0FBSztFa0k3ZWQsT0FBTztFQUNQLGVBQWUsRUFBRSxJQUFJO0NBRXhCOztBQUVELG1CQUFtQjtBQUNuQixBQUFBLFFBQVEsQUFBQSxNQUFNO0FBQ2QsQUFBQSxRQUFRLEFBQUEsTUFBTSxDQUFDO0VBQ1gsS0FBSyxFbElzZVUsS0FBSztFa0lyZXBCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTztFQUNQLGVBQWUsRUFBRSxJQUFJO0NBRXhCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSTtDQUFLOztBQUdyQzs4RUFDOEU7QUFFOUU7Ozs7R0FJRztBQUVILE9BQU87QUFDUCxBQUFBLE9BQU87QUFFUCxBQUEwQixPQUFuQixBQUFBLElBQUssQ0FBQSxBQUFBLFlBQVksR0FBRSxBQUFBLElBQUMsRUFBTSxHQUFHLEFBQVQsQ0FBVSxJQUFLLENBQUEsQUFBQSxZQUFZO0FBQ3RELEFBQTBCLE9BQW5CLEFBQUEsSUFBSyxDQUFBLEFBQUEsWUFBWSxHQUFFLEFBQUEsSUFBQyxFQUFNLEdBQUcsQUFBVCxDQUFVLElBQUssQ0FBQSxBQUFBLFlBQVksRUFBRTtFQUFFLElBQUksRUFBRSxZQUFZO0NBQUs7O0FBQ2pGLEFBQTBCLE9BQW5CLEFBQUEsSUFBSyxDQUFBLEFBQUEsWUFBWSxHQUFFLEFBQUEsTUFBQyxFQUFRLEdBQUcsQUFBWCxDQUFZLElBQUssQ0FBQSxBQUFBLFlBQVk7QUFDeEQsQUFBMEIsT0FBbkIsQUFBQSxJQUFLLENBQUEsQUFBQSxZQUFZLEdBQUUsQUFBQSxNQUFDLEVBQVEsR0FBRyxBQUFYLENBQVksSUFBSyxDQUFBLEFBQUEsWUFBWSxFQUFFO0VBQUUsTUFBTSxFQUFFLFlBQVk7Q0FBSzs7QUFFckY7O0dBRUc7QUFFSCxBQUFBLE9BQU8sQ0FBQztFQUFFLFNBQVMsRUFBRSxlQUFjO0NBQUk7O0FBR3ZDOzhFQUM4RTtBQUU5RSxBQUFBLFlBQVksQ0FBQztFQUFFLGNBQWMsRUFBRSxJQUFJO0NBQUs7O0FBR3hDOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUFFSCxBQUFBLFFBQVE7QUFFUixBQUFTLFFBQUQsQ0FBQyxDQUFDLENBQUM7RUFBRSxNQUFNLEVBQUUsSUFBSTtDQUFLOztBQUU5QixPQUFPO0FBQ1AsQUFBUyxRQUFELENBQUMsTUFBTSxDQUFDO0VBQUUsY0FBYyxFQUFFLElBQUk7Q0FBSzs7QUFHM0M7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUgsQUFBQSxZQUFZLENBQUM7RUFBRSxVQUFVLEVsSXdhSCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBcUI7Q2tJeGFEOztBQUduRDs4RUFDOEU7QUFFOUUsQUFBQSxrQkFBa0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxRQUFRO0NBQUs7O0FBQ2xELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxjQUFjLEVBQUUsTUFBTTtDQUFLOztBQUM5QyxBQUFBLGlCQUFpQixDQUFDO0VBQUUsY0FBYyxFQUFFLE9BQU87Q0FBSzs7QUFDaEQsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxNQUFNO0NBQUs7O0FBQzlDLEFBQUEsaUJBQWlCLENBQUM7RUFBRSxjQUFjLEVBQUUsT0FBTztDQUFLOztBQUNoRCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsY0FBYyxFQUFFLFdBQVc7Q0FBSzs7QUFDeEQsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxVQUFVO0NBQUs7O0FBQ3RELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxjQUFjLEVBQUUsVUFBVTtDQUFLOztBQUN0RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsY0FBYyxFQUFFLFVBQVU7Q0FBSzs7QUFDdEQsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLGNBQWMsRUFBRSxVQUFVO0NBQUs7O0FBQ3RELEFBQUEsbUJBQW1CLENBQUM7RUFBRSxjQUFjLEVBQUUsU0FBUztDQUFLOztBQUNwRCxBQUFBLGFBQWEsQ0FBQztFQUFFLGNBQWMsRUFBRSxHQUFHO0NBQUs7O0FBQ3hDLEFBQUEsb0JBQW9CLENBQUM7RUFBRSxjQUFjLEVBQUUsVUFBVTtDQUFLOztBQUN0RCxBQUFBLGVBQWUsQ0FBQztFQUFFLGNBQWMsRUFBRSxLQUFLO0NBQUs7O0FBQzVDLEFBQUEsb0JBQW9CLENBQUM7RUFBRSxjQUFjLEVBQUUsVUFBVTtDQUFLOztBQUd0RDs2RUFDNkU7QUFFN0UsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFNBQVMsRUFBRSxxQkFBcUI7Q0FBSTs7QUFHM0Q7NkVBQzZFO0FBRTdFLEFBQUEsNkJBQTZCLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxHQUFHO0NBQUs7O0FBQzFELEFBQUEsK0JBQStCLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxLQUFLO0NBQUs7O0FBQzlELEFBQUEsOEJBQThCLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxNQUFNO0NBQUs7O0FBQzlELEFBQUEsZ0NBQWdDLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxLQUFLO0NBQUs7O0FBQy9ELEFBQUEsaUNBQWlDLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxRQUFRO0NBQUs7O0FBQ25FLEFBQUEsZ0NBQWdDLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxNQUFNO0NBQUs7O0FBQ2hFLEFBQUEsa0NBQWtDLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxRQUFRO0NBQUs7O0FBQ3BFLEFBQUEsaUNBQWlDLENBQUM7RUFBRSxnQkFBZ0IsRUFBRSxTQUFTO0NBQUs7O0FDcmhCcEU7OzhFQUU4RTtBQUU5RSxBQUFBLFFBQVEsQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJO0NBQUs7O0FBQzdCLEFBQUEsZUFBZSxDQUFDO0VBQUUsT0FBTyxFQUFFLFdBQVc7Q0FBSzs7QUFFM0M7O0dBRUc7QUFFSCxBQUFBLFFBQVEsQUFBQSxRQUFRO0FBQ2hCLEFBQUEsUUFBUSxBQUFBLE9BQU87QUFDZixBQUFBLGVBQWUsQUFBQSxRQUFRO0FBQ3ZCLEFBQUEsZUFBZSxBQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJO0NBQUs7O0FBRzNDOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUFHSCxBQUFBLGFBQWEsQ0FBQztFQUFFLGVBQWUsRUFBRSxVQUFVO0NBQUs7O0FBQ2hELEFBQUEsZUFBZSxDQUFDO0VBQUUsZUFBZSxFQUFFLE1BQU07Q0FBSzs7QUFDOUMsQUFBQSxjQUFjLENBQUM7RUFBRSxlQUFlLEVBQUUsUUFBUTtDQUFLOztBQUMvQyxBQUFBLGdCQUFnQixDQUFDO0VBQUUsZUFBZSxFQUFFLGFBQWE7Q0FBSzs7QUFDdEQsQUFBQSxlQUFlLENBQUM7RUFBRSxlQUFlLEVBQUUsWUFBWTtDQUFLOztBQUdwRCxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxlQUFlLEVBQUUsVUFBVTtHQUFLO0VBQ25ELEFBQUEsa0JBQWtCLENBQUM7SUFBRSxlQUFlLEVBQUUsTUFBTTtHQUFLO0VBQ2pELEFBQUEsaUJBQWlCLENBQUM7SUFBRSxlQUFlLEVBQUUsUUFBUTtHQUFLO0VBQ2xELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxlQUFlLEVBQUUsYUFBYTtHQUFLO0VBQ3pELEFBQUEsa0JBQWtCLENBQUM7SUFBRSxlQUFlLEVBQUUsWUFBWTtHQUFLOzs7QUFJM0QsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsZUFBZSxFQUFFLFVBQVU7R0FBSztFQUNuRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLE1BQU07R0FBSztFQUNqRCxBQUFBLGlCQUFpQixDQUFDO0lBQUUsZUFBZSxFQUFFLFFBQVE7R0FBSztFQUNsRCxBQUFBLG1CQUFtQixDQUFDO0lBQUUsZUFBZSxFQUFFLGFBQWE7R0FBSztFQUN6RCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsZUFBZSxFQUFFLFlBQVk7R0FBSzs7O0FBSTNELHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLGVBQWUsRUFBRSxVQUFVO0dBQUs7RUFDbkQsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLGVBQWUsRUFBRSxNQUFNO0dBQUs7RUFDakQsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLGVBQWUsRUFBRSxRQUFRO0dBQUs7RUFDbEQsQUFBQSxtQkFBbUIsQ0FBQztJQUFFLGVBQWUsRUFBRSxhQUFhO0dBQUs7RUFDekQsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLGVBQWUsRUFBRSxZQUFZO0dBQUs7OztBQUkzRCw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxlQUFlLEVBQUUsVUFBVTtHQUFLO0VBQ3BELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxlQUFlLEVBQUUsTUFBTTtHQUFLO0VBQ2xELEFBQUEsa0JBQWtCLENBQUM7SUFBRSxlQUFlLEVBQUUsUUFBUTtHQUFLO0VBQ25ELEFBQUEsb0JBQW9CLENBQUM7SUFBRSxlQUFlLEVBQUUsYUFBYTtHQUFLO0VBQzFELEFBQUEsbUJBQW1CLENBQUM7SUFBRSxlQUFlLEVBQUUsWUFBWTtHQUFLOzs7QUFJNUQ7OztHQUdHO0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLFdBQVcsRUFBRSxPQUFPO0NBQUs7O0FBQzVDLEFBQUEsWUFBWSxDQUFDO0VBQUUsV0FBVyxFQUFFLFVBQVU7Q0FBSzs7QUFDM0MsQUFBQSxlQUFlLENBQUM7RUFBRSxXQUFXLEVBQUUsTUFBTTtDQUFLOztBQUMxQyxBQUFBLGVBQWUsQ0FBQztFQUFFLFdBQVcsRUFBRSxRQUFRO0NBQUs7O0FBRzVDOzhFQUM4RTtBQUc5RSxBQUFBLFlBQVksQ0FBQztFQUFFLGNBQWMsRUFBRSxHQUFHO0NBQUs7O0FBQ3ZDLEFBQUEsb0JBQW9CLENBQUM7RUFBRSxjQUFjLEVBQUUsV0FBVztDQUFLOztBQUN2RCxBQUFBLGVBQWUsQ0FBQztFQUFFLGNBQWMsRUFBRSxNQUFNO0NBQUs7O0FBQzdDLEFBQUEsdUJBQXVCLENBQUM7RUFBRSxjQUFjLEVBQUUsY0FBYztDQUFLOztBQUc3RDs4RUFDOEU7QUFHOUUsQUFBQSxlQUFlLENBQUM7RUFBRSxTQUFTLEVBQUUsTUFBTTtDQUFLOztBQUN4QyxBQUFBLGFBQWEsQ0FBQztFQUFFLFNBQVMsRUFBRSxJQUFJO0NBQUs7O0FBQ3BDLEFBQUEscUJBQXFCLENBQUM7RUFBRSxTQUFTLEVBQUUsWUFBWTtDQUFLOztBQUVwRDs7O0dBR0c7QUFHSCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsYUFBYSxFQUFFLE9BQU87Q0FBSzs7QUFDbkQsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLGFBQWEsRUFBRSxVQUFVO0NBQUs7O0FBQ2xELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxhQUFhLEVBQUUsTUFBTTtDQUFLOztBQUNqRCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsYUFBYSxFQUFFLFFBQVE7Q0FBSzs7QUFDbkQsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLGFBQWEsRUFBRSxhQUFhO0NBQUs7O0FBQ3pELEFBQUEsb0JBQW9CLENBQUM7RUFBRSxhQUFhLEVBQUUsWUFBWTtDQUFLOztBQUd2RDs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxBQUFBLGNBQWMsQ0FBQztFQUFFLEtBQUssRUFBRSxFQUFFO0NBQUk7O0FBQzlCLEFBQUEsYUFBYSxDQUFDO0VBQUUsS0FBSyxFQUFFLEVBQUU7Q0FBSTs7QUFHN0IsZ0NBQWdDO0FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUU7R0FBSztFQUNsQyxBQUFBLGdCQUFnQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUU7R0FBSzs7O0FBSXJDLGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLEtBQUssRUFBRSxFQUFFO0dBQUs7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLEtBQUssRUFBRSxFQUFFO0dBQUs7OztBQUlyQyx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxLQUFLLEVBQUUsRUFBRTtHQUFLO0VBQ2xDLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxLQUFLLEVBQUUsRUFBRTtHQUFLOzs7QUFJckMsNkJBQTZCO0FBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGtCQUFrQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUU7R0FBSztFQUNuQyxBQUFBLGlCQUFpQixDQUFDO0lBQUUsS0FBSyxFQUFFLEVBQUU7R0FBSzs7O0FBS3RDOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSCxBQUFBLGFBQWEsQ0FBQztFQUFFLElBQUksRUFBRSxJQUFJO0NBQUs7O0FBRS9COzs7R0FHRztBQUVILEFBQUEsYUFBYSxDQUFDO0VBQUUsSUFBSSxFQUFFLElBQUk7Q0FBSzs7QUFFL0I7OztHQUdHO0FBRUgsQUFBQSxVQUFVLENBQUM7RUFBRSxJQUFJLEVBQUUsQ0FBQztDQUFLOztBQzFLekI7OzhFQUU4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsVUFBVSxDQUFDO0VBQUUsYUFBYSxFcEl0Q1YsSUFBSTtDb0lzQzBCOztBQUM5QyxBQUFJLENBQUgsR0FBRyxVQUFVLENBQUM7RUFBRSxVQUFVLEVwSXZDWCxJQUFJLENvSXVDd0IsVUFBVTtDQUFJOztBQUUxRCxBQUFBLGNBQWMsQ0FBQztFQUFFLFVBQVUsRXBJekNYLElBQUksQ29JeUN3QixVQUFVO0NBQUk7O0FBQzFELEFBQUEsaUJBQWlCLENBQUM7RUFBRSxhQUFhLEVwSTFDakIsSUFBSSxDb0kwQzhCLFVBQVU7Q0FBSTs7QUFDaEUsQUFBQSxlQUFlLENBQUM7RUFBRSxXQUFXLEVwSTNDYixJQUFJLENvSTJDMEIsVUFBVTtDQUFJOztBQUM1RCxBQUFBLGdCQUFnQixDQUFDO0VBQUUsWUFBWSxFcEk1Q2YsSUFBSSxDb0k0QzRCLFVBQVU7Q0FBSTs7QUFHOUQ7OEVBQzhFO0FBRTlFLEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxhQUFhLEVwSThFVixJQUFJO0NvSTlFZ0M7O0FBQzFELEFBQUksQ0FBSCxHQUFHLGdCQUFnQixDQUFDO0VBQUUsVUFBVSxFcEk2RVgsSUFBSSxDb0k3RThCLFVBQVU7Q0FBSTs7QUFFdEUsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLFVBQVUsRXBJMkVYLElBQUksQ29JM0U4QixVQUFVO0NBQUk7O0FBQ3RFLEFBQUEsdUJBQXVCLENBQUM7RUFBRSxhQUFhLEVwSTBFakIsSUFBSSxDb0kxRW9DLFVBQVU7Q0FBSTs7QUFDNUUsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFdBQVcsRXBJeUViLElBQUksQ29JekVnQyxVQUFVO0NBQUk7O0FBQ3hFLEFBQUEsc0JBQXNCLENBQUM7RUFBRSxZQUFZLEVwSXdFZixJQUFJLENvSXhFa0MsVUFBVTtDQUFJOztBQUcxRTs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLGFBQWEsRXBJd0NWLElBQUk7Q29JeENpQzs7QUFDNUQsQUFBSSxDQUFILEdBQUcsaUJBQWlCLENBQUM7RUFBRSxVQUFVLEVwSXVDWCxJQUFJLENvSXZDK0IsVUFBVTtDQUFJOztBQUV4RSxBQUFBLHFCQUFxQixDQUFDO0VBQUUsVUFBVSxFcElxQ1gsSUFBSSxDb0lyQytCLFVBQVU7Q0FBSTs7QUFDeEUsQUFBQSx3QkFBd0IsQ0FBQztFQUFFLGFBQWEsRXBJb0NqQixJQUFJLENvSXBDcUMsVUFBVTtDQUFJOztBQUM5RSxBQUFBLHNCQUFzQixDQUFDO0VBQUUsV0FBVyxFcEltQ2IsSUFBSSxDb0luQ2lDLFVBQVU7Q0FBSTs7QUFDMUUsQUFBQSx1QkFBdUIsQ0FBQztFQUFFLFlBQVksRXBJa0NmLElBQUksQ29JbENtQyxVQUFVO0NBQUk7O0FBRzVFOzhFQUM4RTtBQUU5RSxBQUFBLGdCQUFnQixDQUFDO0VBQUUsYUFBYSxFcEk0QlQsSUFBSTtDb0k1QitCOztBQUMxRCxBQUFJLENBQUgsR0FBRyxnQkFBZ0IsQ0FBQztFQUFFLFVBQVUsRXBJMkJWLElBQUksQ29JM0I2QixVQUFVO0NBQUk7O0FBRXRFLEFBQUEsb0JBQW9CLENBQUM7RUFBRSxVQUFVLEVwSXlCVixJQUFJLENvSXpCNkIsVUFBVTtDQUFJOztBQUN0RSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsYUFBYSxFcEl3QmhCLElBQUksQ29JeEJtQyxVQUFVO0NBQUk7O0FBQzVFLEFBQUEscUJBQXFCLENBQUM7RUFBRSxXQUFXLEVwSXVCWixJQUFJLENvSXZCK0IsVUFBVTtDQUFJOztBQUN4RSxBQUFBLHNCQUFzQixDQUFDO0VBQUUsWUFBWSxFcElzQmQsSUFBSSxDb0l0QmlDLFVBQVU7Q0FBSTs7QUFFMUUsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGdCQUFnQixDQUFDO0lBQUUsYUFBYSxFcEk5Q2QsSUFBSTtHb0k4Q3NDO0VBQzVELEFBQUksQ0FBSCxHQUFHLGdCQUFnQixDQUFDO0lBQUUsVUFBVSxFcEkvQ2YsSUFBSSxDb0krQ29DLFVBQVU7R0FBSTtFQUV4RSxBQUFBLG9CQUFvQixDQUFDO0lBQUUsVUFBVSxFcElqRGYsSUFBSSxDb0lpRG9DLFVBQVU7R0FBSTtFQUN4RSxBQUFBLHVCQUF1QixDQUFDO0lBQUUsYUFBYSxFcElsRHJCLElBQUksQ29Ja0QwQyxVQUFVO0dBQUk7RUFDOUUsQUFBQSxxQkFBcUIsQ0FBQztJQUFFLFdBQVcsRXBJbkRqQixJQUFJLENvSW1Ec0MsVUFBVTtHQUFJO0VBQzFFLEFBQUEsc0JBQXNCLENBQUM7SUFBRSxZQUFZLEVwSXBEbkIsSUFBSSxDb0lvRHdDLFVBQVU7R0FBSTs7O0FBS2hGOzhFQUM4RTtBQUU5RSxBQUFBLGlCQUFpQixDQUFDO0VBQUUsYUFBYSxFcEk1RFgsSUFBSTtDb0k0RGtDOztBQUM1RCxBQUFJLENBQUgsR0FBRyxpQkFBaUIsQ0FBQztFQUFFLFVBQVUsRXBJN0RaLElBQUksQ29JNkRnQyxVQUFVO0NBQUk7O0FBRXhFLEFBQUEscUJBQXFCLENBQUM7RUFBRSxVQUFVLEVwSS9EWixJQUFJLENvSStEZ0MsVUFBVTtDQUFJOztBQUN4RSxBQUFBLHdCQUF3QixDQUFDO0VBQUUsYUFBYSxFcEloRWxCLElBQUksQ29JZ0VzQyxVQUFVO0NBQUk7O0FBQzlFLEFBQUEsc0JBQXNCLENBQUM7RUFBRSxXQUFXLEVwSWpFZCxJQUFJLENvSWlFa0MsVUFBVTtDQUFJOztBQUMxRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsWUFBWSxFcElsRWhCLElBQUksQ29Ja0VvQyxVQUFVO0NBQUk7O0FBRTVFLHdCQUF3QjtBQUN4QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxpQkFBaUIsQ0FBQztJQUFFLGFBQWEsRXBJeWFkLEtBQUs7R29JemFzQztFQUM5RCxBQUFJLENBQUgsR0FBRyxpQkFBaUIsQ0FBQztJQUFFLFVBQVUsRXBJd2FmLEtBQUssQ29JeGFvQyxVQUFVO0dBQUk7RUFFMUUsQUFBQSxxQkFBcUIsQ0FBQztJQUFFLFVBQVUsRXBJc2FmLEtBQUssQ29JdGFvQyxVQUFVO0dBQUk7RUFDMUUsQUFBQSx3QkFBd0IsQ0FBQztJQUFFLGFBQWEsRXBJcWFyQixLQUFLLENvSXJhMEMsVUFBVTtHQUFJO0VBQ2hGLEFBQUEsc0JBQXNCLENBQUM7SUFBRSxXQUFXLEVwSW9hakIsS0FBSyxDb0lwYXNDLFVBQVU7R0FBSTtFQUM1RSxBQUFBLHVCQUF1QixDQUFDO0lBQUUsWUFBWSxFcEltYW5CLEtBQUssQ29JbmF3QyxVQUFVO0dBQUk7OztBQUtsRjs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLE1BQU0sRUFBRSxZQUFZO0NBQUs7O0FBQzdDLEFBQUEscUJBQXFCLENBQUM7RUFBRSxVQUFVLEVBQUUsWUFBWTtDQUFLOztBQUNyRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsYUFBYSxFQUFFLFlBQVk7Q0FBSzs7QUFDM0QsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLFdBQVcsRUFBRSxZQUFZO0NBQUs7O0FBQ3ZELEFBQUEsdUJBQXVCLENBQUM7RUFBRSxZQUFZLEVBQUUsWUFBWTtDQUFLOztBQUV6RCxBQUFBLDBCQUEwQixDQUFDO0VBQ3ZCLFVBQVUsRUFBRSxZQUFZO0VBQ3hCLGFBQWEsRUFBRSxZQUFZO0NBQzlCOztBQUVELEFBQTZCLDBCQUFILEdBQUcsQ0FBQyxDQUFDO0VBQUUsVUFBVSxFQUFFLFlBQVk7Q0FBSzs7QUFHOUQ7OEVBQzhFO0FBRTlFLEFBQUEsZUFBZSxDQUFDO0VBQ1osV0FBVyxFQUFFLGVBQWU7RUFDNUIsWUFBWSxFQUFFLGVBQWU7Q0FDaEM7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLFVBQVUsRUFBRSxlQUFlO0NBQUs7O0FBQ3RELEFBQUEsc0JBQXNCLENBQUM7RUFBRSxhQUFhLEVBQUUsZUFBZTtDQUFLOztBQUM1RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsV0FBVyxFQUFFLGVBQWU7Q0FBSzs7QUFDeEQsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFlBQVksRUFBRSxlQUFlO0NBQUs7O0FBRTFELEFBQUEsd0JBQXdCLENBQUM7RUFDckIsVUFBVSxFQUFFLGVBQWU7RUFDM0IsYUFBYSxFQUFFLGVBQWU7Q0FDakM7O0FDcElEOzs4RUFFOEU7QUFFOUUsQUFBQSxXQUFXLENBQUM7RUFBRSxPQUFPLEVySUVMLElBQUk7Q3FJRnVCOztBQUUzQyx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsV0FBVyxDQUFDO0lBQUUsT0FBTyxFcklBRixJQUFJO0dxSUFzQjs7O0FBS2pEOzhFQUM4RTtBQUU5RSxBQUFBLGlCQUFpQixDQUFDO0VBQUUsT0FBTyxFckloQ0wsSUFBSTtDcUlnQzZCOztBQUd2RDs4RUFDOEU7QUFFOUUsQUFBQSxpQkFBaUIsQ0FBQztFQUFFLE9BQU8sRXJJakJYLElBQUk7Q3FJaUJtQzs7QUFFdkQsd0JBQXdCO0FBQ3hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGlCQUFpQixDQUFDO0lBQUUsT0FBTyxFckl3TlQsSUFBSTtHcUl4Tm1DOzs7QUFLN0Q7OEVBQzhFO0FBRTlFLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxPQUFPLEVBQUUsWUFBWTtDQUFLOztBQUMvQyxBQUFBLHNCQUFzQixDQUFDO0VBQUUsV0FBVyxFQUFFLFlBQVk7Q0FBSzs7QUFDdkQsQUFBQSx5QkFBeUIsQ0FBQztFQUFFLGNBQWMsRUFBRSxZQUFZO0NBQUs7O0FBQzdELEFBQUEsdUJBQXVCLENBQUM7RUFBRSxZQUFZLEVBQUUsWUFBWTtDQUFLOztBQUN6RCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsYUFBYSxFQUFFLFlBQVk7Q0FBSzs7QUFFM0QsQUFBQSwyQkFBMkIsQ0FBQztFQUN4QixXQUFXLEVBQUUsWUFBWTtFQUN6QixjQUFjLEVBQUUsWUFBWTtDQUMvQjs7QUFFRCxBQUFBLDZCQUE2QixDQUFDO0VBQzFCLFlBQVksRUFBRSxZQUFZO0VBQzFCLGFBQWEsRUFBRSxZQUFZO0NBQzlCOztBQ25DRDs7OEVBRThFO0FBRzlFOzhFQUM4RTtDQUU5RSxBQUFBLEFBQUEsS0FBQyxFQUFPLGlCQUFpQixBQUF4QjtDQUNELEFBQUEsQUFBQSxLQUFDLEVBQU8sb0JBQW9CLEFBQTNCO0NBQ0QsQUFBQSxBQUFBLEtBQUMsRUFBTyxrQkFBa0IsQUFBekI7Q0FDRCxBQUFBLEFBQUEsS0FBQyxFQUFPLG1CQUFtQixBQUExQjtDQUNELEFBQUEsQUFBQSxLQUFDLEVBQU8sb0JBQW9CLEFBQTNCLEVBQTZCO0VBQUUsUUFBUSxFQUFFLG1CQUFtQjtDQUFLOztBQUdsRTs4RUFDOEU7QUFFOUUsNEVBQTRFO0FBQzVFLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7Q0FDWDs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztDQUNYOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7Q0FDVjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxDQUFDO0NBQ1g7O0FBR0Q7OEVBQzhFO0FBRTlFLEFBQUEscUJBQXFCLENBQUM7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztDQUNWOztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztDQUNYOztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDckIsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztDQUNWOztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDdEIsTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsQ0FBQztDQUNYOztBQUVEOzs7O0dBSUc7QUFFSCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxTQUFTLEVBQUUscUJBQW9CO0VBQy9CLE9BQU87RUFDUCxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU87RUFDUCxLQUFLLEVBQUUsZ0JBQWdCO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLFVBQVU7Q0FDekI7O0FBRUQsY0FBYztDQUNkLEFBQUEsQUFBQSxLQUFDLEVBQU8seUJBQXlCLEFBQWhDO0NBQ0QsQUFBQSxBQUFBLEtBQUMsRUFBTywwQkFBMEIsQUFBakMsRUFBbUM7RUFDaEMsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUsZ0JBQWdCO0NBQzlCOztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFBRSxJQUFJLEVBQUUsQ0FBQztDQUFLOztBQUN2QyxBQUFBLHlCQUF5QixDQUFDO0VBQUUsS0FBSyxFQUFFLENBQUM7Q0FBSzs7QUFFekMsQUFBQSw0QkFBNEIsQ0FBQztFQUN6QixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxXQUFXO0NBQ3JCOztBQUVELEFBQUEsNkJBQTZCLENBQUM7RUFDMUIsSUFBSSxFQUFFLElBQUk7RUFDVixLQUFLLEVBQUUsV0FBVztDQUNyQjs7QUFFRCxnQkFBZ0I7QUFDaEIsQUFBQSx1QkFBdUI7QUFDdkIsQUFBQSwwQkFBMEIsQ0FBQztFQUN2QixJQUFJLEVBQUUsR0FBRztFQUNULFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsT0FBTztFQUNQLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTztFQUNQLEtBQUssRUFBRSxnQkFBZ0I7RUFDdkIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsVUFBVTtDQUN6Qjs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsR0FBRyxFQUFFLENBQUM7Q0FBSzs7QUFDckMsQUFBQSwwQkFBMEIsQ0FBQztFQUFFLE1BQU0sRUFBRSxDQUFDO0NBQUs7O0FBRzNDOzhFQUM4RTtBQUU5RSxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7Q0FDWDs7QUFHRDs4RUFDOEU7QUFFOUUsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFFBQVEsRUFBRSxtQkFBbUI7Q0FBSzs7QUFFMUQsQUFBQSxxQkFBcUIsQ0FBQztFQUFFLFFBQVEsRUFBRSxtQkFBbUI7Q0FBSzs7QUFFMUQsQUFBQSxrQkFBa0IsQ0FBQztFQUFFLFFBQVEsRUFBRSxnQkFBZ0I7Q0FBSzs7QUFFcEQsQUFBQSxvQkFBb0IsQ0FBQztFQUFFLE9BQU8sRUFBRSxDQUFDO0NBQUs7O0FBR3RDOzhFQUM4RTtBQUU5RTs7R0FFRztBQUVILEFBQUEsa0JBQWtCLENBQUM7RUFBRSxNQUFNLEV0SXZMTCxJQUFJO0NzSXVMNkI7O0FBRXZELEFBQUEsa0JBQWtCLEFBQUEsbUJBQW1CLENBQUM7RUFBRSxTQUFTLEVBQUUscUJBQXFCLENBQUMsdUJBQTZEO0NBQUk7O0FBRTFJLEFBQUEsa0JBQWtCLENBQUEsQUFBQSxLQUFDLEVBQU8seUJBQXlCLEFBQWhDO0FBQ25CLEFBQUEsa0JBQWtCLENBQUEsQUFBQSxLQUFDLEVBQU8sMEJBQTBCLEFBQWpDLEVBQW1DO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFtQztDQUFJOztBQUUzSCxBQUFBLGtCQUFrQixBQUFBLHVCQUF1QjtBQUN6QyxBQUFBLGtCQUFrQixBQUFBLDBCQUEwQixDQUFDO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFtQztDQUFJOztBQUVsSDs7R0FFRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFBRSxNQUFNLEV0SWhMWixJQUFJO0NzSWdMcUM7O0FBRXpELEFBQUEsbUJBQW1CLEFBQUEsbUJBQW1CLENBQUM7RUFBRSxTQUFTLEVBQUUscUJBQXFCLENBQUMsdUJBQStEO0NBQUk7O0FBRTdJLEFBQUEsbUJBQW1CLENBQUEsQUFBQSxLQUFDLEVBQU8seUJBQXlCLEFBQWhDO0FBQ3BCLEFBQUEsbUJBQW1CLENBQUEsQUFBQSxLQUFDLEVBQU8sMEJBQTBCLEFBQWpDLEVBQW1DO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFvQztDQUFJOztBQUU3SCxBQUFBLG1CQUFtQixBQUFBLHVCQUF1QjtBQUMxQyxBQUFBLG1CQUFtQixBQUFBLDBCQUEwQixDQUFDO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFvQztDQUFJOztBQUVwSDs7R0FFRztBQUVILEFBQUEsa0JBQWtCLENBQUM7RUFBRSxNQUFNLEV0STlMWCxJQUFJO0NzSThMbUM7O0FBRXZELEFBQUEsa0JBQWtCLEFBQUEsbUJBQW1CLENBQUM7RUFBRSxTQUFTLEVBQUUscUJBQXFCLENBQUMsdUJBQTZEO0NBQUk7O0FBRTFJLEFBQUEsa0JBQWtCLENBQUEsQUFBQSxLQUFDLEVBQU8seUJBQXlCLEFBQWhDO0FBQ25CLEFBQUEsa0JBQWtCLENBQUEsQUFBQSxLQUFDLEVBQU8sMEJBQTBCLEFBQWpDLEVBQW1DO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFtQztDQUFJOztBQUUzSCxBQUFBLGtCQUFrQixBQUFBLHVCQUF1QjtBQUN6QyxBQUFBLGtCQUFrQixBQUFBLDBCQUEwQixDQUFDO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFtQztDQUFJOztBQUVsSCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxNQUFNLEVBck15QixJQUFJO0dBcU1DO0VBRXpELEFBQUEsa0JBQWtCLEFBQUEsbUJBQW1CLENBQUM7SUFBRSxTQUFTLEVBQUUscUJBQXFCLENBQUMsdUJBQWlFO0dBQUk7RUFFOUksQUFBQSxrQkFBa0IsQ0FBQSxBQUFBLEtBQUMsRUFBTyx5QkFBeUIsQUFBaEM7RUFDbkIsQUFBQSxrQkFBa0IsQ0FBQSxBQUFBLEtBQUMsRUFBTywwQkFBMEIsQUFBakMsRUFBbUM7SUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsaUJBQXFDO0dBQUk7RUFFN0gsQUFBQSxrQkFBa0IsQUFBQSx1QkFBdUI7RUFDekMsQUFBQSxrQkFBa0IsQUFBQSwwQkFBMEIsQ0FBQztJQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBcUM7R0FBSTs7O0FDMU14SDs7OEVBRThFO0FBRTlFOzs7O0dBSUc7QUFFSCxBQUFBLG1CQUFtQjtDQUNuQixBQUFBLEFBQUEsS0FBQyxFQUFPLHFCQUFxQixBQUE1QjtDQUNELEFBQUEsQUFBQSxLQUFDLEVBQU8scUJBQXFCLEFBQTVCLEVBQThCO0VBQzNCLFVBQVUsRXZJazFCUSxJQUFJLEN1SWwxQlcsUUFBUTtFQUN6QyxtQkFBbUIsRUFBRSwwQkFBMEI7Q0FDbEQ7O0FBRUQsQUFBQSxxQkFBcUIsQUFBQSxNQUFNLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSTtDQUFLOztBQUVoRDs7R0FFRztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFBRSxPQUFPLEVBQUUsQ0FBQztDQUFLOztBQUVyQyxVQUFVO0FBQ1YsQUFBNEIscUJBQVAsQUFBQSxNQUFNLEVBQUMsQUFBQSxLQUFDLEVBQU8sb0JBQW9CLEFBQTNCO0FBQzdCLEFBQStCLHFCQUFWLEFBQUEsU0FBUyxFQUFDLEFBQUEsS0FBQyxFQUFPLG9CQUFvQixBQUEzQjtBQUNoQyxBQUE0QixxQkFBUCxBQUFBLE1BQU0sRUFBQyxBQUFBLEtBQUMsRUFBTyxvQkFBb0IsQUFBM0I7QUFDN0IsQUFBZ0MscUJBQVgsQUFBQSxVQUFVLEVBQUMsQUFBQSxLQUFDLEVBQU8sb0JBQW9CLEFBQTNCLEVBQTZCO0VBQUUsT0FBTyxFQUFFLENBQUM7Q0FBSzs7QUFFL0U7OztHQUdHO0NBRUgsQUFBQSxBQUFBLEtBQUMsRUFBTyxxQkFBcUIsQUFBNUIsRUFBOEI7RUFBRSxPQUFPLEVBQUUsQ0FBQztDQUFLOztBQUVoRCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsU0FBUyxFQUFFLGdCQUFjO0NBQUk7O0FBRXZELEFBQUEseUJBQXlCLENBQUM7RUFBRSxTQUFTLEVBQUUsb0JBQThDO0NBQUk7O0FBRXpGLFVBQVU7QUFDVixBQUE0QixxQkFBUCxBQUFBLE1BQU0sQ0FBQyx1QkFBdUI7QUFDbkQsQUFBK0IscUJBQVYsQUFBQSxTQUFTLENBQUMsdUJBQXVCO0FBQ3RELEFBQTRCLHFCQUFQLEFBQUEsTUFBTSxDQUFDLHVCQUF1QjtBQUNuRCxBQUFnQyxxQkFBWCxBQUFBLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztFQUNwRCxPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxvQkFBOEM7Q0FDNUQ7O0FBRUQsQUFBNEIscUJBQVAsQUFBQSxNQUFNLENBQUMseUJBQXlCO0FBQ3JELEFBQStCLHFCQUFWLEFBQUEsU0FBUyxDQUFDLHlCQUF5QjtBQUN4RCxBQUE0QixxQkFBUCxBQUFBLE1BQU0sQ0FBQyx5QkFBeUI7QUFDckQsQUFBZ0MscUJBQVgsQUFBQSxVQUFVLENBQUMseUJBQXlCLENBQUM7RUFDdEQsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsZ0JBQWM7Q0FDNUI7O0FBRUQ7O0dBRUc7Q0FFSCxBQUFBLEFBQUEsS0FBQyxFQUFPLHFCQUFxQixBQUE1QixFQUE4QjtFQUFFLE9BQU8sRUFBRSxDQUFDO0NBQUs7O0FBRWhELEFBQUEsd0JBQXdCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQWlCO0NBQUk7O0FBQzNELEFBQUEsMkJBQTJCLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQWdCO0NBQUk7O0FBQzdELEFBQUEseUJBQXlCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQWlCO0NBQUk7O0FBQzVELEFBQUEsMEJBQTBCLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQWdCO0NBQUk7O0FBRTVELEFBQUEsOEJBQThCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQThDO0NBQUk7O0FBQzlGLEFBQUEsaUNBQWlDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQTZDO0NBQUk7O0FBQ2hHLEFBQUEsK0JBQStCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQThDO0NBQUk7O0FBQy9GLEFBQUEsZ0NBQWdDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQTZDO0NBQUk7O0FBRS9GLEFBQUEsK0JBQStCLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQStDO0NBQUk7O0FBQ2hHLEFBQUEsa0NBQWtDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQThDO0NBQUk7O0FBQ2xHLEFBQUEsZ0NBQWdDLENBQUM7RUFBRSxTQUFTLEVBQUUsaUJBQStDO0NBQUk7O0FBQ2pHLEFBQUEsaUNBQWlDLENBQUM7RUFBRSxTQUFTLEVBQUUsZ0JBQThDO0NBQUk7O0FBRWpHLFVBQVU7QUFDVixBQUE0QixxQkFBUCxBQUFBLE1BQU0sRUFBQyxBQUFBLEtBQUMsRUFBTyxxQkFBcUIsQUFBNUI7QUFDN0IsQUFBK0IscUJBQVYsQUFBQSxTQUFTLEVBQUMsQUFBQSxLQUFDLEVBQU8scUJBQXFCLEFBQTVCO0FBQ2hDLEFBQTRCLHFCQUFQLEFBQUEsTUFBTSxFQUFDLEFBQUEsS0FBQyxFQUFPLHFCQUFxQixBQUE1QjtBQUM3QixBQUFnQyxxQkFBWCxBQUFBLFVBQVUsRUFBQyxBQUFBLEtBQUMsRUFBTyxxQkFBcUIsQUFBNUIsRUFBOEI7RUFDM0QsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsYUFBYSxDQUFDLGFBQWE7Q0FDekM7O0FBR0Q7NkVBQzZFO0FBRTdFLEFBQUEscUJBQXFCLENBQUM7RUFBRSxPQUFPLEVBQUUsQ0FBQztDQUFLOztBQUd2Qzs2RUFDNkU7QUFFN0UsQUFBQSxtQkFBbUIsQ0FBQztFQUFFLG1CQUFtQixFdklnd0JkLElBQUk7Q3VJaHdCeUM7O0FDekh4RTs7OEVBRThFO0FBRTlFOzs7R0FHRztDQUVILEFBQUEsQUFBQSxNQUFDLEFBQUE7QUFDRCxBQUFBLFVBQVUsQ0FBQztFQUFFLE9BQU8sRUFBRSxlQUFlO0NBQUs7O0FBRTFDLGdDQUFnQztBQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxhQUFhLENBQUM7SUFBRSxPQUFPLEVBQUUsZUFBZTtHQUFLOzs7QUFJakQsaUNBQWlDO0FBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUVwQixBQUFBLGFBQWEsQ0FBQztJQUFFLE9BQU8sRUFBRSxlQUFlO0dBQUs7OztBQUlqRCx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsYUFBYSxDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWU7R0FBSzs7O0FBSWpELDZCQUE2QjtBQUM3QixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFFckIsQUFBQSxjQUFjLENBQUM7SUFBRSxPQUFPLEVBQUUsZUFBZTtHQUFLOzs7QUFJbEQ7O0dBRUc7QUFFSCxnQ0FBZ0M7QUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsY0FBYyxDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWU7R0FBSzs7O0FBSWxELGlDQUFpQztBQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFFcEIsQUFBQSxjQUFjLENBQUM7SUFBRSxPQUFPLEVBQUUsZUFBZTtHQUFLOzs7QUFJbEQsa0NBQWtDO0FBQ2xDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUVyQixBQUFBLGNBQWMsQ0FBQztJQUFFLE9BQU8sRUFBRSxlQUFlO0dBQUs7OztBQUlsRCx5QkFBeUI7QUFDekIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsZUFBZSxDQUFDO0lBQUUsT0FBTyxFQUFFLGVBQWU7R0FBSzs7O0FBS25EOzhFQUM4RTtBQUU5RSxBQUFBLGFBQWEsQ0FBQztFQUFFLFVBQVUsRUFBRSxpQkFBaUI7Q0FBSzs7QUFHbEQ7OEVBQzhFO0FBRTlFOzs7R0FHRztBQUVILEFBQThDLGtCQUE1QixBQUFBLElBQUssQ0FBQSxBQUFBLE1BQU0sQ0FBQyxJQUFLLENBQUEsQUFBQSxTQUFTLEVBQUUsZ0JBQWdCLEFBQUEsSUFBSyxDQUFBLEFBQUEsTUFBTSxFQUFFO0VBQ3ZFLFFBQVEsRUFBRSxtQkFBbUI7RUFDN0IsS0FBSyxFQUFFLFlBQVk7RUFDbkIsTUFBTSxFQUFFLFlBQVk7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLFlBQVk7RUFDcEIsUUFBUSxFQUFFLGlCQUFpQjtDQUM5Qjs7QUFFRDs7O0dBR0c7QUFFSCxBQUE4QyxrQkFBNUIsQUFBQSxJQUFLLENBQUEsQUFBQSxNQUFNLENBQUMsSUFBSyxDQUFBLEFBQUEsU0FBUyxFQUFFLG1CQUFtQixBQUFBLElBQUssQ0FBQSxBQUFBLE1BQU0sRUFBRTtFQUFFLE9BQU8sRUFBRSxZQUFZO0NBQUs7O0FBRzFHOzhFQUM4RTtBQUU5RTs7O0dBR0c7QUFFSCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU07RUFDbkIsQUFBQSxnQkFBZ0IsQ0FBQztJQUFFLE9BQU8sRUFBRSxlQUFlO0dBQUs7OztBQUdwRDs7OztHQUlHO0FBRUgsT0FBTztBQUNQLEFBQUEsa0JBQWtCLENBQUM7RUFBRSxPQUFPLEVBQUUsZUFBZTtDQUFLOztBQUVsRCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU07RUFDbkIsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLE9BQU8sRUFBRSxnQkFBZ0I7R0FBSzs7O0FDcEh2RDs7OEVBRThFO0FBSTlFOzs7O0dBSUc7QUFFeUMsQUFBQSxTQUFTLEV4RGlKTixBd0RqSkgsbUJ4RGlKc0IsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsR0FheEMsQXdEOUpMLHFCeEQ4SjBCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEdHQ2pELEFxRC9KQSxnQnJEK0pnQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixHQWFyQyxBcUQ1S0Ysa0JyRDRLb0IsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsR0NnRTNDLEFvRDVPQSxnQnBENE9nQixBQUFBLGFBQWEsRUFDN0IsQW9EN09BLGdCcEQ2T2dCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixJQXlCdkIsQW9EdFFGLGtCcERzUW9CLEFBQUEsYUFBYSxFQUMvQixBb0R2UUYsa0JwRHVRb0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLElRck8xQixBNENsQ0gsbUI1Q2tDc0IsRXFCMkNyQixBdUI3RUQsaUJ2QjZFa0IsQ3VCN0VSO0V4SXFJbEQsS0FBSyxFRHpIYyx3QkFBSTtDeUlaeUY7O0FBQXhFLEF4SThJeEMsU3dJOUlpRCxDeEk4SWpELENBQUMsRWdGRzBDLEFoRkgzQyxtQmdGRzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRkhyRixDQUFDLEVnRmdCNEMsQWhGaEI3QyxxQmdGZ0JrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZoQnpGLENBQUMsRW1GaUJ1QyxBbkZqQnhDLGdCbUZpQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmpCL0UsQ0FBQyxFbUY4QnlDLEFuRjlCMUMsa0JtRjhCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GOUJuRixDQUFDLEVvRjhGdUMsQXBGOUZ4QyxnQm9GOEZ3RCxBQUFBLGFBQWEsQ3BGOUZyRSxDQUFDLEVvRitGdUMsQXBGL0Z4QyxnQm9GK0Z3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGL0ZqRSxDQUFDLEVvRndIeUMsQXBGeEgxQyxrQm9Gd0g0RCxBQUFBLGFBQWEsQ3BGeEh6RSxDQUFDLEVvRnlIeUMsQXBGekgxQyxrQm9GeUg0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGekhyRSxDQUFDLEU0RjVHMEMsQTVGNEczQyxtQjRGNUc4RCxDNUY0RzlELENBQUMsRWlIakV3QyxBakhpRXpDLGlCaUhqRTBELENqSGlFMUQsQ0FBQztBd0k5SXVDLEF4SStJeEMsU3dJL0lpRCxDeEkrSWpELFFBQVEsRWdGRW1DLEFoRkYzQyxtQmdGRThELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRkZyRixRQUFRLEVnRmVxQyxBaEZmN0MscUJnRmVrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZmekYsUUFBUSxFbUZnQmdDLEFuRmhCeEMsZ0JtRmdCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GaEIvRSxRQUFRLEVtRjZCa0MsQW5GN0IxQyxrQm1GNkI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY3Qm5GLFFBQVEsRW9GNkZnQyxBcEY3RnhDLGdCb0Y2RndELEFBQUEsYUFBYSxDcEY3RnJFLFFBQVEsRW9GOEZnQyxBcEY5RnhDLGdCb0Y4RndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY5RmpFLFFBQVEsRW9GdUhrQyxBcEZ2SDFDLGtCb0Z1SDRELEFBQUEsYUFBYSxDcEZ2SHpFLFFBQVEsRW9Gd0hrQyxBcEZ4SDFDLGtCb0Z3SDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ4SHJFLFFBQVEsRTRGN0dtQyxBNUY2RzNDLG1CNEY3RzhELEM1RjZHOUQsUUFBUSxFaUhsRWlDLEFqSGtFekMsaUJpSGxFMEQsQ2pIa0UxRCxRQUFRLENBQUU7RUFDTixLQUFLLEVEcElVLElBQUk7Q0NzSXRCOztBd0lsSnVDLEF4SW9KeEMsU3dJcEppRCxDeElvSmpELENBQUMsQUFBQSxNQUFNLEVnRkhvQyxBaEZHM0MsbUJnRkg4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZHckYsQ0FBQyxBQUFBLE1BQU0sRWdGVXNDLEFoRlY3QyxxQmdGVWtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRlZ6RixDQUFDLEFBQUEsTUFBTSxFbUZXaUMsQW5GWHhDLGdCbUZXd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GWC9FLENBQUMsQUFBQSxNQUFNLEVtRndCbUMsQW5GeEIxQyxrQm1Gd0I0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ4Qm5GLENBQUMsQUFBQSxNQUFNLEVvRndGaUMsQXBGeEZ4QyxnQm9Gd0Z3RCxBQUFBLGFBQWEsQ3BGeEZyRSxDQUFDLEFBQUEsTUFBTSxFb0Z5RmlDLEFwRnpGeEMsZ0JvRnlGd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnpGakUsQ0FBQyxBQUFBLE1BQU0sRW9Ga0htQyxBcEZsSDFDLGtCb0ZrSDRELEFBQUEsYUFBYSxDcEZsSHpFLENBQUMsQUFBQSxNQUFNLEVvRm1IbUMsQXBGbkgxQyxrQm9GbUg0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbkhyRSxDQUFDLEFBQUEsTUFBTSxFNEZsSG9DLEE1RmtIM0MsbUI0RmxIOEQsQzVGa0g5RCxDQUFDLEFBQUEsTUFBTSxFaUh2RWtDLEFqSHVFekMsaUJpSHZFMEQsQ2pIdUUxRCxDQUFDLEFBQUEsTUFBTTtBd0lwSmlDLEF4SXFKeEMsU3dJckppRCxDeElxSmpELFFBQVEsQUFBQSxNQUFNLEVnRko2QixBaEZJM0MsbUJnRko4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZJckYsUUFBUSxBQUFBLE1BQU0sRWdGUytCLEFoRlQ3QyxxQmdGU2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRlR6RixRQUFRLEFBQUEsTUFBTSxFbUZVMEIsQW5GVnhDLGdCbUZVd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GVi9FLFFBQVEsQUFBQSxNQUFNLEVtRnVCNEIsQW5GdkIxQyxrQm1GdUI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ2Qm5GLFFBQVEsQUFBQSxNQUFNLEVvRnVGMEIsQXBGdkZ4QyxnQm9GdUZ3RCxBQUFBLGFBQWEsQ3BGdkZyRSxRQUFRLEFBQUEsTUFBTSxFb0Z3RjBCLEFwRnhGeEMsZ0JvRndGd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnhGakUsUUFBUSxBQUFBLE1BQU0sRW9GaUg0QixBcEZqSDFDLGtCb0ZpSDRELEFBQUEsYUFBYSxDcEZqSHpFLFFBQVEsQUFBQSxNQUFNLEVvRmtINEIsQXBGbEgxQyxrQm9Ga0g0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbEhyRSxRQUFRLEFBQUEsTUFBTSxFNEZuSDZCLEE1Rm1IM0MsbUI0Rm5IOEQsQzVGbUg5RCxRQUFRLEFBQUEsTUFBTSxFaUh4RTJCLEFqSHdFekMsaUJpSHhFMEQsQ2pId0UxRCxRQUFRLEFBQUEsTUFBTSxDQUFDO0VBQ1gsS0FBSyxFRDFJVSxJQUFJO0NDNEl0Qjs7QXdJeEp1QyxBeEk4SjVCLFN3STlKcUMsQ3hJOEpqRCxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFZ0ZiMkIsQWhGYS9CLG1CZ0Zia0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGYXJGLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxJQUFJLEVnRkE2QixBaEZBakMscUJnRkFzRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZBekYsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksRW1GQ3dCLEFuRkQ1QixnQm1GQzRDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRkQvRSxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFbUZjMEIsQW5GZDlCLGtCbUZjZ0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZG5GLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxJQUFJLEVvRjhFd0IsQXBGOUU1QixnQm9GOEU0QyxBQUFBLGFBQWEsQ3BGOUVyRSxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFb0YrRXdCLEFwRi9FNUIsZ0JvRitFNEMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRi9FakUsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksRW9Gd0cwQixBcEZ4RzlCLGtCb0Z3R2dELEFBQUEsYUFBYSxDcEZ4R3pFLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxJQUFJLEVvRnlHMEIsQXBGekc5QixrQm9GeUdnRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGekdyRSxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFNEY1SDJCLEE1RjRIL0IsbUI0RjVIa0QsQzVGNEg5RCxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFaUhqRnlCLEFqSGlGN0IsaUJpSGpGOEMsQ2pIaUYxRCxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSTtBd0k5SndCLEF4SStKNUIsU3dJL0pxQyxDeEkrSmpELElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxHQUFHLEVnRmQ0QixBaEZjL0IsbUJnRmRrRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZjckYsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLEdBQUcsRWdGRDhCLEFoRkNqQyxxQmdGRHNELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRkN6RixJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksR0FBRyxFbUZBeUIsQW5GQTVCLGdCbUZBNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GQS9FLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxHQUFHLEVtRmEyQixBbkZiOUIsa0JtRmFnRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZibkYsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLEdBQUcsRW9GNkV5QixBcEY3RTVCLGdCb0Y2RTRDLEFBQUEsYUFBYSxDcEY3RXJFLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxHQUFHLEVvRjhFeUIsQXBGOUU1QixnQm9GOEU0QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOUVqRSxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksR0FBRyxFb0Z1RzJCLEFwRnZHOUIsa0JvRnVHZ0QsQUFBQSxhQUFhLENwRnZHekUsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLEdBQUcsRW9Gd0cyQixBcEZ4RzlCLGtCb0Z3R2dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ4R3JFLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxHQUFHLEU0RjdINEIsQTVGNkgvQixtQjRGN0hrRCxDNUY2SDlELElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxHQUFHLEVpSGxGMEIsQWpIa0Y3QixpQmlIbEY4QyxDakhrRjFELElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxHQUFHO0F3SS9KeUIsQXhJZ0s1QixTd0loS3FDLEN4SWdLakQsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksRWdGZjJCLEFoRmUvQixtQmdGZmtELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmVyRixJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFZ0ZGNkIsQWhGRWpDLHFCZ0ZGc0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGRXpGLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxJQUFJLEVtRkR3QixBbkZDNUIsZ0JtRkQ0QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZDL0UsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksRW1GWTBCLEFuRlo5QixrQm1GWWdELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRlpuRixJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFb0Y0RXdCLEFwRjVFNUIsZ0JvRjRFNEMsQUFBQSxhQUFhLENwRjVFckUsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksRW9GNkV3QixBcEY3RTVCLGdCb0Y2RTRDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY3RWpFLElBQUssQ0FBQSxBQUFBLEdBQUcsSUFBSSxJQUFJLEVvRnNHMEIsQXBGdEc5QixrQm9Gc0dnRCxBQUFBLGFBQWEsQ3BGdEd6RSxJQUFLLENBQUEsQUFBQSxHQUFHLElBQUksSUFBSSxFb0Z1RzBCLEFwRnZHOUIsa0JvRnVHZ0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnZHckUsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksRTRGOUgyQixBNUY4SC9CLG1CNEY5SGtELEM1RjhIOUQsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksRWlIbkZ5QixBakhtRjdCLGlCaUhuRjhDLENqSG1GMUQsSUFBSyxDQUFBLEFBQUEsR0FBRyxJQUFJLElBQUksQ0FBQztFQUNiLEtBQUssRURySlUsd0JBQUk7RUMyR3ZCLFVBQVUsRUQzR1Msd0JBQUk7Q0N1SnRCOztBd0luS3VDLEF4SXlLeEMsU3dJektpRCxDeEl5S2pELEVBQUUsRWdGeEJ5QyxBaEZ3QjNDLG1CZ0Z4QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRndCckYsRUFBRSxFZ0ZYMkMsQWhGVzdDLHFCZ0ZYa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGV3pGLEVBQUUsRW1GVnNDLEFuRlV4QyxnQm1GVndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRlUvRSxFQUFFLEVtRkd3QyxBbkZIMUMsa0JtRkc0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZIbkYsRUFBRSxFb0ZtRXNDLEFwRm5FeEMsZ0JvRm1Fd0QsQUFBQSxhQUFhLENwRm5FckUsRUFBRSxFb0ZvRXNDLEFwRnBFeEMsZ0JvRm9Fd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnBFakUsRUFBRSxFb0Y2RndDLEFwRjdGMUMsa0JvRjZGNEQsQUFBQSxhQUFhLENwRjdGekUsRUFBRSxFb0Y4RndDLEFwRjlGMUMsa0JvRjhGNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjlGckUsRUFBRSxFNEZ2SXlDLEE1RnVJM0MsbUI0RnZJOEQsQzVGdUk5RCxFQUFFLEVpSDVGdUMsQWpINEZ6QyxpQmlINUYwRCxDakg0RjFELEVBQUUsQ0FBQztFQUFFLEtBQUssRUQ3SlMsSUFBSTtDQzZKZTs7QXdJektFLEF4SStLeEMsU3dJL0tpRCxDeEkrS2pELEVBQUUsRWdGOUJ5QyxBaEY4QjNDLG1CZ0Y5QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjhCckYsRUFBRSxFZ0ZqQjJDLEFoRmlCN0MscUJnRmpCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaUJ6RixFQUFFLEVtRmhCc0MsQW5GZ0J4QyxnQm1GaEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnQi9FLEVBQUUsRW1GSHdDLEFuRkcxQyxrQm1GSDRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRkduRixFQUFFLEVvRjZEc0MsQXBGN0R4QyxnQm9GNkR3RCxBQUFBLGFBQWEsQ3BGN0RyRSxFQUFFLEVvRjhEc0MsQXBGOUR4QyxnQm9GOER3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOURqRSxFQUFFLEVvRnVGd0MsQXBGdkYxQyxrQm9GdUY0RCxBQUFBLGFBQWEsQ3BGdkZ6RSxFQUFFLEVvRndGd0MsQXBGeEYxQyxrQm9Gd0Y0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeEZyRSxFQUFFLEU0RjdJeUMsQTVGNkkzQyxtQjRGN0k4RCxDNUY2STlELEVBQUUsRWlIbEd1QyxBakhrR3pDLGlCaUhsRzBELENqSGtHMUQsRUFBRSxFd0kvS3NDLEF4SStLcEMsU3dJL0s2QyxDeEkrSzdDLE1BQU0sRWdGOUJpQyxBaEY4QnZDLG1CZ0Y5QjBELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjhCakYsTUFBTSxFZ0ZqQm1DLEFoRmlCekMscUJnRmpCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaUJyRixNQUFNLEVtRmhCOEIsQW5GZ0JwQyxnQm1GaEJvRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnQjNFLE1BQU0sRW1GSGdDLEFuRkd0QyxrQm1GSHdELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRkcvRSxNQUFNLEVvRjZEOEIsQXBGN0RwQyxnQm9GNkRvRCxBQUFBLGFBQWEsQ3BGN0RqRSxNQUFNLEVvRjhEOEIsQXBGOURwQyxnQm9GOERvRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOUQ3RCxNQUFNLEVvRnVGZ0MsQXBGdkZ0QyxrQm9GdUZ3RCxBQUFBLGFBQWEsQ3BGdkZyRSxNQUFNLEVvRndGZ0MsQXBGeEZ0QyxrQm9Gd0Z3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeEZqRSxNQUFNLEU0RjdJaUMsQTVGNkl2QyxtQjRGN0kwRCxDNUY2STFELE1BQU0sRWlIbEcrQixBakhrR3JDLGlCaUhsR3NELENqSGtHdEQsTUFBTTtBd0kvSzhCLEF4SWdMeEMsU3dJaExpRCxDeElnTGpELEVBQUUsRWdGL0J5QyxBaEYrQjNDLG1CZ0YvQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRitCckYsRUFBRSxFZ0ZsQjJDLEFoRmtCN0MscUJnRmxCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGa0J6RixFQUFFLEVtRmpCc0MsQW5GaUJ4QyxnQm1GakJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpQi9FLEVBQUUsRW1GSndDLEFuRkkxQyxrQm1GSjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRkluRixFQUFFLEVvRjREc0MsQXBGNUR4QyxnQm9GNER3RCxBQUFBLGFBQWEsQ3BGNURyRSxFQUFFLEVvRjZEc0MsQXBGN0R4QyxnQm9GNkR3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGN0RqRSxFQUFFLEVvRnNGd0MsQXBGdEYxQyxrQm9Gc0Y0RCxBQUFBLGFBQWEsQ3BGdEZ6RSxFQUFFLEVvRnVGd0MsQXBGdkYxQyxrQm9GdUY0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdkZyRSxFQUFFLEU0RjlJeUMsQTVGOEkzQyxtQjRGOUk4RCxDNUY4STlELEVBQUUsRWlIbkd1QyxBakhtR3pDLGlCaUhuRzBELENqSG1HMUQsRUFBRSxFd0loTHNDLEF4SWdMcEMsU3dJaEw2QyxDeElnTDdDLE1BQU0sRWdGL0JpQyxBaEYrQnZDLG1CZ0YvQjBELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRitCakYsTUFBTSxFZ0ZsQm1DLEFoRmtCekMscUJnRmxCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGa0JyRixNQUFNLEVtRmpCOEIsQW5GaUJwQyxnQm1GakJvRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpQjNFLE1BQU0sRW1GSmdDLEFuRkl0QyxrQm1GSndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRkkvRSxNQUFNLEVvRjREOEIsQXBGNURwQyxnQm9GNERvRCxBQUFBLGFBQWEsQ3BGNURqRSxNQUFNLEVvRjZEOEIsQXBGN0RwQyxnQm9GNkRvRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGN0Q3RCxNQUFNLEVvRnNGZ0MsQXBGdEZ0QyxrQm9Gc0Z3RCxBQUFBLGFBQWEsQ3BGdEZyRSxNQUFNLEVvRnVGZ0MsQXBGdkZ0QyxrQm9GdUZ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdkZqRSxNQUFNLEU0RjlJaUMsQTVGOEl2QyxtQjRGOUkwRCxDNUY4STFELE1BQU0sRWlIbkcrQixBakhtR3JDLGlCaUhuR3NELENqSG1HdEQsTUFBTTtBd0loTDhCLEF4SWlMeEMsU3dJakxpRCxDeElpTGpELEVBQUUsRWdGaEN5QyxBaEZnQzNDLG1CZ0ZoQzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmdDckYsRUFBRSxFZ0ZuQjJDLEFoRm1CN0MscUJnRm5Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbUJ6RixFQUFFLEVtRmxCc0MsQW5Ga0J4QyxnQm1GbEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrQi9FLEVBQUUsRW1GTHdDLEFuRksxQyxrQm1GTDRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRktuRixFQUFFLEVvRjJEc0MsQXBGM0R4QyxnQm9GMkR3RCxBQUFBLGFBQWEsQ3BGM0RyRSxFQUFFLEVvRjREc0MsQXBGNUR4QyxnQm9GNER3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNURqRSxFQUFFLEVvRnFGd0MsQXBGckYxQyxrQm9GcUY0RCxBQUFBLGFBQWEsQ3BGckZ6RSxFQUFFLEVvRnNGd0MsQXBGdEYxQyxrQm9Gc0Y0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdEZyRSxFQUFFLEU0Ri9JeUMsQTVGK0kzQyxtQjRGL0k4RCxDNUYrSTlELEVBQUUsRWlIcEd1QyxBakhvR3pDLGlCaUhwRzBELENqSG9HMUQsRUFBRSxFd0lqTHNDLEF4SWlMcEMsU3dJakw2QyxDeElpTDdDLE1BQU0sRWdGaENpQyxBaEZnQ3ZDLG1CZ0ZoQzBELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmdDakYsTUFBTSxFZ0ZuQm1DLEFoRm1CekMscUJnRm5COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbUJyRixNQUFNLEVtRmxCOEIsQW5Ga0JwQyxnQm1GbEJvRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrQjNFLE1BQU0sRW1GTGdDLEFuRkt0QyxrQm1GTHdELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRksvRSxNQUFNLEVvRjJEOEIsQXBGM0RwQyxnQm9GMkRvRCxBQUFBLGFBQWEsQ3BGM0RqRSxNQUFNLEVvRjREOEIsQXBGNURwQyxnQm9GNERvRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNUQ3RCxNQUFNLEVvRnFGZ0MsQXBGckZ0QyxrQm9GcUZ3RCxBQUFBLGFBQWEsQ3BGckZyRSxNQUFNLEVvRnNGZ0MsQXBGdEZ0QyxrQm9Gc0Z3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdEZqRSxNQUFNLEU0Ri9JaUMsQTVGK0l2QyxtQjRGL0kwRCxDNUYrSTFELE1BQU0sRWlIcEcrQixBakhvR3JDLGlCaUhwR3NELENqSG9HdEQsTUFBTTtBd0lqTDhCLEF4SWtMeEMsU3dJbExpRCxDeElrTGpELEVBQUUsRWdGakN5QyxBaEZpQzNDLG1CZ0ZqQzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmlDckYsRUFBRSxFZ0ZwQjJDLEFoRm9CN0MscUJnRnBCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb0J6RixFQUFFLEVtRm5Cc0MsQW5GbUJ4QyxnQm1GbkJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtQi9FLEVBQUUsRW1GTndDLEFuRk0xQyxrQm1GTjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRk1uRixFQUFFLEVvRjBEc0MsQXBGMUR4QyxnQm9GMER3RCxBQUFBLGFBQWEsQ3BGMURyRSxFQUFFLEVvRjJEc0MsQXBGM0R4QyxnQm9GMkR3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGM0RqRSxFQUFFLEVvRm9Gd0MsQXBGcEYxQyxrQm9Gb0Y0RCxBQUFBLGFBQWEsQ3BGcEZ6RSxFQUFFLEVvRnFGd0MsQXBGckYxQyxrQm9GcUY0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGckZyRSxFQUFFLEU0RmhKeUMsQTVGZ0ozQyxtQjRGaEo4RCxDNUZnSjlELEVBQUUsRWlIckd1QyxBakhxR3pDLGlCaUhyRzBELENqSHFHMUQsRUFBRSxFd0lsTHNDLEF4SWtMcEMsU3dJbEw2QyxDeElrTDdDLE1BQU0sRWdGakNpQyxBaEZpQ3ZDLG1CZ0ZqQzBELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmlDakYsTUFBTSxFZ0ZwQm1DLEFoRm9CekMscUJnRnBCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb0JyRixNQUFNLEVtRm5COEIsQW5GbUJwQyxnQm1GbkJvRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtQjNFLE1BQU0sRW1GTmdDLEFuRk10QyxrQm1GTndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRk0vRSxNQUFNLEVvRjBEOEIsQXBGMURwQyxnQm9GMERvRCxBQUFBLGFBQWEsQ3BGMURqRSxNQUFNLEVvRjJEOEIsQXBGM0RwQyxnQm9GMkRvRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGM0Q3RCxNQUFNLEVvRm9GZ0MsQXBGcEZ0QyxrQm9Gb0Z3RCxBQUFBLGFBQWEsQ3BGcEZyRSxNQUFNLEVvRnFGZ0MsQXBGckZ0QyxrQm9GcUZ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGckZqRSxNQUFNLEU0RmhKaUMsQTVGZ0p2QyxtQjRGaEowRCxDNUZnSjFELE1BQU0sRWlIckcrQixBakhxR3JDLGlCaUhyR3NELENqSHFHdEQsTUFBTTtBd0lsTDhCLEF4SW1MeEMsU3dJbkxpRCxDeEltTGpELEVBQUUsRWdGbEN5QyxBaEZrQzNDLG1CZ0ZsQzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmtDckYsRUFBRSxFZ0ZyQjJDLEFoRnFCN0MscUJnRnJCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGcUJ6RixFQUFFLEVtRnBCc0MsQW5Gb0J4QyxnQm1GcEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZvQi9FLEVBQUUsRW1GUHdDLEFuRk8xQyxrQm1GUDRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRk9uRixFQUFFLEVvRnlEc0MsQXBGekR4QyxnQm9GeUR3RCxBQUFBLGFBQWEsQ3BGekRyRSxFQUFFLEVvRjBEc0MsQXBGMUR4QyxnQm9GMER3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMURqRSxFQUFFLEVvRm1Gd0MsQXBGbkYxQyxrQm9GbUY0RCxBQUFBLGFBQWEsQ3BGbkZ6RSxFQUFFLEVvRm9Gd0MsQXBGcEYxQyxrQm9Gb0Y0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcEZyRSxFQUFFLEU0RmpKeUMsQTVGaUozQyxtQjRGako4RCxDNUZpSjlELEVBQUUsRWlIdEd1QyxBakhzR3pDLGlCaUh0RzBELENqSHNHMUQsRUFBRSxFd0luTHNDLEF4SW1McEMsU3dJbkw2QyxDeEltTDdDLE1BQU0sRWdGbENpQyxBaEZrQ3ZDLG1CZ0ZsQzBELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmtDakYsTUFBTSxFZ0ZyQm1DLEFoRnFCekMscUJnRnJCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGcUJyRixNQUFNLEVtRnBCOEIsQW5Gb0JwQyxnQm1GcEJvRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZvQjNFLE1BQU0sRW1GUGdDLEFuRk90QyxrQm1GUHdELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRk8vRSxNQUFNLEVvRnlEOEIsQXBGekRwQyxnQm9GeURvRCxBQUFBLGFBQWEsQ3BGekRqRSxNQUFNLEVvRjBEOEIsQXBGMURwQyxnQm9GMERvRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMUQ3RCxNQUFNLEVvRm1GZ0MsQXBGbkZ0QyxrQm9GbUZ3RCxBQUFBLGFBQWEsQ3BGbkZyRSxNQUFNLEVvRm9GZ0MsQXBGcEZ0QyxrQm9Gb0Z3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcEZqRSxNQUFNLEU0RmpKaUMsQTVGaUp2QyxtQjRGakowRCxDNUZpSjFELE1BQU0sRWlIdEcrQixBakhzR3JDLGlCaUh0R3NELENqSHNHdEQsTUFBTTtBd0luTDhCLEF4SW9MeEMsU3dJcExpRCxDeElvTGpELEVBQUUsRWdGbkN5QyxBaEZtQzNDLG1CZ0ZuQzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm1DckYsRUFBRSxFZ0Z0QjJDLEFoRnNCN0MscUJnRnRCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc0J6RixFQUFFLEVtRnJCc0MsQW5GcUJ4QyxnQm1GckJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxQi9FLEVBQUUsRW1GUndDLEFuRlExQyxrQm1GUjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRlFuRixFQUFFLEVvRndEc0MsQXBGeER4QyxnQm9Gd0R3RCxBQUFBLGFBQWEsQ3BGeERyRSxFQUFFLEVvRnlEc0MsQXBGekR4QyxnQm9GeUR3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGekRqRSxFQUFFLEVvRmtGd0MsQXBGbEYxQyxrQm9Ga0Y0RCxBQUFBLGFBQWEsQ3BGbEZ6RSxFQUFFLEVvRm1Gd0MsQXBGbkYxQyxrQm9GbUY0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbkZyRSxFQUFFLEU0RmxKeUMsQTVGa0ozQyxtQjRGbEo4RCxDNUZrSjlELEVBQUUsRWlIdkd1QyxBakh1R3pDLGlCaUh2RzBELENqSHVHMUQsRUFBRSxFd0lwTHNDLEF4SW9McEMsU3dJcEw2QyxDeElvTDdDLE1BQU0sRWdGbkNpQyxBaEZtQ3ZDLG1CZ0ZuQzBELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm1DakYsTUFBTSxFZ0Z0Qm1DLEFoRnNCekMscUJnRnRCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc0JyRixNQUFNLEVtRnJCOEIsQW5GcUJwQyxnQm1GckJvRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxQjNFLE1BQU0sRW1GUmdDLEFuRlF0QyxrQm1GUndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRlEvRSxNQUFNLEVvRndEOEIsQXBGeERwQyxnQm9Gd0RvRCxBQUFBLGFBQWEsQ3BGeERqRSxNQUFNLEVvRnlEOEIsQXBGekRwQyxnQm9GeURvRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGekQ3RCxNQUFNLEVvRmtGZ0MsQXBGbEZ0QyxrQm9Ga0Z3RCxBQUFBLGFBQWEsQ3BGbEZyRSxNQUFNLEVvRm1GZ0MsQXBGbkZ0QyxrQm9GbUZ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbkZqRSxNQUFNLEU0RmxKaUMsQTVGa0p2QyxtQjRGbEowRCxDNUZrSjFELE1BQU0sRWlIdkcrQixBakh1R3JDLGlCaUh2R3NELENqSHVHdEQsTUFBTSxDQUFDO0VBQ1AsS0FBSyxFRHpLVSxJQUFJO0NDMkt0Qjs7QXdJdkx1QyxBeElxTnhDLFN3SXJOaUQsQ3hJcU5qRCxVQUFVLEVnRnBFaUMsQWhGb0UzQyxtQmdGcEU4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZvRXJGLFVBQVUsRWdGdkRtQyxBaEZ1RDdDLHFCZ0Z2RGtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVEekYsVUFBVSxFbUZ0RDhCLEFuRnNEeEMsZ0JtRnREd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc0QvRSxVQUFVLEVtRnpDZ0MsQW5GeUMxQyxrQm1GekM0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5Q25GLFVBQVUsRW9GdUI4QixBcEZ2QnhDLGdCb0Z1QndELEFBQUEsYUFBYSxDcEZ2QnJFLFVBQVUsRW9Gd0I4QixBcEZ4QnhDLGdCb0Z3QndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ4QmpFLFVBQVUsRW9GaURnQyxBcEZqRDFDLGtCb0ZpRDRELEFBQUEsYUFBYSxDcEZqRHpFLFVBQVUsRW9Ga0RnQyxBcEZsRDFDLGtCb0ZrRDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZsRHJFLFVBQVUsRTRGbkxpQyxBNUZtTDNDLG1CNEZuTDhELEM1Rm1MOUQsVUFBVSxFaUh4SStCLEFqSHdJekMsaUJpSHhJMEQsQ2pId0kxRCxVQUFVLENBQUM7RUFyRndCLEtBQUssRURwSHJCLElBQUk7Q0MyTXRCOztBd0l2TnVDLEF4SXlON0IsU3dJek5zQyxDeEl5TmpELFVBQVUsQ0FBQyxNQUFNLEVnRnhFMEIsQWhGd0VoQyxtQmdGeEVtRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ3RXJGLFVBQVUsQ0FBQyxNQUFNLEVnRjNENEIsQWhGMkRsQyxxQmdGM0R1RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYyRHpGLFVBQVUsQ0FBQyxNQUFNLEVtRjFEdUIsQW5GMEQ3QixnQm1GMUQ2QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYwRC9FLFVBQVUsQ0FBQyxNQUFNLEVtRjdDeUIsQW5GNkMvQixrQm1GN0NpRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2Q25GLFVBQVUsQ0FBQyxNQUFNLEVvRm1CdUIsQXBGbkI3QixnQm9GbUI2QyxBQUFBLGFBQWEsQ3BGbkJyRSxVQUFVLENBQUMsTUFBTSxFb0ZvQnVCLEFwRnBCN0IsZ0JvRm9CNkMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnBCakUsVUFBVSxDQUFDLE1BQU0sRW9GNkN5QixBcEY3Qy9CLGtCb0Y2Q2lELEFBQUEsYUFBYSxDcEY3Q3pFLFVBQVUsQ0FBQyxNQUFNLEVvRjhDeUIsQXBGOUMvQixrQm9GOENpRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOUNyRSxVQUFVLENBQUMsTUFBTSxFNEZ2TDBCLEE1RnVMaEMsbUI0RnZMbUQsQzVGdUw5RCxVQUFVLENBQUMsTUFBTSxFaUg1SXdCLEFqSDRJOUIsaUJpSDVJK0MsQ2pINEkxRCxVQUFVLENBQUMsTUFBTSxDQUFDO0VBeEZ3QixLQUFLLEVEckg1Qix3QkFBSTtDQytNdEI7O0F3STNOdUMsQXhJaU94QyxTd0lqT2lELEN4SWlPakQsRUFBRSxFZ0ZoRnlDLEFoRmdGM0MsbUJnRmhGOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ0ZyRixFQUFFLEVnRm5FMkMsQWhGbUU3QyxxQmdGbkVrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZtRXpGLEVBQUUsRW1GbEVzQyxBbkZrRXhDLGdCbUZsRXdELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmtFL0UsRUFBRSxFbUZyRHdDLEFuRnFEMUMsa0JtRnJENEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcURuRixFQUFFLEVvRldzQyxBcEZYeEMsZ0JvRld3RCxBQUFBLGFBQWEsQ3BGWHJFLEVBQUUsRW9GWXNDLEFwRlp4QyxnQm9GWXdELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZaakUsRUFBRSxFb0ZxQ3dDLEFwRnJDMUMsa0JvRnFDNEQsQUFBQSxhQUFhLENwRnJDekUsRUFBRSxFb0ZzQ3dDLEFwRnRDMUMsa0JvRnNDNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnRDckUsRUFBRSxFNEYvTHlDLEE1RitMM0MsbUI0Ri9MOEQsQzVGK0w5RCxFQUFFLEVpSHBKdUMsQWpIb0p6QyxpQmlIcEowRCxDakhvSjFELEVBQUUsQ0FBQztFQUNDLGdCQUFnQixFRHRORCx3QkFBSTtDQ3dOdEI7O0F3SXBPdUMsQXhJa2lDeEMsU3dJbGlDaUQsQ3hJa2lDakQsQ0FBQyxBQUFBLGNBQWMsRWdGajVCNEIsQWhGaTVCM0MsbUJnRmo1QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmk1QnJGLENBQUMsQUFBQSxjQUFjLEVnRnA0QjhCLEFoRm80QjdDLHFCZ0ZwNEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZvNEJ6RixDQUFDLEFBQUEsY0FBYyxFbUZuNEJ5QixBbkZtNEJ4QyxnQm1GbjRCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbTRCL0UsQ0FBQyxBQUFBLGNBQWMsRW1GdDNCMkIsQW5GczNCMUMsa0JtRnQzQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnMzQm5GLENBQUMsQUFBQSxjQUFjLEVvRnR6QnlCLEFwRnN6QnhDLGdCb0Z0ekJ3RCxBQUFBLGFBQWEsQ3BGc3pCckUsQ0FBQyxBQUFBLGNBQWMsRW9GcnpCeUIsQXBGcXpCeEMsZ0JvRnJ6QndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxekJqRSxDQUFDLEFBQUEsY0FBYyxFb0Y1eEIyQixBcEY0eEIxQyxrQm9GNXhCNEQsQUFBQSxhQUFhLENwRjR4QnpFLENBQUMsQUFBQSxjQUFjLEVvRjN4QjJCLEFwRjJ4QjFDLGtCb0YzeEI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMnhCckUsQ0FBQyxBQUFBLGNBQWMsRTRGaGdDNEIsQTVGZ2dDM0MsbUI0RmhnQzhELEM1RmdnQzlELENBQUMsQUFBQSxjQUFjLEVpSHI5QjBCLEFqSHE5QnpDLGlCaUhyOUIwRCxDakhxOUIxRCxDQUFDLEFBQUEsY0FBYztBd0lsaUN5QixBeEltaUN6QixTd0luaUNrQyxDeEltaUNqRCxjQUFjLENBQUMsQ0FBQyxFZ0ZsNUIyQixBaEZrNUI1QixtQmdGbDVCK0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGazVCckYsY0FBYyxDQUFDLENBQUMsRWdGcjRCNkIsQWhGcTRCOUIscUJnRnI0Qm1ELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnE0QnpGLGNBQWMsQ0FBQyxDQUFDLEVtRnA0QndCLEFuRm80QnpCLGdCbUZwNEJ5QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZvNEIvRSxjQUFjLENBQUMsQ0FBQyxFbUZ2M0IwQixBbkZ1M0IzQixrQm1GdjNCNkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GdTNCbkYsY0FBYyxDQUFDLENBQUMsRW9GdnpCd0IsQXBGdXpCekIsZ0JvRnZ6QnlDLEFBQUEsYUFBYSxDcEZ1ekJyRSxjQUFjLENBQUMsQ0FBQyxFb0Z0ekJ3QixBcEZzekJ6QixnQm9GdHpCeUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnN6QmpFLGNBQWMsQ0FBQyxDQUFDLEVvRjd4QjBCLEFwRjZ4QjNCLGtCb0Y3eEI2QyxBQUFBLGFBQWEsQ3BGNnhCekUsY0FBYyxDQUFDLENBQUMsRW9GNXhCMEIsQXBGNHhCM0Isa0JvRjV4QjZDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY0eEJyRSxjQUFjLENBQUMsQ0FBQyxFNEZqZ0MyQixBNUZpZ0M1QixtQjRGamdDK0MsQzVGaWdDOUQsY0FBYyxDQUFDLENBQUMsRWlIdDlCeUIsQWpIczlCMUIsaUJpSHQ5QjJDLENqSHM5QjFELGNBQWMsQ0FBQyxDQUFDLENBQUM7RUFDYixLQUFLLEVEeGhDVSx3QkFBSTtDQzBoQ3RCOztBd0l0aUN1QyxBeEl3aUN4QyxTd0l4aUNpRCxDeEl3aUNqRCxDQUFDLEFBQUEsY0FBYyxBQUFBLE1BQU0sRWdGdjVCc0IsQWhGdTVCM0MsbUJnRnY1QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnU1QnJGLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFZ0YxNEJ3QixBaEYwNEI3QyxxQmdGMTRCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMDRCekYsQ0FBQyxBQUFBLGNBQWMsQUFBQSxNQUFNLEVtRno0Qm1CLEFuRnk0QnhDLGdCbUZ6NEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5NEIvRSxDQUFDLEFBQUEsY0FBYyxBQUFBLE1BQU0sRW1GNTNCcUIsQW5GNDNCMUMsa0JtRjUzQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjQzQm5GLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFb0Y1ekJtQixBcEY0ekJ4QyxnQm9GNXpCd0QsQUFBQSxhQUFhLENwRjR6QnJFLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFb0YzekJtQixBcEYyekJ4QyxnQm9GM3pCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJ6QmpFLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFb0ZseUJxQixBcEZreUIxQyxrQm9GbHlCNEQsQUFBQSxhQUFhLENwRmt5QnpFLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFb0ZqeUJxQixBcEZpeUIxQyxrQm9GanlCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRml5QnJFLENBQUMsQUFBQSxjQUFjLEFBQUEsTUFBTSxFNEZ0Z0NzQixBNUZzZ0MzQyxtQjRGdGdDOEQsQzVGc2dDOUQsQ0FBQyxBQUFBLGNBQWMsQUFBQSxNQUFNLEVpSDM5Qm9CLEFqSDI5QnpDLGlCaUgzOUIwRCxDakgyOUIxRCxDQUFDLEFBQUEsY0FBYyxBQUFBLE1BQU07QXdJeGlDbUIsQXhJeWlDekIsU3dJemlDa0MsQ3hJeWlDakQsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNLEVnRng1QnFCLEFoRnc1QjVCLG1CZ0Z4NUIrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ3NUJyRixjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU0sRWdGMzRCdUIsQWhGMjRCOUIscUJnRjM0Qm1ELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjI0QnpGLGNBQWMsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFbUYxNEJrQixBbkYwNEJ6QixnQm1GMTRCeUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMDRCL0UsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNLEVtRjczQm9CLEFuRjYzQjNCLGtCbUY3M0I2QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2M0JuRixjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GN3pCa0IsQXBGNnpCekIsZ0JvRjd6QnlDLEFBQUEsYUFBYSxDcEY2ekJyRSxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GNXpCa0IsQXBGNHpCekIsZ0JvRjV6QnlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY0ekJqRSxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GbnlCb0IsQXBGbXlCM0Isa0JvRm55QjZDLEFBQUEsYUFBYSxDcEZteUJ6RSxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GbHlCb0IsQXBGa3lCM0Isa0JvRmx5QjZDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZreUJyRSxjQUFjLENBQUMsQ0FBQyxBQUFBLE1BQU0sRTRGdmdDcUIsQTVGdWdDNUIsbUI0RnZnQytDLEM1RnVnQzlELGNBQWMsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFaUg1OUJtQixBakg0OUIxQixpQmlINTlCMkMsQ2pINDlCMUQsY0FBYyxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDbkIsS0FBSyxFRDloQ1Usd0JBQUk7Q0NnaUN0Qjs7QXdJNWlDdUMsQXhJbTNCeEMsU3dJbjNCaUQsQ3hJbTNCakQsbUJBQW1CLEVnRmx1QndCLEFoRmt1QjNDLG1CZ0ZsdUI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZrdUJyRixtQkFBbUIsRWdGcnRCMEIsQWhGcXRCN0MscUJnRnJ0QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnF0QnpGLG1CQUFtQixFbUZwdEJxQixBbkZvdEJ4QyxnQm1GcHRCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gb3RCL0UsbUJBQW1CLEVtRnZzQnVCLEFuRnVzQjFDLGtCbUZ2c0I0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ1c0JuRixtQkFBbUIsRW9Gdm9CcUIsQXBGdW9CeEMsZ0JvRnZvQndELEFBQUEsYUFBYSxDcEZ1b0JyRSxtQkFBbUIsRW9GdG9CcUIsQXBGc29CeEMsZ0JvRnRvQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZzb0JqRSxtQkFBbUIsRW9GN21CdUIsQXBGNm1CMUMsa0JvRjdtQjRELEFBQUEsYUFBYSxDcEY2bUJ6RSxtQkFBbUIsRW9GNW1CdUIsQXBGNG1CMUMsa0JvRjVtQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY0bUJyRSxtQkFBbUIsRTRGajFCd0IsQTVGaTFCM0MsbUI0RmoxQjhELEM1RmkxQjlELG1CQUFtQixFaUh0eUJzQixBakhzeUJ6QyxpQmlIdHlCMEQsQ2pIc3lCMUQsbUJBQW1CLENBQUM7RUFDaEIsbUJBQW1CLEVEeDJCSix3QkFBSTtDQzAyQnRCOztBd0l0M0J1QyxBeEl3M0J4QyxTd0l4M0JpRCxDeEl3M0JqRCxrQkFBa0IsQUFBQSxRQUFRLEVnRnZ1QmlCLEFoRnV1QjNDLG1CZ0Z2dUI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1dUJyRixrQkFBa0IsQUFBQSxRQUFRLEVnRjF0Qm1CLEFoRjB0QjdDLHFCZ0YxdEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwdEJ6RixrQkFBa0IsQUFBQSxRQUFRLEVtRnp0QmMsQW5GeXRCeEMsZ0JtRnp0QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnl0Qi9FLGtCQUFrQixBQUFBLFFBQVEsRW1GNXNCZ0IsQW5GNHNCMUMsa0JtRjVzQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjRzQm5GLGtCQUFrQixBQUFBLFFBQVEsRW9GNW9CYyxBcEY0b0J4QyxnQm9GNW9Cd0QsQUFBQSxhQUFhLENwRjRvQnJFLGtCQUFrQixBQUFBLFFBQVEsRW9GM29CYyxBcEYyb0J4QyxnQm9GM29Cd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJvQmpFLGtCQUFrQixBQUFBLFFBQVEsRW9GbG5CZ0IsQXBGa25CMUMsa0JvRmxuQjRELEFBQUEsYUFBYSxDcEZrbkJ6RSxrQkFBa0IsQUFBQSxRQUFRLEVvRmpuQmdCLEFwRmluQjFDLGtCb0ZqbkI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaW5CckUsa0JBQWtCLEFBQUEsUUFBUSxFNEZ0MUJpQixBNUZzMUIzQyxtQjRGdDFCOEQsQzVGczFCOUQsa0JBQWtCLEFBQUEsUUFBUSxFaUgzeUJlLEFqSDJ5QnpDLGlCaUgzeUIwRCxDakgyeUIxRCxrQkFBa0IsQUFBQSxRQUFRLENBQUM7RUFDdkIsaUJBQWlCLEVENzJCRix3QkFBSTtDQysyQnRCOztBd0kzM0J1QyxBeEk2M0JyQixTd0k3M0I4QixDeEk2M0JqRCxnQkFBZ0IsR0FBRyxPQUFPLEVnRjV1QmlCLEFoRjR1QnhCLG1CZ0Y1dUIyQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY0dUJyRixnQkFBZ0IsR0FBRyxPQUFPLEVnRi90Qm1CLEFoRit0QjFCLHFCZ0YvdEIrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYrdEJ6RixnQkFBZ0IsR0FBRyxPQUFPLEVtRjl0QmMsQW5GOHRCckIsZ0JtRjl0QnFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjh0Qi9FLGdCQUFnQixHQUFHLE9BQU8sRW1GanRCZ0IsQW5GaXRCdkIsa0JtRmp0QnlDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRml0Qm5GLGdCQUFnQixHQUFHLE9BQU8sRW9GanBCYyxBcEZpcEJyQixnQm9GanBCcUMsQUFBQSxhQUFhLENwRmlwQnJFLGdCQUFnQixHQUFHLE9BQU8sRW9GaHBCYyxBcEZncEJyQixnQm9GaHBCcUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmdwQmpFLGdCQUFnQixHQUFHLE9BQU8sRW9Gdm5CZ0IsQXBGdW5CdkIsa0JvRnZuQnlDLEFBQUEsYUFBYSxDcEZ1bkJ6RSxnQkFBZ0IsR0FBRyxPQUFPLEVvRnRuQmdCLEFwRnNuQnZCLGtCb0Z0bkJ5QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGc25CckUsZ0JBQWdCLEdBQUcsT0FBTyxFNEYzMUJpQixBNUYyMUJ4QixtQjRGMzFCMkMsQzVGMjFCOUQsZ0JBQWdCLEdBQUcsT0FBTyxFaUhoekJlLEFqSGd6QnRCLGlCaUhoekJ1QyxDakhnekIxRCxnQkFBZ0IsR0FBRyxPQUFPO0F3STczQmMsQXhJODNCckIsU3dJOTNCOEIsQ3hJODNCakQsZ0JBQWdCLEdBQUcsTUFBTSxFZ0Y3dUJrQixBaEY2dUJ4QixtQmdGN3VCMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNnVCckYsZ0JBQWdCLEdBQUcsTUFBTSxFZ0ZodUJvQixBaEZndUIxQixxQmdGaHVCK0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ3VCekYsZ0JBQWdCLEdBQUcsTUFBTSxFbUYvdEJlLEFuRit0QnJCLGdCbUYvdEJxQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrdEIvRSxnQkFBZ0IsR0FBRyxNQUFNLEVtRmx0QmlCLEFuRmt0QnZCLGtCbUZsdEJ5QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrdEJuRixnQkFBZ0IsR0FBRyxNQUFNLEVvRmxwQmUsQXBGa3BCckIsZ0JvRmxwQnFDLEFBQUEsYUFBYSxDcEZrcEJyRSxnQkFBZ0IsR0FBRyxNQUFNLEVvRmpwQmUsQXBGaXBCckIsZ0JvRmpwQnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpcEJqRSxnQkFBZ0IsR0FBRyxNQUFNLEVvRnhuQmlCLEFwRnduQnZCLGtCb0Z4bkJ5QyxBQUFBLGFBQWEsQ3BGd25CekUsZ0JBQWdCLEdBQUcsTUFBTSxFb0Z2bkJpQixBcEZ1bkJ2QixrQm9Gdm5CeUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVuQnJFLGdCQUFnQixHQUFHLE1BQU0sRTRGNTFCa0IsQTVGNDFCeEIsbUI0RjUxQjJDLEM1RjQxQjlELGdCQUFnQixHQUFHLE1BQU0sRWlIanpCZ0IsQWpIaXpCdEIsaUJpSGp6QnVDLENqSGl6QjFELGdCQUFnQixHQUFHLE1BQU0sQ0FBQztFQUN0QixtQkFBbUIsRURuM0JKLHdCQUFJO0NDcTNCdEI7O0F3SWo0QnVDLEF4SXlwQnhDLFN3SXpwQmlELEN4SXlwQmpELGdCQUFnQixFZ0Z4Z0IyQixBaEZ3Z0IzQyxtQmdGeGdCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGd2dCckYsZ0JBQWdCLEVnRjNmNkIsQWhGMmY3QyxxQmdGM2ZrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYyZnpGLGdCQUFnQixFbUYxZndCLEFuRjBmeEMsZ0JtRjFmd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMGYvRSxnQkFBZ0IsRW1GN2UwQixBbkY2ZTFDLGtCbUY3ZTRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjZlbkYsZ0JBQWdCLEVvRjdhd0IsQXBGNmF4QyxnQm9GN2F3RCxBQUFBLGFBQWEsQ3BGNmFyRSxnQkFBZ0IsRW9GNWF3QixBcEY0YXhDLGdCb0Y1YXdELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY0YWpFLGdCQUFnQixFb0ZuWjBCLEFwRm1aMUMsa0JvRm5aNEQsQUFBQSxhQUFhLENwRm1aekUsZ0JBQWdCLEVvRmxaMEIsQXBGa1oxQyxrQm9GbFo0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGa1pyRSxnQkFBZ0IsRTRGdm5CMkIsQTVGdW5CM0MsbUI0RnZuQjhELEM1RnVuQjlELGdCQUFnQixFaUg1a0J5QixBakg0a0J6QyxpQmlINWtCMEQsQ2pINGtCMUQsZ0JBQWdCLENBQUM7RW9FaHFCakIsZ0JBQWdCLEVBQUUsZ1hBQXdCO0NwRW1xQnpDOztBd0k1cEJ1QyxBeEk4cEJ4QyxTd0k5cEJpRCxDeEk4cEJqRCxnQkFBZ0IsQUFBQSxRQUFRLEVnRjdnQm1CLEFoRjZnQjNDLG1CZ0Y3Z0I4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2Z0JyRixnQkFBZ0IsQUFBQSxRQUFRLEVnRmhnQnFCLEFoRmdnQjdDLHFCZ0ZoZ0JrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnZ0J6RixnQkFBZ0IsQUFBQSxRQUFRLEVtRi9mZ0IsQW5GK2Z4QyxnQm1GL2Z3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrZi9FLGdCQUFnQixBQUFBLFFBQVEsRW1GbGZrQixBbkZrZjFDLGtCbUZsZjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmtmbkYsZ0JBQWdCLEFBQUEsUUFBUSxFb0ZsYmdCLEFwRmtieEMsZ0JvRmxid0QsQUFBQSxhQUFhLENwRmtickUsZ0JBQWdCLEFBQUEsUUFBUSxFb0ZqYmdCLEFwRmlieEMsZ0JvRmpid0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmliakUsZ0JBQWdCLEFBQUEsUUFBUSxFb0Z4WmtCLEFwRndaMUMsa0JvRnhaNEQsQUFBQSxhQUFhLENwRndaekUsZ0JBQWdCLEFBQUEsUUFBUSxFb0Z2WmtCLEFwRnVaMUMsa0JvRnZaNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVackUsZ0JBQWdCLEFBQUEsUUFBUSxFNEY1bkJtQixBNUY0bkIzQyxtQjRGNW5COEQsQzVGNG5COUQsZ0JBQWdCLEFBQUEsUUFBUSxFaUhqbEJpQixBakhpbEJ6QyxpQmlIamxCMEQsQ2pIaWxCMUQsZ0JBQWdCLEFBQUEsUUFBUTtBd0k5cEJnQixBeEkrcEJ4QyxTd0kvcEJpRCxDeEkrcEJqRCxnQkFBZ0IsQUFBQSxPQUFPLEVnRjlnQm9CLEFoRjhnQjNDLG1CZ0Y5Z0I4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4Z0JyRixnQkFBZ0IsQUFBQSxPQUFPLEVnRmpnQnNCLEFoRmlnQjdDLHFCZ0ZqZ0JrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZpZ0J6RixnQkFBZ0IsQUFBQSxPQUFPLEVtRmhnQmlCLEFuRmdnQnhDLGdCbUZoZ0J3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnZ0IvRSxnQkFBZ0IsQUFBQSxPQUFPLEVtRm5mbUIsQW5GbWYxQyxrQm1GbmY0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtZm5GLGdCQUFnQixBQUFBLE9BQU8sRW9GbmJpQixBcEZtYnhDLGdCb0ZuYndELEFBQUEsYUFBYSxDcEZtYnJFLGdCQUFnQixBQUFBLE9BQU8sRW9GbGJpQixBcEZrYnhDLGdCb0ZsYndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrYmpFLGdCQUFnQixBQUFBLE9BQU8sRW9GelptQixBcEZ5WjFDLGtCb0Z6WjRELEFBQUEsYUFBYSxDcEZ5WnpFLGdCQUFnQixBQUFBLE9BQU8sRW9GeFptQixBcEZ3WjFDLGtCb0Z4WjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ3WnJFLGdCQUFnQixBQUFBLE9BQU8sRTRGN25Cb0IsQTVGNm5CM0MsbUI0RjduQjhELEM1RjZuQjlELGdCQUFnQixBQUFBLE9BQU8sRWlIbGxCa0IsQWpIa2xCekMsaUJpSGxsQjBELENqSGtsQjFELGdCQUFnQixBQUFBLE9BQU8sQ0FBQztFQUNwQixtQkFBbUIsRURwcEJKLHdCQUFJO0NDc3BCdEI7O0F3SWxxQnVDLEF4SW9xQnhDLFN3SXBxQmlELEN4SW9xQmpELGlCQUFpQixBQUFBLE9BQU8sRWdGbmhCbUIsQWhGbWhCM0MsbUJnRm5oQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm1oQnJGLGlCQUFpQixBQUFBLE9BQU8sRWdGdGdCcUIsQWhGc2dCN0MscUJnRnRnQmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnNnQnpGLGlCQUFpQixBQUFBLE9BQU8sRW1GcmdCZ0IsQW5GcWdCeEMsZ0JtRnJnQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnFnQi9FLGlCQUFpQixBQUFBLE9BQU8sRW1GeGZrQixBbkZ3ZjFDLGtCbUZ4ZjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRndmbkYsaUJBQWlCLEFBQUEsT0FBTyxFb0Z4YmdCLEFwRndieEMsZ0JvRnhid0QsQUFBQSxhQUFhLENwRndickUsaUJBQWlCLEFBQUEsT0FBTyxFb0Z2YmdCLEFwRnVieEMsZ0JvRnZid0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnViakUsaUJBQWlCLEFBQUEsT0FBTyxFb0Y5WmtCLEFwRjhaMUMsa0JvRjlaNEQsQUFBQSxhQUFhLENwRjhaekUsaUJBQWlCLEFBQUEsT0FBTyxFb0Y3WmtCLEFwRjZaMUMsa0JvRjdaNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjZackUsaUJBQWlCLEFBQUEsT0FBTyxFNEZsb0JtQixBNUZrb0IzQyxtQjRGbG9COEQsQzVGa29COUQsaUJBQWlCLEFBQUEsT0FBTyxFaUh2bEJpQixBakh1bEJ6QyxpQmlIdmxCMEQsQ2pIdWxCMUQsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLGdCQUFnQixFRHpwQkQsd0JBQUk7Q0MycEJ0Qjs7QXdJdnFCdUMsQXhJeWdDckIsU3dJemdDOEIsQ3hJeWdDakQsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFVBQVcsQ0FBQSxHQUFHLEdnRngzQlEsQWhGdzNCeEIsbUJnRngzQjJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnczQnJGLGdCQUFnQixHQUFHLEVBQUUsQUFBQSxVQUFXLENBQUEsR0FBRyxHZ0YzMkJVLEFoRjIyQjFCLHFCZ0YzMkIrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYyMkJ6RixnQkFBZ0IsR0FBRyxFQUFFLEFBQUEsVUFBVyxDQUFBLEdBQUcsR21GMTJCSyxBbkYwMkJyQixnQm1GMTJCcUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMDJCL0UsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFVBQVcsQ0FBQSxHQUFHLEdtRjcxQk8sQW5GNjFCdkIsa0JtRjcxQnlDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjYxQm5GLGdCQUFnQixHQUFHLEVBQUUsQUFBQSxVQUFXLENBQUEsR0FBRyxHb0Y3eEJLLEFwRjZ4QnJCLGdCb0Y3eEJxQyxBQUFBLGFBQWEsQ3BGNnhCckUsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFVBQVcsQ0FBQSxHQUFHLEdvRjV4QkssQXBGNHhCckIsZ0JvRjV4QnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY0eEJqRSxnQkFBZ0IsR0FBRyxFQUFFLEFBQUEsVUFBVyxDQUFBLEdBQUcsR29GbndCTyxBcEZtd0J2QixrQm9GbndCeUMsQUFBQSxhQUFhLENwRm13QnpFLGdCQUFnQixHQUFHLEVBQUUsQUFBQSxVQUFXLENBQUEsR0FBRyxHb0Zsd0JPLEFwRmt3QnZCLGtCb0Zsd0J5QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGa3dCckUsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFVBQVcsQ0FBQSxHQUFHLEc0RnYrQlEsQTVGdStCeEIsbUI0RnYrQjJDLEM1RnUrQjlELGdCQUFnQixHQUFHLEVBQUUsQUFBQSxVQUFXLENBQUEsR0FBRyxHaUg1N0JNLEFqSDQ3QnRCLGlCaUg1N0J1QyxDakg0N0IxRCxnQkFBZ0IsR0FBRyxFQUFFLEFBQUEsVUFBVyxDQUFBLEdBQUcsRUFBRTtFQUNqQyxnQkFBZ0IsRUQ5L0JELHdCQUFJO0NDZ2dDdEI7O0F3STVnQ3VDLEF4SThnQ3JCLFN3STlnQzhCLEN4SThnQ2pELGdCQUFnQixHQUFHLEVBQUUsQUFkckIsWUFBYyxDQUFBLEFBQUEsR0FBRyxHZ0YvMkIwQixBaEY2M0J4QixtQmdGNzNCMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNjNCckYsZ0JBQWdCLEdBQUcsRUFBRSxBQWRyQixZQUFjLENBQUEsQUFBQSxHQUFHLEdnRmwyQjRCLEFoRmczQjFCLHFCZ0ZoM0IrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnM0J6RixnQkFBZ0IsR0FBRyxFQUFFLEFBZHJCLFlBQWMsQ0FBQSxBQUFBLEdBQUcsR21GajJCdUIsQW5GKzJCckIsZ0JtRi8yQnFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRisyQi9FLGdCQUFnQixHQUFHLEVBQUUsQUFkckIsWUFBYyxDQUFBLEFBQUEsR0FBRyxHbUZwMUJ5QixBbkZrMkJ2QixrQm1GbDJCeUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GazJCbkYsZ0JBQWdCLEdBQUcsRUFBRSxBQWRyQixZQUFjLENBQUEsQUFBQSxHQUFHLEdvRnB4QnVCLEFwRmt5QnJCLGdCb0ZseUJxQyxBQUFBLGFBQWEsQ3BGa3lCckUsZ0JBQWdCLEdBQUcsRUFBRSxBQWRyQixZQUFjLENBQUEsQUFBQSxHQUFHLEdvRm54QnVCLEFwRml5QnJCLGdCb0ZqeUJxQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaXlCakUsZ0JBQWdCLEdBQUcsRUFBRSxBQWRyQixZQUFjLENBQUEsQUFBQSxHQUFHLEdvRjF2QnlCLEFwRnd3QnZCLGtCb0Z4d0J5QyxBQUFBLGFBQWEsQ3BGd3dCekUsZ0JBQWdCLEdBQUcsRUFBRSxBQWRyQixZQUFjLENBQUEsQUFBQSxHQUFHLEdvRnp2QnlCLEFwRnV3QnZCLGtCb0Z2d0J5QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdXdCckUsZ0JBQWdCLEdBQUcsRUFBRSxBQWRyQixZQUFjLENBQUEsQUFBQSxHQUFHLEc0Rjk5QjBCLEE1RjQrQnhCLG1CNEY1K0IyQyxDNUY0K0I5RCxnQkFBZ0IsR0FBRyxFQUFFLEFBZHJCLFlBQWMsQ0FBQSxBQUFBLEdBQUcsR2lIbjdCd0IsQWpIaThCdEIsaUJpSGo4QnVDLENqSGk4QjFELGdCQUFnQixHQUFHLEVBQUUsQUFkckIsWUFBYyxDQUFBLEFBQUEsR0FBRyxFQUFFO0VBQ2YsZ0JBQWdCLEVEci9CRCx3QkFBSTtFQ3MvQm5CLG1CQUFtQixFRHQvQkosd0JBQUk7Q0N1L0J0Qjs7QXdJbmdDdUMsQXhJa2hDckIsU3dJbGhDOEIsQ3hJa2hDakQsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLEdBQUcsR2dGajRCTSxBaEZpNEJ4QixtQmdGajRCMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaTRCckYsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLEdBQUcsR2dGcDNCUSxBaEZvM0IxQixxQmdGcDNCK0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbzNCekYsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLEdBQUcsR21GbjNCRyxBbkZtM0JyQixnQm1GbjNCcUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbTNCL0UsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLEdBQUcsR21GdDJCSyxBbkZzMkJ2QixrQm1GdDJCeUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GczJCbkYsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLEdBQUcsR29GdHlCRyxBcEZzeUJyQixnQm9GdHlCcUMsQUFBQSxhQUFhLENwRnN5QnJFLGdCQUFnQixHQUFHLEVBQUUsQUFBQSxZQUFhLENBQUEsQUFBQSxHQUFHLEdvRnJ5QkcsQXBGcXlCckIsZ0JvRnJ5QnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxeUJqRSxnQkFBZ0IsR0FBRyxFQUFFLEFBQUEsWUFBYSxDQUFBLEFBQUEsR0FBRyxHb0Y1d0JLLEFwRjR3QnZCLGtCb0Y1d0J5QyxBQUFBLGFBQWEsQ3BGNHdCekUsZ0JBQWdCLEdBQUcsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLEdBQUcsR29GM3dCSyxBcEYyd0J2QixrQm9GM3dCeUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJ3QnJFLGdCQUFnQixHQUFHLEVBQUUsQUFBQSxZQUFhLENBQUEsQUFBQSxHQUFHLEc0RmgvQk0sQTVGZy9CeEIsbUI0RmgvQjJDLEM1RmcvQjlELGdCQUFnQixHQUFHLEVBQUUsQUFBQSxZQUFhLENBQUEsQUFBQSxHQUFHLEdpSHI4QkksQWpIcThCdEIsaUJpSHI4QnVDLENqSHE4QjFELGdCQUFnQixHQUFHLEVBQUUsQUFBQSxZQUFhLENBQUEsQUFBQSxHQUFHLEVBQUU7RUFBRSxnQkFBZ0IsRUR0Z0N0Qyx3QkFBSTtDQ3NnQ3dFOztBd0lsaEN2RCxBeElvaEN0QixTd0lwaEMrQixDeElvaENqRCxlQUFlLEdBQUcsRUFBRSxBQUFBLFFBQVEsRWdGbjRCZSxBaEZtNEJ6QixtQmdGbjRCNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbTRCckYsZUFBZSxHQUFHLEVBQUUsQUFBQSxRQUFRLEVnRnQzQmlCLEFoRnMzQjNCLHFCZ0Z0M0JnRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzM0J6RixlQUFlLEdBQUcsRUFBRSxBQUFBLFFBQVEsRW1GcjNCWSxBbkZxM0J0QixnQm1GcjNCc0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcTNCL0UsZUFBZSxHQUFHLEVBQUUsQUFBQSxRQUFRLEVtRngyQmMsQW5GdzJCeEIsa0JtRngyQjBDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRncyQm5GLGVBQWUsR0FBRyxFQUFFLEFBQUEsUUFBUSxFb0Z4eUJZLEFwRnd5QnRCLGdCb0Z4eUJzQyxBQUFBLGFBQWEsQ3BGd3lCckUsZUFBZSxHQUFHLEVBQUUsQUFBQSxRQUFRLEVvRnZ5QlksQXBGdXlCdEIsZ0JvRnZ5QnNDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1eUJqRSxlQUFlLEdBQUcsRUFBRSxBQUFBLFFBQVEsRW9GOXdCYyxBcEY4d0J4QixrQm9GOXdCMEMsQUFBQSxhQUFhLENwRjh3QnpFLGVBQWUsR0FBRyxFQUFFLEFBQUEsUUFBUSxFb0Y3d0JjLEFwRjZ3QnhCLGtCb0Y3d0IwQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNndCckUsZUFBZSxHQUFHLEVBQUUsQUFBQSxRQUFRLEU0RmwvQmUsQTVGay9CekIsbUI0RmwvQjRDLEM1RmsvQjlELGVBQWUsR0FBRyxFQUFFLEFBQUEsUUFBUSxFaUh2OEJhLEFqSHU4QnZCLGlCaUh2OEJ3QyxDakh1OEIxRCxlQUFlLEdBQUcsRUFBRSxBQUFBLFFBQVEsQ0FBQztFb0UzaEM3QixnQkFBZ0IsRUFBRSx3VEFBd0I7Q3BFOGhDekM7O0F3SXZoQ3VDLEF4STQ1QnhDLFN3STU1QmlELEN4STQ1QmpELGFBQWEsRWdGM3dCOEIsQWhGMndCM0MsbUJnRjN3QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjJ3QnJGLGFBQWEsRWdGOXZCZ0MsQWhGOHZCN0MscUJnRjl2QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjh2QnpGLGFBQWEsRW1GN3ZCMkIsQW5GNnZCeEMsZ0JtRjd2QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjZ2Qi9FLGFBQWEsRW1GaHZCNkIsQW5GZ3ZCMUMsa0JtRmh2QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmd2Qm5GLGFBQWEsRW9GaHJCMkIsQXBGZ3JCeEMsZ0JvRmhyQndELEFBQUEsYUFBYSxDcEZnckJyRSxhQUFhLEVvRi9xQjJCLEFwRitxQnhDLGdCb0YvcUJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGK3FCakUsYUFBYSxFb0Z0cEI2QixBcEZzcEIxQyxrQm9GdHBCNEQsQUFBQSxhQUFhLENwRnNwQnpFLGFBQWEsRW9GcnBCNkIsQXBGcXBCMUMsa0JvRnJwQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxcEJyRSxhQUFhLEU0RjEzQjhCLEE1RjAzQjNDLG1CNEYxM0I4RCxDNUYwM0I5RCxhQUFhLEVpSC8wQjRCLEFqSCswQnpDLGlCaUgvMEIwRCxDakgrMEIxRCxhQUFhLENBQUM7RUFDVixLQUFLLEVEajVCVSx3QkFBSTtDQ201QnRCOztBd0kvNUJ1QyxBeElpNkJ4QyxTd0lqNkJpRCxDeElpNkJqRCxhQUFhLEFBQUEsTUFBTSxFZ0ZoeEJ3QixBaEZneEIzQyxtQmdGaHhCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ3hCckYsYUFBYSxBQUFBLE1BQU0sRWdGbndCMEIsQWhGbXdCN0MscUJnRm53QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm13QnpGLGFBQWEsQUFBQSxNQUFNLEVtRmx3QnFCLEFuRmt3QnhDLGdCbUZsd0J3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrd0IvRSxhQUFhLEFBQUEsTUFBTSxFbUZydkJ1QixBbkZxdkIxQyxrQm1GcnZCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcXZCbkYsYUFBYSxBQUFBLE1BQU0sRW9GcnJCcUIsQXBGcXJCeEMsZ0JvRnJyQndELEFBQUEsYUFBYSxDcEZxckJyRSxhQUFhLEFBQUEsTUFBTSxFb0ZwckJxQixBcEZvckJ4QyxnQm9GcHJCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm9yQmpFLGFBQWEsQUFBQSxNQUFNLEVvRjNwQnVCLEFwRjJwQjFDLGtCb0YzcEI0RCxBQUFBLGFBQWEsQ3BGMnBCekUsYUFBYSxBQUFBLE1BQU0sRW9GMXBCdUIsQXBGMHBCMUMsa0JvRjFwQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYwcEJyRSxhQUFhLEFBQUEsTUFBTSxFNEYvM0J3QixBNUYrM0IzQyxtQjRGLzNCOEQsQzVGKzNCOUQsYUFBYSxBQUFBLE1BQU0sRWlIcDFCc0IsQWpIbzFCekMsaUJpSHAxQjBELENqSG8xQjFELGFBQWEsQUFBQSxNQUFNO0F3SWo2QnFCLEF4SWs2QnhDLFN3SWw2QmlELEN4SWs2QmpELGFBQWEsQUFBQSxNQUFNLEVnRmp4QndCLEFoRml4QjNDLG1CZ0ZqeEI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZpeEJyRixhQUFhLEFBQUEsTUFBTSxFZ0Zwd0IwQixBaEZvd0I3QyxxQmdGcHdCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb3dCekYsYUFBYSxBQUFBLE1BQU0sRW1GbndCcUIsQW5GbXdCeEMsZ0JtRm53QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm13Qi9FLGFBQWEsQUFBQSxNQUFNLEVtRnR2QnVCLEFuRnN2QjFDLGtCbUZ0dkI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzdkJuRixhQUFhLEFBQUEsTUFBTSxFb0Z0ckJxQixBcEZzckJ4QyxnQm9GdHJCd0QsQUFBQSxhQUFhLENwRnNyQnJFLGFBQWEsQUFBQSxNQUFNLEVvRnJyQnFCLEFwRnFyQnhDLGdCb0ZyckJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcXJCakUsYUFBYSxBQUFBLE1BQU0sRW9GNXBCdUIsQXBGNHBCMUMsa0JvRjVwQjRELEFBQUEsYUFBYSxDcEY0cEJ6RSxhQUFhLEFBQUEsTUFBTSxFb0YzcEJ1QixBcEYycEIxQyxrQm9GM3BCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJwQnJFLGFBQWEsQUFBQSxNQUFNLEU0Rmg0QndCLEE1Rmc0QjNDLG1CNEZoNEI4RCxDNUZnNEI5RCxhQUFhLEFBQUEsTUFBTSxFaUhyMUJzQixBakhxMUJ6QyxpQmlIcjFCMEQsQ2pIcTFCMUQsYUFBYSxBQUFBLE1BQU0sQ0FBQztFQUNoQixLQUFLLEVEdjVCVSx3QkFBSTtDQ3k1QnRCOztBd0lyNkJ1QyxBeEl1NkJ4QyxTd0l2NkJpRCxDeEl1NkJqRCxhQUFhLEFBQUEsT0FBTyxFZ0Z0eEJ1QixBaEZzeEIzQyxtQmdGdHhCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc3hCckYsYUFBYSxBQUFBLE9BQU8sRWdGendCeUIsQWhGeXdCN0MscUJnRnp3QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnl3QnpGLGFBQWEsQUFBQSxPQUFPLEVtRnh3Qm9CLEFuRnd3QnhDLGdCbUZ4d0J3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3d0IvRSxhQUFhLEFBQUEsT0FBTyxFbUYzdkJzQixBbkYydkIxQyxrQm1GM3ZCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMnZCbkYsYUFBYSxBQUFBLE9BQU8sRW9GM3JCb0IsQXBGMnJCeEMsZ0JvRjNyQndELEFBQUEsYUFBYSxDcEYyckJyRSxhQUFhLEFBQUEsT0FBTyxFb0YxckJvQixBcEYwckJ4QyxnQm9GMXJCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjByQmpFLGFBQWEsQUFBQSxPQUFPLEVvRmpxQnNCLEFwRmlxQjFDLGtCb0ZqcUI0RCxBQUFBLGFBQWEsQ3BGaXFCekUsYUFBYSxBQUFBLE9BQU8sRW9GaHFCc0IsQXBGZ3FCMUMsa0JvRmhxQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZncUJyRSxhQUFhLEFBQUEsT0FBTyxFNEZyNEJ1QixBNUZxNEIzQyxtQjRGcjRCOEQsQzVGcTRCOUQsYUFBYSxBQUFBLE9BQU8sRWlIMTFCcUIsQWpIMDFCekMsaUJpSDExQjBELENqSDAxQjFELGFBQWEsQUFBQSxPQUFPO0F3SXY2Qm9CLEF4SXc2QjNCLFN3SXg2Qm9DLEN4SXc2QmpELFVBQVUsR0FBRyxhQUFhLEVnRnZ4QmlCLEFoRnV4QjlCLG1CZ0Z2eEJpRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1eEJyRixVQUFVLEdBQUcsYUFBYSxFZ0Yxd0JtQixBaEYwd0JoQyxxQmdGMXdCcUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMHdCekYsVUFBVSxHQUFHLGFBQWEsRW1GendCYyxBbkZ5d0IzQixnQm1GendCMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeXdCL0UsVUFBVSxHQUFHLGFBQWEsRW1GNXZCZ0IsQW5GNHZCN0Isa0JtRjV2QitDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjR2Qm5GLFVBQVUsR0FBRyxhQUFhLEVvRjVyQmMsQXBGNHJCM0IsZ0JvRjVyQjJDLEFBQUEsYUFBYSxDcEY0ckJyRSxVQUFVLEdBQUcsYUFBYSxFb0YzckJjLEFwRjJyQjNCLGdCb0YzckIyQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMnJCakUsVUFBVSxHQUFHLGFBQWEsRW9GbHFCZ0IsQXBGa3FCN0Isa0JvRmxxQitDLEFBQUEsYUFBYSxDcEZrcUJ6RSxVQUFVLEdBQUcsYUFBYSxFb0ZqcUJnQixBcEZpcUI3QixrQm9GanFCK0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmlxQnJFLFVBQVUsR0FBRyxhQUFhLEU0RnQ0QmlCLEE1RnM0QjlCLG1CNEZ0NEJpRCxDNUZzNEI5RCxVQUFVLEdBQUcsYUFBYSxFaUgzMUJlLEFqSDIxQjVCLGlCaUgzMUI2QyxDakgyMUIxRCxVQUFVLEdBQUcsYUFBYSxDQUFDO0VBQ3ZCLEtBQUssRUQ3NUJVLHdCQUFJO0NDKzVCdEI7O0F3STM2QnVDLEF4SWk3QnhDLFN3SWo3QmlELEN4SWk3QmpELGVBQWUsRWdGaHlCNEIsQWhGZ3lCM0MsbUJnRmh5QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmd5QnJGLGVBQWUsRWdGbnhCOEIsQWhGbXhCN0MscUJnRm54QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm14QnpGLGVBQWUsRW1GbHhCeUIsQW5Ga3hCeEMsZ0JtRmx4QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmt4Qi9FLGVBQWUsRW1GcndCMkIsQW5GcXdCMUMsa0JtRnJ3QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnF3Qm5GLGVBQWUsRW9GcnNCeUIsQXBGcXNCeEMsZ0JvRnJzQndELEFBQUEsYUFBYSxDcEZxc0JyRSxlQUFlLEVvRnBzQnlCLEFwRm9zQnhDLGdCb0Zwc0J3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGb3NCakUsZUFBZSxFb0YzcUIyQixBcEYycUIxQyxrQm9GM3FCNEQsQUFBQSxhQUFhLENwRjJxQnpFLGVBQWUsRW9GMXFCMkIsQXBGMHFCMUMsa0JvRjFxQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYwcUJyRSxlQUFlLEU0Ri80QjRCLEE1Ris0QjNDLG1CNEYvNEI4RCxDNUYrNEI5RCxlQUFlLEVpSHAyQjBCLEFqSG8yQnpDLGlCaUhwMkIwRCxDakhvMkIxRCxlQUFlLENBQUM7RUFDWixnQkFBZ0IsRUR0NkJELHdCQUFJO0VDdTZCbkIsS0FBSyxFRHY2QlUsd0JBQUk7Q0N5NkJ0Qjs7QXdJcjdCdUMsQXhJdTdCeEMsU3dJdjdCaUQsQ3hJdTdCakQsZUFBZSxBQUFBLE1BQU0sRWdGdHlCc0IsQWhGc3lCM0MsbUJnRnR5QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnN5QnJGLGVBQWUsQUFBQSxNQUFNLEVnRnp4QndCLEFoRnl4QjdDLHFCZ0Z6eEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ5eEJ6RixlQUFlLEFBQUEsTUFBTSxFbUZ4eEJtQixBbkZ3eEJ4QyxnQm1GeHhCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gd3hCL0UsZUFBZSxBQUFBLE1BQU0sRW1GM3dCcUIsQW5GMndCMUMsa0JtRjN3QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjJ3Qm5GLGVBQWUsQUFBQSxNQUFNLEVvRjNzQm1CLEFwRjJzQnhDLGdCb0Yzc0J3RCxBQUFBLGFBQWEsQ3BGMnNCckUsZUFBZSxBQUFBLE1BQU0sRW9GMXNCbUIsQXBGMHNCeEMsZ0JvRjFzQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYwc0JqRSxlQUFlLEFBQUEsTUFBTSxFb0ZqckJxQixBcEZpckIxQyxrQm9GanJCNEQsQUFBQSxhQUFhLENwRmlyQnpFLGVBQWUsQUFBQSxNQUFNLEVvRmhyQnFCLEFwRmdyQjFDLGtCb0ZockI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGZ3JCckUsZUFBZSxBQUFBLE1BQU0sRTRGcjVCc0IsQTVGcTVCM0MsbUI0RnI1QjhELEM1RnE1QjlELGVBQWUsQUFBQSxNQUFNLEVpSDEyQm9CLEFqSDAyQnpDLGlCaUgxMkIwRCxDakgwMkIxRCxlQUFlLEFBQUEsTUFBTTtBd0l2N0JtQixBeEl3N0J4QyxTd0l4N0JpRCxDeEl3N0JqRCxlQUFlLEFBQUEsTUFBTSxFZ0Z2eUJzQixBaEZ1eUIzQyxtQmdGdnlCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGdXlCckYsZUFBZSxBQUFBLE1BQU0sRWdGMXhCd0IsQWhGMHhCN0MscUJnRjF4QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjB4QnpGLGVBQWUsQUFBQSxNQUFNLEVtRnp4Qm1CLEFuRnl4QnhDLGdCbUZ6eEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5eEIvRSxlQUFlLEFBQUEsTUFBTSxFbUY1d0JxQixBbkY0d0IxQyxrQm1GNXdCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNHdCbkYsZUFBZSxBQUFBLE1BQU0sRW9GNXNCbUIsQXBGNHNCeEMsZ0JvRjVzQndELEFBQUEsYUFBYSxDcEY0c0JyRSxlQUFlLEFBQUEsTUFBTSxFb0Yzc0JtQixBcEYyc0J4QyxnQm9GM3NCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJzQmpFLGVBQWUsQUFBQSxNQUFNLEVvRmxyQnFCLEFwRmtyQjFDLGtCb0ZsckI0RCxBQUFBLGFBQWEsQ3BGa3JCekUsZUFBZSxBQUFBLE1BQU0sRW9GanJCcUIsQXBGaXJCMUMsa0JvRmpyQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpckJyRSxlQUFlLEFBQUEsTUFBTSxFNEZ0NUJzQixBNUZzNUIzQyxtQjRGdDVCOEQsQzVGczVCOUQsZUFBZSxBQUFBLE1BQU0sRWlIMzJCb0IsQWpIMjJCekMsaUJpSDMyQjBELENqSDIyQjFELGVBQWUsQUFBQSxNQUFNLENBQUM7RUFDbEIsZ0JBQWdCLEVEaGdCZSx3QkFBMkM7RUNpZ0IxRSxLQUFLLEVEOTZCVSx3QkFBSTtDQ2c3QnRCOztBd0k1N0J1QyxBeEk4N0J4QyxTd0k5N0JpRCxDeEk4N0JqRCxlQUFlLEFBQUEsT0FBTyxFZ0Y3eUJxQixBaEY2eUIzQyxtQmdGN3lCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNnlCckYsZUFBZSxBQUFBLE9BQU8sRWdGaHlCdUIsQWhGZ3lCN0MscUJnRmh5QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmd5QnpGLGVBQWUsQUFBQSxPQUFPLEVtRi94QmtCLEFuRit4QnhDLGdCbUYveEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYreEIvRSxlQUFlLEFBQUEsT0FBTyxFbUZseEJvQixBbkZreEIxQyxrQm1GbHhCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga3hCbkYsZUFBZSxBQUFBLE9BQU8sRW9GbHRCa0IsQXBGa3RCeEMsZ0JvRmx0QndELEFBQUEsYUFBYSxDcEZrdEJyRSxlQUFlLEFBQUEsT0FBTyxFb0ZqdEJrQixBcEZpdEJ4QyxnQm9GanRCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRml0QmpFLGVBQWUsQUFBQSxPQUFPLEVvRnhyQm9CLEFwRndyQjFDLGtCb0Z4ckI0RCxBQUFBLGFBQWEsQ3BGd3JCekUsZUFBZSxBQUFBLE9BQU8sRW9GdnJCb0IsQXBGdXJCMUMsa0JvRnZyQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1ckJyRSxlQUFlLEFBQUEsT0FBTyxFNEY1NUJxQixBNUY0NUIzQyxtQjRGNTVCOEQsQzVGNDVCOUQsZUFBZSxBQUFBLE9BQU8sRWlIajNCbUIsQWpIaTNCekMsaUJpSGozQjBELENqSGkzQjFELGVBQWUsQUFBQSxPQUFPLENBQUM7RUFDbkIsZ0JBQWdCLEVEcGdCZ0Isd0JBQTRDO0VDcWdCNUUsS0FBSyxFRHA3QlUsd0JBQUk7Q0NzN0J0Qjs7QXdJbDhCdUMsQXhJMndCeEMsU3dJM3dCaUQsQ3hJMndCakQsU0FBUyxFZ0YxbkJrQyxBaEYwbkIzQyxtQmdGMW5COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMG5CckYsU0FBUyxFZ0Y3bUJvQyxBaEY2bUI3QyxxQmdGN21Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNm1CekYsU0FBUyxFbUY1bUIrQixBbkY0bUJ4QyxnQm1GNW1Cd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNG1CL0UsU0FBUyxFbUYvbEJpQyxBbkYrbEIxQyxrQm1GL2xCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GK2xCbkYsU0FBUyxFb0YvaEIrQixBcEYraEJ4QyxnQm9GL2hCd0QsQUFBQSxhQUFhLENwRitoQnJFLFNBQVMsRW9GOWhCK0IsQXBGOGhCeEMsZ0JvRjloQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4aEJqRSxTQUFTLEVvRnJnQmlDLEFwRnFnQjFDLGtCb0ZyZ0I0RCxBQUFBLGFBQWEsQ3BGcWdCekUsU0FBUyxFb0ZwZ0JpQyxBcEZvZ0IxQyxrQm9GcGdCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm9nQnJFLFNBQVMsRTRGenVCa0MsQTVGeXVCM0MsbUI0Rnp1QjhELEM1Rnl1QjlELFNBQVMsRWlIOXJCZ0MsQWpIOHJCekMsaUJpSDlyQjBELENqSDhyQjFELFNBQVM7QXdJM3dCK0IsQXhJNHdCeEMsU3dJNXdCaUQsQ3hJNHdCakQsVUFBVSxFZ0YzbkJpQyxBaEYybkIzQyxtQmdGM25COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMm5CckYsVUFBVSxFZ0Y5bUJtQyxBaEY4bUI3QyxxQmdGOW1Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGOG1CekYsVUFBVSxFbUY3bUI4QixBbkY2bUJ4QyxnQm1GN21Cd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNm1CL0UsVUFBVSxFbUZobUJnQyxBbkZnbUIxQyxrQm1GaG1CNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ21CbkYsVUFBVSxFb0ZoaUI4QixBcEZnaUJ4QyxnQm9GaGlCd0QsQUFBQSxhQUFhLENwRmdpQnJFLFVBQVUsRW9GL2hCOEIsQXBGK2hCeEMsZ0JvRi9oQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYraEJqRSxVQUFVLEVvRnRnQmdDLEFwRnNnQjFDLGtCb0Z0Z0I0RCxBQUFBLGFBQWEsQ3BGc2dCekUsVUFBVSxFb0ZyZ0JnQyxBcEZxZ0IxQyxrQm9GcmdCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnFnQnJFLFVBQVUsRTRGMXVCaUMsQTVGMHVCM0MsbUI0RjF1QjhELEM1RjB1QjlELFVBQVUsRWlIL3JCK0IsQWpIK3JCekMsaUJpSC9yQjBELENqSCtyQjFELFVBQVU7QXdJNXdCOEIsQXhJNndCeEMsU3dJN3dCaUQsQ3hJNndCakQsWUFBWSxFZ0Y1bkIrQixBaEY0bkIzQyxtQmdGNW5COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNG5CckYsWUFBWSxFZ0YvbUJpQyxBaEYrbUI3QyxxQmdGL21Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGK21CekYsWUFBWSxFbUY5bUI0QixBbkY4bUJ4QyxnQm1GOW1Cd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GOG1CL0UsWUFBWSxFbUZqbUI4QixBbkZpbUIxQyxrQm1Gam1CNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GaW1CbkYsWUFBWSxFb0ZqaUI0QixBcEZpaUJ4QyxnQm9GamlCd0QsQUFBQSxhQUFhLENwRmlpQnJFLFlBQVksRW9GaGlCNEIsQXBGZ2lCeEMsZ0JvRmhpQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZnaUJqRSxZQUFZLEVvRnZnQjhCLEFwRnVnQjFDLGtCb0Z2Z0I0RCxBQUFBLGFBQWEsQ3BGdWdCekUsWUFBWSxFb0Z0Z0I4QixBcEZzZ0IxQyxrQm9GdGdCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnNnQnJFLFlBQVksRTRGM3VCK0IsQTVGMnVCM0MsbUI0RjN1QjhELEM1RjJ1QjlELFlBQVksRWlIaHNCNkIsQWpIZ3NCekMsaUJpSGhzQjBELENqSGdzQjFELFlBQVksQ0FBQztFQUNULGdCQUFnQixFRGx3QkQsd0JBQUk7RUNtd0JuQixLQUFLLEVEbndCVSx3QkFBSTtFQ293Qm5CLGVBQWUsRUFBRSxXQUFXO0VBZFIsWUFBWSxFRHR2QmpCLHdCQUFJO0NDNHdCdEI7O0F3SXh4QnVDLEF4STJ3QnhDLFN3STN3QmlELEN4STJ3QmpELFNBQVMsQUFRUCxNQUFTLEVnRmxvQmdDLEFoRjBuQjNDLG1CZ0YxbkI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwbkJyRixTQUFTLEFBUVAsTUFBUyxFZ0ZybkJrQyxBaEY2bUI3QyxxQmdGN21Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNm1CekYsU0FBUyxBQVFQLE1BQVMsRW1GcG5CNkIsQW5GNG1CeEMsZ0JtRjVtQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjRtQi9FLFNBQVMsQUFRUCxNQUFTLEVtRnZtQitCLEFuRitsQjFDLGtCbUYvbEI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrbEJuRixTQUFTLEFBUVAsTUFBUyxFb0Z2aUI2QixBcEYraEJ4QyxnQm9GL2hCd0QsQUFBQSxhQUFhLENwRitoQnJFLFNBQVMsQUFRUCxNQUFTLEVvRnRpQjZCLEFwRjhoQnhDLGdCb0Y5aEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOGhCakUsU0FBUyxBQVFQLE1BQVMsRW9GN2dCK0IsQXBGcWdCMUMsa0JvRnJnQjRELEFBQUEsYUFBYSxDcEZxZ0J6RSxTQUFTLEFBUVAsTUFBUyxFb0Y1Z0IrQixBcEZvZ0IxQyxrQm9GcGdCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm9nQnJFLFNBQVMsQUFRUCxNQUFTLEU0Rmp2QmdDLEE1Rnl1QjNDLG1CNEZ6dUI4RCxDNUZ5dUI5RCxTQUFTLEFBUVAsTUFBUyxFaUh0c0I4QixBakg4ckJ6QyxpQmlIOXJCMEQsQ2pIOHJCMUQsU0FBUyxBQVFQLE1BQVM7QXdJbnhCNkIsQXhJNHdCeEMsU3dJNXdCaUQsQ3hJNHdCakQsVUFBVSxBQU9SLE1BQVMsRWdGbG9CZ0MsQWhGMm5CM0MsbUJnRjNuQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjJuQnJGLFVBQVUsQUFPUixNQUFTLEVnRnJuQmtDLEFoRjhtQjdDLHFCZ0Y5bUJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4bUJ6RixVQUFVLEFBT1IsTUFBUyxFbUZwbkI2QixBbkY2bUJ4QyxnQm1GN21Cd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNm1CL0UsVUFBVSxBQU9SLE1BQVMsRW1Gdm1CK0IsQW5GZ21CMUMsa0JtRmhtQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmdtQm5GLFVBQVUsQUFPUixNQUFTLEVvRnZpQjZCLEFwRmdpQnhDLGdCb0ZoaUJ3RCxBQUFBLGFBQWEsQ3BGZ2lCckUsVUFBVSxBQU9SLE1BQVMsRW9GdGlCNkIsQXBGK2hCeEMsZ0JvRi9oQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYraEJqRSxVQUFVLEFBT1IsTUFBUyxFb0Y3Z0IrQixBcEZzZ0IxQyxrQm9GdGdCNEQsQUFBQSxhQUFhLENwRnNnQnpFLFVBQVUsQUFPUixNQUFTLEVvRjVnQitCLEFwRnFnQjFDLGtCb0ZyZ0I0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcWdCckUsVUFBVSxBQU9SLE1BQVMsRTRGanZCZ0MsQTVGMHVCM0MsbUI0RjF1QjhELEM1RjB1QjlELFVBQVUsQUFPUixNQUFTLEVpSHRzQjhCLEFqSCtyQnpDLGlCaUgvckIwRCxDakgrckIxRCxVQUFVLEFBT1IsTUFBUztBd0lueEI2QixBeEk2d0J4QyxTd0k3d0JpRCxDeEk2d0JqRCxZQUFZLEFBTVYsTUFBUyxFZ0Zsb0JnQyxBaEY0bkIzQyxtQmdGNW5COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNG5CckYsWUFBWSxBQU1WLE1BQVMsRWdGcm5Ca0MsQWhGK21CN0MscUJnRi9tQmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRittQnpGLFlBQVksQUFNVixNQUFTLEVtRnBuQjZCLEFuRjhtQnhDLGdCbUY5bUJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY4bUIvRSxZQUFZLEFBTVYsTUFBUyxFbUZ2bUIrQixBbkZpbUIxQyxrQm1Gam1CNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GaW1CbkYsWUFBWSxBQU1WLE1BQVMsRW9GdmlCNkIsQXBGaWlCeEMsZ0JvRmppQndELEFBQUEsYUFBYSxDcEZpaUJyRSxZQUFZLEFBTVYsTUFBUyxFb0Z0aUI2QixBcEZnaUJ4QyxnQm9GaGlCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmdpQmpFLFlBQVksQUFNVixNQUFTLEVvRjdnQitCLEFwRnVnQjFDLGtCb0Z2Z0I0RCxBQUFBLGFBQWEsQ3BGdWdCekUsWUFBWSxBQU1WLE1BQVMsRW9GNWdCK0IsQXBGc2dCMUMsa0JvRnRnQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZzZ0JyRSxZQUFZLEFBTVYsTUFBUyxFNEZqdkJnQyxBNUYydUIzQyxtQjRGM3VCOEQsQzVGMnVCOUQsWUFBWSxBQU1WLE1BQVMsRWlIdHNCOEIsQWpIZ3NCekMsaUJpSGhzQjBELENqSGdzQjFELFlBQVksQUFNVixNQUFTLENBQUM7RUFDSixnQkFBZ0IsRUR4d0JMLHdCQUFJO0VDeXdCZixLQUFLLEVEendCTSx3QkFBSTtFQ3V2Qk8sWUFBWSxFRHZ2QnZCLHdCQUFJO0NDMndCbEI7O0F3SXZ4Qm1DLEF4STh4QnhDLFN3STl4QmlELEN4STh4QmpELFNBQVMsQUFBQSxzQkFBc0IsRWdGN29CWSxBaEY2b0IzQyxtQmdGN29COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNm9CckYsU0FBUyxBQUFBLHNCQUFzQixFZ0Zob0JjLEFoRmdvQjdDLHFCZ0Zob0JrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnb0J6RixTQUFTLEFBQUEsc0JBQXNCLEVtRi9uQlMsQW5GK25CeEMsZ0JtRi9uQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRituQi9FLFNBQVMsQUFBQSxzQkFBc0IsRW1GbG5CVyxBbkZrbkIxQyxrQm1GbG5CNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga25CbkYsU0FBUyxBQUFBLHNCQUFzQixFb0ZsakJTLEFwRmtqQnhDLGdCb0ZsakJ3RCxBQUFBLGFBQWEsQ3BGa2pCckUsU0FBUyxBQUFBLHNCQUFzQixFb0ZqakJTLEFwRmlqQnhDLGdCb0ZqakJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaWpCakUsU0FBUyxBQUFBLHNCQUFzQixFb0Z4aEJXLEFwRndoQjFDLGtCb0Z4aEI0RCxBQUFBLGFBQWEsQ3BGd2hCekUsU0FBUyxBQUFBLHNCQUFzQixFb0Z2aEJXLEFwRnVoQjFDLGtCb0Z2aEI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdWhCckUsU0FBUyxBQUFBLHNCQUFzQixFNEY1dkJZLEE1RjR2QjNDLG1CNEY1dkI4RCxDNUY0dkI5RCxTQUFTLEFBQUEsc0JBQXNCLEVpSGp0QlUsQWpIaXRCekMsaUJpSGp0QjBELENqSGl0QjFELFNBQVMsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLEtBQUssRURseEJwQix3QkFBSSxDQ2t4QmtELFVBQVU7Q0FBSTs7QXdJOXhCL0MsQXhJK3hCeEMsU3dJL3hCaUQsQ3hJK3hCakQsU0FBUyxBQUFBLGtCQUFrQixFZ0Y5b0JnQixBaEY4b0IzQyxtQmdGOW9COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGOG9CckYsU0FBUyxBQUFBLGtCQUFrQixFZ0Zqb0JrQixBaEZpb0I3QyxxQmdGam9Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaW9CekYsU0FBUyxBQUFBLGtCQUFrQixFbUZob0JhLEFuRmdvQnhDLGdCbUZob0J3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnb0IvRSxTQUFTLEFBQUEsa0JBQWtCLEVtRm5uQmUsQW5GbW5CMUMsa0JtRm5uQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm1uQm5GLFNBQVMsQUFBQSxrQkFBa0IsRW9GbmpCYSxBcEZtakJ4QyxnQm9GbmpCd0QsQUFBQSxhQUFhLENwRm1qQnJFLFNBQVMsQUFBQSxrQkFBa0IsRW9GbGpCYSxBcEZrakJ4QyxnQm9GbGpCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmtqQmpFLFNBQVMsQUFBQSxrQkFBa0IsRW9GemhCZSxBcEZ5aEIxQyxrQm9GemhCNEQsQUFBQSxhQUFhLENwRnloQnpFLFNBQVMsQUFBQSxrQkFBa0IsRW9GeGhCZSxBcEZ3aEIxQyxrQm9GeGhCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndoQnJFLFNBQVMsQUFBQSxrQkFBa0IsRTRGN3ZCZ0IsQTVGNnZCM0MsbUI0Rjd2QjhELEM1RjZ2QjlELFNBQVMsQUFBQSxrQkFBa0IsRWlIbHRCYyxBakhrdEJ6QyxpQmlIbHRCMEQsQ2pIa3RCMUQsU0FBUyxBQUFBLGtCQUFrQixDQUFDO0VBQUUsS0FBSyxFRG54QmhCLHdCQUFJO0NDbXhCaUQ7O0F3SS94QmhDLEF4SWd5QnhDLFN3SWh5QmlELEN4SWd5QmpELFNBQVMsQUFBQSwyQkFBMkIsRWdGL29CTyxBaEYrb0IzQyxtQmdGL29COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGK29CckYsU0FBUyxBQUFBLDJCQUEyQixFZ0Zsb0JTLEFoRmtvQjdDLHFCZ0Zsb0JrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZrb0J6RixTQUFTLEFBQUEsMkJBQTJCLEVtRmpvQkksQW5GaW9CeEMsZ0JtRmpvQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmlvQi9FLFNBQVMsQUFBQSwyQkFBMkIsRW1GcG5CTSxBbkZvbkIxQyxrQm1GcG5CNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gb25CbkYsU0FBUyxBQUFBLDJCQUEyQixFb0ZwakJJLEFwRm9qQnhDLGdCb0ZwakJ3RCxBQUFBLGFBQWEsQ3BGb2pCckUsU0FBUyxBQUFBLDJCQUEyQixFb0ZuakJJLEFwRm1qQnhDLGdCb0ZuakJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbWpCakUsU0FBUyxBQUFBLDJCQUEyQixFb0YxaEJNLEFwRjBoQjFDLGtCb0YxaEI0RCxBQUFBLGFBQWEsQ3BGMGhCekUsU0FBUyxBQUFBLDJCQUEyQixFb0Z6aEJNLEFwRnloQjFDLGtCb0Z6aEI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeWhCckUsU0FBUyxBQUFBLDJCQUEyQixFNEY5dkJPLEE1Rjh2QjNDLG1CNEY5dkI4RCxDNUY4dkI5RCxTQUFTLEFBQUEsMkJBQTJCLEVpSG50QkssQWpIbXRCekMsaUJpSG50QjBELENqSG10QjFELFNBQVMsQUFBQSwyQkFBMkIsQ0FBQztFQUFFLEtBQUssRURweEJ6Qix3QkFBSTtDQ294QjBEOztBd0loeUJ6QyxBeElreUJ4QyxTd0lseUJpRCxDeElreUJqRCxZQUFZLEFBQUEsc0JBQXNCLEVnRmpwQlMsQWhGaXBCM0MsbUJnRmpwQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmlwQnJGLFlBQVksQUFBQSxzQkFBc0IsRWdGcG9CVyxBaEZvb0I3QyxxQmdGcG9Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb29CekYsWUFBWSxBQUFBLHNCQUFzQixFbUZub0JNLEFuRm1vQnhDLGdCbUZub0J3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtb0IvRSxZQUFZLEFBQUEsc0JBQXNCLEVtRnRuQlEsQW5Gc25CMUMsa0JtRnRuQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnNuQm5GLFlBQVksQUFBQSxzQkFBc0IsRW9GdGpCTSxBcEZzakJ4QyxnQm9GdGpCd0QsQUFBQSxhQUFhLENwRnNqQnJFLFlBQVksQUFBQSxzQkFBc0IsRW9GcmpCTSxBcEZxakJ4QyxnQm9GcmpCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnFqQmpFLFlBQVksQUFBQSxzQkFBc0IsRW9GNWhCUSxBcEY0aEIxQyxrQm9GNWhCNEQsQUFBQSxhQUFhLENwRjRoQnpFLFlBQVksQUFBQSxzQkFBc0IsRW9GM2hCUSxBcEYyaEIxQyxrQm9GM2hCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJoQnJFLFlBQVksQUFBQSxzQkFBc0IsRTRGaHdCUyxBNUZnd0IzQyxtQjRGaHdCOEQsQzVGZ3dCOUQsWUFBWSxBQUFBLHNCQUFzQixFaUhydEJPLEFqSHF0QnpDLGlCaUhydEIwRCxDakhxdEIxRCxZQUFZLEFBQUEsc0JBQXNCLENBQUM7RUFBRSxLQUFLLEVEdHhCdkIsd0JBQUksQ0NzeEJxRCxVQUFVO0NBQUk7O0F3SWx5QmxELEF4SW15QnhDLFN3SW55QmlELEN4SW15QmpELFlBQVksQUFBQSxrQkFBa0IsRWdGbHBCYSxBaEZrcEIzQyxtQmdGbHBCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGa3BCckYsWUFBWSxBQUFBLGtCQUFrQixFZ0Zyb0JlLEFoRnFvQjdDLHFCZ0Zyb0JrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZxb0J6RixZQUFZLEFBQUEsa0JBQWtCLEVtRnBvQlUsQW5Gb29CeEMsZ0JtRnBvQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm9vQi9FLFlBQVksQUFBQSxrQkFBa0IsRW1Gdm5CWSxBbkZ1bkIxQyxrQm1Gdm5CNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GdW5CbkYsWUFBWSxBQUFBLGtCQUFrQixFb0Z2akJVLEFwRnVqQnhDLGdCb0Z2akJ3RCxBQUFBLGFBQWEsQ3BGdWpCckUsWUFBWSxBQUFBLGtCQUFrQixFb0Z0akJVLEFwRnNqQnhDLGdCb0Z0akJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGc2pCakUsWUFBWSxBQUFBLGtCQUFrQixFb0Y3aEJZLEFwRjZoQjFDLGtCb0Y3aEI0RCxBQUFBLGFBQWEsQ3BGNmhCekUsWUFBWSxBQUFBLGtCQUFrQixFb0Y1aEJZLEFwRjRoQjFDLGtCb0Y1aEI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNGhCckUsWUFBWSxBQUFBLGtCQUFrQixFNEZqd0JhLEE1Rml3QjNDLG1CNEZqd0I4RCxDNUZpd0I5RCxZQUFZLEFBQUEsa0JBQWtCLEVpSHR0QlcsQWpIc3RCekMsaUJpSHR0QjBELENqSHN0QjFELFlBQVksQUFBQSxrQkFBa0IsQ0FBQztFQUFFLEtBQUssRUR2eEJuQix3QkFBSTtDQ3V4Qm9EOztBd0lueUJuQyxBeElveUJ4QyxTd0lweUJpRCxDeElveUJqRCxZQUFZLEFBQUEsMkJBQTJCLEVnRm5wQkksQWhGbXBCM0MsbUJnRm5wQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm1wQnJGLFlBQVksQUFBQSwyQkFBMkIsRWdGdG9CTSxBaEZzb0I3QyxxQmdGdG9Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc29CekYsWUFBWSxBQUFBLDJCQUEyQixFbUZyb0JDLEFuRnFvQnhDLGdCbUZyb0J3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxb0IvRSxZQUFZLEFBQUEsMkJBQTJCLEVtRnhuQkcsQW5Gd25CMUMsa0JtRnhuQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnduQm5GLFlBQVksQUFBQSwyQkFBMkIsRW9GeGpCQyxBcEZ3akJ4QyxnQm9GeGpCd0QsQUFBQSxhQUFhLENwRndqQnJFLFlBQVksQUFBQSwyQkFBMkIsRW9GdmpCQyxBcEZ1akJ4QyxnQm9GdmpCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVqQmpFLFlBQVksQUFBQSwyQkFBMkIsRW9GOWhCRyxBcEY4aEIxQyxrQm9GOWhCNEQsQUFBQSxhQUFhLENwRjhoQnpFLFlBQVksQUFBQSwyQkFBMkIsRW9GN2hCRyxBcEY2aEIxQyxrQm9GN2hCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjZoQnJFLFlBQVksQUFBQSwyQkFBMkIsRTRGbHdCSSxBNUZrd0IzQyxtQjRGbHdCOEQsQzVGa3dCOUQsWUFBWSxBQUFBLDJCQUEyQixFaUh2dEJFLEFqSHV0QnpDLGlCaUh2dEIwRCxDakh1dEIxRCxZQUFZLEFBQUEsMkJBQTJCLENBQUM7RUFBRSxLQUFLLEVEeHhCNUIsd0JBQUk7Q0N3eEI2RDs7QXdJcHlCNUMsQXhJMHlCeEMsU3dJMXlCaUQsQ3hJMHlCakQsVUFBVSxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUsSUFBSyxFQUFBLEFBQUEsQUFBQSxJQUFDLEFBQUEsSWdGenBCVyxBaEZ5cEIzQyxtQmdGenBCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeXBCckYsVUFBVSxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUsSUFBSyxFQUFBLEFBQUEsQUFBQSxJQUFDLEFBQUEsSWdGNW9CYSxBaEY0b0I3QyxxQmdGNW9Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNG9CekYsVUFBVSxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUsSUFBSyxFQUFBLEFBQUEsQUFBQSxJQUFDLEFBQUEsSW1GM29CUSxBbkYyb0J4QyxnQm1GM29Cd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMm9CL0UsVUFBVSxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUsSUFBSyxFQUFBLEFBQUEsQUFBQSxJQUFDLEFBQUEsSW1GOW5CVSxBbkY4bkIxQyxrQm1GOW5CNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GOG5CbkYsVUFBVSxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUsSUFBSyxFQUFBLEFBQUEsQUFBQSxJQUFDLEFBQUEsSW9GOWpCUSxBcEY4akJ4QyxnQm9GOWpCd0QsQUFBQSxhQUFhLENwRjhqQnJFLFVBQVUsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLElBQUssRUFBQSxBQUFBLEFBQUEsSUFBQyxBQUFBLElvRjdqQlEsQXBGNmpCeEMsZ0JvRjdqQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY2akJqRSxVQUFVLEFBQUEsSUFBSyxFQUFBLEFBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVSxJQUFLLEVBQUEsQUFBQSxBQUFBLElBQUMsQUFBQSxJb0ZwaUJVLEFwRm9pQjFDLGtCb0ZwaUI0RCxBQUFBLGFBQWEsQ3BGb2lCekUsVUFBVSxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUsSUFBSyxFQUFBLEFBQUEsQUFBQSxJQUFDLEFBQUEsSW9GbmlCVSxBcEZtaUIxQyxrQm9GbmlCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm1pQnJFLFVBQVUsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLElBQUssRUFBQSxBQUFBLEFBQUEsSUFBQyxBQUFBLEk0Rnh3QlcsQTVGd3dCM0MsbUI0Rnh3QjhELEM1Rnd3QjlELFVBQVUsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLElBQUssRUFBQSxBQUFBLEFBQUEsSUFBQyxBQUFBLElpSDd0QlMsQWpINnRCekMsaUJpSDd0QjBELENqSDZ0QjFELFVBQVUsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLElBQUssRUFBQSxBQUFBLEFBQUEsSUFBQyxBQUFBLEdBQU87RW9FanpCdkMsZ0JBQWdCLEVBQUUsNGJBQXdCO0NwRWl6QjBGOztBd0kxeUI1RixBeElnekJ4QyxTd0loekJpRCxDeElnekJqRCxTQUFTLEVnRi9wQmtDLEFoRitwQjNDLG1CZ0YvcEI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYrcEJyRixTQUFTLEVnRmxwQm9DLEFoRmtwQjdDLHFCZ0ZscEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZrcEJ6RixTQUFTLEVtRmpwQitCLEFuRmlwQnhDLGdCbUZqcEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpcEIvRSxTQUFTLEVtRnBvQmlDLEFuRm9vQjFDLGtCbUZwb0I0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZvb0JuRixTQUFTLEVvRnBrQitCLEFwRm9rQnhDLGdCb0Zwa0J3RCxBQUFBLGFBQWEsQ3BGb2tCckUsU0FBUyxFb0Zua0IrQixBcEZta0J4QyxnQm9GbmtCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm1rQmpFLFNBQVMsRW9GMWlCaUMsQXBGMGlCMUMsa0JvRjFpQjRELEFBQUEsYUFBYSxDcEYwaUJ6RSxTQUFTLEVvRnppQmlDLEFwRnlpQjFDLGtCb0Z6aUI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeWlCckUsU0FBUyxFNEY5d0JrQyxBNUY4d0IzQyxtQjRGOXdCOEQsQzVGOHdCOUQsU0FBUyxFaUhudUJnQyxBakhtdUJ6QyxpQmlIbnVCMEQsQ2pIbXVCMUQsU0FBUztBd0loekIrQixBeElpekJ4QyxTd0lqekJpRCxDeElpekJqRCxZQUFZLEVnRmhxQitCLEFoRmdxQjNDLG1CZ0ZocUI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZncUJyRixZQUFZLEVnRm5wQmlDLEFoRm1wQjdDLHFCZ0ZucEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZtcEJ6RixZQUFZLEVtRmxwQjRCLEFuRmtwQnhDLGdCbUZscEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrcEIvRSxZQUFZLEVtRnJvQjhCLEFuRnFvQjFDLGtCbUZyb0I0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxb0JuRixZQUFZLEVvRnJrQjRCLEFwRnFrQnhDLGdCb0Zya0J3RCxBQUFBLGFBQWEsQ3BGcWtCckUsWUFBWSxFb0Zwa0I0QixBcEZva0J4QyxnQm9GcGtCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm9rQmpFLFlBQVksRW9GM2lCOEIsQXBGMmlCMUMsa0JvRjNpQjRELEFBQUEsYUFBYSxDcEYyaUJ6RSxZQUFZLEVvRjFpQjhCLEFwRjBpQjFDLGtCb0YxaUI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMGlCckUsWUFBWSxFNEYvd0IrQixBNUYrd0IzQyxtQjRGL3dCOEQsQzVGK3dCOUQsWUFBWSxFaUhwdUI2QixBakhvdUJ6QyxpQmlIcHVCMEQsQ2pIb3VCMUQsWUFBWSxDQUFDO0VBQ1QsZ0JBQWdCLEVEdGJRLHdCQUE0QztFQ3dZMUMsWUFBWSxFRHh2QnZCLHdCQUFJO0NDd3lCdEI7O0F3SXB6QnVDLEF4SXV6QnhDLFN3SXZ6QmlELEN4SXV6QmpELFNBQVMsQUFBQSxNQUFNLEVnRnRxQjRCLEFoRnNxQjNDLG1CZ0Z0cUI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzcUJyRixTQUFTLEFBQUEsTUFBTSxFZ0Z6cEI4QixBaEZ5cEI3QyxxQmdGenBCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeXBCekYsU0FBUyxBQUFBLE1BQU0sRW1GeHBCeUIsQW5Gd3BCeEMsZ0JtRnhwQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRndwQi9FLFNBQVMsQUFBQSxNQUFNLEVtRjNvQjJCLEFuRjJvQjFDLGtCbUYzb0I0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYyb0JuRixTQUFTLEFBQUEsTUFBTSxFb0Yza0J5QixBcEYya0J4QyxnQm9GM2tCd0QsQUFBQSxhQUFhLENwRjJrQnJFLFNBQVMsQUFBQSxNQUFNLEVvRjFrQnlCLEFwRjBrQnhDLGdCb0Yxa0J3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMGtCakUsU0FBUyxBQUFBLE1BQU0sRW9GampCMkIsQXBGaWpCMUMsa0JvRmpqQjRELEFBQUEsYUFBYSxDcEZpakJ6RSxTQUFTLEFBQUEsTUFBTSxFb0ZoakIyQixBcEZnakIxQyxrQm9GaGpCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmdqQnJFLFNBQVMsQUFBQSxNQUFNLEU0RnJ4QjRCLEE1RnF4QjNDLG1CNEZyeEI4RCxDNUZxeEI5RCxTQUFTLEFBQUEsTUFBTSxFaUgxdUIwQixBakgwdUJ6QyxpQmlIMXVCMEQsQ2pIMHVCMUQsU0FBUyxBQUFBLE1BQU07QXdJdnpCeUIsQXhJd3pCeEMsU3dJeHpCaUQsQ3hJd3pCakQsWUFBWSxBQUFBLE1BQU0sRWdGdnFCeUIsQWhGdXFCM0MsbUJnRnZxQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVxQnJGLFlBQVksQUFBQSxNQUFNLEVnRjFwQjJCLEFoRjBwQjdDLHFCZ0YxcEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwcEJ6RixZQUFZLEFBQUEsTUFBTSxFbUZ6cEJzQixBbkZ5cEJ4QyxnQm1GenBCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeXBCL0UsWUFBWSxBQUFBLE1BQU0sRW1GNW9Cd0IsQW5GNG9CMUMsa0JtRjVvQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjRvQm5GLFlBQVksQUFBQSxNQUFNLEVvRjVrQnNCLEFwRjRrQnhDLGdCb0Y1a0J3RCxBQUFBLGFBQWEsQ3BGNGtCckUsWUFBWSxBQUFBLE1BQU0sRW9GM2tCc0IsQXBGMmtCeEMsZ0JvRjNrQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYya0JqRSxZQUFZLEFBQUEsTUFBTSxFb0ZsakJ3QixBcEZrakIxQyxrQm9GbGpCNEQsQUFBQSxhQUFhLENwRmtqQnpFLFlBQVksQUFBQSxNQUFNLEVvRmpqQndCLEFwRmlqQjFDLGtCb0ZqakI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaWpCckUsWUFBWSxBQUFBLE1BQU0sRTRGdHhCeUIsQTVGc3hCM0MsbUI0RnR4QjhELEM1RnN4QjlELFlBQVksQUFBQSxNQUFNLEVpSDN1QnVCLEFqSDJ1QnpDLGlCaUgzdUIwRCxDakgydUIxRCxZQUFZLEFBQUEsTUFBTSxDQUFDO0VBbkRpQixZQUFZLEVEenZCN0Isd0JBQUk7Q0M4eUJ0Qjs7QXdJMXpCdUMsQXhJNnpCeEMsU3dJN3pCaUQsQ3hJNnpCakQsU0FBUyxBQUFBLFFBQVEsRWdGNXFCMEIsQWhGNHFCM0MsbUJnRjVxQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjRxQnJGLFNBQVMsQUFBQSxRQUFRLEVnRi9wQjRCLEFoRitwQjdDLHFCZ0YvcEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYrcEJ6RixTQUFTLEFBQUEsUUFBUSxFbUY5cEJ1QixBbkY4cEJ4QyxnQm1GOXBCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GOHBCL0UsU0FBUyxBQUFBLFFBQVEsRW1GanBCeUIsQW5GaXBCMUMsa0JtRmpwQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmlwQm5GLFNBQVMsQUFBQSxRQUFRLEVvRmpsQnVCLEFwRmlsQnhDLGdCb0ZqbEJ3RCxBQUFBLGFBQWEsQ3BGaWxCckUsU0FBUyxBQUFBLFFBQVEsRW9GaGxCdUIsQXBGZ2xCeEMsZ0JvRmhsQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZnbEJqRSxTQUFTLEFBQUEsUUFBUSxFb0Z2akJ5QixBcEZ1akIxQyxrQm9GdmpCNEQsQUFBQSxhQUFhLENwRnVqQnpFLFNBQVMsQUFBQSxRQUFRLEVvRnRqQnlCLEFwRnNqQjFDLGtCb0Z0akI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGc2pCckUsU0FBUyxBQUFBLFFBQVEsRTRGM3hCMEIsQTVGMnhCM0MsbUI0RjN4QjhELEM1RjJ4QjlELFNBQVMsQUFBQSxRQUFRLEVpSGh2QndCLEFqSGd2QnpDLGlCaUhodkIwRCxDakhndkIxRCxTQUFTLEFBQUEsUUFBUTtBd0k3ekJ1QixBeEk4ekJ4QyxTd0k5ekJpRCxDeEk4ekJqRCxZQUFZLEFBQUEsUUFBUSxFZ0Y3cUJ1QixBaEY2cUIzQyxtQmdGN3FCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNnFCckYsWUFBWSxBQUFBLFFBQVEsRWdGaHFCeUIsQWhGZ3FCN0MscUJnRmhxQmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmdxQnpGLFlBQVksQUFBQSxRQUFRLEVtRi9wQm9CLEFuRitwQnhDLGdCbUYvcEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrcEIvRSxZQUFZLEFBQUEsUUFBUSxFbUZscEJzQixBbkZrcEIxQyxrQm1GbHBCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga3BCbkYsWUFBWSxBQUFBLFFBQVEsRW9GbGxCb0IsQXBGa2xCeEMsZ0JvRmxsQndELEFBQUEsYUFBYSxDcEZrbEJyRSxZQUFZLEFBQUEsUUFBUSxFb0ZqbEJvQixBcEZpbEJ4QyxnQm9GamxCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmlsQmpFLFlBQVksQUFBQSxRQUFRLEVvRnhqQnNCLEFwRndqQjFDLGtCb0Z4akI0RCxBQUFBLGFBQWEsQ3BGd2pCekUsWUFBWSxBQUFBLFFBQVEsRW9GdmpCc0IsQXBGdWpCMUMsa0JvRnZqQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1akJyRSxZQUFZLEFBQUEsUUFBUSxFNEY1eEJ1QixBNUY0eEIzQyxtQjRGNXhCOEQsQzVGNHhCOUQsWUFBWSxBQUFBLFFBQVEsRWlIanZCcUIsQWpIaXZCekMsaUJpSGp2QjBELENqSGl2QjFELFlBQVksQUFBQSxRQUFRO0F3STl6Qm9CLEF4SSt6QnhDLFN3SS96QmlELEN4SSt6QmpELFlBQVksQUFBQSxjQUFjLEVnRjlxQmlCLEFoRjhxQjNDLG1CZ0Y5cUI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4cUJyRixZQUFZLEFBQUEsY0FBYyxFZ0ZqcUJtQixBaEZpcUI3QyxxQmdGanFCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaXFCekYsWUFBWSxBQUFBLGNBQWMsRW1GaHFCYyxBbkZncUJ4QyxnQm1GaHFCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ3FCL0UsWUFBWSxBQUFBLGNBQWMsRW1GbnBCZ0IsQW5GbXBCMUMsa0JtRm5wQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm1wQm5GLFlBQVksQUFBQSxjQUFjLEVvRm5sQmMsQXBGbWxCeEMsZ0JvRm5sQndELEFBQUEsYUFBYSxDcEZtbEJyRSxZQUFZLEFBQUEsY0FBYyxFb0ZsbEJjLEFwRmtsQnhDLGdCb0ZsbEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGa2xCakUsWUFBWSxBQUFBLGNBQWMsRW9GempCZ0IsQXBGeWpCMUMsa0JvRnpqQjRELEFBQUEsYUFBYSxDcEZ5akJ6RSxZQUFZLEFBQUEsY0FBYyxFb0Z4akJnQixBcEZ3akIxQyxrQm9GeGpCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndqQnJFLFlBQVksQUFBQSxjQUFjLEU0Rjd4QmlCLEE1RjZ4QjNDLG1CNEY3eEI4RCxDNUY2eEI5RCxZQUFZLEFBQUEsY0FBYyxFaUhsdkJlLEFqSGt2QnpDLGlCaUhsdkIwRCxDakhrdkIxRCxZQUFZLEFBQUEsY0FBYyxDQUFDO0VBQ3ZCLGdCQUFnQixFRHB6QkQsSUFBSTtFQzB2QmUsWUFBWSxFRDF2Qi9CLHdCQUFJO0NDc3pCdEI7O0F3SWwwQnVDLEF4SXEwQnhDLFN3SXIwQmlELEN4SXEwQmpELFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTSxFZ0ZwckJvQixBaEZvckIzQyxtQmdGcHJCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb3JCckYsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEVnRnZxQnNCLEFoRnVxQjdDLHFCZ0Z2cUJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1cUJ6RixTQUFTLEFBQUEsUUFBUSxBQUFBLE1BQU0sRW1GdHFCaUIsQW5Gc3FCeEMsZ0JtRnRxQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnNxQi9FLFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTSxFbUZ6cEJtQixBbkZ5cEIxQyxrQm1GenBCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeXBCbkYsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEVvRnpsQmlCLEFwRnlsQnhDLGdCb0Z6bEJ3RCxBQUFBLGFBQWEsQ3BGeWxCckUsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEVvRnhsQmlCLEFwRndsQnhDLGdCb0Z4bEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGd2xCakUsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEVvRi9qQm1CLEFwRitqQjFDLGtCb0YvakI0RCxBQUFBLGFBQWEsQ3BGK2pCekUsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEVvRjlqQm1CLEFwRjhqQjFDLGtCb0Y5akI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOGpCckUsU0FBUyxBQUFBLFFBQVEsQUFBQSxNQUFNLEU0Rm55Qm9CLEE1Rm15QjNDLG1CNEZueUI4RCxDNUZteUI5RCxTQUFTLEFBQUEsUUFBUSxBQUFBLE1BQU0sRWlIeHZCa0IsQWpId3ZCekMsaUJpSHh2QjBELENqSHd2QjFELFNBQVMsQUFBQSxRQUFRLEFBQUEsTUFBTTtBd0lyMEJpQixBeElzMEJ4QyxTd0l0MEJpRCxDeElzMEJqRCxZQUFZLEFBQUEsUUFBUSxBQUFBLE1BQU0sRWdGcnJCaUIsQWhGcXJCM0MsbUJnRnJyQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnFyQnJGLFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTSxFZ0Z4cUJtQixBaEZ3cUI3QyxxQmdGeHFCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGd3FCekYsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNLEVtRnZxQmMsQW5GdXFCeEMsZ0JtRnZxQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnVxQi9FLFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTSxFbUYxcEJnQixBbkYwcEIxQyxrQm1GMXBCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMHBCbkYsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNLEVvRjFsQmMsQXBGMGxCeEMsZ0JvRjFsQndELEFBQUEsYUFBYSxDcEYwbEJyRSxZQUFZLEFBQUEsUUFBUSxBQUFBLE1BQU0sRW9GemxCYyxBcEZ5bEJ4QyxnQm9GemxCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnlsQmpFLFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTSxFb0Zoa0JnQixBcEZna0IxQyxrQm9GaGtCNEQsQUFBQSxhQUFhLENwRmdrQnpFLFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTSxFb0YvakJnQixBcEYrakIxQyxrQm9GL2pCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRitqQnJFLFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTSxFNEZweUJpQixBNUZveUIzQyxtQjRGcHlCOEQsQzVGb3lCOUQsWUFBWSxBQUFBLFFBQVEsQUFBQSxNQUFNLEVpSHp2QmUsQWpIeXZCekMsaUJpSHp2QjBELENqSHl2QjFELFlBQVksQUFBQSxRQUFRLEFBQUEsTUFBTTtBd0l0MEJjLEF4SXUwQnhDLFN3SXYwQmlELEN4SXUwQmpELFlBQVksQUFBQSxjQUFjLEFBQUEsTUFBTSxFZ0Z0ckJXLEFoRnNyQjNDLG1CZ0Z0ckI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzckJyRixZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU0sRWdGenFCYSxBaEZ5cUI3QyxxQmdGenFCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeXFCekYsWUFBWSxBQUFBLGNBQWMsQUFBQSxNQUFNLEVtRnhxQlEsQW5Gd3FCeEMsZ0JtRnhxQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRndxQi9FLFlBQVksQUFBQSxjQUFjLEFBQUEsTUFBTSxFbUYzcEJVLEFuRjJwQjFDLGtCbUYzcEI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYycEJuRixZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU0sRW9GM2xCUSxBcEYybEJ4QyxnQm9GM2xCd0QsQUFBQSxhQUFhLENwRjJsQnJFLFlBQVksQUFBQSxjQUFjLEFBQUEsTUFBTSxFb0YxbEJRLEFwRjBsQnhDLGdCb0YxbEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMGxCakUsWUFBWSxBQUFBLGNBQWMsQUFBQSxNQUFNLEVvRmprQlUsQXBGaWtCMUMsa0JvRmprQjRELEFBQUEsYUFBYSxDcEZpa0J6RSxZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU0sRW9GaGtCVSxBcEZna0IxQyxrQm9GaGtCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmdrQnJFLFlBQVksQUFBQSxjQUFjLEFBQUEsTUFBTSxFNEZyeUJXLEE1RnF5QjNDLG1CNEZyeUI4RCxDNUZxeUI5RCxZQUFZLEFBQUEsY0FBYyxBQUFBLE1BQU0sRWlIMXZCUyxBakgwdkJ6QyxpQmlIMXZCMEQsQ2pIMHZCMUQsWUFBWSxBQUFBLGNBQWMsQUFBQSxNQUFNLENBQUM7RUFDN0IsZ0JBQWdCLEVEemNzQixPQUErQztDQzJjeEY7O0F3STEwQnVDLEF4STYwQnhDLFN3STcwQmlELEN4STYwQmpELFNBQVMsQUFBQSxRQUFRLEVnRjVyQjBCLEFoRjRyQjNDLG1CZ0Y1ckI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY0ckJyRixTQUFTLEFBQUEsUUFBUSxFZ0YvcUI0QixBaEYrcUI3QyxxQmdGL3FCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGK3FCekYsU0FBUyxBQUFBLFFBQVEsRW1GOXFCdUIsQW5GOHFCeEMsZ0JtRjlxQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjhxQi9FLFNBQVMsQUFBQSxRQUFRLEVtRmpxQnlCLEFuRmlxQjFDLGtCbUZqcUI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpcUJuRixTQUFTLEFBQUEsUUFBUSxFb0ZqbUJ1QixBcEZpbUJ4QyxnQm9Gam1Cd0QsQUFBQSxhQUFhLENwRmltQnJFLFNBQVMsQUFBQSxRQUFRLEVvRmhtQnVCLEFwRmdtQnhDLGdCb0ZobUJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGZ21CakUsU0FBUyxBQUFBLFFBQVEsRW9GdmtCeUIsQXBGdWtCMUMsa0JvRnZrQjRELEFBQUEsYUFBYSxDcEZ1a0J6RSxTQUFTLEFBQUEsUUFBUSxFb0Z0a0J5QixBcEZza0IxQyxrQm9GdGtCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnNrQnJFLFNBQVMsQUFBQSxRQUFRLEU0RjN5QjBCLEE1RjJ5QjNDLG1CNEYzeUI4RCxDNUYyeUI5RCxTQUFTLEFBQUEsUUFBUSxFaUhod0J3QixBakhnd0J6QyxpQmlIaHdCMEQsQ2pIZ3dCMUQsU0FBUyxBQUFBLFFBQVEsQ0FBQztFb0VwMUJsQixnQkFBZ0IsRUFBRSwwU0FBd0I7Q3BFbzFCMkU7O0F3STcwQjdFLEF4STgwQnhDLFN3STkwQmlELEN4STgwQmpELFlBQVksQUFBQSxRQUFRLEVnRjdyQnVCLEFoRjZyQjNDLG1CZ0Y3ckI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2ckJyRixZQUFZLEFBQUEsUUFBUSxFZ0ZockJ5QixBaEZnckI3QyxxQmdGaHJCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ3JCekYsWUFBWSxBQUFBLFFBQVEsRW1GL3FCb0IsQW5GK3FCeEMsZ0JtRi9xQndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRitxQi9FLFlBQVksQUFBQSxRQUFRLEVtRmxxQnNCLEFuRmtxQjFDLGtCbUZscUI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrcUJuRixZQUFZLEFBQUEsUUFBUSxFb0ZsbUJvQixBcEZrbUJ4QyxnQm9GbG1Cd0QsQUFBQSxhQUFhLENwRmttQnJFLFlBQVksQUFBQSxRQUFRLEVvRmptQm9CLEFwRmltQnhDLGdCb0ZqbUJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaW1CakUsWUFBWSxBQUFBLFFBQVEsRW9GeGtCc0IsQXBGd2tCMUMsa0JvRnhrQjRELEFBQUEsYUFBYSxDcEZ3a0J6RSxZQUFZLEFBQUEsUUFBUSxFb0Z2a0JzQixBcEZ1a0IxQyxrQm9GdmtCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVrQnJFLFlBQVksQUFBQSxRQUFRLEU0RjV5QnVCLEE1RjR5QjNDLG1CNEY1eUI4RCxDNUY0eUI5RCxZQUFZLEFBQUEsUUFBUSxFaUhqd0JxQixBakhpd0J6QyxpQmlIandCMEQsQ2pIaXdCMUQsWUFBWSxBQUFBLFFBQVEsQ0FBQztFb0VyMUJyQixnQkFBZ0IsRUFBRSwyVEFBd0I7Q3BFcTFCaUY7O0F3STkwQm5GLEF4SSswQnhDLFN3SS8wQmlELEN4SSswQmpELFlBQVksQUFBQSxjQUFjLEVnRjlyQmlCLEFoRjhyQjNDLG1CZ0Y5ckI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4ckJyRixZQUFZLEFBQUEsY0FBYyxFZ0ZqckJtQixBaEZpckI3QyxxQmdGanJCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaXJCekYsWUFBWSxBQUFBLGNBQWMsRW1GaHJCYyxBbkZnckJ4QyxnQm1GaHJCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ3JCL0UsWUFBWSxBQUFBLGNBQWMsRW1GbnFCZ0IsQW5GbXFCMUMsa0JtRm5xQjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm1xQm5GLFlBQVksQUFBQSxjQUFjLEVvRm5tQmMsQXBGbW1CeEMsZ0JvRm5tQndELEFBQUEsYUFBYSxDcEZtbUJyRSxZQUFZLEFBQUEsY0FBYyxFb0ZsbUJjLEFwRmttQnhDLGdCb0ZsbUJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGa21CakUsWUFBWSxBQUFBLGNBQWMsRW9GemtCZ0IsQXBGeWtCMUMsa0JvRnprQjRELEFBQUEsYUFBYSxDcEZ5a0J6RSxZQUFZLEFBQUEsY0FBYyxFb0Z4a0JnQixBcEZ3a0IxQyxrQm9GeGtCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndrQnJFLFlBQVksQUFBQSxjQUFjLEU0Rjd5QmlCLEE1RjZ5QjNDLG1CNEY3eUI4RCxDNUY2eUI5RCxZQUFZLEFBQUEsY0FBYyxFaUhsd0JlLEFqSGt3QnpDLGlCaUhsd0IwRCxDakhrd0IxRCxZQUFZLEFBQUEsY0FBYyxDQUFDO0VvRXQxQjNCLGdCQUFnQixFQUFFLDRUQUF3QjtDcEVzMUJxRzs7QXdJLzBCdkcsQXhJazFCeEMsU3dJbDFCaUQsQ3hJazFCakQsY0FBYyxFZ0Zqc0I2QixBaEZpc0IzQyxtQmdGanNCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaXNCckYsY0FBYyxFZ0ZwckIrQixBaEZvckI3QyxxQmdGcHJCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb3JCekYsY0FBYyxFbUZuckIwQixBbkZtckJ4QyxnQm1GbnJCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbXJCL0UsY0FBYyxFbUZ0cUI0QixBbkZzcUIxQyxrQm1GdHFCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc3FCbkYsY0FBYyxFb0Z0bUIwQixBcEZzbUJ4QyxnQm9GdG1Cd0QsQUFBQSxhQUFhLENwRnNtQnJFLGNBQWMsRW9Gcm1CMEIsQXBGcW1CeEMsZ0JvRnJtQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxbUJqRSxjQUFjLEVvRjVrQjRCLEFwRjRrQjFDLGtCb0Y1a0I0RCxBQUFBLGFBQWEsQ3BGNGtCekUsY0FBYyxFb0Yza0I0QixBcEYya0IxQyxrQm9GM2tCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJrQnJFLGNBQWMsRTRGaHpCNkIsQTVGZ3pCM0MsbUI0Rmh6QjhELEM1Rmd6QjlELGNBQWMsRWlIcndCMkIsQWpIcXdCekMsaUJpSHJ3QjBELENqSHF3QjFELGNBQWMsQ0FBQztFQTFFZSxLQUFLLEVENXZCaEIsSUFBSTtDQ3cwQnRCOztBd0lwMUJ1QyxBeEl3WHhDLFN3SXhYaUQsQ3hJd1hqRCxrQkFBa0IsRWdGdk95QixBaEZ1TzNDLG1CZ0Z2TzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVPckYsa0JBQWtCLEVnRjFOMkIsQWhGME43QyxxQmdGMU5rRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwTnpGLGtCQUFrQixFbUZ6TnNCLEFuRnlOeEMsZ0JtRnpOd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeU4vRSxrQkFBa0IsRW1GNU13QixBbkY0TTFDLGtCbUY1TTRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjRNbkYsa0JBQWtCLEVvRjVJc0IsQXBGNEl4QyxnQm9GNUl3RCxBQUFBLGFBQWEsQ3BGNElyRSxrQkFBa0IsRW9GM0lzQixBcEYySXhDLGdCb0YzSXdELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYySWpFLGtCQUFrQixFb0ZsSHdCLEFwRmtIMUMsa0JvRmxINEQsQUFBQSxhQUFhLENwRmtIekUsa0JBQWtCLEVvRmpId0IsQXBGaUgxQyxrQm9Gakg0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaUhyRSxrQkFBa0IsRTRGdFZ5QixBNUZzVjNDLG1CNEZ0VjhELEM1RnNWOUQsa0JBQWtCLEVpSDNTdUIsQWpIMlN6QyxpQmlIM1MwRCxDakgyUzFELGtCQUFrQixDQUFDO0VBQ2YsZ0JBQWdCLEVEOU1ZLFdBQVc7RUMrTXZDLEtBQUssRUQ5V1UsSUFBSTtFQ3dWVyxZQUFZLEVEeFYzQix3QkFBSTtDQ2dYdEI7O0F3STVYdUMsQXhJOFh4QyxTd0k5WGlELEN4SThYakQsa0JBQWtCLEFBQUEsTUFBTSxFZ0Y3T21CLEFoRjZPM0MsbUJnRjdPOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNk9yRixrQkFBa0IsQUFBQSxNQUFNLEVnRmhPcUIsQWhGZ083QyxxQmdGaE9rRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnT3pGLGtCQUFrQixBQUFBLE1BQU0sRW1GL05nQixBbkYrTnhDLGdCbUYvTndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRitOL0Usa0JBQWtCLEFBQUEsTUFBTSxFbUZsTmtCLEFuRmtOMUMsa0JtRmxONEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga05uRixrQkFBa0IsQUFBQSxNQUFNLEVvRmxKZ0IsQXBGa0p4QyxnQm9GbEp3RCxBQUFBLGFBQWEsQ3BGa0pyRSxrQkFBa0IsQUFBQSxNQUFNLEVvRmpKZ0IsQXBGaUp4QyxnQm9Gakp3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaUpqRSxrQkFBa0IsQUFBQSxNQUFNLEVvRnhIa0IsQXBGd0gxQyxrQm9GeEg0RCxBQUFBLGFBQWEsQ3BGd0h6RSxrQkFBa0IsQUFBQSxNQUFNLEVvRnZIa0IsQXBGdUgxQyxrQm9Gdkg0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdUhyRSxrQkFBa0IsQUFBQSxNQUFNLEU0RjVWbUIsQTVGNFYzQyxtQjRGNVY4RCxDNUY0VjlELGtCQUFrQixBQUFBLE1BQU0sRWlIalRpQixBakhpVHpDLGlCaUhqVDBELENqSGlUMUQsa0JBQWtCLEFBQUEsTUFBTTtBd0k5WGdCLEF4SStYeEMsU3dJL1hpRCxDeEkrWGpELGtCQUFrQixBQUFBLE1BQU0sRWdGOU9tQixBaEY4TzNDLG1CZ0Y5TzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjhPckYsa0JBQWtCLEFBQUEsTUFBTSxFZ0ZqT3FCLEFoRmlPN0MscUJnRmpPa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaU96RixrQkFBa0IsQUFBQSxNQUFNLEVtRmhPZ0IsQW5GZ094QyxnQm1GaE93RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnTy9FLGtCQUFrQixBQUFBLE1BQU0sRW1Gbk5rQixBbkZtTjFDLGtCbUZuTjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm1ObkYsa0JBQWtCLEFBQUEsTUFBTSxFb0ZuSmdCLEFwRm1KeEMsZ0JvRm5Kd0QsQUFBQSxhQUFhLENwRm1KckUsa0JBQWtCLEFBQUEsTUFBTSxFb0ZsSmdCLEFwRmtKeEMsZ0JvRmxKd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmtKakUsa0JBQWtCLEFBQUEsTUFBTSxFb0Z6SGtCLEFwRnlIMUMsa0JvRnpINEQsQUFBQSxhQUFhLENwRnlIekUsa0JBQWtCLEFBQUEsTUFBTSxFb0Z4SGtCLEFwRndIMUMsa0JvRnhINEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndIckUsa0JBQWtCLEFBQUEsTUFBTSxFNEY3Vm1CLEE1RjZWM0MsbUI0RjdWOEQsQzVGNlY5RCxrQkFBa0IsQUFBQSxNQUFNLEVpSGxUaUIsQWpIa1R6QyxpQmlIbFQwRCxDakhrVDFELGtCQUFrQixBQUFBLE1BQU0sQ0FBQztFQUNyQixnQkFBZ0IsRURuTmtCLFdBQVc7RUNvTjdDLEtBQUssRURyWFUsSUFBSTtFQ3lWaUIsWUFBWSxFRHpWakMsSUFBSTtDQ3VYdEI7O0F3SW5ZdUMsQXhJcVl4QyxTd0lyWWlELEN4SXFZakQsa0JBQWtCLEFBQUEsT0FBTyxFZ0ZwUGtCLEFoRm9QM0MsbUJnRnBQOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb1ByRixrQkFBa0IsQUFBQSxPQUFPLEVnRnZPb0IsQWhGdU83QyxxQmdGdk9rRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1T3pGLGtCQUFrQixBQUFBLE9BQU8sRW1GdE9lLEFuRnNPeEMsZ0JtRnRPd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc08vRSxrQkFBa0IsQUFBQSxPQUFPLEVtRnpOaUIsQW5GeU4xQyxrQm1Gek40RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5Tm5GLGtCQUFrQixBQUFBLE9BQU8sRW9GekplLEFwRnlKeEMsZ0JvRnpKd0QsQUFBQSxhQUFhLENwRnlKckUsa0JBQWtCLEFBQUEsT0FBTyxFb0Z4SmUsQXBGd0p4QyxnQm9GeEp3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGd0pqRSxrQkFBa0IsQUFBQSxPQUFPLEVvRi9IaUIsQXBGK0gxQyxrQm9GL0g0RCxBQUFBLGFBQWEsQ3BGK0h6RSxrQkFBa0IsQUFBQSxPQUFPLEVvRjlIaUIsQXBGOEgxQyxrQm9GOUg0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOEhyRSxrQkFBa0IsQUFBQSxPQUFPLEU0Rm5Xa0IsQTVGbVczQyxtQjRGblc4RCxDNUZtVzlELGtCQUFrQixBQUFBLE9BQU8sRWlIeFRnQixBakh3VHpDLGlCaUh4VDBELENqSHdUMUQsa0JBQWtCLEFBQUEsT0FBTztBd0lyWWUsQXhJc1l4QyxTd0l0WWlELEN4SXNZakQsa0JBQWtCLEFBQUEsVUFBVSxFZ0ZyUGUsQWhGcVAzQyxtQmdGclA4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZxUHJGLGtCQUFrQixBQUFBLFVBQVUsRWdGeE9pQixBaEZ3TzdDLHFCZ0Z4T2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRndPekYsa0JBQWtCLEFBQUEsVUFBVSxFbUZ2T1ksQW5GdU94QyxnQm1Gdk93RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ1Ty9FLGtCQUFrQixBQUFBLFVBQVUsRW1GMU5jLEFuRjBOMUMsa0JtRjFONEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GME5uRixrQkFBa0IsQUFBQSxVQUFVLEVvRjFKWSxBcEYwSnhDLGdCb0YxSndELEFBQUEsYUFBYSxDcEYwSnJFLGtCQUFrQixBQUFBLFVBQVUsRW9GekpZLEFwRnlKeEMsZ0JvRnpKd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnlKakUsa0JBQWtCLEFBQUEsVUFBVSxFb0ZoSWMsQXBGZ0kxQyxrQm9GaEk0RCxBQUFBLGFBQWEsQ3BGZ0l6RSxrQkFBa0IsQUFBQSxVQUFVLEVvRi9IYyxBcEYrSDFDLGtCb0YvSDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYrSHJFLGtCQUFrQixBQUFBLFVBQVUsRTRGcFdlLEE1Rm9XM0MsbUI0RnBXOEQsQzVGb1c5RCxrQkFBa0IsQUFBQSxVQUFVLEVpSHpUYSxBakh5VHpDLGlCaUh6VDBELENqSHlUMUQsa0JBQWtCLEFBQUEsVUFBVSxDQUFDO0VBQ3pCLGdCQUFnQixFRHhObUIsV0FBVztFQ3lOOUMsS0FBSyxFRDVYVSxJQUFJO0VDMFZrQixZQUFZLEVEMVZsQyxJQUFJO0NDOFh0Qjs7QXdJMVl1QyxBeElnWnhDLFN3SWhaaUQsQ3hJZ1pqRCxrQkFBa0IsRWdGL1B5QixBaEYrUDNDLG1CZ0YvUDhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRitQckYsa0JBQWtCLEVnRmxQMkIsQWhGa1A3QyxxQmdGbFBrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZrUHpGLGtCQUFrQixFbUZqUHNCLEFuRmlQeEMsZ0JtRmpQd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GaVAvRSxrQkFBa0IsRW1GcE93QixBbkZvTzFDLGtCbUZwTzRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm9PbkYsa0JBQWtCLEVvRnBLc0IsQXBGb0t4QyxnQm9GcEt3RCxBQUFBLGFBQWEsQ3BGb0tyRSxrQkFBa0IsRW9GbktzQixBcEZtS3hDLGdCb0ZuS3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZtS2pFLGtCQUFrQixFb0YxSXdCLEFwRjBJMUMsa0JvRjFJNEQsQUFBQSxhQUFhLENwRjBJekUsa0JBQWtCLEVvRnpJd0IsQXBGeUkxQyxrQm9Gekk0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeUlyRSxrQkFBa0IsRTRGOVd5QixBNUY4VzNDLG1CNEY5VzhELEM1RjhXOUQsa0JBQWtCLEVpSG5VdUIsQWpIbVV6QyxpQmlIblUwRCxDakhtVTFELGtCQUFrQixDQUFDO0VBQ2YsZ0JBQWdCLEVEcllELElBQUk7RUNzWW5CLEtBQUssRUQzYUUsSUFBSTtDQzZhZDs7QXdJcFp1QyxBeElzWnhDLFN3SXRaaUQsQ3hJc1pqRCxrQkFBa0IsQUFBQSxNQUFNLEVnRnJRbUIsQWhGcVEzQyxtQmdGclE4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZxUXJGLGtCQUFrQixBQUFBLE1BQU0sRWdGeFBxQixBaEZ3UDdDLHFCZ0Z4UGtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRndQekYsa0JBQWtCLEFBQUEsTUFBTSxFbUZ2UGdCLEFuRnVQeEMsZ0JtRnZQd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GdVAvRSxrQkFBa0IsQUFBQSxNQUFNLEVtRjFPa0IsQW5GME8xQyxrQm1GMU80RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYwT25GLGtCQUFrQixBQUFBLE1BQU0sRW9GMUtnQixBcEYwS3hDLGdCb0YxS3dELEFBQUEsYUFBYSxDcEYwS3JFLGtCQUFrQixBQUFBLE1BQU0sRW9GektnQixBcEZ5S3hDLGdCb0Z6S3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ5S2pFLGtCQUFrQixBQUFBLE1BQU0sRW9GaEprQixBcEZnSjFDLGtCb0ZoSjRELEFBQUEsYUFBYSxDcEZnSnpFLGtCQUFrQixBQUFBLE1BQU0sRW9GL0lrQixBcEYrSTFDLGtCb0YvSTRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYrSXJFLGtCQUFrQixBQUFBLE1BQU0sRTRGcFhtQixBNUZvWDNDLG1CNEZwWDhELEM1Rm9YOUQsa0JBQWtCLEFBQUEsTUFBTSxFaUh6VWlCLEFqSHlVekMsaUJpSHpVMEQsQ2pIeVUxRCxrQkFBa0IsQUFBQSxNQUFNO0F3SXRaZ0IsQXhJdVp4QyxTd0l2WmlELEN4SXVaakQsa0JBQWtCLEFBQUEsTUFBTSxFZ0Z0UW1CLEFoRnNRM0MsbUJnRnRROEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc1FyRixrQkFBa0IsQUFBQSxNQUFNLEVnRnpQcUIsQWhGeVA3QyxxQmdGelBrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ5UHpGLGtCQUFrQixBQUFBLE1BQU0sRW1GeFBnQixBbkZ3UHhDLGdCbUZ4UHdELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRndQL0Usa0JBQWtCLEFBQUEsTUFBTSxFbUYzT2tCLEFuRjJPMUMsa0JtRjNPNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMk9uRixrQkFBa0IsQUFBQSxNQUFNLEVvRjNLZ0IsQXBGMkt4QyxnQm9GM0t3RCxBQUFBLGFBQWEsQ3BGMktyRSxrQkFBa0IsQUFBQSxNQUFNLEVvRjFLZ0IsQXBGMEt4QyxnQm9GMUt3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMEtqRSxrQkFBa0IsQUFBQSxNQUFNLEVvRmpKa0IsQXBGaUoxQyxrQm9Gako0RCxBQUFBLGFBQWEsQ3BGaUp6RSxrQkFBa0IsQUFBQSxNQUFNLEVvRmhKa0IsQXBGZ0oxQyxrQm9GaEo0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGZ0pyRSxrQkFBa0IsQUFBQSxNQUFNLEU0RnJYbUIsQTVGcVgzQyxtQjRGclg4RCxDNUZxWDlELGtCQUFrQixBQUFBLE1BQU0sRWlIMVVpQixBakgwVXpDLGlCaUgxVTBELENqSDBVMUQsa0JBQWtCLEFBQUEsTUFBTSxDQUFDO0VBQ3JCLGdCQUFnQixFRHJPa0IsT0FBOEM7RUNzT2hGLEtBQUssRURsYkUsSUFBSTtDQ29iZDs7QXdJM1p1QyxBeEk2WnhDLFN3STdaaUQsQ3hJNlpqRCxrQkFBa0IsQUFBQSxPQUFPLEVnRjVRa0IsQWhGNFEzQyxtQmdGNVE4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY0UXJGLGtCQUFrQixBQUFBLE9BQU8sRWdGL1BvQixBaEYrUDdDLHFCZ0YvUGtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRitQekYsa0JBQWtCLEFBQUEsT0FBTyxFbUY5UGUsQW5GOFB4QyxnQm1GOVB3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY4UC9FLGtCQUFrQixBQUFBLE9BQU8sRW1GalBpQixBbkZpUDFDLGtCbUZqUDRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmlQbkYsa0JBQWtCLEFBQUEsT0FBTyxFb0ZqTGUsQXBGaUx4QyxnQm9Gakx3RCxBQUFBLGFBQWEsQ3BGaUxyRSxrQkFBa0IsQUFBQSxPQUFPLEVvRmhMZSxBcEZnTHhDLGdCb0ZoTHdELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZnTGpFLGtCQUFrQixBQUFBLE9BQU8sRW9GdkppQixBcEZ1SjFDLGtCb0Z2SjRELEFBQUEsYUFBYSxDcEZ1SnpFLGtCQUFrQixBQUFBLE9BQU8sRW9GdEppQixBcEZzSjFDLGtCb0Z0SjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZzSnJFLGtCQUFrQixBQUFBLE9BQU8sRTRGM1hrQixBNUYyWDNDLG1CNEYzWDhELEM1RjJYOUQsa0JBQWtCLEFBQUEsT0FBTyxFaUhoVmdCLEFqSGdWekMsaUJpSGhWMEQsQ2pIZ1YxRCxrQkFBa0IsQUFBQSxPQUFPO0F3STdaZSxBeEk4WnhDLFN3STlaaUQsQ3hJOFpqRCxrQkFBa0IsQUFBQSxVQUFVLEVnRjdRZSxBaEY2UTNDLG1CZ0Y3UThELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjZRckYsa0JBQWtCLEFBQUEsVUFBVSxFZ0ZoUWlCLEFoRmdRN0MscUJnRmhRa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ1F6RixrQkFBa0IsQUFBQSxVQUFVLEVtRi9QWSxBbkYrUHhDLGdCbUYvUHdELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRitQL0Usa0JBQWtCLEFBQUEsVUFBVSxFbUZsUGMsQW5Ga1AxQyxrQm1GbFA0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrUG5GLGtCQUFrQixBQUFBLFVBQVUsRW9GbExZLEFwRmtMeEMsZ0JvRmxMd0QsQUFBQSxhQUFhLENwRmtMckUsa0JBQWtCLEFBQUEsVUFBVSxFb0ZqTFksQXBGaUx4QyxnQm9Gakx3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaUxqRSxrQkFBa0IsQUFBQSxVQUFVLEVvRnhKYyxBcEZ3SjFDLGtCb0Z4SjRELEFBQUEsYUFBYSxDcEZ3SnpFLGtCQUFrQixBQUFBLFVBQVUsRW9GdkpjLEFwRnVKMUMsa0JvRnZKNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVKckUsa0JBQWtCLEFBQUEsVUFBVSxFNEY1WGUsQTVGNFgzQyxtQjRGNVg4RCxDNUY0WDlELGtCQUFrQixBQUFBLFVBQVUsRWlIalZhLEFqSGlWekMsaUJpSGpWMEQsQ2pIaVYxRCxrQkFBa0IsQUFBQSxVQUFVLENBQUM7RUFDekIsZ0JBQWdCLEVEMU9tQixPQUErQztFQzJPbEYsS0FBSyxFRHpiRSxJQUFJO0NDMmJkOztBd0lsYXVDLEF4SXdheEMsU3dJeGFpRCxDeEl3YWpELG9CQUFvQixFZ0Z2UnVCLEFoRnVSM0MsbUJnRnZSOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGdVJyRixvQkFBb0IsRWdGMVF5QixBaEYwUTdDLHFCZ0YxUWtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjBRekYsb0JBQW9CLEVtRnpRb0IsQW5GeVF4QyxnQm1GelF3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5US9FLG9CQUFvQixFbUY1UHNCLEFuRjRQMUMsa0JtRjVQNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNFBuRixvQkFBb0IsRW9GNUxvQixBcEY0THhDLGdCb0Y1THdELEFBQUEsYUFBYSxDcEY0THJFLG9CQUFvQixFb0YzTG9CLEFwRjJMeEMsZ0JvRjNMd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJMakUsb0JBQW9CLEVvRmxLc0IsQXBGa0sxQyxrQm9GbEs0RCxBQUFBLGFBQWEsQ3BGa0t6RSxvQkFBb0IsRW9GaktzQixBcEZpSzFDLGtCb0ZqSzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpS3JFLG9CQUFvQixFNEZ0WXVCLEE1RnNZM0MsbUI0RnRZOEQsQzVGc1k5RCxvQkFBb0IsRWlIM1ZxQixBakgyVnpDLGlCaUgzVjBELENqSDJWMUQsb0JBQW9CLENBQUM7RUFDakIsZ0JBQWdCLEVEN1pELElBQUk7RUM4Wm5CLEtBQUssRURuY0UsSUFBSTtDQ3FjZDs7QXdJNWF1QyxBeEk4YXhDLFN3STlhaUQsQ3hJOGFqRCxvQkFBb0IsQUFBQSxNQUFNLEVnRjdSaUIsQWhGNlIzQyxtQmdGN1I4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2UnJGLG9CQUFvQixBQUFBLE1BQU0sRWdGaFJtQixBaEZnUjdDLHFCZ0ZoUmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmdSekYsb0JBQW9CLEFBQUEsTUFBTSxFbUYvUWMsQW5GK1F4QyxnQm1GL1F3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrUS9FLG9CQUFvQixBQUFBLE1BQU0sRW1GbFFnQixBbkZrUTFDLGtCbUZsUTRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmtRbkYsb0JBQW9CLEFBQUEsTUFBTSxFb0ZsTWMsQXBGa014QyxnQm9GbE13RCxBQUFBLGFBQWEsQ3BGa01yRSxvQkFBb0IsQUFBQSxNQUFNLEVvRmpNYyxBcEZpTXhDLGdCb0ZqTXdELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpTWpFLG9CQUFvQixBQUFBLE1BQU0sRW9GeEtnQixBcEZ3SzFDLGtCb0Z4SzRELEFBQUEsYUFBYSxDcEZ3S3pFLG9CQUFvQixBQUFBLE1BQU0sRW9GdktnQixBcEZ1SzFDLGtCb0Z2SzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1S3JFLG9CQUFvQixBQUFBLE1BQU0sRTRGNVlpQixBNUY0WTNDLG1CNEY1WThELEM1RjRZOUQsb0JBQW9CLEFBQUEsTUFBTSxFaUhqV2UsQWpIaVd6QyxpQmlIalcwRCxDakhpVzFELG9CQUFvQixBQUFBLE1BQU07QXdJOWFjLEF4SStheEMsU3dJL2FpRCxDeEkrYWpELG9CQUFvQixBQUFBLE1BQU0sRWdGOVJpQixBaEY4UjNDLG1CZ0Y5UjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjhSckYsb0JBQW9CLEFBQUEsTUFBTSxFZ0ZqUm1CLEFoRmlSN0MscUJnRmpSa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaVJ6RixvQkFBb0IsQUFBQSxNQUFNLEVtRmhSYyxBbkZnUnhDLGdCbUZoUndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmdSL0Usb0JBQW9CLEFBQUEsTUFBTSxFbUZuUWdCLEFuRm1RMUMsa0JtRm5RNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbVFuRixvQkFBb0IsQUFBQSxNQUFNLEVvRm5NYyxBcEZtTXhDLGdCb0ZuTXdELEFBQUEsYUFBYSxDcEZtTXJFLG9CQUFvQixBQUFBLE1BQU0sRW9GbE1jLEFwRmtNeEMsZ0JvRmxNd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmtNakUsb0JBQW9CLEFBQUEsTUFBTSxFb0Z6S2dCLEFwRnlLMUMsa0JvRnpLNEQsQUFBQSxhQUFhLENwRnlLekUsb0JBQW9CLEFBQUEsTUFBTSxFb0Z4S2dCLEFwRndLMUMsa0JvRnhLNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndLckUsb0JBQW9CLEFBQUEsTUFBTSxFNEY3WWlCLEE1RjZZM0MsbUI0RjdZOEQsQzVGNlk5RCxvQkFBb0IsQUFBQSxNQUFNLEVpSGxXZSxBakhrV3pDLGlCaUhsVzBELENqSGtXMUQsb0JBQW9CLEFBQUEsTUFBTSxDQUFDO0VBQ3ZCLGdCQUFnQixFRHZQb0IsT0FBZ0Q7RUN3UHBGLEtBQUssRUQxY0UsSUFBSTtDQzRjZDs7QXdJbmJ1QyxBeElxYnhDLFN3SXJiaUQsQ3hJcWJqRCxvQkFBb0IsQUFBQSxPQUFPLEVnRnBTZ0IsQWhGb1MzQyxtQmdGcFM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZvU3JGLG9CQUFvQixBQUFBLE9BQU8sRWdGdlJrQixBaEZ1UjdDLHFCZ0Z2UmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVSekYsb0JBQW9CLEFBQUEsT0FBTyxFbUZ0UmEsQW5Gc1J4QyxnQm1GdFJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzUi9FLG9CQUFvQixBQUFBLE9BQU8sRW1GelFlLEFuRnlRMUMsa0JtRnpRNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeVFuRixvQkFBb0IsQUFBQSxPQUFPLEVvRnpNYSxBcEZ5TXhDLGdCb0Z6TXdELEFBQUEsYUFBYSxDcEZ5TXJFLG9CQUFvQixBQUFBLE9BQU8sRW9GeE1hLEFwRndNeEMsZ0JvRnhNd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndNakUsb0JBQW9CLEFBQUEsT0FBTyxFb0YvS2UsQXBGK0sxQyxrQm9GL0s0RCxBQUFBLGFBQWEsQ3BGK0t6RSxvQkFBb0IsQUFBQSxPQUFPLEVvRjlLZSxBcEY4SzFDLGtCb0Y5SzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4S3JFLG9CQUFvQixBQUFBLE9BQU8sRTRGblpnQixBNUZtWjNDLG1CNEZuWjhELEM1Rm1aOUQsb0JBQW9CLEFBQUEsT0FBTyxFaUh4V2MsQWpId1d6QyxpQmlIeFcwRCxDakh3VzFELG9CQUFvQixBQUFBLE9BQU87QXdJcmJhLEF4SXNieEMsU3dJdGJpRCxDeElzYmpELG9CQUFvQixBQUFBLFVBQVUsRWdGclNhLEFoRnFTM0MsbUJnRnJTOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGcVNyRixvQkFBb0IsQUFBQSxVQUFVLEVnRnhSZSxBaEZ3UjdDLHFCZ0Z4UmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRndSekYsb0JBQW9CLEFBQUEsVUFBVSxFbUZ2UlUsQW5GdVJ4QyxnQm1GdlJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ1Ui9FLG9CQUFvQixBQUFBLFVBQVUsRW1GMVFZLEFuRjBRMUMsa0JtRjFRNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMFFuRixvQkFBb0IsQUFBQSxVQUFVLEVvRjFNVSxBcEYwTXhDLGdCb0YxTXdELEFBQUEsYUFBYSxDcEYwTXJFLG9CQUFvQixBQUFBLFVBQVUsRW9Gek1VLEFwRnlNeEMsZ0JvRnpNd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnlNakUsb0JBQW9CLEFBQUEsVUFBVSxFb0ZoTFksQXBGZ0wxQyxrQm9GaEw0RCxBQUFBLGFBQWEsQ3BGZ0x6RSxvQkFBb0IsQUFBQSxVQUFVLEVvRi9LWSxBcEYrSzFDLGtCb0YvSzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYrS3JFLG9CQUFvQixBQUFBLFVBQVUsRTRGcFphLEE1Rm9aM0MsbUI0RnBaOEQsQzVGb1o5RCxvQkFBb0IsQUFBQSxVQUFVLEVpSHpXVyxBakh5V3pDLGlCaUh6VzBELENqSHlXMUQsb0JBQW9CLEFBQUEsVUFBVSxDQUFDO0VBQzNCLGdCQUFnQixFRDVQcUIsT0FBaUQ7RUM2UHRGLEtBQUssRURqZEUsSUFBSTtDQ21kZDs7QXdJMWJ1QyxBeElnY3hDLFN3SWhjaUQsQ3hJZ2NqRCxlQUFlLEVnRi9TNEIsQWhGK1MzQyxtQmdGL1M4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYrU3JGLGVBQWUsRWdGbFM4QixBaEZrUzdDLHFCZ0ZsU2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmtTekYsZUFBZSxFbUZqU3lCLEFuRmlTeEMsZ0JtRmpTd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GaVMvRSxlQUFlLEVtRnBSMkIsQW5Gb1IxQyxrQm1GcFI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZvUm5GLGVBQWUsRW9GcE55QixBcEZvTnhDLGdCb0ZwTndELEFBQUEsYUFBYSxDcEZvTnJFLGVBQWUsRW9Gbk55QixBcEZtTnhDLGdCb0ZuTndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZtTmpFLGVBQWUsRW9GMUwyQixBcEYwTDFDLGtCb0YxTDRELEFBQUEsYUFBYSxDcEYwTHpFLGVBQWUsRW9GekwyQixBcEZ5TDFDLGtCb0Z6TDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ5THJFLGVBQWUsRTRGOVo0QixBNUY4WjNDLG1CNEY5WjhELEM1RjhaOUQsZUFBZSxFaUhuWDBCLEFqSG1YekMsaUJpSG5YMEQsQ2pIbVgxRCxlQUFlLENBQUM7RUFDWixLQUFLLEVEcmJVLElBQUk7Q0N1YnRCOztBd0luY3VDLEF4SWdjeEMsU3dJaGNpRCxDeElnY2pELGVBQWUsQUFsRmYsUUFBUyxFZ0Y3TmtDLEFoRitTM0MsbUJnRi9TOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGK1NyRixlQUFlLEFBbEZmLFFBQVMsRWdGaE5vQyxBaEZrUzdDLHFCZ0ZsU2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmtTekYsZUFBZSxBQWxGZixRQUFTLEVtRi9NK0IsQW5GaVN4QyxnQm1GalN3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpUy9FLGVBQWUsQUFsRmYsUUFBUyxFbUZsTWlDLEFuRm9SMUMsa0JtRnBSNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gb1JuRixlQUFlLEFBbEZmLFFBQVMsRW9GbEkrQixBcEZvTnhDLGdCb0ZwTndELEFBQUEsYUFBYSxDcEZvTnJFLGVBQWUsQUFsRmYsUUFBUyxFb0ZqSStCLEFwRm1OeEMsZ0JvRm5Od0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm1OakUsZUFBZSxBQWxGZixRQUFTLEVvRnhHaUMsQXBGMEwxQyxrQm9GMUw0RCxBQUFBLGFBQWEsQ3BGMEx6RSxlQUFlLEFBbEZmLFFBQVMsRW9GdkdpQyxBcEZ5TDFDLGtCb0Z6TDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ5THJFLGVBQWUsQUFsRmYsUUFBUyxFNEY1VWtDLEE1RjhaM0MsbUI0RjlaOEQsQzVGOFo5RCxlQUFlLEFBbEZmLFFBQVMsRWlIalNnQyxBakhtWHpDLGlCaUhuWDBELENqSG1YMUQsZUFBZSxBQWxGZixRQUFTLENBQUM7RUFBRSxtQkFBbUIsRURsV1osSUFBSTtDQ2tXNEM7O0F3STlXM0IsQXhJcWN4QyxTd0lyY2lELEN4SXFjakQsZUFBZSxBQUFBLE1BQU0sRWdGcFRzQixBaEZvVDNDLG1CZ0ZwVDhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm9UckYsZUFBZSxBQUFBLE1BQU0sRWdGdlN3QixBaEZ1UzdDLHFCZ0Z2U2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVTekYsZUFBZSxBQUFBLE1BQU0sRW1GdFNtQixBbkZzU3hDLGdCbUZ0U3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnNTL0UsZUFBZSxBQUFBLE1BQU0sRW1GelJxQixBbkZ5UjFDLGtCbUZ6UjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnlSbkYsZUFBZSxBQUFBLE1BQU0sRW9Gek5tQixBcEZ5TnhDLGdCb0Z6TndELEFBQUEsYUFBYSxDcEZ5TnJFLGVBQWUsQUFBQSxNQUFNLEVvRnhObUIsQXBGd054QyxnQm9GeE53RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGd05qRSxlQUFlLEFBQUEsTUFBTSxFb0YvTHFCLEFwRitMMUMsa0JvRi9MNEQsQUFBQSxhQUFhLENwRitMekUsZUFBZSxBQUFBLE1BQU0sRW9GOUxxQixBcEY4TDFDLGtCb0Y5TDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4THJFLGVBQWUsQUFBQSxNQUFNLEU0Rm5hc0IsQTVGbWEzQyxtQjRGbmE4RCxDNUZtYTlELGVBQWUsQUFBQSxNQUFNLEVpSHhYb0IsQWpId1h6QyxpQmlIeFgwRCxDakh3WDFELGVBQWUsQUFBQSxNQUFNO0F3SXJjbUIsQXhJc2N4QyxTd0l0Y2lELEN4SXNjakQsZUFBZSxBQUFBLE1BQU0sRWdGclRzQixBaEZxVDNDLG1CZ0ZyVDhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnFUckYsZUFBZSxBQUFBLE1BQU0sRWdGeFN3QixBaEZ3UzdDLHFCZ0Z4U2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRndTekYsZUFBZSxBQUFBLE1BQU0sRW1GdlNtQixBbkZ1U3hDLGdCbUZ2U3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnVTL0UsZUFBZSxBQUFBLE1BQU0sRW1GMVJxQixBbkYwUjFDLGtCbUYxUjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjBSbkYsZUFBZSxBQUFBLE1BQU0sRW9GMU5tQixBcEYwTnhDLGdCb0YxTndELEFBQUEsYUFBYSxDcEYwTnJFLGVBQWUsQUFBQSxNQUFNLEVvRnpObUIsQXBGeU54QyxnQm9Gek53RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeU5qRSxlQUFlLEFBQUEsTUFBTSxFb0ZoTXFCLEFwRmdNMUMsa0JvRmhNNEQsQUFBQSxhQUFhLENwRmdNekUsZUFBZSxBQUFBLE1BQU0sRW9GL0xxQixBcEYrTDFDLGtCb0YvTDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYrTHJFLGVBQWUsQUFBQSxNQUFNLEU0RnBhc0IsQTVGb2EzQyxtQjRGcGE4RCxDNUZvYTlELGVBQWUsQUFBQSxNQUFNLEVpSHpYb0IsQWpIeVh6QyxpQmlIelgwRCxDakh5WDFELGVBQWUsQUFBQSxNQUFNLENBQUM7RUFDbEIsS0FBSyxFRDNiVSxJQUFJO0NDNmJ0Qjs7QXdJemN1QyxBeEkyY3hDLFN3STNjaUQsQ3hJMmNqRCxlQUFlLEFBQUEsU0FBUyxFZ0YxVG1CLEFoRjBUM0MsbUJnRjFUOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMFRyRixlQUFlLEFBQUEsU0FBUyxFZ0Y3U3FCLEFoRjZTN0MscUJnRjdTa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNlN6RixlQUFlLEFBQUEsU0FBUyxFbUY1U2dCLEFuRjRTeEMsZ0JtRjVTd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNFMvRSxlQUFlLEFBQUEsU0FBUyxFbUYvUmtCLEFuRitSMUMsa0JtRi9SNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GK1JuRixlQUFlLEFBQUEsU0FBUyxFb0YvTmdCLEFwRitOeEMsZ0JvRi9Od0QsQUFBQSxhQUFhLENwRitOckUsZUFBZSxBQUFBLFNBQVMsRW9GOU5nQixBcEY4TnhDLGdCb0Y5TndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4TmpFLGVBQWUsQUFBQSxTQUFTLEVvRnJNa0IsQXBGcU0xQyxrQm9Gck00RCxBQUFBLGFBQWEsQ3BGcU16RSxlQUFlLEFBQUEsU0FBUyxFb0ZwTWtCLEFwRm9NMUMsa0JvRnBNNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm9NckUsZUFBZSxBQUFBLFNBQVMsRTRGemFtQixBNUZ5YTNDLG1CNEZ6YThELEM1RnlhOUQsZUFBZSxBQUFBLFNBQVMsRWlIOVhpQixBakg4WHpDLGlCaUg5WDBELENqSDhYMUQsZUFBZSxBQUFBLFNBQVMsQ0FBQztFQUNyQixLQUFLLEVEaGNVLHdCQUFJO0NDa2N0Qjs7QXdJOWN1QyxBeEkwMUJyQixTd0kxMUI4QixDeEkwMUJqRCxnQkFBZ0IsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVnRnpzQk4sQWhGeXNCeEIsbUJnRnpzQjJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnlzQnJGLGdCQUFnQixHQUFHLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRWdGNXJCSixBaEY0ckIxQixxQmdGNXJCK0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNHJCekYsZ0JBQWdCLEdBQUcsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFbUYzckJULEFuRjJyQnJCLGdCbUYzckJxQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYyckIvRSxnQkFBZ0IsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVtRjlxQlAsQW5GOHFCdkIsa0JtRjlxQnlDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjhxQm5GLGdCQUFnQixHQUFHLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRW9GOW1CVCxBcEY4bUJyQixnQm9GOW1CcUMsQUFBQSxhQUFhLENwRjhtQnJFLGdCQUFnQixHQUFHLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRW9GN21CVCxBcEY2bUJyQixnQm9GN21CcUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjZtQmpFLGdCQUFnQixHQUFHLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRW9GcGxCUCxBcEZvbEJ2QixrQm9GcGxCeUMsQUFBQSxhQUFhLENwRm9sQnpFLGdCQUFnQixHQUFHLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRW9GbmxCUCxBcEZtbEJ2QixrQm9GbmxCeUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm1sQnJFLGdCQUFnQixHQUFHLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRTRGeHpCTixBNUZ3ekJ4QixtQjRGeHpCMkMsQzVGd3pCOUQsZ0JBQWdCLEdBQUcsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFaUg3d0JSLEFqSDZ3QnRCLGlCaUg3d0J1QyxDakg2d0IxRCxnQkFBZ0IsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7RUFBRSxpQkFBaUIsRUQ5MEJsRCx3QkFBSTtDQzgwQmdGOztBd0kxMUIvRCxBeEkyMUJQLFN3STMxQmdCLEN4STIxQmpELGdCQUFnQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxFZ0Yxc0JiLEFoRjBzQlYsbUJnRjFzQjZCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjBzQnJGLGdCQUFnQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxFZ0Y3ckJYLEFoRjZyQloscUJnRjdyQmlDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjZyQnpGLGdCQUFnQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxFbUY1ckJoQixBbkY0ckJQLGdCbUY1ckJ1QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY0ckIvRSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRW1GL3FCZCxBbkYrcUJULGtCbUYvcUIyQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrcUJuRixnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRW9GL21CaEIsQXBGK21CUCxnQm9GL21CdUIsQUFBQSxhQUFhLENwRittQnJFLGdCQUFnQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxFb0Y5bUJoQixBcEY4bUJQLGdCb0Y5bUJ1QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOG1CakUsZ0JBQWdCLEFBQUEsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRLEVvRnJsQmQsQXBGcWxCVCxrQm9GcmxCMkIsQUFBQSxhQUFhLENwRnFsQnpFLGdCQUFnQixBQUFBLGNBQWMsR0FBRyxlQUFlLEFBQUEsUUFBUSxFb0ZwbEJkLEFwRm9sQlQsa0JvRnBsQjJCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZvbEJyRSxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRTRGenpCYixBNUZ5ekJWLG1CNEZ6ekI2QixDNUZ5ekI5RCxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsRWlIOXdCZixBakg4d0JSLGlCaUg5d0J5QixDakg4d0IxRCxnQkFBZ0IsQUFBQSxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0FBQztFQUFFLGdCQUFnQixFRC8wQnhELHdCQUFJO0NDKzBCc0Y7O0F3STMxQnJFLEF4SXdqQnhDLFN3SXhqQmlELEN4SXdqQmpELFNBQVMsRWdGdmFrQyxBaEZ1YTNDLG1CZ0Z2YThELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVhckYsU0FBUyxFZ0YxWm9DLEFoRjBaN0MscUJnRjFaa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMFp6RixTQUFTLEVtRnpaK0IsQW5GeVp4QyxnQm1Gelp3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5Wi9FLFNBQVMsRW1GNVlpQyxBbkY0WTFDLGtCbUY1WTRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjRZbkYsU0FBUyxFb0Y1VStCLEFwRjRVeEMsZ0JvRjVVd0QsQUFBQSxhQUFhLENwRjRVckUsU0FBUyxFb0YzVStCLEFwRjJVeEMsZ0JvRjNVd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJVakUsU0FBUyxFb0ZsVGlDLEFwRmtUMUMsa0JvRmxUNEQsQUFBQSxhQUFhLENwRmtUekUsU0FBUyxFb0ZqVGlDLEFwRmlUMUMsa0JvRmpUNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmlUckUsU0FBUyxFNEZ0aEJrQyxBNUZzaEIzQyxtQjRGdGhCOEQsQzVGc2hCOUQsU0FBUyxFaUgzZWdDLEFqSDJlekMsaUJpSDNlMEQsQ2pIMmUxRCxTQUFTLENBQUM7RUFDTixLQUFLLEVEN2lCVSx3QkFBSTtDQytpQnRCOztBd0kzakJ1QyxBeEk2akJ4QyxTd0k3akJpRCxDeEk2akJqRCxTQUFTLEFBQUEsTUFBTSxFZ0Y1YTRCLEFoRjRhM0MsbUJnRjVhOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNGFyRixTQUFTLEFBQUEsTUFBTSxFZ0YvWjhCLEFoRitaN0MscUJnRi9aa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGK1p6RixTQUFTLEFBQUEsTUFBTSxFbUY5WnlCLEFuRjhaeEMsZ0JtRjlad0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GOFovRSxTQUFTLEFBQUEsTUFBTSxFbUZqWjJCLEFuRmlaMUMsa0JtRmpaNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GaVpuRixTQUFTLEFBQUEsTUFBTSxFb0ZqVnlCLEFwRmlWeEMsZ0JvRmpWd0QsQUFBQSxhQUFhLENwRmlWckUsU0FBUyxBQUFBLE1BQU0sRW9GaFZ5QixBcEZnVnhDLGdCb0ZoVndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZnVmpFLFNBQVMsQUFBQSxNQUFNLEVvRnZUMkIsQXBGdVQxQyxrQm9GdlQ0RCxBQUFBLGFBQWEsQ3BGdVR6RSxTQUFTLEFBQUEsTUFBTSxFb0Z0VDJCLEFwRnNUMUMsa0JvRnRUNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnNUckUsU0FBUyxBQUFBLE1BQU0sRTRGM2hCNEIsQTVGMmhCM0MsbUI0RjNoQjhELEM1RjJoQjlELFNBQVMsQUFBQSxNQUFNLEVpSGhmMEIsQWpIZ2Z6QyxpQmlIaGYwRCxDakhnZjFELFNBQVMsQUFBQSxNQUFNO0F3STdqQnlCLEF4SThqQnhDLFN3STlqQmlELEN4SThqQmpELFNBQVMsQUFBQSxNQUFNLEVnRjdhNEIsQWhGNmEzQyxtQmdGN2E4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2YXJGLFNBQVMsQUFBQSxNQUFNLEVnRmhhOEIsQWhGZ2E3QyxxQmdGaGFrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnYXpGLFNBQVMsQUFBQSxNQUFNLEVtRi9aeUIsQW5GK1p4QyxnQm1GL1p3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrWi9FLFNBQVMsQUFBQSxNQUFNLEVtRmxaMkIsQW5Ga1oxQyxrQm1GbFo0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrWm5GLFNBQVMsQUFBQSxNQUFNLEVvRmxWeUIsQXBGa1Z4QyxnQm9GbFZ3RCxBQUFBLGFBQWEsQ3BGa1ZyRSxTQUFTLEFBQUEsTUFBTSxFb0ZqVnlCLEFwRmlWeEMsZ0JvRmpWd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmlWakUsU0FBUyxBQUFBLE1BQU0sRW9GeFQyQixBcEZ3VDFDLGtCb0Z4VDRELEFBQUEsYUFBYSxDcEZ3VHpFLFNBQVMsQUFBQSxNQUFNLEVvRnZUMkIsQXBGdVQxQyxrQm9GdlQ0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdVRyRSxTQUFTLEFBQUEsTUFBTSxFNEY1aEI0QixBNUY0aEIzQyxtQjRGNWhCOEQsQzVGNGhCOUQsU0FBUyxBQUFBLE1BQU0sRWlIamYwQixBakhpZnpDLGlCaUhqZjBELENqSGlmMUQsU0FBUyxBQUFBLE1BQU0sQ0FBQztFQUNaLEtBQUssRURuakJVLHdCQUFJO0NDcWpCdEI7O0F3SWprQnVDLEF4SWlqQ3hDLFN3SWpqQ2lELEN4SWlqQ2pELFNBQVMsRWdGaDZCa0MsQWhGZzZCM0MsbUJnRmg2QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmc2QnJGLFNBQVMsRWdGbjVCb0MsQWhGbTVCN0MscUJnRm41QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm01QnpGLFNBQVMsRW1GbDVCK0IsQW5GazVCeEMsZ0JtRmw1QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRms1Qi9FLFNBQVMsRW1GcjRCaUMsQW5GcTRCMUMsa0JtRnI0QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnE0Qm5GLFNBQVMsRW9GcjBCK0IsQXBGcTBCeEMsZ0JvRnIwQndELEFBQUEsYUFBYSxDcEZxMEJyRSxTQUFTLEVvRnAwQitCLEFwRm8wQnhDLGdCb0ZwMEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbzBCakUsU0FBUyxFb0YzeUJpQyxBcEYyeUIxQyxrQm9GM3lCNEQsQUFBQSxhQUFhLENwRjJ5QnpFLFNBQVMsRW9GMXlCaUMsQXBGMHlCMUMsa0JvRjF5QjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYweUJyRSxTQUFTLEU0Ri9nQ2tDLEE1RitnQzNDLG1CNEYvZ0M4RCxDNUYrZ0M5RCxTQUFTLEVpSHArQmdDLEFqSG8rQnpDLGlCaUhwK0IwRCxDakhvK0IxRCxTQUFTLENBQUM7RUFDTixLQUFLLEVEdGlDVSx3QkFBSTtDQ3dpQ3RCOztBd0lwakN1QyxBeElzakN4QyxTd0l0akNpRCxDeElzakNqRCxTQUFTLEFBQUEsTUFBTSxFZ0ZyNkI0QixBaEZxNkIzQyxtQmdGcjZCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGcTZCckYsU0FBUyxBQUFBLE1BQU0sRWdGeDVCOEIsQWhGdzVCN0MscUJnRng1QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnc1QnpGLFNBQVMsQUFBQSxNQUFNLEVtRnY1QnlCLEFuRnU1QnhDLGdCbUZ2NUJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ1NUIvRSxTQUFTLEFBQUEsTUFBTSxFbUYxNEIyQixBbkYwNEIxQyxrQm1GMTRCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMDRCbkYsU0FBUyxBQUFBLE1BQU0sRW9GMTBCeUIsQXBGMDBCeEMsZ0JvRjEwQndELEFBQUEsYUFBYSxDcEYwMEJyRSxTQUFTLEFBQUEsTUFBTSxFb0Z6MEJ5QixBcEZ5MEJ4QyxnQm9GejBCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnkwQmpFLFNBQVMsQUFBQSxNQUFNLEVvRmh6QjJCLEFwRmd6QjFDLGtCb0ZoekI0RCxBQUFBLGFBQWEsQ3BGZ3pCekUsU0FBUyxBQUFBLE1BQU0sRW9GL3lCMkIsQXBGK3lCMUMsa0JvRi95QjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYreUJyRSxTQUFTLEFBQUEsTUFBTSxFNEZwaEM0QixBNUZvaEMzQyxtQjRGcGhDOEQsQzVGb2hDOUQsU0FBUyxBQUFBLE1BQU0sRWlIeitCMEIsQWpIeStCekMsaUJpSHorQjBELENqSHkrQjFELFNBQVMsQUFBQSxNQUFNO0F3SXRqQ3lCLEF4SXVqQ3hDLFN3SXZqQ2lELEN4SXVqQ2pELFNBQVMsQUFBQSxNQUFNLEVnRnQ2QjRCLEFoRnM2QjNDLG1CZ0Z0NkI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzNkJyRixTQUFTLEFBQUEsTUFBTSxFZ0Z6NUI4QixBaEZ5NUI3QyxxQmdGejVCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeTVCekYsU0FBUyxBQUFBLE1BQU0sRW1GeDVCeUIsQW5GdzVCeEMsZ0JtRng1QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnc1Qi9FLFNBQVMsQUFBQSxNQUFNLEVtRjM0QjJCLEFuRjI0QjFDLGtCbUYzNEI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYyNEJuRixTQUFTLEFBQUEsTUFBTSxFb0YzMEJ5QixBcEYyMEJ4QyxnQm9GMzBCd0QsQUFBQSxhQUFhLENwRjIwQnJFLFNBQVMsQUFBQSxNQUFNLEVvRjEwQnlCLEFwRjAwQnhDLGdCb0YxMEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMDBCakUsU0FBUyxBQUFBLE1BQU0sRW9GanpCMkIsQXBGaXpCMUMsa0JvRmp6QjRELEFBQUEsYUFBYSxDcEZpekJ6RSxTQUFTLEFBQUEsTUFBTSxFb0ZoekIyQixBcEZnekIxQyxrQm9GaHpCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmd6QnJFLFNBQVMsQUFBQSxNQUFNLEU0RnJoQzRCLEE1RnFoQzNDLG1CNEZyaEM4RCxDNUZxaEM5RCxTQUFTLEFBQUEsTUFBTSxFaUgxK0IwQixBakgwK0J6QyxpQmlIMStCMEQsQ2pIMCtCMUQsU0FBUyxBQUFBLE1BQU0sQ0FBQztFQUNaLEtBQUssRUQ1aUNVLHdCQUFJO0NDOGlDdEI7O0F3STFqQ3VDLEF4STRqQ3hDLFN3STVqQ2lELEN4STRqQ2pELFNBQVMsQUFBQSxPQUFPLEVnRjM2QjJCLEFoRjI2QjNDLG1CZ0YzNkI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYyNkJyRixTQUFTLEFBQUEsT0FBTyxFZ0Y5NUI2QixBaEY4NUI3QyxxQmdGOTVCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGODVCekYsU0FBUyxBQUFBLE9BQU8sRW1GNzVCd0IsQW5GNjVCeEMsZ0JtRjc1QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjY1Qi9FLFNBQVMsQUFBQSxPQUFPLEVtRmg1QjBCLEFuRmc1QjFDLGtCbUZoNUI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnNUJuRixTQUFTLEFBQUEsT0FBTyxFb0ZoMUJ3QixBcEZnMUJ4QyxnQm9GaDFCd0QsQUFBQSxhQUFhLENwRmcxQnJFLFNBQVMsQUFBQSxPQUFPLEVvRi8wQndCLEFwRiswQnhDLGdCb0YvMEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGKzBCakUsU0FBUyxBQUFBLE9BQU8sRW9GdHpCMEIsQXBGc3pCMUMsa0JvRnR6QjRELEFBQUEsYUFBYSxDcEZzekJ6RSxTQUFTLEFBQUEsT0FBTyxFb0ZyekIwQixBcEZxekIxQyxrQm9GcnpCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnF6QnJFLFNBQVMsQUFBQSxPQUFPLEU0RjFoQzJCLEE1RjBoQzNDLG1CNEYxaEM4RCxDNUYwaEM5RCxTQUFTLEFBQUEsT0FBTyxFaUgvK0J5QixBakgrK0J6QyxpQmlILytCMEQsQ2pIKytCMUQsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNiLEtBQUssRURqakNVLElBQUk7Q0NtakN0Qjs7QXdJL2pDdUMsQXhJb0V4QyxTd0lwRWlELEN4SW9FakQsU0FBUyxFZ0Y2RWtDLEFoRjdFM0MsbUJnRjZFOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGN0VyRixTQUFTLEVnRjBGb0MsQWhGMUY3QyxxQmdGMEZrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYxRnpGLFNBQVMsRW1GMkYrQixBbkYzRnhDLGdCbUYyRndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjNGL0UsU0FBUyxFbUZ3R2lDLEFuRnhHMUMsa0JtRndHNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeEduRixTQUFTLEVvRndLK0IsQXBGeEt4QyxnQm9Gd0t3RCxBQUFBLGFBQWEsQ3BGeEtyRSxTQUFTLEVvRnlLK0IsQXBGekt4QyxnQm9GeUt3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGektqRSxTQUFTLEVvRmtNaUMsQXBGbE0xQyxrQm9Ga000RCxBQUFBLGFBQWEsQ3BGbE16RSxTQUFTLEVvRm1NaUMsQXBGbk0xQyxrQm9GbU00RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbk1yRSxTQUFTLEU0RmxDa0MsQTVGa0MzQyxtQjRGbEM4RCxDNUZrQzlELFNBQVMsRWlIU2dDLEFqSFR6QyxpQmlIUzBELENqSFQxRCxTQUFTLENBQUM7RUFDTixnQkFBZ0IsRUR6REQsSUFBSTtFQzBEbkIsS0FBSyxFRC9GRSxJQUFJO0NDaUdkOztBd0l4RXVDLEF4STBFeEMsU3dJMUVpRCxDeEkwRWpELFNBQVMsQUFBQSxNQUFNLEVnRnVFNEIsQWhGdkUzQyxtQmdGdUU4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ2RXJGLFNBQVMsQUFBQSxNQUFNLEVnRm9GOEIsQWhGcEY3QyxxQmdGb0ZrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZwRnpGLFNBQVMsQUFBQSxNQUFNLEVtRnFGeUIsQW5GckZ4QyxnQm1GcUZ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZyRi9FLFNBQVMsQUFBQSxNQUFNLEVtRmtHMkIsQW5GbEcxQyxrQm1Ga0c0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZsR25GLFNBQVMsQUFBQSxNQUFNLEVvRmtLeUIsQXBGbEt4QyxnQm9Ga0t3RCxBQUFBLGFBQWEsQ3BGbEtyRSxTQUFTLEFBQUEsTUFBTSxFb0ZtS3lCLEFwRm5LeEMsZ0JvRm1Ld0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm5LakUsU0FBUyxBQUFBLE1BQU0sRW9GNEwyQixBcEY1TDFDLGtCb0Y0TDRELEFBQUEsYUFBYSxDcEY1THpFLFNBQVMsQUFBQSxNQUFNLEVvRjZMMkIsQXBGN0wxQyxrQm9GNkw0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGN0xyRSxTQUFTLEFBQUEsTUFBTSxFNEZ4QzRCLEE1RndDM0MsbUI0RnhDOEQsQzVGd0M5RCxTQUFTLEFBQUEsTUFBTSxFaUhHMEIsQWpISHpDLGlCaUhHMEQsQ2pISDFELFNBQVMsQUFBQSxNQUFNO0F3STFFeUIsQXhJMkV4QyxTd0kzRWlELEN4STJFakQsU0FBUyxBQUFBLE1BQU0sRWdGc0U0QixBaEZ0RTNDLG1CZ0ZzRThELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnRFckYsU0FBUyxBQUFBLE1BQU0sRWdGbUY4QixBaEZuRjdDLHFCZ0ZtRmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm5GekYsU0FBUyxBQUFBLE1BQU0sRW1Gb0Z5QixBbkZwRnhDLGdCbUZvRndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnBGL0UsU0FBUyxBQUFBLE1BQU0sRW1GaUcyQixBbkZqRzFDLGtCbUZpRzRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmpHbkYsU0FBUyxBQUFBLE1BQU0sRW9GaUt5QixBcEZqS3hDLGdCb0ZpS3dELEFBQUEsYUFBYSxDcEZqS3JFLFNBQVMsQUFBQSxNQUFNLEVvRmtLeUIsQXBGbEt4QyxnQm9Ga0t3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbEtqRSxTQUFTLEFBQUEsTUFBTSxFb0YyTDJCLEFwRjNMMUMsa0JvRjJMNEQsQUFBQSxhQUFhLENwRjNMekUsU0FBUyxBQUFBLE1BQU0sRW9GNEwyQixBcEY1TDFDLGtCb0Y0TDRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY1THJFLFNBQVMsQUFBQSxNQUFNLEU0RnpDNEIsQTVGeUMzQyxtQjRGekM4RCxDNUZ5QzlELFNBQVMsQUFBQSxNQUFNLEVpSEUwQixBakhGekMsaUJpSEUwRCxDakhGMUQsU0FBUyxBQUFBLE1BQU0sQ0FBQztFQUNaLEtBQUssRURyR0UsSUFBSTtDQ3VHZDs7QXdJOUV1QyxBeEkyK0J4QyxTd0kzK0JpRCxDeEkyK0JqRCxTQUFTLEVnRjExQmtDLEFoRjAxQjNDLG1CZ0YxMUI4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwMUJyRixTQUFTLEVnRjcwQm9DLEFoRjYwQjdDLHFCZ0Y3MEJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2MEJ6RixTQUFTLEVtRjUwQitCLEFuRjQwQnhDLGdCbUY1MEJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY0MEIvRSxTQUFTLEVtRi96QmlDLEFuRit6QjFDLGtCbUYvekI0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrekJuRixTQUFTLEVvRi92QitCLEFwRit2QnhDLGdCb0YvdkJ3RCxBQUFBLGFBQWEsQ3BGK3ZCckUsU0FBUyxFb0Y5dkIrQixBcEY4dkJ4QyxnQm9GOXZCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjh2QmpFLFNBQVMsRW9GcnVCaUMsQXBGcXVCMUMsa0JvRnJ1QjRELEFBQUEsYUFBYSxDcEZxdUJ6RSxTQUFTLEVvRnB1QmlDLEFwRm91QjFDLGtCb0ZwdUI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGb3VCckUsU0FBUyxFNEZ6OEJrQyxBNUZ5OEIzQyxtQjRGejhCOEQsQzVGeThCOUQsU0FBUyxFaUg5NUJnQyxBakg4NUJ6QyxpQmlIOTVCMEQsQ2pIODVCMUQsU0FBUyxDQUFDO0VBQ04sZ0JBQWdCLEVEaCtCRCxJQUFJO0VDaStCbkIsS0FBSyxFRHRnQ0UsSUFBSTtDQ3dnQ2Q7O0F3SS8rQnVDLEF4SXNEeEMsU3dJdERpRCxDeElzRGpELGdCQUFnQixFZ0YyRjJCLEFoRjNGM0MsbUJnRjJGOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGM0ZyRixnQkFBZ0IsRWdGd0c2QixBaEZ4RzdDLHFCZ0Z3R2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnhHekYsZ0JBQWdCLEVtRnlHd0IsQW5Gekd4QyxnQm1GeUd3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ6Ry9FLGdCQUFnQixFbUZzSDBCLEFuRnRIMUMsa0JtRnNINEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GdEhuRixnQkFBZ0IsRW9Gc0x3QixBcEZ0THhDLGdCb0ZzTHdELEFBQUEsYUFBYSxDcEZ0THJFLGdCQUFnQixFb0Z1THdCLEFwRnZMeEMsZ0JvRnVMd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnZMakUsZ0JBQWdCLEVvRmdOMEIsQXBGaE4xQyxrQm9GZ040RCxBQUFBLGFBQWEsQ3BGaE56RSxnQkFBZ0IsRW9GaU4wQixBcEZqTjFDLGtCb0ZpTjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZqTnJFLGdCQUFnQixFNEZwQjJCLEE1Rm9CM0MsbUI0RnBCOEQsQzVGb0I5RCxnQkFBZ0IsRWlIdUJ5QixBakh2QnpDLGlCaUh1QjBELENqSHZCMUQsZ0JBQWdCLENBQUU7RUFDZCxLQUFLLEVEM0NVLHdCQUFJO0NDNkN0Qjs7QXdJekR1QyxBeEl3a0N4QyxTd0l4a0NpRCxDeEl3a0NqRCxnQkFBZ0IsRWdGdjdCMkIsQWhGdTdCM0MsbUJnRnY3QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnU3QnJGLGdCQUFnQixFZ0YxNkI2QixBaEYwNkI3QyxxQmdGMTZCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMDZCekYsZ0JBQWdCLEVtRno2QndCLEFuRnk2QnhDLGdCbUZ6NkJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5NkIvRSxnQkFBZ0IsRW1GNTVCMEIsQW5GNDVCMUMsa0JtRjU1QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjQ1Qm5GLGdCQUFnQixFb0Y1MUJ3QixBcEY0MUJ4QyxnQm9GNTFCd0QsQUFBQSxhQUFhLENwRjQxQnJFLGdCQUFnQixFb0YzMUJ3QixBcEYyMUJ4QyxnQm9GMzFCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjIxQmpFLGdCQUFnQixFb0ZsMEIwQixBcEZrMEIxQyxrQm9GbDBCNEQsQUFBQSxhQUFhLENwRmswQnpFLGdCQUFnQixFb0ZqMEIwQixBcEZpMEIxQyxrQm9GajBCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmkwQnJFLGdCQUFnQixFNEZ0aUMyQixBNUZzaUMzQyxtQjRGdGlDOEQsQzVGc2lDOUQsZ0JBQWdCLEVpSDMvQnlCLEFqSDIvQnpDLGlCaUgzL0IwRCxDakgyL0IxRCxnQkFBZ0IsQ0FBQztFQUFFLEtBQUssRUQ1akNMLHdCQUFJO0NDNGpDNEI7O0F3SXhrQ1gsQXhJMGtDeEMsU3dJMWtDaUQsQ3hJMGtDakQsZ0JBQWdCLEFBQUEsc0JBQXNCLEVnRno3QkssQWhGeTdCM0MsbUJnRno3QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnk3QnJGLGdCQUFnQixBQUFBLHNCQUFzQixFZ0Y1NkJPLEFoRjQ2QjdDLHFCZ0Y1NkJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY0NkJ6RixnQkFBZ0IsQUFBQSxzQkFBc0IsRW1GMzZCRSxBbkYyNkJ4QyxnQm1GMzZCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMjZCL0UsZ0JBQWdCLEFBQUEsc0JBQXNCLEVtRjk1QkksQW5GODVCMUMsa0JtRjk1QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjg1Qm5GLGdCQUFnQixBQUFBLHNCQUFzQixFb0Y5MUJFLEFwRjgxQnhDLGdCb0Y5MUJ3RCxBQUFBLGFBQWEsQ3BGODFCckUsZ0JBQWdCLEFBQUEsc0JBQXNCLEVvRjcxQkUsQXBGNjFCeEMsZ0JvRjcxQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY2MUJqRSxnQkFBZ0IsQUFBQSxzQkFBc0IsRW9GcDBCSSxBcEZvMEIxQyxrQm9GcDBCNEQsQUFBQSxhQUFhLENwRm8wQnpFLGdCQUFnQixBQUFBLHNCQUFzQixFb0ZuMEJJLEFwRm0wQjFDLGtCb0ZuMEI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbTBCckUsZ0JBQWdCLEFBQUEsc0JBQXNCLEU0RnhpQ0ssQTVGd2lDM0MsbUI0RnhpQzhELEM1RndpQzlELGdCQUFnQixBQUFBLHNCQUFzQixFaUg3L0JHLEFqSDYvQnpDLGlCaUg3L0IwRCxDakg2L0IxRCxnQkFBZ0IsQUFBQSxzQkFBc0IsQ0FBQztFQUFFLEtBQUssRUQ5akMzQix3QkFBSSxDQzhqQzJELFVBQVU7Q0FBSTs7QXdJMWtDeEQsQXhJMmtDeEMsU3dJM2tDaUQsQ3hJMmtDakQsZ0JBQWdCLEFBQUEsa0JBQWtCLEVnRjE3QlMsQWhGMDdCM0MsbUJnRjE3QjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjA3QnJGLGdCQUFnQixBQUFBLGtCQUFrQixFZ0Y3NkJXLEFoRjY2QjdDLHFCZ0Y3NkJrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2NkJ6RixnQkFBZ0IsQUFBQSxrQkFBa0IsRW1GNTZCTSxBbkY0NkJ4QyxnQm1GNTZCd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNDZCL0UsZ0JBQWdCLEFBQUEsa0JBQWtCLEVtRi81QlEsQW5GKzVCMUMsa0JtRi81QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRis1Qm5GLGdCQUFnQixBQUFBLGtCQUFrQixFb0YvMUJNLEFwRisxQnhDLGdCb0YvMUJ3RCxBQUFBLGFBQWEsQ3BGKzFCckUsZ0JBQWdCLEFBQUEsa0JBQWtCLEVvRjkxQk0sQXBGODFCeEMsZ0JvRjkxQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4MUJqRSxnQkFBZ0IsQUFBQSxrQkFBa0IsRW9GcjBCUSxBcEZxMEIxQyxrQm9GcjBCNEQsQUFBQSxhQUFhLENwRnEwQnpFLGdCQUFnQixBQUFBLGtCQUFrQixFb0ZwMEJRLEFwRm8wQjFDLGtCb0ZwMEI0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbzBCckUsZ0JBQWdCLEFBQUEsa0JBQWtCLEU0RnppQ1MsQTVGeWlDM0MsbUI0RnppQzhELEM1RnlpQzlELGdCQUFnQixBQUFBLGtCQUFrQixFaUg5L0JPLEFqSDgvQnpDLGlCaUg5L0IwRCxDakg4L0IxRCxnQkFBZ0IsQUFBQSxrQkFBa0IsQ0FBQztFQUFFLEtBQUssRUQvakN2Qix3QkFBSTtDQytqQzBEOztBd0kza0N6QyxBeEk0a0N4QyxTd0k1a0NpRCxDeEk0a0NqRCxnQkFBZ0IsQUFBQSwyQkFBMkIsRWdGMzdCQSxBaEYyN0IzQyxtQmdGMzdCOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMjdCckYsZ0JBQWdCLEFBQUEsMkJBQTJCLEVnRjk2QkUsQWhGODZCN0MscUJnRjk2QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjg2QnpGLGdCQUFnQixBQUFBLDJCQUEyQixFbUY3NkJILEFuRjY2QnhDLGdCbUY3NkJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2NkIvRSxnQkFBZ0IsQUFBQSwyQkFBMkIsRW1GaDZCRCxBbkZnNkIxQyxrQm1GaDZCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZzZCbkYsZ0JBQWdCLEFBQUEsMkJBQTJCLEVvRmgyQkgsQXBGZzJCeEMsZ0JvRmgyQndELEFBQUEsYUFBYSxDcEZnMkJyRSxnQkFBZ0IsQUFBQSwyQkFBMkIsRW9GLzFCSCxBcEYrMUJ4QyxnQm9GLzFCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRisxQmpFLGdCQUFnQixBQUFBLDJCQUEyQixFb0Z0MEJELEFwRnMwQjFDLGtCb0Z0MEI0RCxBQUFBLGFBQWEsQ3BGczBCekUsZ0JBQWdCLEFBQUEsMkJBQTJCLEVvRnIwQkQsQXBGcTBCMUMsa0JvRnIwQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxMEJyRSxnQkFBZ0IsQUFBQSwyQkFBMkIsRTRGMWlDQSxBNUYwaUMzQyxtQjRGMWlDOEQsQzVGMGlDOUQsZ0JBQWdCLEFBQUEsMkJBQTJCLEVpSC8vQkYsQWpIKy9CekMsaUJpSC8vQjBELENqSCsvQjFELGdCQUFnQixBQUFBLDJCQUEyQixDQUFDO0VBQUUsS0FBSyxFRGhrQ2hDLHdCQUFJO0NDZ2tDbUU7O0F3STVrQ2xELEF4SW1sQzdCLFN3SW5sQ3NDLEN4SW1sQ2pELFVBQVUsQ0FBQyxlQUFlLEVnRmw4QmlCLEFoRms4QmhDLG1CZ0ZsOEJtRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZrOEJyRixVQUFVLENBQUMsZUFBZSxFZ0ZyN0JtQixBaEZxN0JsQyxxQmdGcjdCdUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGcTdCekYsVUFBVSxDQUFDLGVBQWUsRW1GcDdCYyxBbkZvN0I3QixnQm1GcDdCNkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbzdCL0UsVUFBVSxDQUFDLGVBQWUsRW1GdjZCZ0IsQW5GdTZCL0Isa0JtRnY2QmlELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnU2Qm5GLFVBQVUsQ0FBQyxlQUFlLEVvRnYyQmMsQXBGdTJCN0IsZ0JvRnYyQjZDLEFBQUEsYUFBYSxDcEZ1MkJyRSxVQUFVLENBQUMsZUFBZSxFb0Z0MkJjLEFwRnMyQjdCLGdCb0Z0MkI2QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGczJCakUsVUFBVSxDQUFDLGVBQWUsRW9GNzBCZ0IsQXBGNjBCL0Isa0JvRjcwQmlELEFBQUEsYUFBYSxDcEY2MEJ6RSxVQUFVLENBQUMsZUFBZSxFb0Y1MEJnQixBcEY0MEIvQixrQm9GNTBCaUQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjQwQnJFLFVBQVUsQ0FBQyxlQUFlLEU0RmpqQ2lCLEE1RmlqQ2hDLG1CNEZqakNtRCxDNUZpakM5RCxVQUFVLENBQUMsZUFBZSxFaUh0Z0NlLEFqSHNnQzlCLGlCaUh0Z0MrQyxDakhzZ0MxRCxVQUFVLENBQUMsZUFBZSxDQUFDO0VBQUUsS0FBSyxFRHZrQ2Ysd0JBQUk7Q0N1a0MyQzs7QXdJbmxDMUIsQXhJcWxDN0IsU3dJcmxDc0MsQ3hJcWxDakQsVUFBVSxDQUFDLGVBQWUsQUFBQSxNQUFNLEVnRnA4QlcsQWhGbzhCaEMsbUJnRnA4Qm1ELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm84QnJGLFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFZ0Z2N0JhLEFoRnU3QmxDLHFCZ0Z2N0J1RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1N0J6RixVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sRW1GdDdCUSxBbkZzN0I3QixnQm1GdDdCNkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GczdCL0UsVUFBVSxDQUFDLGVBQWUsQUFBQSxNQUFNLEVtRno2QlUsQW5GeTZCL0Isa0JtRno2QmlELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnk2Qm5GLFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFb0Z6MkJRLEFwRnkyQjdCLGdCb0Z6MkI2QyxBQUFBLGFBQWEsQ3BGeTJCckUsVUFBVSxDQUFDLGVBQWUsQUFBQSxNQUFNLEVvRngyQlEsQXBGdzJCN0IsZ0JvRngyQjZDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ3MkJqRSxVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sRW9GLzBCVSxBcEYrMEIvQixrQm9GLzBCaUQsQUFBQSxhQUFhLENwRiswQnpFLFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFb0Y5MEJVLEFwRjgwQi9CLGtCb0Y5MEJpRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGODBCckUsVUFBVSxDQUFDLGVBQWUsQUFBQSxNQUFNLEU0Rm5qQ1csQTVGbWpDaEMsbUI0Rm5qQ21ELEM1Rm1qQzlELFVBQVUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxFaUh4Z0NTLEFqSHdnQzlCLGlCaUh4Z0MrQyxDakh3Z0MxRCxVQUFVLENBQUMsZUFBZSxBQUFBLE1BQU0sQ0FBQztFQUFFLEtBQUssRUR6a0NyQix3QkFBSTtDQ3lrQ2lEOztBd0lybENoQyxBeEkybENyQixTd0kzbEM4QixDeEkybENqRCxrQkFBa0IsQ0FBQyxnQkFBZ0IsRWdGMThCUSxBaEYwOEJ4QixtQmdGMThCMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMDhCckYsa0JBQWtCLENBQUMsZ0JBQWdCLEVnRjc3QlUsQWhGNjdCMUIscUJnRjc3QitDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjY3QnpGLGtCQUFrQixDQUFDLGdCQUFnQixFbUY1N0JLLEFuRjQ3QnJCLGdCbUY1N0JxQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY0N0IvRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRW1GLzZCTyxBbkYrNkJ2QixrQm1GLzZCeUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GKzZCbkYsa0JBQWtCLENBQUMsZ0JBQWdCLEVvRi8yQkssQXBGKzJCckIsZ0JvRi8yQnFDLEFBQUEsYUFBYSxDcEYrMkJyRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRW9GOTJCSyxBcEY4MkJyQixnQm9GOTJCcUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjgyQmpFLGtCQUFrQixDQUFDLGdCQUFnQixFb0ZyMUJPLEFwRnExQnZCLGtCb0ZyMUJ5QyxBQUFBLGFBQWEsQ3BGcTFCekUsa0JBQWtCLENBQUMsZ0JBQWdCLEVvRnAxQk8sQXBGbzFCdkIsa0JvRnAxQnlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZvMUJyRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRTRGempDUSxBNUZ5akN4QixtQjRGempDMkMsQzVGeWpDOUQsa0JBQWtCLENBQUMsZ0JBQWdCLEVpSDlnQ00sQWpIOGdDdEIsaUJpSDlnQ3VDLENqSDhnQzFELGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO0VBQ2hDLGdCQUFnQixFRHJaWSxXQUFXO0VDMDhCSCxZQUFZLEVEcm9EakMsd0JBQUk7Q0NrbEN0Qjs7QXdJOWxDdUMsQXhJK2xDckIsU3dJL2xDOEIsQ3hJK2xDakQsa0JBQWtCLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxFZ0Y5OEJFLEFoRjg4QnhCLG1CZ0Y5OEIyQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4OEJyRixrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEVnRmo4QkksQWhGaThCMUIscUJnRmo4QitDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmk4QnpGLGtCQUFrQixDQUFDLGdCQUFnQixBQUFBLE1BQU0sRW1GaDhCRCxBbkZnOEJyQixnQm1GaDhCcUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZzhCL0Usa0JBQWtCLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxFbUZuN0JDLEFuRm03QnZCLGtCbUZuN0J5QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtN0JuRixrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEVvRm4zQkQsQXBGbTNCckIsZ0JvRm4zQnFDLEFBQUEsYUFBYSxDcEZtM0JyRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEVvRmwzQkQsQXBGazNCckIsZ0JvRmwzQnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrM0JqRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEVvRnoxQkMsQXBGeTFCdkIsa0JvRnoxQnlDLEFBQUEsYUFBYSxDcEZ5MUJ6RSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEVvRngxQkMsQXBGdzFCdkIsa0JvRngxQnlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ3MUJyRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQUFBQSxNQUFNLEU0RjdqQ0UsQTVGNmpDeEIsbUI0RjdqQzJDLEM1RjZqQzlELGtCQUFrQixDQUFDLGdCQUFnQixBQUFBLE1BQU0sRWlIbGhDQSxBakhraEN0QixpQmlIbGhDdUMsQ2pIa2hDMUQsa0JBQWtCLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDO0VBQ3RDLGdCQUFnQixFRHpaWSxXQUFXO0NDMloxQzs7QXdJbG1DdUMsQXhJb21DdEIsU3dJcG1DK0IsQ3hJb21DakQsaUJBQWlCLENBQUMsZ0JBQWdCLEVnRm45QlMsQWhGbTlCekIsbUJnRm45QjRDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm05QnJGLGlCQUFpQixDQUFDLGdCQUFnQixFZ0Z0OEJXLEFoRnM4QjNCLHFCZ0Z0OEJnRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzOEJ6RixpQkFBaUIsQ0FBQyxnQkFBZ0IsRW1GcjhCTSxBbkZxOEJ0QixnQm1GcjhCc0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcThCL0UsaUJBQWlCLENBQUMsZ0JBQWdCLEVtRng3QlEsQW5GdzdCeEIsa0JtRng3QjBDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnc3Qm5GLGlCQUFpQixDQUFDLGdCQUFnQixFb0Z4M0JNLEFwRnczQnRCLGdCb0Z4M0JzQyxBQUFBLGFBQWEsQ3BGdzNCckUsaUJBQWlCLENBQUMsZ0JBQWdCLEVvRnYzQk0sQXBGdTNCdEIsZ0JvRnYzQnNDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1M0JqRSxpQkFBaUIsQ0FBQyxnQkFBZ0IsRW9GOTFCUSxBcEY4MUJ4QixrQm9GOTFCMEMsQUFBQSxhQUFhLENwRjgxQnpFLGlCQUFpQixDQUFDLGdCQUFnQixFb0Y3MUJRLEFwRjYxQnhCLGtCb0Y3MUIwQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNjFCckUsaUJBQWlCLENBQUMsZ0JBQWdCLEU0RmxrQ1MsQTVGa2tDekIsbUI0RmxrQzRDLEM1RmtrQzlELGlCQUFpQixDQUFDLGdCQUFnQixFaUh2aENPLEFqSHVoQ3ZCLGlCaUh2aEN3QyxDakh1aEMxRCxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQztFQUMvQixnQkFBZ0IsRUQ1WlcsV0FBVztDQzhaekM7O0F3SXZtQ3VDLEF4SXltQ3ZCLFN3SXptQ2dDLEN4SXltQ2pELGdCQUFnQixDQUFDLGdCQUFnQixFZ0Z4OUJVLEFoRnc5QjFCLG1CZ0Z4OUI2QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ3OUJyRixnQkFBZ0IsQ0FBQyxnQkFBZ0IsRWdGMzhCWSxBaEYyOEI1QixxQmdGMzhCaUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMjhCekYsZ0JBQWdCLENBQUMsZ0JBQWdCLEVtRjE4Qk8sQW5GMDhCdkIsZ0JtRjE4QnVDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjA4Qi9FLGdCQUFnQixDQUFDLGdCQUFnQixFbUY3N0JTLEFuRjY3QnpCLGtCbUY3N0IyQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2N0JuRixnQkFBZ0IsQ0FBQyxnQkFBZ0IsRW9GNzNCTyxBcEY2M0J2QixnQm9GNzNCdUMsQUFBQSxhQUFhLENwRjYzQnJFLGdCQUFnQixDQUFDLGdCQUFnQixFb0Y1M0JPLEFwRjQzQnZCLGdCb0Y1M0J1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNDNCakUsZ0JBQWdCLENBQUMsZ0JBQWdCLEVvRm4yQlMsQXBGbTJCekIsa0JvRm4yQjJDLEFBQUEsYUFBYSxDcEZtMkJ6RSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRW9GbDJCUyxBcEZrMkJ6QixrQm9GbDJCMkMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmsyQnJFLGdCQUFnQixDQUFDLGdCQUFnQixFNEZ2a0NVLEE1RnVrQzFCLG1CNEZ2a0M2QyxDNUZ1a0M5RCxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRWlINWhDUSxBakg0aEN4QixpQmlINWhDeUMsQ2pINGhDMUQsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7RUFDOUIsZ0JBQWdCLEVEaGFVLFdBQVc7Q0NrYXhDOztBd0k1bUN1QyxBeElrbkN4QyxTd0lsbkNpRCxDeElrbkNqRCxpQkFBaUIsRWdGaitCMEIsQWhGaStCM0MsbUJnRmorQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmkrQnJGLGlCQUFpQixFZ0ZwOUI0QixBaEZvOUI3QyxxQmdGcDlCa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbzlCekYsaUJBQWlCLEVtRm45QnVCLEFuRm05QnhDLGdCbUZuOUJ3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtOUIvRSxpQkFBaUIsRW1GdDhCeUIsQW5GczhCMUMsa0JtRnQ4QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnM4Qm5GLGlCQUFpQixFb0Z0NEJ1QixBcEZzNEJ4QyxnQm9GdDRCd0QsQUFBQSxhQUFhLENwRnM0QnJFLGlCQUFpQixFb0ZyNEJ1QixBcEZxNEJ4QyxnQm9GcjRCd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnE0QmpFLGlCQUFpQixFb0Y1MkJ5QixBcEY0MkIxQyxrQm9GNTJCNEQsQUFBQSxhQUFhLENwRjQyQnpFLGlCQUFpQixFb0YzMkJ5QixBcEYyMkIxQyxrQm9GMzJCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjIyQnJFLGlCQUFpQixFNEZobEMwQixBNUZnbEMzQyxtQjRGaGxDOEQsQzVGZ2xDOUQsaUJBQWlCLEVpSHJpQ3dCLEFqSHFpQ3pDLGlCaUhyaUMwRCxDakhxaUMxRCxpQkFBaUIsQ0FBQztFQUNkLEtBQUssRUR2bUNVLHdCQUFJO0NDeW1DdEI7O0F3SXJuQ3VDLEF4SXVuQ3hDLFN3SXZuQ2lELEN4SXVuQ2pELGlCQUFpQixBQUFBLE1BQU0sRWdGdCtCb0IsQWhGcytCM0MsbUJnRnQrQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnMrQnJGLGlCQUFpQixBQUFBLE1BQU0sRWdGejlCc0IsQWhGeTlCN0MscUJnRno5QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnk5QnpGLGlCQUFpQixBQUFBLE1BQU0sRW1GeDlCaUIsQW5GdzlCeEMsZ0JtRng5QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnc5Qi9FLGlCQUFpQixBQUFBLE1BQU0sRW1GMzhCbUIsQW5GMjhCMUMsa0JtRjM4QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjI4Qm5GLGlCQUFpQixBQUFBLE1BQU0sRW9GMzRCaUIsQXBGMjRCeEMsZ0JvRjM0QndELEFBQUEsYUFBYSxDcEYyNEJyRSxpQkFBaUIsQUFBQSxNQUFNLEVvRjE0QmlCLEFwRjA0QnhDLGdCb0YxNEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMDRCakUsaUJBQWlCLEFBQUEsTUFBTSxFb0ZqM0JtQixBcEZpM0IxQyxrQm9GajNCNEQsQUFBQSxhQUFhLENwRmkzQnpFLGlCQUFpQixBQUFBLE1BQU0sRW9GaDNCbUIsQXBGZzNCMUMsa0JvRmgzQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZnM0JyRSxpQkFBaUIsQUFBQSxNQUFNLEU0RnJsQ29CLEE1RnFsQzNDLG1CNEZybEM4RCxDNUZxbEM5RCxpQkFBaUIsQUFBQSxNQUFNLEVpSDFpQ2tCLEFqSDBpQ3pDLGlCaUgxaUMwRCxDakgwaUMxRCxpQkFBaUIsQUFBQSxNQUFNO0F3SXZuQ2lCLEF4SXduQ3hDLFN3SXhuQ2lELEN4SXduQ2pELGlCQUFpQixBQUFBLE1BQU0sRWdGditCb0IsQWhGdStCM0MsbUJnRnYrQjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnUrQnJGLGlCQUFpQixBQUFBLE1BQU0sRWdGMTlCc0IsQWhGMDlCN0MscUJnRjE5QmtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjA5QnpGLGlCQUFpQixBQUFBLE1BQU0sRW1GejlCaUIsQW5GeTlCeEMsZ0JtRno5QndELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnk5Qi9FLGlCQUFpQixBQUFBLE1BQU0sRW1GNThCbUIsQW5GNDhCMUMsa0JtRjU4QjRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjQ4Qm5GLGlCQUFpQixBQUFBLE1BQU0sRW9GNTRCaUIsQXBGNDRCeEMsZ0JvRjU0QndELEFBQUEsYUFBYSxDcEY0NEJyRSxpQkFBaUIsQUFBQSxNQUFNLEVvRjM0QmlCLEFwRjI0QnhDLGdCb0YzNEJ3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMjRCakUsaUJBQWlCLEFBQUEsTUFBTSxFb0ZsM0JtQixBcEZrM0IxQyxrQm9GbDNCNEQsQUFBQSxhQUFhLENwRmszQnpFLGlCQUFpQixBQUFBLE1BQU0sRW9GajNCbUIsQXBGaTNCMUMsa0JvRmozQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpM0JyRSxpQkFBaUIsQUFBQSxNQUFNLEU0RnRsQ29CLEE1RnNsQzNDLG1CNEZ0bEM4RCxDNUZzbEM5RCxpQkFBaUIsQUFBQSxNQUFNLEVpSDNpQ2tCLEFqSDJpQ3pDLGlCaUgzaUMwRCxDakgyaUMxRCxpQkFBaUIsQUFBQSxNQUFNLENBQUM7RUFDcEIsS0FBSyxFRDdtQ1Usd0JBQUk7Q0MrbUN0Qjs7QXdJM25DdUMsQXhJb29DTCxTd0lwb0NjLEN4SW9vQ2pELG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFZ0ZuL0JBLEFoRm0vQlIsbUJnRm4vQjJCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm0vQnJGLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFZ0Z0K0JFLEFoRnMrQlYscUJnRnQrQitCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnMrQnpGLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFbUZyK0JILEFuRnErQkwsZ0JtRnIrQnFCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnErQi9FLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFbUZ4OUJELEFuRnc5QlAsa0JtRng5QnlCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnc5Qm5GLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0Z4NUJILEFwRnc1QkwsZ0JvRng1QnFCLEFBQUEsYUFBYSxDcEZ3NUJyRSxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW9GdjVCSCxBcEZ1NUJMLGdCb0Z2NUJxQixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdTVCakUsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLENBQUMsQUFBQSxPQUFPLEVvRjkzQkQsQXBGODNCUCxrQm9GOTNCeUIsQUFBQSxhQUFhLENwRjgzQnpFLG1CQUFtQixHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0Y3M0JELEFwRjYzQlAsa0JvRjczQnlCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY2M0JyRSxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRTRGbG1DQSxBNUZrbUNSLG1CNEZsbUMyQixDNUZrbUM5RCxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRWlIdmpDRixBakh1akNOLGlCaUh2akN1QixDakh1akMxRCxtQkFBbUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFb0Uzb0M1QyxnQkFBZ0IsRUFBRSwrV0FBd0I7Q3BFOG9DekM7O0F3SXZvQ3VDLEF4SXlvQ0csU3dJem9DTSxDeEl5b0NqRCxtQkFBbUIsR0FBRyxVQUFVLEFBQUEsUUFBUSxHQUFHLENBQUMsQUFBQSxPQUFPLEVnRngvQlIsQWhGdy9CQSxtQmdGeC9CbUIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGdy9CckYsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFZ0YzK0JOLEFoRjIrQkYscUJnRjMrQnVCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjIrQnpGLG1CQUFtQixHQUFHLFVBQVUsQUFBQSxRQUFRLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW1GMStCWCxBbkYwK0JHLGdCbUYxK0JhLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjArQi9FLG1CQUFtQixHQUFHLFVBQVUsQUFBQSxRQUFRLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW1GNzlCVCxBbkY2OUJDLGtCbUY3OUJpQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2OUJuRixtQkFBbUIsR0FBRyxVQUFVLEFBQUEsUUFBUSxHQUFHLENBQUMsQUFBQSxPQUFPLEVvRjc1QlgsQXBGNjVCRyxnQm9GNzVCYSxBQUFBLGFBQWEsQ3BGNjVCckUsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0Y1NUJYLEFwRjQ1QkcsZ0JvRjU1QmEsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjQ1QmpFLG1CQUFtQixHQUFHLFVBQVUsQUFBQSxRQUFRLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW9GbjRCVCxBcEZtNEJDLGtCb0ZuNEJpQixBQUFBLGFBQWEsQ3BGbTRCekUsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0ZsNEJULEFwRms0QkMsa0JvRmw0QmlCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrNEJyRSxtQkFBbUIsR0FBRyxVQUFVLEFBQUEsUUFBUSxHQUFHLENBQUMsQUFBQSxPQUFPLEU0RnZtQ1IsQTVGdW1DQSxtQjRGdm1DbUIsQzVGdW1DOUQsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxFaUg1akNWLEFqSDRqQ0UsaUJpSDVqQ2UsQ2pINGpDMUQsbUJBQW1CLEdBQUcsVUFBVSxBQUFBLFFBQVEsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0VvRWhwQ3BELGdCQUFnQixFQUFFLDhXQUF3QjtDcEVncEMwRzs7QXdJem9DNUcsQXhJK29DakIsU3dJL29DMEIsQ3hJK29DakQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVnRjkvQm1CLEFoRjgvQnBCLG1CZ0Y5L0J1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4L0JyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRWdGai9CcUIsQWhGaS9CdEIscUJnRmovQjJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmkvQnpGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFbUZoL0JnQixBbkZnL0JqQixnQm1GaC9CaUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZy9CL0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVtRm4rQmtCLEFuRm0rQm5CLGtCbUZuK0JxQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtK0JuRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GbjZCZ0IsQXBGbTZCakIsZ0JvRm42QmlDLEFBQUEsYUFBYSxDcEZtNkJyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GbDZCZ0IsQXBGazZCakIsZ0JvRmw2QmlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrNkJqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GejRCa0IsQXBGeTRCbkIsa0JvRno0QnFDLEFBQUEsYUFBYSxDcEZ5NEJ6RSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GeDRCa0IsQXBGdzRCbkIsa0JvRng0QnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ3NEJyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRTRGN21DbUIsQTVGNm1DcEIsbUI0RjdtQ3VDLEM1RjZtQzlELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFaUhsa0NpQixBakhra0NsQixpQmlIbGtDbUMsQ2pIa2tDMUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFDckIsS0FBSyxFRHBvQ1Usd0JBQUk7Q0Nzb0N0Qjs7QXdJbHBDdUMsQXhJb3BDakIsU3dJcHBDMEIsQ3hJb3BDakQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0ZuZ0NhLEFoRm1nQ3BCLG1CZ0ZuZ0N1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZtZ0NyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVnRnQvQmUsQWhGcy9CdEIscUJnRnQvQjJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnMvQnpGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1Gci9CVSxBbkZxL0JqQixnQm1Gci9CaUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcS9CL0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUZ4K0JZLEFuRncrQm5CLGtCbUZ4K0JxQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3K0JuRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRng2QlUsQXBGdzZCakIsZ0JvRng2QmlDLEFBQUEsYUFBYSxDcEZ3NkJyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRnY2QlUsQXBGdTZCakIsZ0JvRnY2QmlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1NkJqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjk0QlksQXBGODRCbkIsa0JvRjk0QnFDLEFBQUEsYUFBYSxDcEY4NEJ6RSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjc0QlksQXBGNjRCbkIsa0JvRjc0QnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY2NEJyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEU0RmxuQ2EsQTVGa25DcEIsbUI0RmxuQ3VDLEM1RmtuQzlELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWlIdmtDVyxBakh1a0NsQixpQmlIdmtDbUMsQ2pIdWtDMUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtBd0lwcENVLEF4SXFwQ2pCLFN3SXJwQzBCLEN4SXFwQ2pELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGcGdDYSxBaEZvZ0NwQixtQmdGcGdDdUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb2dDckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0Z2L0JlLEFoRnUvQnRCLHFCZ0Z2L0IyQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1L0J6RixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVtRnQvQlUsQW5Gcy9CakIsZ0JtRnQvQmlDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnMvQi9FLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1GeitCWSxBbkZ5K0JuQixrQm1GeitCcUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeStCbkYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Z6NkJVLEFwRnk2QmpCLGdCb0Z6NkJpQyxBQUFBLGFBQWEsQ3BGeTZCckUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Z4NkJVLEFwRnc2QmpCLGdCb0Z4NkJpQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdzZCakUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0YvNEJZLEFwRis0Qm5CLGtCb0YvNEJxQyxBQUFBLGFBQWEsQ3BGKzRCekUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Y5NEJZLEFwRjg0Qm5CLGtCb0Y5NEJxQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGODRCckUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFNEZubkNhLEE1Rm1uQ3BCLG1CNEZubkN1QyxDNUZtbkM5RCxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVpSHhrQ1csQWpId2tDbEIsaUJpSHhrQ21DLENqSHdrQzFELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUMzQixLQUFLLEVEMW9DVSx3QkFBSTtDQzRvQ3RCOztBd0l4cEN1QyxBeEkwcENQLFN3STFwQ2dCLEN4STBwQ2pELGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRWdGemdDUyxBaEZ5Z0NWLG1CZ0Z6Z0M2QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ5Z0NyRixlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVnRjUvQlcsQWhGNC9CWixxQmdGNS9CaUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNC9CekYsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFbUYzL0JNLEFuRjIvQlAsZ0JtRjMvQnVCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjIvQi9FLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW1GOStCUSxBbkY4K0JULGtCbUY5K0IyQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY4K0JuRixlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRjk2Qk0sQXBGODZCUCxnQm9GOTZCdUIsQUFBQSxhQUFhLENwRjg2QnJFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW9GNzZCTSxBcEY2NkJQLGdCb0Y3NkJ1QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNjZCakUsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0ZwNUJRLEFwRm81QlQsa0JvRnA1QjJCLEFBQUEsYUFBYSxDcEZvNUJ6RSxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRm41QlEsQXBGbTVCVCxrQm9GbjVCMkIsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm01QnJFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRTRGeG5DUyxBNUZ3bkNWLG1CNEZ4bkM2QixDNUZ3bkM5RCxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVpSDdrQ08sQWpINmtDUixpQmlIN2tDeUIsQ2pINmtDMUQsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQy9CLEtBQUssRUQvb0NVLElBQUk7Q0NpcEN0Qjs7QXdJN3BDdUMsQXhJK3BDeEIsU3dJL3BDaUMsQ3hJK3BDakQsZUFBZSxDQUFDLGNBQWMsRWdGOWdDYSxBaEY4Z0MzQixtQmdGOWdDOEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGOGdDckYsZUFBZSxDQUFDLGNBQWMsRWdGamdDZSxBaEZpZ0M3QixxQmdGamdDa0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaWdDekYsZUFBZSxDQUFDLGNBQWMsRW1GaGdDVSxBbkZnZ0N4QixnQm1GaGdDd0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ2dDL0UsZUFBZSxDQUFDLGNBQWMsRW1Gbi9CWSxBbkZtL0IxQixrQm1Gbi9CNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbS9CbkYsZUFBZSxDQUFDLGNBQWMsRW9GbjdCVSxBcEZtN0J4QixnQm9GbjdCd0MsQUFBQSxhQUFhLENwRm03QnJFLGVBQWUsQ0FBQyxjQUFjLEVvRmw3QlUsQXBGazdCeEIsZ0JvRmw3QndDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrN0JqRSxlQUFlLENBQUMsY0FBYyxFb0Z6NUJZLEFwRnk1QjFCLGtCb0Z6NUI0QyxBQUFBLGFBQWEsQ3BGeTVCekUsZUFBZSxDQUFDLGNBQWMsRW9GeDVCWSxBcEZ3NUIxQixrQm9GeDVCNEMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnc1QnJFLGVBQWUsQ0FBQyxjQUFjLEU0RjduQ2EsQTVGNm5DM0IsbUI0RjduQzhDLEM1RjZuQzlELGVBQWUsQ0FBQyxjQUFjLEVpSGxsQ1csQWpIa2xDekIsaUJpSGxsQzBDLENqSGtsQzFELGVBQWUsQ0FBQyxjQUFjLENBQUM7RUFDM0IsS0FBSyxFRHBwQ1UsSUFBSTtDQ3NwQ3RCOztBd0lscUN1QyxBeElvcUN4QixTd0lwcUNpQyxDeElvcUNqRCxlQUFlLENBQUMsZUFBZSxFZ0ZuaENZLEFoRm1oQzNCLG1CZ0ZuaEM4QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZtaENyRixlQUFlLENBQUMsZUFBZSxFZ0Z0Z0NjLEFoRnNnQzdCLHFCZ0Z0Z0NrRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzZ0N6RixlQUFlLENBQUMsZUFBZSxFbUZyZ0NTLEFuRnFnQ3hCLGdCbUZyZ0N3QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxZ0MvRSxlQUFlLENBQUMsZUFBZSxFbUZ4L0JXLEFuRncvQjFCLGtCbUZ4L0I0QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3L0JuRixlQUFlLENBQUMsZUFBZSxFb0Z4N0JTLEFwRnc3QnhCLGdCb0Z4N0J3QyxBQUFBLGFBQWEsQ3BGdzdCckUsZUFBZSxDQUFDLGVBQWUsRW9GdjdCUyxBcEZ1N0J4QixnQm9GdjdCd0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnU3QmpFLGVBQWUsQ0FBQyxlQUFlLEVvRjk1QlcsQXBGODVCMUIsa0JvRjk1QjRDLEFBQUEsYUFBYSxDcEY4NUJ6RSxlQUFlLENBQUMsZUFBZSxFb0Y3NUJXLEFwRjY1QjFCLGtCb0Y3NUI0QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNjVCckUsZUFBZSxDQUFDLGVBQWUsRTRGbG9DWSxBNUZrb0MzQixtQjRGbG9DOEMsQzVGa29DOUQsZUFBZSxDQUFDLGVBQWUsRWlIdmxDVSxBakh1bEN6QixpQmlIdmxDMEMsQ2pIdWxDMUQsZUFBZSxDQUFDLGVBQWUsQ0FBQztFQUM1QixnQkFBZ0IsRUR6cENELHdCQUFJO0NDMnBDdEI7O0F3SXZxQ3VDLEF4SXlxQ1osU3dJenFDcUIsQ3hJeXFDakQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVnRnhoQ2MsQWhGd2hDZixtQmdGeGhDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGd2hDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVnRjNnQ2dCLEFoRjJnQ2pCLHFCZ0YzZ0NzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYyZ0N6RixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW1GMWdDVyxBbkYwZ0NaLGdCbUYxZ0M0QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYwZ0MvRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW1GNy9CYSxBbkY2L0JkLGtCbUY3L0JnQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2L0JuRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW9GNzdCVyxBcEY2N0JaLGdCb0Y3N0I0QixBQUFBLGFBQWEsQ3BGNjdCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVvRjU3QlcsQXBGNDdCWixnQm9GNTdCNEIsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjQ3QmpFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFb0ZuNkJhLEFwRm02QmQsa0JvRm42QmdDLEFBQUEsYUFBYSxDcEZtNkJ6RSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW9GbDZCYSxBcEZrNkJkLGtCb0ZsNkJnQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGazZCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEU0RnZvQ2MsQTVGdW9DZixtQjRGdm9Da0MsQzVGdW9DOUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVpSDVsQ1ksQWpINGxDYixpQmlINWxDOEIsQ2pINGxDMUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7RUFBRSxLQUFLLEVEN3BDbEIsd0JBQUk7Q0M2cEMyRDs7QXdJenFDMUMsQXhJMnFDWixTd0kzcUNxQixDeEkycUNqRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVnRjFoQ1EsQWhGMGhDZixtQmdGMWhDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMGhDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFZ0Y3Z0NVLEFoRjZnQ2pCLHFCZ0Y3Z0NzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2Z0N6RixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVtRjVnQ0ssQW5GNGdDWixnQm1GNWdDNEIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNGdDL0UsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFbUYvL0JPLEFuRisvQmQsa0JtRi8vQmdDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRisvQm5GLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GLzdCSyxBcEYrN0JaLGdCb0YvN0I0QixBQUFBLGFBQWEsQ3BGKzdCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFb0Y5N0JLLEFwRjg3QlosZ0JvRjk3QjRCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4N0JqRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVvRnI2Qk8sQXBGcTZCZCxrQm9GcjZCZ0MsQUFBQSxhQUFhLENwRnE2QnpFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GcDZCTyxBcEZvNkJkLGtCb0ZwNkJnQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbzZCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFNEZ6b0NRLEE1RnlvQ2YsbUI0RnpvQ2tDLEM1RnlvQzlELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRWlIOWxDTSxBakg4bENiLGlCaUg5bEM4QixDakg4bEMxRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0F3STNxQ0ssQXhJNHFDWixTd0k1cUNxQixDeEk0cUNqRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVnRjNoQ1EsQWhGMmhDZixtQmdGM2hDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMmhDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFZ0Y5Z0NVLEFoRjhnQ2pCLHFCZ0Y5Z0NzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4Z0N6RixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVtRjdnQ0ssQW5GNmdDWixnQm1GN2dDNEIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNmdDL0UsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFbUZoZ0NPLEFuRmdnQ2Qsa0JtRmhnQ2dDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmdnQ25GLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GaDhCSyxBcEZnOEJaLGdCb0ZoOEI0QixBQUFBLGFBQWEsQ3BGZzhCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFb0YvN0JLLEFwRis3QlosZ0JvRi83QjRCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYrN0JqRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVvRnQ2Qk8sQXBGczZCZCxrQm9GdDZCZ0MsQUFBQSxhQUFhLENwRnM2QnpFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GcjZCTyxBcEZxNkJkLGtCb0ZyNkJnQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcTZCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFNEYxb0NRLEE1RjBvQ2YsbUI0RjFvQ2tDLEM1RjBvQzlELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRWlIL2xDTSxBakgrbENiLGlCaUgvbEM4QixDakgrbEMxRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFBRSxLQUFLLEVEaHFDeEIsd0JBQUk7Q0NncUN1RTs7QXdJNXFDdEQsQXhJa3JDakIsU3dJbHJDMEIsQ3hJa3JDakQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVnRmppQ21CLEFoRmlpQ3BCLG1CZ0ZqaUN1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZpaUNyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRWdGcGhDcUIsQWhGb2hDdEIscUJnRnBoQzJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm9oQ3pGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFbUZuaENnQixBbkZtaENqQixnQm1GbmhDaUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbWhDL0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVtRnRnQ2tCLEFuRnNnQ25CLGtCbUZ0Z0NxQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzZ0NuRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GdDhCZ0IsQXBGczhCakIsZ0JvRnQ4QmlDLEFBQUEsYUFBYSxDcEZzOEJyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GcjhCZ0IsQXBGcThCakIsZ0JvRnI4QmlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxOEJqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GNTZCa0IsQXBGNDZCbkIsa0JvRjU2QnFDLEFBQUEsYUFBYSxDcEY0NkJ6RSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GMzZCa0IsQXBGMjZCbkIsa0JvRjM2QnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYyNkJyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRTRGaHBDbUIsQTVGZ3BDcEIsbUI0RmhwQ3VDLEM1RmdwQzlELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFaUhybUNpQixBakhxbUNsQixpQmlIcm1DbUMsQ2pIcW1DMUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFDckIsS0FBSyxFRHZxQ1Usd0JBQUk7Q0N5cUN0Qjs7QXdJcnJDdUMsQXhJdXJDakIsU3dJdnJDMEIsQ3hJdXJDakQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0Z0aUNhLEFoRnNpQ3BCLG1CZ0Z0aUN1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzaUNyRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVnRnpoQ2UsQWhGeWhDdEIscUJnRnpoQzJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnloQ3pGLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1GeGhDVSxBbkZ3aENqQixnQm1GeGhDaUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gd2hDL0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUYzZ0NZLEFuRjJnQ25CLGtCbUYzZ0NxQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYyZ0NuRixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjM4QlUsQXBGMjhCakIsZ0JvRjM4QmlDLEFBQUEsYUFBYSxDcEYyOEJyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjE4QlUsQXBGMDhCakIsZ0JvRjE4QmlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYwOEJqRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRmo3QlksQXBGaTdCbkIsa0JvRmo3QnFDLEFBQUEsYUFBYSxDcEZpN0J6RSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRmg3QlksQXBGZzdCbkIsa0JvRmg3QnFDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZnN0JyRSxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEU0RnJwQ2EsQTVGcXBDcEIsbUI0RnJwQ3VDLEM1RnFwQzlELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWlIMW1DVyxBakgwbUNsQixpQmlIMW1DbUMsQ2pIMG1DMUQsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTTtBd0l2ckNVLEF4SXdyQ2pCLFN3SXhyQzBCLEN4SXdyQ2pELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGdmlDYSxBaEZ1aUNwQixtQmdGdmlDdUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGdWlDckYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0YxaENlLEFoRjBoQ3RCLHFCZ0YxaEMyQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwaEN6RixlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVtRnpoQ1UsQW5GeWhDakIsZ0JtRnpoQ2lDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnloQy9FLGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1GNWdDWSxBbkY0Z0NuQixrQm1GNWdDcUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNGdDbkYsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Y1OEJVLEFwRjQ4QmpCLGdCb0Y1OEJpQyxBQUFBLGFBQWEsQ3BGNDhCckUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0YzOEJVLEFwRjI4QmpCLGdCb0YzOEJpQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMjhCakUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0ZsN0JZLEFwRms3Qm5CLGtCb0ZsN0JxQyxBQUFBLGFBQWEsQ3BGazdCekUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0ZqN0JZLEFwRmk3Qm5CLGtCb0ZqN0JxQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaTdCckUsZUFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFNEZ0cENhLEE1RnNwQ3BCLG1CNEZ0cEN1QyxDNUZzcEM5RCxlQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVpSDNtQ1csQWpIMm1DbEIsaUJpSDNtQ21DLENqSDJtQzFELGVBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUMzQixLQUFLLEVEN3FDVSx3QkFBSTtDQytxQ3RCOztBd0kzckN1QyxBeEk2ckNQLFN3STdyQ2dCLEN4STZyQ2pELGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRWdGNWlDUyxBaEY0aUNWLG1CZ0Y1aUM2QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY0aUNyRixlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVnRi9oQ1csQWhGK2hDWixxQmdGL2hDaUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGK2hDekYsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFbUY5aENNLEFuRjhoQ1AsZ0JtRjloQ3VCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjhoQy9FLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW1GamhDUSxBbkZpaENULGtCbUZqaEMyQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpaENuRixlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRmo5Qk0sQXBGaTlCUCxnQm9GajlCdUIsQUFBQSxhQUFhLENwRmk5QnJFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW9GaDlCTSxBcEZnOUJQLGdCb0ZoOUJ1QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGZzlCakUsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0Z2N0JRLEFwRnU3QlQsa0JvRnY3QjJCLEFBQUEsYUFBYSxDcEZ1N0J6RSxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRnQ3QlEsQXBGczdCVCxrQm9GdDdCMkIsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnM3QnJFLGVBQWUsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRTRGM3BDUyxBNUYycENWLG1CNEYzcEM2QixDNUYycEM5RCxlQUFlLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVpSGhuQ08sQWpIZ25DUixpQmlIaG5DeUIsQ2pIZ25DMUQsZUFBZSxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQy9CLEtBQUssRURsckNVLElBQUk7Q0NvckN0Qjs7QXdJaHNDdUMsQXhJa3NDeEIsU3dJbHNDaUMsQ3hJa3NDakQsZUFBZSxDQUFDLGNBQWMsRWdGampDYSxBaEZpakMzQixtQmdGampDOEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaWpDckYsZUFBZSxDQUFDLGNBQWMsRWdGcGlDZSxBaEZvaUM3QixxQmdGcGlDa0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb2lDekYsZUFBZSxDQUFDLGNBQWMsRW1GbmlDVSxBbkZtaUN4QixnQm1GbmlDd0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbWlDL0UsZUFBZSxDQUFDLGNBQWMsRW1GdGhDWSxBbkZzaEMxQixrQm1GdGhDNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc2hDbkYsZUFBZSxDQUFDLGNBQWMsRW9GdDlCVSxBcEZzOUJ4QixnQm9GdDlCd0MsQUFBQSxhQUFhLENwRnM5QnJFLGVBQWUsQ0FBQyxjQUFjLEVvRnI5QlUsQXBGcTlCeEIsZ0JvRnI5QndDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxOUJqRSxlQUFlLENBQUMsY0FBYyxFb0Y1N0JZLEFwRjQ3QjFCLGtCb0Y1N0I0QyxBQUFBLGFBQWEsQ3BGNDdCekUsZUFBZSxDQUFDLGNBQWMsRW9GMzdCWSxBcEYyN0IxQixrQm9GMzdCNEMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjI3QnJFLGVBQWUsQ0FBQyxjQUFjLEU0RmhxQ2EsQTVGZ3FDM0IsbUI0RmhxQzhDLEM1RmdxQzlELGVBQWUsQ0FBQyxjQUFjLEVpSHJuQ1csQWpIcW5DekIsaUJpSHJuQzBDLENqSHFuQzFELGVBQWUsQ0FBQyxjQUFjLENBQUM7RUFDM0IsS0FBSyxFRHZyQ1UsSUFBSTtDQ3lyQ3RCOztBd0lyc0N1QyxBeEl1c0N4QixTd0l2c0NpQyxDeEl1c0NqRCxlQUFlLENBQUMsZUFBZSxFZ0Z0akNZLEFoRnNqQzNCLG1CZ0Z0akM4QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzakNyRixlQUFlLENBQUMsZUFBZSxFZ0Z6aUNjLEFoRnlpQzdCLHFCZ0Z6aUNrRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ5aUN6RixlQUFlLENBQUMsZUFBZSxFbUZ4aUNTLEFuRndpQ3hCLGdCbUZ4aUN3QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3aUMvRSxlQUFlLENBQUMsZUFBZSxFbUYzaENXLEFuRjJoQzFCLGtCbUYzaEM0QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYyaENuRixlQUFlLENBQUMsZUFBZSxFb0YzOUJTLEFwRjI5QnhCLGdCb0YzOUJ3QyxBQUFBLGFBQWEsQ3BGMjlCckUsZUFBZSxDQUFDLGVBQWUsRW9GMTlCUyxBcEYwOUJ4QixnQm9GMTlCd0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjA5QmpFLGVBQWUsQ0FBQyxlQUFlLEVvRmo4QlcsQXBGaThCMUIsa0JvRmo4QjRDLEFBQUEsYUFBYSxDcEZpOEJ6RSxlQUFlLENBQUMsZUFBZSxFb0ZoOEJXLEFwRmc4QjFCLGtCb0ZoOEI0QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGZzhCckUsZUFBZSxDQUFDLGVBQWUsRTRGcnFDWSxBNUZxcUMzQixtQjRGcnFDOEMsQzVGcXFDOUQsZUFBZSxDQUFDLGVBQWUsRWlIMW5DVSxBakgwbkN6QixpQmlIMW5DMEMsQ2pIMG5DMUQsZUFBZSxDQUFDLGVBQWUsQ0FBQztFQUM1QixnQkFBZ0IsRUQ1ckNELHdCQUFJO0NDOHJDdEI7O0F3STFzQ3VDLEF4STRzQ1osU3dJNXNDcUIsQ3hJNHNDakQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVnRjNqQ2MsQWhGMmpDZixtQmdGM2pDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMmpDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVnRjlpQ2dCLEFoRjhpQ2pCLHFCZ0Y5aUNzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4aUN6RixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW1GN2lDVyxBbkY2aUNaLGdCbUY3aUM0QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2aUMvRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW1GaGlDYSxBbkZnaUNkLGtCbUZoaUNnQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnaUNuRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW9GaCtCVyxBcEZnK0JaLGdCb0ZoK0I0QixBQUFBLGFBQWEsQ3BGZytCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVvRi85QlcsQXBGKzlCWixnQm9GLzlCNEIsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRis5QmpFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFb0Z0OEJhLEFwRnM4QmQsa0JvRnQ4QmdDLEFBQUEsYUFBYSxDcEZzOEJ6RSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRW9GcjhCYSxBcEZxOEJkLGtCb0ZyOEJnQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcThCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEU0RjFxQ2MsQTVGMHFDZixtQjRGMXFDa0MsQzVGMHFDOUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVpSC9uQ1ksQWpIK25DYixpQmlIL25DOEIsQ2pIK25DMUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7RUFBRSxLQUFLLEVEaHNDbEIsd0JBQUk7Q0Nnc0MyRDs7QXdJNXNDMUMsQXhJOHNDWixTd0k5c0NxQixDeEk4c0NqRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVnRjdqQ1EsQWhGNmpDZixtQmdGN2pDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNmpDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFZ0ZoakNVLEFoRmdqQ2pCLHFCZ0ZoakNzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnakN6RixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVtRi9pQ0ssQW5GK2lDWixnQm1GL2lDNEIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GK2lDL0UsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFbUZsaUNPLEFuRmtpQ2Qsa0JtRmxpQ2dDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmtpQ25GLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GbCtCSyxBcEZrK0JaLGdCb0ZsK0I0QixBQUFBLGFBQWEsQ3BGaytCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFb0ZqK0JLLEFwRmkrQlosZ0JvRmorQjRCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpK0JqRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVvRng4Qk8sQXBGdzhCZCxrQm9GeDhCZ0MsQUFBQSxhQUFhLENwRnc4QnpFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GdjhCTyxBcEZ1OEJkLGtCb0Z2OEJnQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdThCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFNEY1cUNRLEE1RjRxQ2YsbUI0RjVxQ2tDLEM1RjRxQzlELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRWlIam9DTSxBakhpb0NiLGlCaUhqb0M4QixDakhpb0MxRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNO0F3STlzQ0ssQXhJK3NDWixTd0kvc0NxQixDeEkrc0NqRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVnRjlqQ1EsQWhGOGpDZixtQmdGOWpDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGOGpDckYsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFZ0ZqakNVLEFoRmlqQ2pCLHFCZ0ZqakNzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZpakN6RixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVtRmhqQ0ssQW5GZ2pDWixnQm1GaGpDNEIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ2pDL0UsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFbUZuaUNPLEFuRm1pQ2Qsa0JtRm5pQ2dDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm1pQ25GLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GbitCSyxBcEZtK0JaLGdCb0ZuK0I0QixBQUFBLGFBQWEsQ3BGbStCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFb0ZsK0JLLEFwRmsrQlosZ0JvRmwrQjRCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrK0JqRSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLEVvRno4Qk8sQXBGeThCZCxrQm9GejhCZ0MsQUFBQSxhQUFhLENwRnk4QnpFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRW9GeDhCTyxBcEZ3OEJkLGtCb0Z4OEJnQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdzhCckUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEFBQUEsTUFBTSxFNEY3cUNRLEE1RjZxQ2YsbUI0RjdxQ2tDLEM1RjZxQzlELGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxBQUFBLE1BQU0sRWlIbG9DTSxBakhrb0NiLGlCaUhsb0M4QixDakhrb0MxRCxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFBRSxLQUFLLEVEbnNDeEIsd0JBQUk7Q0Ntc0N1RTs7QXdJL3NDdEQsQXhJb3RDbEIsU3dJcHRDMkIsQ3hJb3RDakQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVnRm5rQ29CLEFoRm1rQ3JCLG1CZ0Zua0N3QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZta0NyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRWdGdGpDc0IsQWhGc2pDdkIscUJnRnRqQzRDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnNqQ3pGLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFbUZyakNpQixBbkZxakNsQixnQm1GcmpDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcWpDL0UsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVtRnhpQ21CLEFuRndpQ3BCLGtCbUZ4aUNzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3aUNuRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GeCtCaUIsQXBGdytCbEIsZ0JvRngrQmtDLEFBQUEsYUFBYSxDcEZ3K0JyRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GditCaUIsQXBGdStCbEIsZ0JvRnYrQmtDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1K0JqRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GOThCbUIsQXBGODhCcEIsa0JvRjk4QnNDLEFBQUEsYUFBYSxDcEY4OEJ6RSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRW9GNzhCbUIsQXBGNjhCcEIsa0JvRjc4QnNDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY2OEJyRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsRTRGbHJDb0IsQTVGa3JDckIsbUI0RmxyQ3dDLEM1RmtyQzlELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFaUh2b0NrQixBakh1b0NuQixpQmlIdm9Db0MsQ2pIdW9DMUQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFDcEIsS0FBSyxFRHpzQ1Usd0JBQUk7Q0Myc0N0Qjs7QXdJdnRDdUMsQXhJeXRDWixTd0l6dENxQixDeEl5dENqRCxjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDLEVnRnhrQ2MsQWhGd2tDZixtQmdGeGtDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGd2tDckYsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQyxFZ0YzakNnQixBaEYyakNqQixxQmdGM2pDc0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMmpDekYsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQyxFbUYxakNXLEFuRjBqQ1osZ0JtRjFqQzRCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjBqQy9FLGNBQWMsR0FBRyxFQUFFLEFBQUEsTUFBTSxHQUFHLENBQUMsRW1GN2lDYSxBbkY2aUNkLGtCbUY3aUNnQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2aUNuRixjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDLEVvRjcrQlcsQXBGNitCWixnQm9GNytCNEIsQUFBQSxhQUFhLENwRjYrQnJFLGNBQWMsR0FBRyxFQUFFLEFBQUEsTUFBTSxHQUFHLENBQUMsRW9GNStCVyxBcEY0K0JaLGdCb0Y1K0I0QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNCtCakUsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQyxFb0ZuOUJhLEFwRm05QmQsa0JvRm45QmdDLEFBQUEsYUFBYSxDcEZtOUJ6RSxjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDLEVvRmw5QmEsQXBGazlCZCxrQm9GbDlCZ0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRms5QnJFLGNBQWMsR0FBRyxFQUFFLEFBQUEsTUFBTSxHQUFHLENBQUMsRTRGdnJDYyxBNUZ1ckNmLG1CNEZ2ckNrQyxDNUZ1ckM5RCxjQUFjLEdBQUcsRUFBRSxBQUFBLE1BQU0sR0FBRyxDQUFDLEVpSDVvQ1ksQWpING9DYixpQmlINW9DOEIsQ2pING9DMUQsY0FBYyxHQUFHLEVBQUUsQUFBQSxNQUFNLEdBQUcsQ0FBQztBd0l6dENXLEF4STB0Q2xCLFN3STF0QzJCLEN4STB0Q2pELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGemtDYyxBaEZ5a0NyQixtQmdGemtDd0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeWtDckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0Y1akNnQixBaEY0akN2QixxQmdGNWpDNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNGpDekYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUYzakNXLEFuRjJqQ2xCLGdCbUYzakNrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYyakMvRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNLEVtRjlpQ2EsQW5GOGlDcEIsa0JtRjlpQ3NDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjhpQ25GLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GOStCVyxBcEY4K0JsQixnQm9GOStCa0MsQUFBQSxhQUFhLENwRjgrQnJFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GNytCVyxBcEY2K0JsQixnQm9GNytCa0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjYrQmpFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GcDlCYSxBcEZvOUJwQixrQm9GcDlCc0MsQUFBQSxhQUFhLENwRm85QnpFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GbjlCYSxBcEZtOUJwQixrQm9GbjlCc0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm05QnJFLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRTRGeHJDYyxBNUZ3ckNyQixtQjRGeHJDd0MsQzVGd3JDOUQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsTUFBTSxFaUg3b0NZLEFqSDZvQ25CLGlCaUg3b0NvQyxDakg2b0MxRCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxNQUFNO0F3STF0Q1csQXhJMnRDbEIsU3dJM3RDMkIsQ3hJMnRDakQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUSxFZ0Yxa0NZLEFoRjBrQ3JCLG1CZ0Yxa0N3QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwa0NyRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRLEVnRjdqQ2MsQWhGNmpDdkIscUJnRjdqQzRDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjZqQ3pGLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLFFBQVEsRW1GNWpDUyxBbkY0akNsQixnQm1GNWpDa0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNGpDL0UsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUSxFbUYvaUNXLEFuRitpQ3BCLGtCbUYvaUNzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYraUNuRixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRLEVvRi8rQlMsQXBGKytCbEIsZ0JvRi8rQmtDLEFBQUEsYUFBYSxDcEYrK0JyRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRLEVvRjkrQlMsQXBGOCtCbEIsZ0JvRjkrQmtDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4K0JqRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRLEVvRnI5QlcsQXBGcTlCcEIsa0JvRnI5QnNDLEFBQUEsYUFBYSxDcEZxOUJ6RSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRLEVvRnA5QlcsQXBGbzlCcEIsa0JvRnA5QnNDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZvOUJyRSxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxRQUFRLEU0RnpyQ1ksQTVGeXJDckIsbUI0RnpyQ3dDLEM1RnlyQzlELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLFFBQVEsRWlIOW9DVSxBakg4b0NuQixpQmlIOW9Db0MsQ2pIOG9DMUQsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQzVCLEtBQUssRURodENVLHdCQUFJO0NDa3RDdEI7O0F3STl0Q3VDLEF4SWd1Q2xCLFN3SWh1QzJCLEN4SWd1Q2pELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRWdGL2tDYSxBaEYra0NyQixtQmdGL2tDd0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGK2tDckYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFZ0Zsa0NlLEFoRmtrQ3ZCLHFCZ0Zsa0M0QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZra0N6RixjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxPQUFPLEVtRmprQ1UsQW5GaWtDbEIsZ0JtRmprQ2tDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmlrQy9FLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW1GcGpDWSxBbkZvakNwQixrQm1GcGpDc0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gb2pDbkYsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0ZwL0JVLEFwRm8vQmxCLGdCb0ZwL0JrQyxBQUFBLGFBQWEsQ3BGby9CckUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0ZuL0JVLEFwRm0vQmxCLGdCb0ZuL0JrQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbS9CakUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0YxOUJZLEFwRjA5QnBCLGtCb0YxOUJzQyxBQUFBLGFBQWEsQ3BGMDlCekUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFb0Z6OUJZLEFwRnk5QnBCLGtCb0Z6OUJzQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeTlCckUsY0FBYyxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsT0FBTyxFNEY5ckNhLEE1RjhyQ3JCLG1CNEY5ckN3QyxDNUY4ckM5RCxjQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxPQUFPLEVpSG5wQ1csQWpIbXBDbkIsaUJpSG5wQ29DLENqSG1wQzFELGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUMzQixLQUFLLEVEcnRDVSxJQUFJO0NDdXRDdEI7O0F3SW51Q3VDLEF4SXF1Q1IsU3dJcnVDaUIsQ3hJcXVDakQsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFZ0ZwbENVLEFoRm9sQ1gsbUJnRnBsQzhCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm9sQ3JGLGNBQWMsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRWdGdmtDWSxBaEZ1a0NiLHFCZ0Z2a0NrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1a0N6RixjQUFjLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVtRnRrQ08sQW5Gc2tDUixnQm1GdGtDd0IsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc2tDL0UsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFbUZ6akNTLEFuRnlqQ1Ysa0JtRnpqQzRCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnlqQ25GLGNBQWMsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW9Gei9CTyxBcEZ5L0JSLGdCb0Z6L0J3QixBQUFBLGFBQWEsQ3BGeS9CckUsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFb0Z4L0JPLEFwRncvQlIsZ0JvRngvQndCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ3L0JqRSxjQUFjLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLEVvRi85QlMsQXBGKzlCVixrQm9GLzlCNEIsQUFBQSxhQUFhLENwRis5QnpFLGNBQWMsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRW9GOTlCUyxBcEY4OUJWLGtCb0Y5OUI0QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGODlCckUsY0FBYyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBQUcsQ0FBQyxFNEZuc0NVLEE1Rm1zQ1gsbUI0Rm5zQzhCLEM1Rm1zQzlELGNBQWMsR0FBRyxFQUFFLEFBQUEsVUFBVSxHQUFHLENBQUMsRWlIeHBDUSxBakh3cENULGlCaUh4cEMwQixDakh3cEMxRCxjQUFjLEdBQUcsRUFBRSxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDOUIsS0FBSyxFRDF0Q1UsSUFBSTtDQzR0Q3RCOztBd0l4dUN1QyxBeEkwdUN4QyxTd0kxdUNpRCxDeEkwdUNqRCxlQUFlLEVnRnpsQzRCLEFoRnlsQzNDLG1CZ0Z6bEM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ5bENyRixlQUFlLEVnRjVrQzhCLEFoRjRrQzdDLHFCZ0Y1a0NrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY0a0N6RixlQUFlLEVtRjNrQ3lCLEFuRjJrQ3hDLGdCbUYza0N3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYya0MvRSxlQUFlLEVtRjlqQzJCLEFuRjhqQzFDLGtCbUY5akM0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY4akNuRixlQUFlLEVvRjkvQnlCLEFwRjgvQnhDLGdCb0Y5L0J3RCxBQUFBLGFBQWEsQ3BGOC9CckUsZUFBZSxFb0Y3L0J5QixBcEY2L0J4QyxnQm9GNy9Cd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjYvQmpFLGVBQWUsRW9GcCtCMkIsQXBGbytCMUMsa0JvRnArQjRELEFBQUEsYUFBYSxDcEZvK0J6RSxlQUFlLEVvRm4rQjJCLEFwRm0rQjFDLGtCb0ZuK0I0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbStCckUsZUFBZSxFNEZ4c0M0QixBNUZ3c0MzQyxtQjRGeHNDOEQsQzVGd3NDOUQsZUFBZSxFaUg3cEMwQixBakg2cEN6QyxpQmlIN3BDMEQsQ2pINnBDMUQsZUFBZSxDQUFDO0VBQ1osS0FBSyxFRC90Q1Usd0JBQUk7Q0NpdUN0Qjs7QXdJN3VDdUMsQXhJK3VDeEMsU3dJL3VDaUQsQ3hJK3VDakQsaUJBQWlCLEVnRjlsQzBCLEFoRjhsQzNDLG1CZ0Y5bEM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4bENyRixpQkFBaUIsRWdGamxDNEIsQWhGaWxDN0MscUJnRmpsQ2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmlsQ3pGLGlCQUFpQixFbUZobEN1QixBbkZnbEN4QyxnQm1GaGxDd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ2xDL0UsaUJBQWlCLEVtRm5rQ3lCLEFuRm1rQzFDLGtCbUZua0M0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZta0NuRixpQkFBaUIsRW9GbmdDdUIsQXBGbWdDeEMsZ0JvRm5nQ3dELEFBQUEsYUFBYSxDcEZtZ0NyRSxpQkFBaUIsRW9GbGdDdUIsQXBGa2dDeEMsZ0JvRmxnQ3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrZ0NqRSxpQkFBaUIsRW9GeitCeUIsQXBGeStCMUMsa0JvRnorQjRELEFBQUEsYUFBYSxDcEZ5K0J6RSxpQkFBaUIsRW9GeCtCeUIsQXBGdytCMUMsa0JvRngrQjRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ3K0JyRSxpQkFBaUIsRTRGN3NDMEIsQTVGNnNDM0MsbUI0RjdzQzhELEM1RjZzQzlELGlCQUFpQixFaUhscUN3QixBakhrcUN6QyxpQmlIbHFDMEQsQ2pIa3FDMUQsaUJBQWlCLENBQUM7RUFDZCxLQUFLLEVEcHVDVSx3QkFBSTtDQ3N1Q3RCOztBd0lsdkN1QyxBeElvdkN4QyxTd0lwdkNpRCxDeElvdkNqRCxpQkFBaUIsQUFBQSxNQUFNLEVnRm5tQ29CLEFoRm1tQzNDLG1CZ0ZubUM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZtbUNyRixpQkFBaUIsQUFBQSxNQUFNLEVnRnRsQ3NCLEFoRnNsQzdDLHFCZ0Z0bENrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzbEN6RixpQkFBaUIsQUFBQSxNQUFNLEVtRnJsQ2lCLEFuRnFsQ3hDLGdCbUZybEN3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxbEMvRSxpQkFBaUIsQUFBQSxNQUFNLEVtRnhrQ21CLEFuRndrQzFDLGtCbUZ4a0M0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3a0NuRixpQkFBaUIsQUFBQSxNQUFNLEVvRnhnQ2lCLEFwRndnQ3hDLGdCb0Z4Z0N3RCxBQUFBLGFBQWEsQ3BGd2dDckUsaUJBQWlCLEFBQUEsTUFBTSxFb0Z2Z0NpQixBcEZ1Z0N4QyxnQm9GdmdDd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVnQ2pFLGlCQUFpQixBQUFBLE1BQU0sRW9GOStCbUIsQXBGOCtCMUMsa0JvRjkrQjRELEFBQUEsYUFBYSxDcEY4K0J6RSxpQkFBaUIsQUFBQSxNQUFNLEVvRjcrQm1CLEFwRjYrQjFDLGtCb0Y3K0I0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNitCckUsaUJBQWlCLEFBQUEsTUFBTSxFNEZsdENvQixBNUZrdEMzQyxtQjRGbHRDOEQsQzVGa3RDOUQsaUJBQWlCLEFBQUEsTUFBTSxFaUh2cUNrQixBakh1cUN6QyxpQmlIdnFDMEQsQ2pIdXFDMUQsaUJBQWlCLEFBQUEsTUFBTTtBd0lwdkNpQixBeElxdkN4QyxTd0lydkNpRCxDeElxdkNqRCxpQkFBaUIsQUFBQSxNQUFNLEVnRnBtQ29CLEFoRm9tQzNDLG1CZ0ZwbUM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZvbUNyRixpQkFBaUIsQUFBQSxNQUFNLEVnRnZsQ3NCLEFoRnVsQzdDLHFCZ0Z2bENrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1bEN6RixpQkFBaUIsQUFBQSxNQUFNLEVtRnRsQ2lCLEFuRnNsQ3hDLGdCbUZ0bEN3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzbEMvRSxpQkFBaUIsQUFBQSxNQUFNLEVtRnprQ21CLEFuRnlrQzFDLGtCbUZ6a0M0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5a0NuRixpQkFBaUIsQUFBQSxNQUFNLEVvRnpnQ2lCLEFwRnlnQ3hDLGdCb0Z6Z0N3RCxBQUFBLGFBQWEsQ3BGeWdDckUsaUJBQWlCLEFBQUEsTUFBTSxFb0Z4Z0NpQixBcEZ3Z0N4QyxnQm9GeGdDd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndnQ2pFLGlCQUFpQixBQUFBLE1BQU0sRW9GLytCbUIsQXBGKytCMUMsa0JvRi8rQjRELEFBQUEsYUFBYSxDcEYrK0J6RSxpQkFBaUIsQUFBQSxNQUFNLEVvRjkrQm1CLEFwRjgrQjFDLGtCb0Y5K0I0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOCtCckUsaUJBQWlCLEFBQUEsTUFBTSxFNEZudENvQixBNUZtdEMzQyxtQjRGbnRDOEQsQzVGbXRDOUQsaUJBQWlCLEFBQUEsTUFBTSxFaUh4cUNrQixBakh3cUN6QyxpQmlIeHFDMEQsQ2pId3FDMUQsaUJBQWlCLEFBQUEsTUFBTTtBd0lydkNpQixBeElzdkN4QyxTd0l0dkNpRCxDeElzdkNqRCxpQkFBaUIsQUFBQSxRQUFRLEVnRnJtQ2tCLEFoRnFtQzNDLG1CZ0ZybUM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZxbUNyRixpQkFBaUIsQUFBQSxRQUFRLEVnRnhsQ29CLEFoRndsQzdDLHFCZ0Z4bENrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ3bEN6RixpQkFBaUIsQUFBQSxRQUFRLEVtRnZsQ2UsQW5GdWxDeEMsZ0JtRnZsQ3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnVsQy9FLGlCQUFpQixBQUFBLFFBQVEsRW1GMWtDaUIsQW5GMGtDMUMsa0JtRjFrQzRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjBrQ25GLGlCQUFpQixBQUFBLFFBQVEsRW9GMWdDZSxBcEYwZ0N4QyxnQm9GMWdDd0QsQUFBQSxhQUFhLENwRjBnQ3JFLGlCQUFpQixBQUFBLFFBQVEsRW9GemdDZSxBcEZ5Z0N4QyxnQm9GemdDd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnlnQ2pFLGlCQUFpQixBQUFBLFFBQVEsRW9GaC9CaUIsQXBGZy9CMUMsa0JvRmgvQjRELEFBQUEsYUFBYSxDcEZnL0J6RSxpQkFBaUIsQUFBQSxRQUFRLEVvRi8rQmlCLEFwRisrQjFDLGtCb0YvK0I0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGKytCckUsaUJBQWlCLEFBQUEsUUFBUSxFNEZwdENrQixBNUZvdEMzQyxtQjRGcHRDOEQsQzVGb3RDOUQsaUJBQWlCLEFBQUEsUUFBUSxFaUh6cUNnQixBakh5cUN6QyxpQmlIenFDMEQsQ2pIeXFDMUQsaUJBQWlCLEFBQUEsUUFBUSxDQUFDO0VBQ3RCLEtBQUssRUQzdUNVLHdCQUFJO0NDNnVDdEI7O0F3SXp2Q3VDLEF4STh2Q3ZCLFN3STl2Q2dDLEN4STh2Q2pELFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFZ0Y3bUNjLEFoRjZtQzFCLG1CZ0Y3bUM2QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2bUNyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRWdGaG1DZ0IsQWhGZ21DNUIscUJnRmhtQ2lELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmdtQ3pGLFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFbUYvbENXLEFuRitsQ3ZCLGdCbUYvbEN1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrbEMvRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRW1GbGxDYSxBbkZrbEN6QixrQm1GbGxDMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga2xDbkYsVUFBVSxHQUFHLENBQUMsR0FBRyxZQUFZLEVvRmxoQ1csQXBGa2hDdkIsZ0JvRmxoQ3VDLEFBQUEsYUFBYSxDcEZraENyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRW9GamhDVyxBcEZpaEN2QixnQm9GamhDdUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmloQ2pFLFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFb0Z4L0JhLEFwRncvQnpCLGtCb0Z4L0IyQyxBQUFBLGFBQWEsQ3BGdy9CekUsVUFBVSxHQUFHLENBQUMsR0FBRyxZQUFZLEVvRnYvQmEsQXBGdS9CekIsa0JvRnYvQjJDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1L0JyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRTRGNXRDYyxBNUY0dEMxQixtQjRGNXRDNkMsQzVGNHRDOUQsVUFBVSxHQUFHLENBQUMsR0FBRyxZQUFZLEVpSGpyQ1ksQWpIaXJDeEIsaUJpSGpyQ3lDLENqSGlyQzFELFVBQVUsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO0VBQzFCLEtBQUssRURudkNVLHdCQUFJO0NDcXZDdEI7O0F3SWp3Q3VDLEF4SW13Q3ZCLFN3SW53Q2dDLEN4SW13Q2pELFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGbG5DbUIsQWhGa25DMUIsbUJnRmxuQzZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmtuQ3JGLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGcm1DcUIsQWhGcW1DNUIscUJnRnJtQ2lELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnFtQ3pGLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1GcG1DZ0IsQW5Gb21DdkIsZ0JtRnBtQ3VDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm9tQy9FLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1GdmxDa0IsQW5GdWxDekIsa0JtRnZsQzJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnVsQ25GLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GdmhDZ0IsQXBGdWhDdkIsZ0JvRnZoQ3VDLEFBQUEsYUFBYSxDcEZ1aENyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRnRoQ2dCLEFwRnNoQ3ZCLGdCb0Z0aEN1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGc2hDakUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Y3L0JrQixBcEY2L0J6QixrQm9GNy9CMkMsQUFBQSxhQUFhLENwRjYvQnpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GNS9Ca0IsQXBGNC9CekIsa0JvRjUvQjJDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY0L0JyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEU0Rmp1Q21CLEE1Rml1QzFCLG1CNEZqdUM2QyxDNUZpdUM5RCxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVpSHRyQ2lCLEFqSHNyQ3hCLGlCaUh0ckN5QyxDakhzckMxRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNO0F3SW53Q2dCLEF4SW93Q3ZCLFN3SXB3Q2dDLEN4SW93Q2pELFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGbm5DbUIsQWhGbW5DMUIsbUJnRm5uQzZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm1uQ3JGLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGdG1DcUIsQWhGc21DNUIscUJnRnRtQ2lELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnNtQ3pGLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1Gcm1DZ0IsQW5GcW1DdkIsZ0JtRnJtQ3VDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnFtQy9FLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1GeGxDa0IsQW5Gd2xDekIsa0JtRnhsQzJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRndsQ25GLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GeGhDZ0IsQXBGd2hDdkIsZ0JvRnhoQ3VDLEFBQUEsYUFBYSxDcEZ3aENyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRnZoQ2dCLEFwRnVoQ3ZCLGdCb0Z2aEN1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdWhDakUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Y5L0JrQixBcEY4L0J6QixrQm9GOS9CMkMsQUFBQSxhQUFhLENwRjgvQnpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GNy9Ca0IsQXBGNi9CekIsa0JvRjcvQjJDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY2L0JyRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEU0Rmx1Q21CLEE1Rmt1QzFCLG1CNEZsdUM2QyxDNUZrdUM5RCxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVpSHZyQ2lCLEFqSHVyQ3hCLGlCaUh2ckN5QyxDakh1ckMxRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDckIsS0FBSyxFRHp2Q1Usd0JBQUk7Q0MydkN0Qjs7QXdJdndDdUMsQXhJeXdDZCxTd0l6d0N1QixDeEl5d0NqRCxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdGeG5DZ0IsQWhGd25DakIsbUJnRnhuQ29DLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnduQ3JGLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFZ0YzbUNrQixBaEYybUNuQixxQmdGM21Dd0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMm1DekYsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVtRjFtQ2EsQW5GMG1DZCxnQm1GMW1DOEIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMG1DL0UsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVtRjdsQ2UsQW5GNmxDaEIsa0JtRjdsQ2tDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjZsQ25GLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Y3aENhLEFwRjZoQ2QsZ0JvRjdoQzhCLEFBQUEsYUFBYSxDcEY2aENyRSxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GNWhDYSxBcEY0aENkLGdCb0Y1aEM4QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNGhDakUsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVvRm5nQ2UsQXBGbWdDaEIsa0JvRm5nQ2tDLEFBQUEsYUFBYSxDcEZtZ0N6RSxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GbGdDZSxBcEZrZ0NoQixrQm9GbGdDa0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmtnQ3JFLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFNEZ2dUNnQixBNUZ1dUNqQixtQjRGdnVDb0MsQzVGdXVDOUQsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVpSDVyQ2MsQWpINHJDZixpQmlINXJDZ0MsQ2pINHJDMUQsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDeEIsS0FBSyxFRDl2Q1UsSUFBSTtDQ2d3Q3RCOztBd0k1d0N1QyxBeElreENuQixTd0lseEM0QixDeElreENqRCxrQkFBa0IsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRWdGam9DdkIsQWhGaW9DdEIsbUJnRmpvQ3lDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmlvQ3JGLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFZ0ZwbkNyQixBaEZvbkN4QixxQmdGcG5DNkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb25DekYsa0JBQWtCLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVtRm5uQzFCLEFuRm1uQ25CLGdCbUZubkNtQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZtbkMvRSxrQkFBa0IsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRW1GdG1DeEIsQW5Gc21DckIsa0JtRnRtQ3VDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnNtQ25GLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFb0Z0aUMxQixBcEZzaUNuQixnQm9GdGlDbUMsQUFBQSxhQUFhLENwRnNpQ3JFLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFb0ZyaUMxQixBcEZxaUNuQixnQm9GcmlDbUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnFpQ2pFLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFb0Y1Z0N4QixBcEY0Z0NyQixrQm9GNWdDdUMsQUFBQSxhQUFhLENwRjRnQ3pFLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFb0YzZ0N4QixBcEYyZ0NyQixrQm9GM2dDdUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJnQ3JFLGtCQUFrQixHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFNEZodkN2QixBNUZndkN0QixtQjRGaHZDeUMsQzVGZ3ZDOUQsa0JBQWtCLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVpSHJzQ3pCLEFqSHFzQ3BCLGlCaUhyc0NxQyxDakhxc0MxRCxrQkFBa0IsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztFQUMvRCxpQkFBaUIsRUR2d0NGLHdCQUFJO0NDeXdDdEI7O0F3SXJ4Q3VDLEF4STJ4Q2xCLFN3STN4QzJCLEN4STJ4Q2pELGVBQWUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFZ0Yxb0NTLEFoRjBvQ3JCLG1CZ0Yxb0N3QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwb0NyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRWdGN25DVyxBaEY2bkN2QixxQmdGN25DNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNm5DekYsZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEVtRjVuQ00sQW5GNG5DbEIsZ0JtRjVuQ2tDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjRuQy9FLGVBQWUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFbUYvbUNRLEFuRittQ3BCLGtCbUYvbUNzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrbUNuRixlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRW9GL2lDTSxBcEYraUNsQixnQm9GL2lDa0MsQUFBQSxhQUFhLENwRitpQ3JFLGVBQWUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFb0Y5aUNNLEFwRjhpQ2xCLGdCb0Y5aUNrQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOGlDakUsZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEVvRnJoQ1EsQXBGcWhDcEIsa0JvRnJoQ3NDLEFBQUEsYUFBYSxDcEZxaEN6RSxlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRW9GcGhDUSxBcEZvaENwQixrQm9GcGhDc0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm9oQ3JFLGVBQWUsR0FBRyxDQUFDLEdBQUcsWUFBWSxFNEZ6dkNTLEE1Rnl2Q3JCLG1CNEZ6dkN3QyxDNUZ5dkM5RCxlQUFlLEdBQUcsQ0FBQyxHQUFHLFlBQVksRWlIOXNDTyxBakg4c0NuQixpQmlIOXNDb0MsQ2pIOHNDMUQsZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7RUFDL0IsZ0JBQWdCLEVEdmhCYyxXQUFXO0VDd2hCekMsS0FBSyxFRGp4Q1Usd0JBQUk7Q0NteEN0Qjs7QXdJL3hDdUMsQXhJaXlDbEIsU3dJanlDMkIsQ3hJaXlDakQsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0ZocENjLEFoRmdwQ3JCLG1CZ0ZocEN3QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZncENyRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVnRm5vQ2dCLEFoRm1vQ3ZCLHFCZ0Zub0M0QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZtb0N6RixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVtRmxvQ1csQW5Ga29DbEIsZ0JtRmxvQ2tDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmtvQy9FLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1Gcm5DYSxBbkZxbkNwQixrQm1Gcm5Dc0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcW5DbkYsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0ZyakNXLEFwRnFqQ2xCLGdCb0ZyakNrQyxBQUFBLGFBQWEsQ3BGcWpDckUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0ZwakNXLEFwRm9qQ2xCLGdCb0ZwakNrQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGb2pDakUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0YzaENhLEFwRjJoQ3BCLGtCb0YzaENzQyxBQUFBLGFBQWEsQ3BGMmhDekUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0YxaENhLEFwRjBoQ3BCLGtCb0YxaENzQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMGhDckUsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFNEYvdkNjLEE1Rit2Q3JCLG1CNEYvdkN3QyxDNUYrdkM5RCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVpSHB0Q1ksQWpIb3RDbkIsaUJpSHB0Q29DLENqSG90QzFELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07QXdJanlDVyxBeElreUNsQixTd0lseUMyQixDeElreUNqRCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVnRmpwQ2MsQWhGaXBDckIsbUJnRmpwQ3dDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmlwQ3JGLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWdGcG9DZ0IsQWhGb29DdkIscUJnRnBvQzRDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm9vQ3pGLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW1Gbm9DVyxBbkZtb0NsQixnQm1Gbm9Da0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbW9DL0UsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUZ0bkNhLEFuRnNuQ3BCLGtCbUZ0bkNzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzbkNuRixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRnRqQ1csQXBGc2pDbEIsZ0JvRnRqQ2tDLEFBQUEsYUFBYSxDcEZzakNyRSxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRnJqQ1csQXBGcWpDbEIsZ0JvRnJqQ2tDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxakNqRSxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjVoQ2EsQXBGNGhDcEIsa0JvRjVoQ3NDLEFBQUEsYUFBYSxDcEY0aEN6RSxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjNoQ2EsQXBGMmhDcEIsa0JvRjNoQ3NDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYyaENyRSxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEU0Rmh3Q2MsQTVGZ3dDckIsbUI0Rmh3Q3dDLEM1Rmd3QzlELGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWlIcnRDWSxBakhxdENuQixpQmlIcnRDb0MsQ2pIcXRDMUQsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQzFCLGdCQUFnQixFRHZ4Q0Qsd0JBQUk7RUN3eENuQixLQUFLLEVEeHhDVSx3QkFBSTtDQzB4Q3RCOztBd0l0eUN1QyxBeEl3eUNsQixTd0l4eUMyQixDeEl3eUNqRCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLEVnRnZwQ2EsQWhGdXBDckIsbUJnRnZwQ3dDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVwQ3JGLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRWdGMW9DZSxBaEYwb0N2QixxQmdGMW9DNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMG9DekYsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsT0FBTyxFbUZ6b0NVLEFuRnlvQ2xCLGdCbUZ6b0NrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5b0MvRSxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLEVtRjVuQ1ksQW5GNG5DcEIsa0JtRjVuQ3NDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjRuQ25GLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW9GNWpDVSxBcEY0akNsQixnQm9GNWpDa0MsQUFBQSxhQUFhLENwRjRqQ3JFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW9GM2pDVSxBcEYyakNsQixnQm9GM2pDa0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJqQ2pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW9GbGlDWSxBcEZraUNwQixrQm9GbGlDc0MsQUFBQSxhQUFhLENwRmtpQ3pFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRW9GamlDWSxBcEZpaUNwQixrQm9GamlDc0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmlpQ3JFLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRTRGdHdDYSxBNUZzd0NyQixtQjRGdHdDd0MsQzVGc3dDOUQsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsT0FBTyxFaUgzdENXLEFqSDJ0Q25CLGlCaUgzdENvQyxDakgydEMxRCxlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7RUFDM0IsZ0JBQWdCLEVEN3hDRCx3QkFBSTtFQzh4Q25CLEtBQUssRUQ5eENVLHdCQUFJO0NDZ3lDdEI7O0F3STV5Q3VDLEF4STh5Q1QsU3dJOXlDa0IsQ3hJOHlDakQsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVnRjdwQ1csQWhGNnBDWixtQmdGN3BDK0IsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNnBDckYsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVnRmhwQ2EsQWhGZ3BDZCxxQmdGaHBDbUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ3BDekYsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVtRi9vQ1EsQW5GK29DVCxnQm1GL29DeUIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GK29DL0UsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVtRmxvQ1UsQW5Ga29DWCxrQm1GbG9DNkIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga29DbkYsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVvRmxrQ1EsQXBGa2tDVCxnQm9GbGtDeUIsQUFBQSxhQUFhLENwRmtrQ3JFLGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Zqa0NRLEFwRmlrQ1QsZ0JvRmprQ3lCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpa0NqRSxlQUFlLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GeGlDVSxBcEZ3aUNYLGtCb0Z4aUM2QixBQUFBLGFBQWEsQ3BGd2lDekUsZUFBZSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVvRnZpQ1UsQXBGdWlDWCxrQm9GdmlDNkIsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVpQ3JFLGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFNEY1d0NXLEE1RjR3Q1osbUI0RjV3QytCLEM1RjR3QzlELGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFaUhqdUNTLEFqSGl1Q1YsaUJpSGp1QzJCLENqSGl1QzFELGVBQWUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQzdCLGdCQUFnQixFRG55Q0QsSUFBSTtFQ295Q25CLEtBQUssRUR6MENFLElBQUk7Q0MyMENkOztBd0lsekN1QyxBeEl3ekNaLFN3SXh6Q3FCLEN4SXd6Q2pELFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFZ0Z2cUNjLEFoRnVxQ2YsbUJnRnZxQ2tDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVxQ3JGLFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFZ0YxcENnQixBaEYwcENqQixxQmdGMXBDc0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMHBDekYsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEVtRnpwQ1csQW5GeXBDWixnQm1GenBDNEIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeXBDL0UsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEVtRjVvQ2EsQW5GNG9DZCxrQm1GNW9DZ0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNG9DbkYsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRjVrQ1csQXBGNGtDWixnQm9GNWtDNEIsQUFBQSxhQUFhLENwRjRrQ3JFLFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFb0Yza0NXLEFwRjJrQ1osZ0JvRjNrQzRCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYya0NqRSxVQUFVLEdBQUcsWUFBWSxHQUFHLENBQUMsRW9GbGpDYSxBcEZrakNkLGtCb0ZsakNnQyxBQUFBLGFBQWEsQ3BGa2pDekUsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRmpqQ2EsQXBGaWpDZCxrQm9GampDZ0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmlqQ3JFLFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFNEZ0eENjLEE1RnN4Q2YsbUI0RnR4Q2tDLEM1RnN4QzlELFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFaUgzdUNZLEFqSDJ1Q2IsaUJpSDN1QzhCLENqSDJ1QzFELFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0VBQzFCLEtBQUssRUQ3eUNVLHdCQUFJO0NDK3lDdEI7O0F3STN6Q3VDLEF4SXFQbkIsU3dJclA0QixDeElxUGpELGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFZ0ZwR3FCLEFoRm9HdEIsbUJnRnBHeUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb0dyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWdGdkZ1QixBaEZ1RnhCLHFCZ0Z2RjZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVGekYsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVtRnRGa0IsQW5Gc0ZuQixnQm1GdEZtQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzRi9FLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFbUZ6RW9CLEFuRnlFckIsa0JtRnpFdUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeUVuRixjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW9GVGtCLEFwRlNuQixnQm9GVG1DLEFBQUEsYUFBYSxDcEZTckUsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRlJrQixBcEZRbkIsZ0JvRlJtQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGUWpFLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0ZpQm9CLEFwRmpCckIsa0JvRmlCdUMsQUFBQSxhQUFhLENwRmpCekUsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRmtCb0IsQXBGbEJyQixrQm9Ga0J1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbEJyRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRTRGbk5xQixBNUZtTnRCLG1CNEZuTnlDLEM1Rm1OOUQsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVpSHhLbUIsQWpId0twQixpQmlIeEtxQyxDakh3SzFELGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ25CLEtBQUssRUQxT1Usd0JBQUk7Q0M0T3RCOztBd0l4UHVDLEF4STBQbkIsU3dJMVA0QixDeEkwUGpELGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0Z6R2dCLEFoRnlHdEIsbUJnRnpHeUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeUdyRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWdGNUZrQixBaEY0RnhCLHFCZ0Y1RjZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjRGekYsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVtRjNGYSxBbkYyRm5CLGdCbUYzRm1DLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjJGL0UsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVtRjlFZSxBbkY4RXJCLGtCbUY5RXVDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjhFbkYsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRmRhLEFwRmNuQixnQm9GZG1DLEFBQUEsYUFBYSxDcEZjckUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRmJhLEFwRmFuQixnQm9GYm1DLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZhakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRlllLEFwRlpyQixrQm9GWXVDLEFBQUEsYUFBYSxDcEZaekUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRmFlLEFwRmJyQixrQm9GYXVDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZickUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEU0RnhOZ0IsQTVGd050QixtQjRGeE55QyxDNUZ3TjlELGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFaUg3S2MsQWpINktwQixpQmlIN0txQyxDakg2SzFELGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTTtBd0kxUGEsQXhJMlBuQixTd0kzUDRCLEN4STJQakQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVnRjFHZ0IsQWhGMEd0QixtQmdGMUd5QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwR3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0Y3RmtCLEFoRjZGeEIscUJnRjdGNkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNkZ6RixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW1GNUZhLEFuRjRGbkIsZ0JtRjVGbUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNEYvRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW1GL0VlLEFuRitFckIsa0JtRi9FdUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GK0VuRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GZmEsQXBGZW5CLGdCb0ZmbUMsQUFBQSxhQUFhLENwRmVyRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GZGEsQXBGY25CLGdCb0ZkbUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmNqRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GV2UsQXBGWHJCLGtCb0ZXdUMsQUFBQSxhQUFhLENwRlh6RSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GWWUsQXBGWnJCLGtCb0ZZdUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRlpyRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRTRGek5nQixBNUZ5TnRCLG1CNEZ6TnlDLEM1RnlOOUQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVpSDlLYyxBakg4S3BCLGlCaUg5S3FDLENqSDhLMUQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7RUFDeEIsS0FBSyxFRGhQVSx3QkFBSTtDQ2tQdEI7O0F3STlQdUMsQXhJcVFULFN3SXJRa0IsQ3hJcVFqRCxjQUFjLEdBQUcsV0FBVyxHQUFHLENBQUMsRWdGcEhXLEFoRm9IWixtQmdGcEgrQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZvSHJGLGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFZ0Z2R2EsQWhGdUdkLHFCZ0Z2R21DLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnVHekYsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEVtRnRHUSxBbkZzR1QsZ0JtRnRHeUIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc0cvRSxjQUFjLEdBQUcsV0FBVyxHQUFHLENBQUMsRW1GekZVLEFuRnlGWCxrQm1GekY2QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5Rm5GLGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFb0Z6QlEsQXBGeUJULGdCb0Z6QnlCLEFBQUEsYUFBYSxDcEZ5QnJFLGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFb0Z4QlEsQXBGd0JULGdCb0Z4QnlCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ3QmpFLGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFb0ZDVSxBcEZEWCxrQm9GQzZCLEFBQUEsYUFBYSxDcEZEekUsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEVvRkVVLEFwRkZYLGtCb0ZFNkIsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRkZyRSxjQUFjLEdBQUcsV0FBVyxHQUFHLENBQUMsRTRGbk9XLEE1Rm1PWixtQjRGbk8rQixDNUZtTzlELGNBQWMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFaUh4TFMsQWpId0xWLGlCaUh4TDJCLENqSHdMMUQsY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7RUFDN0IsS0FBSyxFRDFQVSx3QkFBSTtDQzRQdEI7O0F3SXhRdUMsQXhJOFF2QixTd0k5UWdDLEN4SThRakQsY0FBYyxHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFZ0Y3SG5CLEFoRjZIMUIsbUJnRjdINkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNkhyRixjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVnRmhIakIsQWhGZ0g1QixxQmdGaEhpRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnSHpGLGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRW1GL0d0QixBbkYrR3ZCLGdCbUYvR3VDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRitHL0UsY0FBYyxHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFbUZsR3BCLEFuRmtHekIsa0JtRmxHMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga0duRixjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVvRmxDdEIsQXBGa0N2QixnQm9GbEN1QyxBQUFBLGFBQWEsQ3BGa0NyRSxjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVvRmpDdEIsQXBGaUN2QixnQm9GakN1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaUNqRSxjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVvRlJwQixBcEZRekIsa0JvRlIyQyxBQUFBLGFBQWEsQ3BGUXpFLGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsRW9GUHBCLEFwRk96QixrQm9GUDJDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZPckUsY0FBYyxHQUFHLFVBQVcsQ0FBQSxHQUFHLENBQUMsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxFNEY1T25CLEE1RjRPMUIsbUI0RjVPNkMsQzVGNE85RCxjQUFjLEdBQUcsVUFBVyxDQUFBLEdBQUcsQ0FBQyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxRQUFRLEVpSGpNckIsQWpIaU14QixpQmlIak15QyxDakhpTTFELGNBQWMsR0FBRyxVQUFXLENBQUEsR0FBRyxDQUFDLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztFQUMzRCxLQUFLLEVEblFVLHdCQUFJO0NDcVF0Qjs7QXdJalJ1QyxBeElnMENuQixTd0loMEM0QixDeElnMENqRCxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWdGL3FDcUIsQWhGK3FDdEIsbUJnRi9xQ3lDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRitxQ3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFZ0ZscUN1QixBaEZrcUN4QixxQmdGbHFDNkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGa3FDekYsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVtRmpxQ2tCLEFuRmlxQ25CLGdCbUZqcUNtQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpcUMvRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW1GcHBDb0IsQW5Gb3BDckIsa0JtRnBwQ3VDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm9wQ25GLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0ZwbENrQixBcEZvbENuQixnQm9GcGxDbUMsQUFBQSxhQUFhLENwRm9sQ3JFLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0ZubENrQixBcEZtbENuQixnQm9GbmxDbUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm1sQ2pFLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0YxakNvQixBcEYwakNyQixrQm9GMWpDdUMsQUFBQSxhQUFhLENwRjBqQ3pFLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0Z6akNvQixBcEZ5akNyQixrQm9GempDdUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnlqQ3JFLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFNEY5eENxQixBNUY4eEN0QixtQjRGOXhDeUMsQzVGOHhDOUQsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVpSG52Q21CLEFqSG12Q3BCLGlCaUhudkNxQyxDakhtdkMxRCxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNuQixLQUFLLEVEcnpDVSx3QkFBSTtDQ3V6Q3RCOztBd0luMEN1QyxBeElxMENuQixTd0lyMEM0QixDeElxMENqRCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWdGcHJDZ0IsQWhGb3JDdEIsbUJnRnByQ3lDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm9yQ3JGLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0Z2cUNrQixBaEZ1cUN4QixxQmdGdnFDNkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGdXFDekYsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVtRnRxQ2EsQW5Gc3FDbkIsZ0JtRnRxQ21DLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnNxQy9FLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFbUZ6cENlLEFuRnlwQ3JCLGtCbUZ6cEN1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ5cENuRixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GemxDYSxBcEZ5bENuQixnQm9GemxDbUMsQUFBQSxhQUFhLENwRnlsQ3JFLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Z4bENhLEFwRndsQ25CLGdCb0Z4bENtQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGd2xDakUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRi9qQ2UsQXBGK2pDckIsa0JvRi9qQ3VDLEFBQUEsYUFBYSxDcEYrakN6RSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GOWpDZSxBcEY4akNyQixrQm9GOWpDdUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjhqQ3JFLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFNEZueUNnQixBNUZteUN0QixtQjRGbnlDeUMsQzVGbXlDOUQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVpSHh2Q2MsQWpId3ZDcEIsaUJpSHh2Q3FDLENqSHd2QzFELGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTTtBd0lyMENhLEF4SXMwQ25CLFN3SXQwQzRCLEN4SXMwQ2pELGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0ZyckNnQixBaEZxckN0QixtQmdGcnJDeUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGcXJDckYsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVnRnhxQ2tCLEFoRndxQ3hCLHFCZ0Z4cUM2QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ3cUN6RixjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW1GdnFDYSxBbkZ1cUNuQixnQm1GdnFDbUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GdXFDL0UsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVtRjFwQ2UsQW5GMHBDckIsa0JtRjFwQ3VDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjBwQ25GLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0YxbENhLEFwRjBsQ25CLGdCb0YxbENtQyxBQUFBLGFBQWEsQ3BGMGxDckUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRnpsQ2EsQXBGeWxDbkIsZ0JvRnpsQ21DLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ5bENqRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GaGtDZSxBcEZna0NyQixrQm9GaGtDdUMsQUFBQSxhQUFhLENwRmdrQ3pFLGNBQWMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0YvakNlLEFwRitqQ3JCLGtCb0YvakN1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGK2pDckUsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLEU0RnB5Q2dCLEE1Rm95Q3RCLG1CNEZweUN5QyxDNUZveUM5RCxjQUFjLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWlIenZDYyxBakh5dkNwQixpQmlIenZDcUMsQ2pIeXZDMUQsY0FBYyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7RUFDeEIsS0FBSyxFRDN6Q1Usd0JBQUk7Q0M2ekN0Qjs7QXdJejBDdUMsQXhJMjBDVixTd0kzMENtQixDeEkyMENqRCxjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdGMXJDWSxBaEYwckNiLG1CZ0YxckNnQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYwckNyRixjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdGN3FDYyxBaEY2cUNmLHFCZ0Y3cUNvQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY2cUN6RixjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRW1GNXFDUyxBbkY0cUNWLGdCbUY1cUMwQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY0cUMvRSxjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRW1GL3BDVyxBbkYrcENaLGtCbUYvcEM4QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYrcENuRixjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GL2xDUyxBcEYrbENWLGdCb0YvbEMwQixBQUFBLGFBQWEsQ3BGK2xDckUsY0FBYyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVvRjlsQ1MsQXBGOGxDVixnQm9GOWxDMEIsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjhsQ2pFLGNBQWMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Zya0NXLEFwRnFrQ1osa0JvRnJrQzhCLEFBQUEsYUFBYSxDcEZxa0N6RSxjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GcGtDVyxBcEZva0NaLGtCb0Zwa0M4QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGb2tDckUsY0FBYyxHQUFHLFVBQVUsR0FBRyxDQUFDLEU0Rnp5Q1ksQTVGeXlDYixtQjRGenlDZ0MsQzVGeXlDOUQsY0FBYyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVpSDl2Q1UsQWpIOHZDWCxpQmlIOXZDNEIsQ2pIOHZDMUQsY0FBYyxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDNUIsS0FBSyxFRGgwQ1Usd0JBQUk7Q0NrMEN0Qjs7QXdJOTBDdUMsQXhJZzFDUixTd0loMUNpQixDeElnMUNqRCxjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRWdGL3JDVSxBaEYrckNYLG1CZ0YvckM4QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYrckNyRixjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRWdGbHJDWSxBaEZrckNiLHFCZ0ZsckNrQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZrckN6RixjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRW1GanJDTyxBbkZpckNSLGdCbUZqckN3QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZpckMvRSxjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRW1GcHFDUyxBbkZvcUNWLGtCbUZwcUM0QixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZvcUNuRixjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRW9GcG1DTyxBcEZvbUNSLGdCb0ZwbUN3QixBQUFBLGFBQWEsQ3BGb21DckUsY0FBYyxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRm5tQ08sQXBGbW1DUixnQm9Gbm1Dd0IsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm1tQ2pFLGNBQWMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFb0Yxa0NTLEFwRjBrQ1Ysa0JvRjFrQzRCLEFBQUEsYUFBYSxDcEYwa0N6RSxjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsRW9GemtDUyxBcEZ5a0NWLGtCb0Z6a0M0QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeWtDckUsY0FBYyxHQUFHLFlBQVksR0FBRyxDQUFDLEU0Rjl5Q1UsQTVGOHlDWCxtQjRGOXlDOEIsQzVGOHlDOUQsY0FBYyxHQUFHLFlBQVksR0FBRyxDQUFDLEVpSG53Q1EsQWpIbXdDVCxpQmlIbndDMEIsQ2pIbXdDMUQsY0FBYyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUM7RUFDOUIsS0FBSyxFRHIwQ1Usd0JBQUk7Q0N1MEN0Qjs7QXdJbjFDdUMsQXhJdzFDeEMsU3dJeDFDaUQsQ3hJdzFDakQsT0FBTyxBQW1jUCxRQUFTLEVnRjFvRGtDLEFoRnVzQzNDLG1CZ0Z2c0M4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ1c0NyRixPQUFPLEFBbWNQLFFBQVMsRWdGN25Eb0MsQWhGMHJDN0MscUJnRjFyQ2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjByQ3pGLE9BQU8sQUFtY1AsUUFBUyxFbUY1bkQrQixBbkZ5ckN4QyxnQm1GenJDd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeXJDL0UsT0FBTyxBQW1jUCxRQUFTLEVtRi9tRGlDLEFuRjRxQzFDLGtCbUY1cUM0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY0cUNuRixPQUFPLEFBbWNQLFFBQVMsRW9GL2lEK0IsQXBGNG1DeEMsZ0JvRjVtQ3dELEFBQUEsYUFBYSxDcEY0bUNyRSxPQUFPLEFBbWNQLFFBQVMsRW9GOWlEK0IsQXBGMm1DeEMsZ0JvRjNtQ3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYybUNqRSxPQUFPLEFBbWNQLFFBQVMsRW9GcmhEaUMsQXBGa2xDMUMsa0JvRmxsQzRELEFBQUEsYUFBYSxDcEZrbEN6RSxPQUFPLEFBbWNQLFFBQVMsRW9GcGhEaUMsQXBGaWxDMUMsa0JvRmpsQzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZpbENyRSxPQUFPLEFBbWNQLFFBQVMsRTRGenZEa0MsQTVGc3pDM0MsbUI0RnR6QzhELEM1RnN6QzlELE9BQU8sQUFtY1AsUUFBUyxFaUg5c0RnQyxBakgyd0N6QyxpQmlIM3dDMEQsQ2pIMndDMUQsT0FBTyxBQW1jUCxRQUFTLENBQUM7RUFBRSxZQUFZLEVEL3dETCx3QkFBSTtDQyt3RDBCOztBd0kzeERULEF4STQxQzFCLFN3STUxQ21DLEN4STQxQ2pELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFZ0Yzc0M0QixBaEYyc0M3QixtQmdGM3NDZ0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMnNDckYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVnRjlyQzhCLEFoRjhyQy9CLHFCZ0Y5ckNvRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4ckN6RixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW1GN3JDeUIsQW5GNnJDMUIsZ0JtRjdyQzBDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjZyQy9FLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFbUZockMyQixBbkZnckM1QixrQm1GaHJDOEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ3JDbkYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRmhuQ3lCLEFwRmduQzFCLGdCb0ZobkMwQyxBQUFBLGFBQWEsQ3BGZ25DckUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRi9tQ3lCLEFwRittQzFCLGdCb0YvbUMwQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGK21DakUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRnRsQzJCLEFwRnNsQzVCLGtCb0Z0bEM4QyxBQUFBLGFBQWEsQ3BGc2xDekUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRnJsQzJCLEFwRnFsQzVCLGtCb0ZybEM4QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcWxDckUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEU0RjF6QzRCLEE1RjB6QzdCLG1CNEYxekNnRCxDNUYwekM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWlIL3dDMEIsQWpIK3dDM0IsaUJpSC93QzRDLENqSCt3QzFELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1osS0FBSyxFRGoxQ1Usd0JBQUk7Q0NtMUN0Qjs7QXdJLzFDdUMsQXhJaTJDMUIsU3dJajJDbUMsQ3hJaTJDakQsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0ZodENzQixBaEZndEM3QixtQmdGaHRDZ0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ3RDckYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0Zuc0N3QixBaEZtc0MvQixxQmdGbnNDb0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbXNDekYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUZsc0NtQixBbkZrc0MxQixnQm1GbHNDMEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Ga3NDL0UsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUZyckNxQixBbkZxckM1QixrQm1GcnJDOEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcXJDbkYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0ZybkNtQixBcEZxbkMxQixnQm9Gcm5DMEMsQUFBQSxhQUFhLENwRnFuQ3JFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9GcG5DbUIsQXBGb25DMUIsZ0JvRnBuQzBDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZvbkNqRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjNsQ3FCLEFwRjJsQzVCLGtCb0YzbEM4QyxBQUFBLGFBQWEsQ3BGMmxDekUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0YxbENxQixBcEYwbEM1QixrQm9GMWxDOEMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjBsQ3JFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRTRGL3pDc0IsQTVGK3pDN0IsbUI0Ri96Q2dELEM1Rit6QzlELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWlIcHhDb0IsQWpIb3hDM0IsaUJpSHB4QzRDLENqSG94QzFELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU07QXdJajJDbUIsQXhJazJDMUIsU3dJbDJDbUMsQ3hJazJDakQsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0ZqdENzQixBaEZpdEM3QixtQmdGanRDZ0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaXRDckYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFZ0Zwc0N3QixBaEZvc0MvQixxQmdGcHNDb0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb3NDekYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUZuc0NtQixBbkZtc0MxQixnQm1GbnNDMEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbXNDL0UsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFbUZ0ckNxQixBbkZzckM1QixrQm1GdHJDOEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc3JDbkYsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0Z0bkNtQixBcEZzbkMxQixnQm9GdG5DMEMsQUFBQSxhQUFhLENwRnNuQ3JFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRW9Gcm5DbUIsQXBGcW5DMUIsZ0JvRnJuQzBDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxbkNqRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQUFBQSxNQUFNLEVvRjVsQ3FCLEFwRjRsQzVCLGtCb0Y1bEM4QyxBQUFBLGFBQWEsQ3BGNGxDekUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEFBQUEsTUFBTSxFb0YzbENxQixBcEYybEM1QixrQm9GM2xDOEMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjJsQ3JFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRTRGaDBDc0IsQTVGZzBDN0IsbUI0RmgwQ2dELEM1RmcwQzlELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sRWlIcnhDb0IsQWpIcXhDM0IsaUJpSHJ4QzRDLENqSHF4QzFELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQTtFQUNqQixLQUFLLEVEdjFDVSx3QkFBSTtDQ3kxQ3RCOztBd0lyMkN1QyxBeEl1MkNqQixTd0l2MkMwQixDeEl1MkNqRCxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdGdHRDbUIsQWhGc3RDcEIsbUJnRnR0Q3VDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnN0Q3JGLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFZ0Z6c0NxQixBaEZ5c0N0QixxQmdGenNDMkMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeXNDekYsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVtRnhzQ2dCLEFuRndzQ2pCLGdCbUZ4c0NpQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3c0MvRSxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsRW1GM3JDa0IsQW5GMnJDbkIsa0JtRjNyQ3FDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjJyQ25GLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0YzbkNnQixBcEYybkNqQixnQm9GM25DaUMsQUFBQSxhQUFhLENwRjJuQ3JFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0YxbkNnQixBcEYwbkNqQixnQm9GMW5DaUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjBuQ2pFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0ZqbUNrQixBcEZpbUNuQixrQm9Gam1DcUMsQUFBQSxhQUFhLENwRmltQ3pFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0ZobUNrQixBcEZnbUNuQixrQm9GaG1DcUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmdtQ3JFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxFNEZyMENtQixBNUZxMENwQixtQjRGcjBDdUMsQzVGcTBDOUQsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVpSDF4Q2lCLEFqSDB4Q2xCLGlCaUgxeENtQyxDakgweEMxRCxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztFQUNyQixLQUFLLEVENTFDVSxJQUFJO0VDb3hEWSxZQUFZLEVEcHhENUIsSUFBSTtDQzgxQ3RCOztBd0kxMkN1QyxBeEk0MkNmLFN3STUyQ3dCLEN4STQyQ2pELE9BQU8sR0FBRyxZQUFZLEdBQUcsQ0FBQyxFZ0YzdENpQixBaEYydENsQixtQmdGM3RDcUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMnRDckYsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEVnRjlzQ21CLEFoRjhzQ3BCLHFCZ0Y5c0N5QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEY4c0N6RixPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRW1GN3NDYyxBbkY2c0NmLGdCbUY3c0MrQixBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2c0MvRSxPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRW1GaHNDZ0IsQW5GZ3NDakIsa0JtRmhzQ21DLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmdzQ25GLE9BQU8sR0FBRyxZQUFZLEdBQUcsQ0FBQyxFb0Zob0NjLEFwRmdvQ2YsZ0JvRmhvQytCLEFBQUEsYUFBYSxDcEZnb0NyRSxPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRW9GL25DYyxBcEYrbkNmLGdCb0YvbkMrQixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGK25DakUsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRnRtQ2dCLEFwRnNtQ2pCLGtCb0Z0bUNtQyxBQUFBLGFBQWEsQ3BGc21DekUsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEVvRnJtQ2dCLEFwRnFtQ2pCLGtCb0ZybUNtQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcW1DckUsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLEU0RjEwQ2lCLEE1RjAwQ2xCLG1CNEYxMENxQyxDNUYwMEM5RCxPQUFPLEdBQUcsWUFBWSxHQUFHLENBQUMsRWlIL3hDZSxBakgreENoQixpQmlIL3hDaUMsQ2pIK3hDMUQsT0FBTyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUM7RUFDdkIsS0FBSyxFRGoyQ1Usd0JBQUk7Q0NtMkN0Qjs7QXdJLzJDdUMsQXhJbzNDeEMsU3dJcDNDaUQsQ3hJbzNDakQsWUFBWSxFZ0ZudUMrQixBaEZtdUMzQyxtQmdGbnVDOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbXVDckYsWUFBWSxFZ0Z0dENpQyxBaEZzdEM3QyxxQmdGdHRDa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc3RDekYsWUFBWSxFbUZydEM0QixBbkZxdEN4QyxnQm1GcnRDd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GcXRDL0UsWUFBWSxFbUZ4c0M4QixBbkZ3c0MxQyxrQm1GeHNDNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gd3NDbkYsWUFBWSxFb0Z4b0M0QixBcEZ3b0N4QyxnQm9GeG9Dd0QsQUFBQSxhQUFhLENwRndvQ3JFLFlBQVksRW9Gdm9DNEIsQXBGdW9DeEMsZ0JvRnZvQ3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ1b0NqRSxZQUFZLEVvRjltQzhCLEFwRjhtQzFDLGtCb0Y5bUM0RCxBQUFBLGFBQWEsQ3BGOG1DekUsWUFBWSxFb0Y3bUM4QixBcEY2bUMxQyxrQm9GN21DNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjZtQ3JFLFlBQVksRTRGbDFDK0IsQTVGazFDM0MsbUI0RmwxQzhELEM1RmsxQzlELFlBQVksRWlIdnlDNkIsQWpIdXlDekMsaUJpSHZ5QzBELENqSHV5QzFELFlBQVksQ0FBQztFQUNULEtBQUssRUR0cEJZLHdCQUFvQztDQ3dwQnhEOztBd0l2M0N1QyxBeEl5M0N4QyxTd0l6M0NpRCxDeEl5M0NqRCxZQUFZLEFBQUEsTUFBTSxFZ0Z4dUN5QixBaEZ3dUMzQyxtQmdGeHVDOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGd3VDckYsWUFBWSxBQUFBLE1BQU0sRWdGM3RDMkIsQWhGMnRDN0MscUJnRjN0Q2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjJ0Q3pGLFlBQVksQUFBQSxNQUFNLEVtRjF0Q3NCLEFuRjB0Q3hDLGdCbUYxdEN3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYwdEMvRSxZQUFZLEFBQUEsTUFBTSxFbUY3c0N3QixBbkY2c0MxQyxrQm1GN3NDNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNnNDbkYsWUFBWSxBQUFBLE1BQU0sRW9GN29Dc0IsQXBGNm9DeEMsZ0JvRjdvQ3dELEFBQUEsYUFBYSxDcEY2b0NyRSxZQUFZLEFBQUEsTUFBTSxFb0Y1b0NzQixBcEY0b0N4QyxnQm9GNW9Dd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjRvQ2pFLFlBQVksQUFBQSxNQUFNLEVvRm5uQ3dCLEFwRm1uQzFDLGtCb0ZubkM0RCxBQUFBLGFBQWEsQ3BGbW5DekUsWUFBWSxBQUFBLE1BQU0sRW9GbG5Dd0IsQXBGa25DMUMsa0JvRmxuQzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrbkNyRSxZQUFZLEFBQUEsTUFBTSxFNEZ2MUN5QixBNUZ1MUMzQyxtQjRGdjFDOEQsQzVGdTFDOUQsWUFBWSxBQUFBLE1BQU0sRWlINXlDdUIsQWpINHlDekMsaUJpSDV5QzBELENqSDR5QzFELFlBQVksQUFBQSxNQUFNO0F3SXozQ3NCLEF4STAzQ3hDLFN3STEzQ2lELEN4STAzQ2pELFlBQVksQUFBQSxNQUFNLEVnRnp1Q3lCLEFoRnl1QzNDLG1CZ0Z6dUM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ5dUNyRixZQUFZLEFBQUEsTUFBTSxFZ0Y1dEMyQixBaEY0dEM3QyxxQmdGNXRDa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGNHRDekYsWUFBWSxBQUFBLE1BQU0sRW1GM3RDc0IsQW5GMnRDeEMsZ0JtRjN0Q3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjJ0Qy9FLFlBQVksQUFBQSxNQUFNLEVtRjlzQ3dCLEFuRjhzQzFDLGtCbUY5c0M0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY4c0NuRixZQUFZLEFBQUEsTUFBTSxFb0Y5b0NzQixBcEY4b0N4QyxnQm9GOW9Dd0QsQUFBQSxhQUFhLENwRjhvQ3JFLFlBQVksQUFBQSxNQUFNLEVvRjdvQ3NCLEFwRjZvQ3hDLGdCb0Y3b0N3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNm9DakUsWUFBWSxBQUFBLE1BQU0sRW9GcG5Dd0IsQXBGb25DMUMsa0JvRnBuQzRELEFBQUEsYUFBYSxDcEZvbkN6RSxZQUFZLEFBQUEsTUFBTSxFb0ZubkN3QixBcEZtbkMxQyxrQm9Gbm5DNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm1uQ3JFLFlBQVksQUFBQSxNQUFNLEU0RngxQ3lCLEE1RncxQzNDLG1CNEZ4MUM4RCxDNUZ3MUM5RCxZQUFZLEFBQUEsTUFBTSxFaUg3eUN1QixBakg2eUN6QyxpQmlIN3lDMEQsQ2pINnlDMUQsWUFBWSxBQUFBLE1BQU0sQ0FBQztFQUNmLEtBQUssRUQzcEJrQix3QkFBb0M7Q0M2cEI5RDs7QXdJNzNDdUMsQXhJKzNDeEMsU3dJLzNDaUQsQ3hJKzNDakQsWUFBWSxBQUFBLE9BQU8sRWdGOXVDd0IsQWhGOHVDM0MsbUJnRjl1QzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjh1Q3JGLFlBQVksQUFBQSxPQUFPLEVnRmp1QzBCLEFoRml1QzdDLHFCZ0ZqdUNrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZpdUN6RixZQUFZLEFBQUEsT0FBTyxFbUZodUNxQixBbkZndUN4QyxnQm1GaHVDd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GZ3VDL0UsWUFBWSxBQUFBLE9BQU8sRW1GbnRDdUIsQW5GbXRDMUMsa0JtRm50QzRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm10Q25GLFlBQVksQUFBQSxPQUFPLEVvRm5wQ3FCLEFwRm1wQ3hDLGdCb0ZucEN3RCxBQUFBLGFBQWEsQ3BGbXBDckUsWUFBWSxBQUFBLE9BQU8sRW9GbHBDcUIsQXBGa3BDeEMsZ0JvRmxwQ3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrcENqRSxZQUFZLEFBQUEsT0FBTyxFb0Z6bkN1QixBcEZ5bkMxQyxrQm9Gem5DNEQsQUFBQSxhQUFhLENwRnluQ3pFLFlBQVksQUFBQSxPQUFPLEVvRnhuQ3VCLEFwRnduQzFDLGtCb0Z4bkM0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGd25DckUsWUFBWSxBQUFBLE9BQU8sRTRGNzFDd0IsQTVGNjFDM0MsbUI0RjcxQzhELEM1RjYxQzlELFlBQVksQUFBQSxPQUFPLEVpSGx6Q3NCLEFqSGt6Q3pDLGlCaUhsekMwRCxDakhrekMxRCxZQUFZLEFBQUEsT0FBTyxDQUFDO0VBQ2hCLEtBQUssRUQvcEJtQix3QkFBb0M7Q0NpcUIvRDs7QXdJbDRDdUMsQXhJeXJCdkIsU3dJenJCZ0MsQ3hJeXJCakQsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEVnRnhpQnlCLEFoRndpQjFCLG1CZ0Z4aUI2QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ3aUJyRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWdGM2hCMkIsQWhGMmhCNUIscUJnRjNoQmlELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjJoQnpGLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFbUYxaEJzQixBbkYwaEJ2QixnQm1GMWhCdUMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMGhCL0UsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEVtRjdnQndCLEFuRjZnQnpCLGtCbUY3Z0IyQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkY2Z0JuRixVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW9GN2NzQixBcEY2Y3ZCLGdCb0Y3Y3VDLEFBQUEsYUFBYSxDcEY2Y3JFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFb0Y1Y3NCLEFwRjRjdkIsZ0JvRjVjdUMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjRjakUsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRm5id0IsQXBGbWJ6QixrQm9GbmIyQyxBQUFBLGFBQWEsQ3BGbWJ6RSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW9GbGJ3QixBcEZrYnpCLGtCb0ZsYjJDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZrYnJFLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFNEZ2cEJ5QixBNUZ1cEIxQixtQjRGdnBCNkMsQzVGdXBCOUQsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEVpSDVtQnVCLEFqSDRtQnhCLGlCaUg1bUJ5QyxDakg0bUIxRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNmLGdCQUFnQixFRGxaUyx3QkFBb0M7Q0NvWmhFOztBd0k1ckJ1QyxBeEk4ckJ2QixTd0k5ckJnQyxDeEk4ckJqRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWdGN2lCb0IsQWhGNmlCMUIsbUJnRjdpQjZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjZpQnJGLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0ZoaUJzQixBaEZnaUI1QixxQmdGaGlCaUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGZ2lCekYsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVtRi9oQmlCLEFuRitoQnZCLGdCbUYvaEJ1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYraEIvRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW1GbGhCbUIsQW5Ga2hCekIsa0JtRmxoQjJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmtoQm5GLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0ZsZGlCLEFwRmtkdkIsZ0JvRmxkdUMsQUFBQSxhQUFhLENwRmtkckUsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRmpkaUIsQXBGaWR2QixnQm9GamR1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGaWRqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GeGJtQixBcEZ3YnpCLGtCb0Z4YjJDLEFBQUEsYUFBYSxDcEZ3YnpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Z2Ym1CLEFwRnViekIsa0JvRnZiMkMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnVickUsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEU0RjVwQm9CLEE1RjRwQjFCLG1CNEY1cEI2QyxDNUY0cEI5RCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWlIam5Ca0IsQWpIaW5CeEIsaUJpSGpuQnlDLENqSGluQjFELFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTTtBd0k5ckJpQixBeEkrckJ2QixTd0kvckJnQyxDeEkrckJqRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWdGOWlCb0IsQWhGOGlCMUIsbUJnRjlpQjZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjhpQnJGLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0ZqaUJzQixBaEZpaUI1QixxQmdGamlCaUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaWlCekYsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVtRmhpQmlCLEFuRmdpQnZCLGdCbUZoaUJ1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnaUIvRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW1GbmhCbUIsQW5GbWhCekIsa0JtRm5oQjJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm1oQm5GLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0ZuZGlCLEFwRm1kdkIsZ0JvRm5kdUMsQUFBQSxhQUFhLENwRm1kckUsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRmxkaUIsQXBGa2R2QixnQm9GbGR1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGa2RqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW9GemJtQixBcEZ5YnpCLGtCb0Z6YjJDLEFBQUEsYUFBYSxDcEZ5YnpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Z4Ym1CLEFwRndiekIsa0JvRnhiMkMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndickUsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEU0RjdwQm9CLEE1RjZwQjFCLG1CNEY3cEI2QyxDNUY2cEI5RCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWlIbG5Ca0IsQWpIa25CeEIsaUJpSGxuQnlDLENqSGtuQjFELFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0VBQ3BCLGdCQUFnQixFRHZaZSx3QkFBb0M7Q0N5WnRFOztBd0lsc0J1QyxBeElvc0J2QixTd0lwc0JnQyxDeElvc0JqRCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRWdGbmpCbUIsQWhGbWpCMUIsbUJnRm5qQjZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm1qQnJGLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFZ0Z0aUJxQixBaEZzaUI1QixxQmdGdGlCaUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc2lCekYsVUFBVSxHQUFHLENBQUMsR0FBRyxPQUFPLEVtRnJpQmdCLEFuRnFpQnZCLGdCbUZyaUJ1QyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxaUIvRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRW1GeGhCa0IsQW5Gd2hCekIsa0JtRnhoQjJDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRndoQm5GLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFb0Z4ZGdCLEFwRndkdkIsZ0JvRnhkdUMsQUFBQSxhQUFhLENwRndkckUsVUFBVSxHQUFHLENBQUMsR0FBRyxPQUFPLEVvRnZkZ0IsQXBGdWR2QixnQm9GdmR1QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdWRqRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRW9GOWJrQixBcEY4YnpCLGtCb0Y5YjJDLEFBQUEsYUFBYSxDcEY4YnpFLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFb0Y3YmtCLEFwRjZiekIsa0JvRjdiMkMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjZickUsVUFBVSxHQUFHLENBQUMsR0FBRyxPQUFPLEU0RmxxQm1CLEE1RmtxQjFCLG1CNEZscUI2QyxDNUZrcUI5RCxVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRWlIdm5CaUIsQWpIdW5CeEIsaUJpSHZuQnlDLENqSHVuQjFELFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO0VBQ3JCLGdCQUFnQixFRDNaaUIsd0JBQW9DO0NDNlp4RTs7QXdJdnNCdUMsQXhJeXNCZCxTd0l6c0J1QixDeEl5c0JqRCxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdGeGpCZ0IsQWhGd2pCakIsbUJnRnhqQm9DLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRndqQnJGLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFZ0YzaUJrQixBaEYyaUJuQixxQmdGM2lCd0MsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMmlCekYsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVtRjFpQmEsQW5GMGlCZCxnQm1GMWlCOEIsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMGlCL0UsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVtRjdoQmUsQW5GNmhCaEIsa0JtRjdoQmtDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjZoQm5GLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Y3ZGEsQXBGNmRkLGdCb0Y3ZDhCLEFBQUEsYUFBYSxDcEY2ZHJFLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Y1ZGEsQXBGNGRkLGdCb0Y1ZDhCLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY0ZGpFLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0ZuY2UsQXBGbWNoQixrQm9GbmNrQyxBQUFBLGFBQWEsQ3BGbWN6RSxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GbGNlLEFwRmtjaEIsa0JvRmxja0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmtjckUsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEU0RnZxQmdCLEE1RnVxQmpCLG1CNEZ2cUJvQyxDNUZ1cUI5RCxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsRWlINW5CYyxBakg0bkJmLGlCaUg1bkJnQyxDakg0bkIxRCxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztFQUN4QixnQkFBZ0IsRUQvWmdCLHdCQUFvQztDQ2lhdkU7O0F3STVzQnVDLEF4SVp4QyxTd0lZaUQsQ3hJWmpELG1CQUFtQixBQUFBLE9BQU8sRWdGNkppQixBaEY3SjNDLG1CZ0Y2SjhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjdKckYsbUJBQW1CLEFBQUEsT0FBTyxFZ0YwS21CLEFoRjFLN0MscUJnRjBLa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGMUt6RixtQkFBbUIsQUFBQSxPQUFPLEVtRjJLYyxBbkYzS3hDLGdCbUYyS3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjNLL0UsbUJBQW1CLEFBQUEsT0FBTyxFbUZ3TGdCLEFuRnhMMUMsa0JtRndMNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeExuRixtQkFBbUIsQUFBQSxPQUFPLEVvRndQYyxBcEZ4UHhDLGdCb0Z3UHdELEFBQUEsYUFBYSxDcEZ4UHJFLG1CQUFtQixBQUFBLE9BQU8sRW9GeVBjLEFwRnpQeEMsZ0JvRnlQd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnpQakUsbUJBQW1CLEFBQUEsT0FBTyxFb0ZrUmdCLEFwRmxSMUMsa0JvRmtSNEQsQUFBQSxhQUFhLENwRmxSekUsbUJBQW1CLEFBQUEsT0FBTyxFb0ZtUmdCLEFwRm5SMUMsa0JvRm1SNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm5SckUsbUJBQW1CLEFBQUEsT0FBTyxFNEY4Q2lCLEE1RjlDM0MsbUI0RjhDOEQsQzVGOUM5RCxtQkFBbUIsQUFBQSxPQUFPLEVpSHlGZSxBakh6RnpDLGlCaUh5RjBELENqSHpGMUQsbUJBQW1CLEFBQUEsT0FBTyxDQUFDO0VvRUszQixnQkFBZ0IsRUFBRSw4ZEFBd0I7Q3BFTHdFOztBd0lZMUUsQXhJVjdCLFN3SVVzQyxDeElWakQsUUFBUSxHQUFHLG1CQUFtQixBQUFBLE9BQU8sRWdGMkpNLEFoRjNKaEMsbUJnRjJKbUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGM0pyRixRQUFRLEdBQUcsbUJBQW1CLEFBQUEsT0FBTyxFZ0Z3S1EsQWhGeEtsQyxxQmdGd0t1RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ4S3pGLFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxPQUFPLEVtRnlLRyxBbkZ6SzdCLGdCbUZ5SzZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnpLL0UsUUFBUSxHQUFHLG1CQUFtQixBQUFBLE9BQU8sRW1Gc0xLLEFuRnRML0Isa0JtRnNMaUQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GdExuRixRQUFRLEdBQUcsbUJBQW1CLEFBQUEsT0FBTyxFb0ZzUEcsQXBGdFA3QixnQm9Gc1A2QyxBQUFBLGFBQWEsQ3BGdFByRSxRQUFRLEdBQUcsbUJBQW1CLEFBQUEsT0FBTyxFb0Z1UEcsQXBGdlA3QixnQm9GdVA2QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdlBqRSxRQUFRLEdBQUcsbUJBQW1CLEFBQUEsT0FBTyxFb0ZnUkssQXBGaFIvQixrQm9GZ1JpRCxBQUFBLGFBQWEsQ3BGaFJ6RSxRQUFRLEdBQUcsbUJBQW1CLEFBQUEsT0FBTyxFb0ZpUkssQXBGalIvQixrQm9GaVJpRCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGalJyRSxRQUFRLEdBQUcsbUJBQW1CLEFBQUEsT0FBTyxFNEY0Q00sQTVGNUNoQyxtQjRGNENtRCxDNUY1QzlELFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxPQUFPLEVpSHVGSSxBakh2RjlCLGlCaUh1RitDLENqSHZGMUQsUUFBUSxHQUFHLG1CQUFtQixBQUFBLE9BQU8sQ0FBQztFb0VHdEMsZ0JBQWdCLEVBQUUsOFVBQXdCO0NwRUhrRjs7QXdJVXBGLEF4SSs4QnRCLFN3SS84QitCLEN4SSs4QmpELFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFZ0Y5ekJ3QixBaEY4ekJ6QixtQmdGOXpCNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGOHpCckYsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEVnRmp6QjBCLEFoRml6QjNCLHFCZ0ZqekJnRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZpekJ6RixXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsRW1GaHpCcUIsQW5GZ3pCdEIsZ0JtRmh6QnNDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmd6Qi9FLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFbUZueUJ1QixBbkZteUJ4QixrQm1GbnlCMEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GbXlCbkYsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRm51QnFCLEFwRm11QnRCLGdCb0ZudUJzQyxBQUFBLGFBQWEsQ3BGbXVCckUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRmx1QnFCLEFwRmt1QnRCLGdCb0ZsdUJzQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGa3VCakUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRnpzQnVCLEFwRnlzQnhCLGtCb0Z6c0IwQyxBQUFBLGFBQWEsQ3BGeXNCekUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEVvRnhzQnVCLEFwRndzQnhCLGtCb0Z4c0IwQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGd3NCckUsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEU0Rjc2QndCLEE1RjY2QnpCLG1CNEY3NkI0QyxDNUY2NkI5RCxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsRWlIbDRCc0IsQWpIazRCdkIsaUJpSGw0QndDLENqSGs0QjFELFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ2hCLEtBQUssRURwOEJVLHdCQUFJO0NDczhCdEI7O0F3SWw5QnVDLEF4SW85QnRCLFN3SXA5QitCLEN4SW85QmpELFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0ZuMEJtQixBaEZtMEJ6QixtQmdGbjBCNEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGbTBCckYsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEVnRnR6QnFCLEFoRnN6QjNCLHFCZ0Z0ekJnRCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZzekJ6RixXQUFXLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW1GcnpCZ0IsQW5GcXpCdEIsZ0JtRnJ6QnNDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnF6Qi9FLFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFbUZ4eUJrQixBbkZ3eUJ4QixrQm1GeHlCMEMsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gd3lCbkYsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRnh1QmdCLEFwRnd1QnRCLGdCb0Z4dUJzQyxBQUFBLGFBQWEsQ3BGd3VCckUsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRnZ1QmdCLEFwRnV1QnRCLGdCb0Z2dUJzQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGdXVCakUsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRjlzQmtCLEFwRjhzQnhCLGtCb0Y5c0IwQyxBQUFBLGFBQWEsQ3BGOHNCekUsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEVvRjdzQmtCLEFwRjZzQnhCLGtCb0Y3c0IwQyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNnNCckUsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEU0Rmw3Qm1CLEE1Rms3QnpCLG1CNEZsN0I0QyxDNUZrN0I5RCxXQUFXLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWlIdjRCaUIsQWpIdTRCdkIsaUJpSHY0QndDLENqSHU0QjFELFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTTtBd0lwOUJnQixBeElxOUJ0QixTd0lyOUIrQixDeElxOUJqRCxXQUFXLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRWdGcDBCbUIsQWhGbzBCekIsbUJnRnAwQjRDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRm8wQnJGLFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFZ0Z2ekJxQixBaEZ1ekIzQixxQmdGdnpCZ0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGdXpCekYsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEVtRnR6QmdCLEFuRnN6QnRCLGdCbUZ0ekJzQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzekIvRSxXQUFXLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRW1GenlCa0IsQW5GeXlCeEIsa0JtRnp5QjBDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnl5Qm5GLFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Z6dUJnQixBcEZ5dUJ0QixnQm9GenVCc0MsQUFBQSxhQUFhLENwRnl1QnJFLFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Z4dUJnQixBcEZ3dUJ0QixnQm9GeHVCc0MsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRnd1QmpFLFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Yvc0JrQixBcEYrc0J4QixrQm9GL3NCMEMsQUFBQSxhQUFhLENwRitzQnpFLFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFb0Y5c0JrQixBcEY4c0J4QixrQm9GOXNCMEMsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjhzQnJFLFdBQVcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFNEZuN0JtQixBNUZtN0J6QixtQjRGbjdCNEMsQzVGbTdCOUQsV0FBVyxHQUFHLENBQUMsR0FBRyxNQUFNLEVpSHg0QmlCLEFqSHc0QnZCLGlCaUh4NEJ3QyxDakh3NEIxRCxXQUFXLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztFQUNyQixLQUFLLEVEMThCVSx3QkFBSTtDQzQ4QnRCOztBd0l4OUJ1QyxBeEkwOUJiLFN3STE5QnNCLEN4STA5QmpELFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFZ0Z6MEJlLEFoRnkwQmhCLG1CZ0Z6MEJtQyxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZ5MEJyRixXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsRWdGNXpCaUIsQWhGNHpCbEIscUJnRjV6QnVDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjR6QnpGLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFbUYzekJZLEFuRjJ6QmIsZ0JtRjN6QjZCLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjJ6Qi9FLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFbUY5eUJjLEFuRjh5QmYsa0JtRjl5QmlDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjh5Qm5GLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0Y5dUJZLEFwRjh1QmIsZ0JvRjl1QjZCLEFBQUEsYUFBYSxDcEY4dUJyRSxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsRW9GN3VCWSxBcEY2dUJiLGdCb0Y3dUI2QixHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGNnVCakUsV0FBVyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVvRnB0QmMsQXBGb3RCZixrQm9GcHRCaUMsQUFBQSxhQUFhLENwRm90QnpFLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFb0ZudEJjLEFwRm10QmYsa0JvRm50QmlDLEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZtdEJyRSxXQUFXLEdBQUcsVUFBVSxHQUFHLENBQUMsRTRGeDdCZSxBNUZ3N0JoQixtQjRGeDdCbUMsQzVGdzdCOUQsV0FBVyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVpSDc0QmEsQWpINjRCZCxpQmlINzRCK0IsQ2pINjRCMUQsV0FBVyxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDekIsS0FBSyxFRC84QlUsd0JBQUk7Q0NpOUJ0Qjs7QXdJNzlCdUMsQXhJdTRDeEMsU3dJdjRDaUQsQ3hJdTRDakQsYUFBYSxFZ0Z0dkM4QixBaEZzdkMzQyxtQmdGdHZDOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc3ZDckYsYUFBYSxFZ0Z6dUNnQyxBaEZ5dUM3QyxxQmdGenVDa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGeXVDekYsYUFBYSxFbUZ4dUMyQixBbkZ3dUN4QyxnQm1GeHVDd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gd3VDL0UsYUFBYSxFbUYzdEM2QixBbkYydEMxQyxrQm1GM3RDNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMnRDbkYsYUFBYSxFb0YzcEMyQixBcEYycEN4QyxnQm9GM3BDd0QsQUFBQSxhQUFhLENwRjJwQ3JFLGFBQWEsRW9GMXBDMkIsQXBGMHBDeEMsZ0JvRjFwQ3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYwcENqRSxhQUFhLEVvRmpvQzZCLEFwRmlvQzFDLGtCb0Zqb0M0RCxBQUFBLGFBQWEsQ3BGaW9DekUsYUFBYSxFb0Zob0M2QixBcEZnb0MxQyxrQm9GaG9DNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRmdvQ3JFLGFBQWEsRTRGcjJDOEIsQTVGcTJDM0MsbUI0RnIyQzhELEM1RnEyQzlELGFBQWEsRWlIMXpDNEIsQWpIMHpDekMsaUJpSDF6QzBELENqSDB6QzFELGFBQWEsQ0FBQztFQUNWLEtBQUssRUQ1M0NVLHdCQUFJO0NDODNDdEI7O0F3STE0Q3VDLEF4STQ0Q3hDLFN3STU0Q2lELEN4STQ0Q2pELGFBQWEsRWdGM3ZDOEIsQWhGMnZDM0MsbUJnRjN2QzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjJ2Q3JGLGFBQWEsRWdGOXVDZ0MsQWhGOHVDN0MscUJnRjl1Q2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjh1Q3pGLGFBQWEsRW1GN3VDMkIsQW5GNnVDeEMsZ0JtRjd1Q3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjZ1Qy9FLGFBQWEsRW1GaHVDNkIsQW5GZ3VDMUMsa0JtRmh1QzRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRmd1Q25GLGFBQWEsRW9GaHFDMkIsQXBGZ3FDeEMsZ0JvRmhxQ3dELEFBQUEsYUFBYSxDcEZncUNyRSxhQUFhLEVvRi9wQzJCLEFwRitwQ3hDLGdCb0YvcEN3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGK3BDakUsYUFBYSxFb0Z0b0M2QixBcEZzb0MxQyxrQm9GdG9DNEQsQUFBQSxhQUFhLENwRnNvQ3pFLGFBQWEsRW9Gcm9DNkIsQXBGcW9DMUMsa0JvRnJvQzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxb0NyRSxhQUFhLEU0RjEyQzhCLEE1RjAyQzNDLG1CNEYxMkM4RCxDNUYwMkM5RCxhQUFhLEVpSC96QzRCLEFqSCt6Q3pDLGlCaUgvekMwRCxDakgrekMxRCxhQUFhLENBQUM7RUFDVixLQUFLLEVEajRDVSx3QkFBSTtDQ200Q3RCOztBd0kvNEN1QyxBeElpNUN4QyxTd0lqNUNpRCxDeElpNUNqRCxjQUFjLEVnRmh3QzZCLEFoRmd3QzNDLG1CZ0Zod0M4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZnd0NyRixjQUFjLEVnRm52QytCLEFoRm12QzdDLHFCZ0ZudkNrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZtdkN6RixjQUFjLEVtRmx2QzBCLEFuRmt2Q3hDLGdCbUZsdkN3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZrdkMvRSxjQUFjLEVtRnJ1QzRCLEFuRnF1QzFDLGtCbUZydUM0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZxdUNuRixjQUFjLEVvRnJxQzBCLEFwRnFxQ3hDLGdCb0ZycUN3RCxBQUFBLGFBQWEsQ3BGcXFDckUsY0FBYyxFb0ZwcUMwQixBcEZvcUN4QyxnQm9GcHFDd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRm9xQ2pFLGNBQWMsRW9GM29DNEIsQXBGMm9DMUMsa0JvRjNvQzRELEFBQUEsYUFBYSxDcEYyb0N6RSxjQUFjLEVvRjFvQzRCLEFwRjBvQzFDLGtCb0Yxb0M0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMG9DckUsY0FBYyxFNEYvMkM2QixBNUYrMkMzQyxtQjRGLzJDOEQsQzVGKzJDOUQsY0FBYyxFaUhwMEMyQixBakhvMEN6QyxpQmlIcDBDMEQsQ2pIbzBDMUQsY0FBYyxDQUFDO0VBQUUsS0FBSyxFRHI0Q0gsd0JBQUksQ0NxNEMyQixVQUFVO0NBQUk7O0F3SWo1Q3hCLEF4SWs1Q3hDLFN3SWw1Q2lELEN4SWs1Q2pELGdCQUFnQixFZ0Zqd0MyQixBaEZpd0MzQyxtQmdGandDOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGaXdDckYsZ0JBQWdCLEVnRnB2QzZCLEFoRm92QzdDLHFCZ0ZwdkNrRSxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZvdkN6RixnQkFBZ0IsRW1GbnZDd0IsQW5GbXZDeEMsZ0JtRm52Q3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm12Qy9FLGdCQUFnQixFbUZ0dUMwQixBbkZzdUMxQyxrQm1GdHVDNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5Gc3VDbkYsZ0JBQWdCLEVvRnRxQ3dCLEFwRnNxQ3hDLGdCb0Z0cUN3RCxBQUFBLGFBQWEsQ3BGc3FDckUsZ0JBQWdCLEVvRnJxQ3dCLEFwRnFxQ3hDLGdCb0ZycUN3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGcXFDakUsZ0JBQWdCLEVvRjVvQzBCLEFwRjRvQzFDLGtCb0Y1b0M0RCxBQUFBLGFBQWEsQ3BGNG9DekUsZ0JBQWdCLEVvRjNvQzBCLEFwRjJvQzFDLGtCb0Yzb0M0RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGMm9DckUsZ0JBQWdCLEU0RmgzQzJCLEE1RmczQzNDLG1CNEZoM0M4RCxDNUZnM0M5RCxnQkFBZ0IsRWlIcjBDeUIsQWpIcTBDekMsaUJpSHIwQzBELENqSHEwQzFELGdCQUFnQixDQUFDO0VBQUUsS0FBSyxFRHQ0Q0wsd0JBQUksQ0NzNEMrQixVQUFVO0NBQUk7O0F3SWw1QzVCLEF4SXVrQnhDLFN3SXZrQmlELEN4SXVrQmpELGtCQUFrQixFZ0Z0YnlCLEFoRnNiM0MsbUJnRnRiOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGc2JyRixrQkFBa0IsRWdGemEyQixBaEZ5YTdDLHFCZ0Z6YWtFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnlhekYsa0JBQWtCLEVtRnhhc0IsQW5Gd2F4QyxnQm1GeGF3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZ3YS9FLGtCQUFrQixFbUYzWndCLEFuRjJaMUMsa0JtRjNaNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GMlpuRixrQkFBa0IsRW9GM1ZzQixBcEYyVnhDLGdCb0YzVndELEFBQUEsYUFBYSxDcEYyVnJFLGtCQUFrQixFb0YxVnNCLEFwRjBWeEMsZ0JvRjFWd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRjBWakUsa0JBQWtCLEVvRmpVd0IsQXBGaVUxQyxrQm9GalU0RCxBQUFBLGFBQWEsQ3BGaVV6RSxrQkFBa0IsRW9GaFV3QixBcEZnVTFDLGtCb0ZoVTRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZnVXJFLGtCQUFrQixFNEZyaUJ5QixBNUZxaUIzQyxtQjRGcmlCOEQsQzVGcWlCOUQsa0JBQWtCLEVpSDFmdUIsQWpIMGZ6QyxpQmlIMWYwRCxDakgwZjFELGtCQUFrQixDQUFDO0VBQ2YseUJBQXlCLEVENWpCVix3QkFBSTtFQzZqQm5CLHNCQUFzQixFRDdqQlAsd0JBQUk7RUM4akJuQixpQkFBaUIsRUQ5akJGLHdCQUFJO0NDK2pCdEI7O0F3STNrQnVDLEF4SWc2Q3hDLFN3SWg2Q2lELEN4SWc2Q2pELFFBQVEsRWdGL3dDbUMsQWhGK3dDM0MsbUJnRi93QzhELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRit3Q3JGLFFBQVEsRWdGbHdDcUMsQWhGa3dDN0MscUJnRmx3Q2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRmt3Q3pGLFFBQVEsRW1GandDZ0MsQW5GaXdDeEMsZ0JtRmp3Q3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRml3Qy9FLFFBQVEsRW1GcHZDa0MsQW5Gb3ZDMUMsa0JtRnB2QzRELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRm92Q25GLFFBQVEsRW9GcHJDZ0MsQXBGb3JDeEMsZ0JvRnByQ3dELEFBQUEsYUFBYSxDcEZvckNyRSxRQUFRLEVvRm5yQ2dDLEFwRm1yQ3hDLGdCb0ZuckN3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGbXJDakUsUUFBUSxFb0YxcENrQyxBcEYwcEMxQyxrQm9GMXBDNEQsQUFBQSxhQUFhLENwRjBwQ3pFLFFBQVEsRW9GenBDa0MsQXBGeXBDMUMsa0JvRnpwQzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZ5cENyRSxRQUFRLEU0RjkzQ21DLEE1RjgzQzNDLG1CNEY5M0M4RCxDNUY4M0M5RCxRQUFRLEVpSG4xQ2lDLEFqSG0xQ3pDLGlCaUhuMUMwRCxDakhtMUMxRCxRQUFRLENBQUM7RUFDTCxLQUFLLEVEcjVDVSx3QkFBSTtDQ3U1Q3RCOztBd0luNkN1QyxBeElxNkN4QyxTd0lyNkNpRCxDeElxNkNqRCxRQUFRLEFBQUEsTUFBTSxFZ0ZweEM2QixBaEZveEMzQyxtQmdGcHhDOEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGb3hDckYsUUFBUSxBQUFBLE1BQU0sRWdGdndDK0IsQWhGdXdDN0MscUJnRnZ3Q2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRnV3Q3pGLFFBQVEsQUFBQSxNQUFNLEVtRnR3QzBCLEFuRnN3Q3hDLGdCbUZ0d0N3RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZzd0MvRSxRQUFRLEFBQUEsTUFBTSxFbUZ6dkM0QixBbkZ5dkMxQyxrQm1GenZDNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GeXZDbkYsUUFBUSxBQUFBLE1BQU0sRW9GenJDMEIsQXBGeXJDeEMsZ0JvRnpyQ3dELEFBQUEsYUFBYSxDcEZ5ckNyRSxRQUFRLEFBQUEsTUFBTSxFb0Z4ckMwQixBcEZ3ckN4QyxnQm9GeHJDd0QsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRndyQ2pFLFFBQVEsQUFBQSxNQUFNLEVvRi9wQzRCLEFwRitwQzFDLGtCb0YvcEM0RCxBQUFBLGFBQWEsQ3BGK3BDekUsUUFBUSxBQUFBLE1BQU0sRW9GOXBDNEIsQXBGOHBDMUMsa0JvRjlwQzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEY4cENyRSxRQUFRLEFBQUEsTUFBTSxFNEZuNEM2QixBNUZtNEMzQyxtQjRGbjRDOEQsQzVGbTRDOUQsUUFBUSxBQUFBLE1BQU0sRWlIeDFDMkIsQWpIdzFDekMsaUJpSHgxQzBELENqSHcxQzFELFFBQVEsQUFBQSxNQUFNO0F3SXI2QzBCLEF4SXM2Q3hDLFN3SXQ2Q2lELEN4SXM2Q2pELFFBQVEsQUFBQSxNQUFNLEVnRnJ4QzZCLEFoRnF4QzNDLG1CZ0ZyeEM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEZxeENyRixRQUFRLEFBQUEsTUFBTSxFZ0Z4d0MrQixBaEZ3d0M3QyxxQmdGeHdDa0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWhGd3dDekYsUUFBUSxBQUFBLE1BQU0sRW1GdndDMEIsQW5GdXdDeEMsZ0JtRnZ3Q3dELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRnV3Qy9FLFFBQVEsQUFBQSxNQUFNLEVtRjF2QzRCLEFuRjB2QzFDLGtCbUYxdkM0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkYwdkNuRixRQUFRLEFBQUEsTUFBTSxFb0YxckMwQixBcEYwckN4QyxnQm9GMXJDd0QsQUFBQSxhQUFhLENwRjByQ3JFLFFBQVEsQUFBQSxNQUFNLEVvRnpyQzBCLEFwRnlyQ3hDLGdCb0Z6ckN3RCxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGeXJDakUsUUFBUSxBQUFBLE1BQU0sRW9GaHFDNEIsQXBGZ3FDMUMsa0JvRmhxQzRELEFBQUEsYUFBYSxDcEZncUN6RSxRQUFRLEFBQUEsTUFBTSxFb0YvcEM0QixBcEYrcEMxQyxrQm9GL3BDNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEdwRitwQ3JFLFFBQVEsQUFBQSxNQUFNLEU0RnA0QzZCLEE1Rm80QzNDLG1CNEZwNEM4RCxDNUZvNEM5RCxRQUFRLEFBQUEsTUFBTSxFaUh6MUMyQixBakh5MUN6QyxpQmlIejFDMEQsQ2pIeTFDMUQsUUFBUSxBQUFBLE1BQU0sQ0FBQztFQUNYLEtBQUssRUQzNUNVLHdCQUFJO0NDNjVDdEI7O0F3SXo2Q3VDLEF4STI2QzdCLFN3STM2Q3NDLEN4STI2Q2pELFFBQVEsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxJQUFLLENBQUEsQUFBQSxhQUFhLEdnRjF4Q1IsQWhGMHhDaEMsbUJnRjF4Q21ELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjB4Q3JGLFFBQVEsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxJQUFLLENBQUEsQUFBQSxhQUFhLEdnRjd3Q04sQWhGNndDbEMscUJnRjd3Q3VELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjZ3Q3pGLFFBQVEsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxJQUFLLENBQUEsQUFBQSxhQUFhLEdtRjV3Q1gsQW5GNHdDN0IsZ0JtRjV3QzZDLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRjR3Qy9FLFFBQVEsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxJQUFLLENBQUEsQUFBQSxhQUFhLEdtRi92Q1QsQW5GK3ZDL0Isa0JtRi92Q2lELEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVuRit2Q25GLFFBQVEsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxJQUFLLENBQUEsQUFBQSxhQUFhLEdvRi9yQ1gsQXBGK3JDN0IsZ0JvRi9yQzZDLEFBQUEsYUFBYSxDcEYrckNyRSxRQUFRLEdBQUcsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsSUFBSyxDQUFBLEFBQUEsYUFBYSxHb0Y5ckNYLEFwRjhyQzdCLGdCb0Y5ckM2QyxHQUFHLElBQUssRUFBQSxBQUFBLEFBQUEsS0FBQyxFQUFPLGVBQWUsQUFBdEIsR3BGOHJDakUsUUFBUSxHQUFHLElBQUssQ0FBQSxBQUFBLGdCQUFnQixDQUFDLElBQUssQ0FBQSxBQUFBLGFBQWEsR29GcnFDVCxBcEZxcUMvQixrQm9GcnFDaUQsQUFBQSxhQUFhLENwRnFxQ3pFLFFBQVEsR0FBRyxJQUFLLENBQUEsQUFBQSxnQkFBZ0IsQ0FBQyxJQUFLLENBQUEsQUFBQSxhQUFhLEdvRnBxQ1QsQXBGb3FDL0Isa0JvRnBxQ2lELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZvcUNyRSxRQUFRLEdBQUcsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsSUFBSyxDQUFBLEFBQUEsYUFBYSxHNEZ6NENSLEE1Rnk0Q2hDLG1CNEZ6NENtRCxDNUZ5NEM5RCxRQUFRLEdBQUcsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsSUFBSyxDQUFBLEFBQUEsYUFBYSxHaUg5MUNWLEFqSDgxQzlCLGlCaUg5MUMrQyxDakg4MUMxRCxRQUFRLEdBQUcsSUFBSyxDQUFBLEFBQUEsZ0JBQWdCLENBQUMsSUFBSyxDQUFBLEFBQUEsYUFBYSxFQUFFO0VBQUUsT0FBTyxFQUFFLElBQUk7Q0FBSzs7QXdJMzZDakMsQXhJNDZDeEMsU3dJNTZDaUQsQ3hJNDZDakQsZ0JBQWdCLEVnRjN4QzJCLEFoRjJ4QzNDLG1CZ0YzeEM4RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFaEYyeENyRixnQkFBZ0IsRWdGOXdDNkIsQWhGOHdDN0MscUJnRjl3Q2tFLEFBQUEsSUFBSyxDQUFBLEFBQUEsa0JBQWtCLEVoRjh3Q3pGLGdCQUFnQixFbUY3d0N3QixBbkY2d0N4QyxnQm1GN3dDd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRW5GNndDL0UsZ0JBQWdCLEVtRmh3QzBCLEFuRmd3QzFDLGtCbUZod0M0RCxBQUFBLElBQUssQ0FBQSxBQUFBLGtCQUFrQixFbkZnd0NuRixnQkFBZ0IsRW9GaHNDd0IsQXBGZ3NDeEMsZ0JvRmhzQ3dELEFBQUEsYUFBYSxDcEZnc0NyRSxnQkFBZ0IsRW9GL3JDd0IsQXBGK3JDeEMsZ0JvRi9yQ3dELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEYrckNqRSxnQkFBZ0IsRW9GdHFDMEIsQXBGc3FDMUMsa0JvRnRxQzRELEFBQUEsYUFBYSxDcEZzcUN6RSxnQkFBZ0IsRW9GcnFDMEIsQXBGcXFDMUMsa0JvRnJxQzRELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHcEZxcUNyRSxnQkFBZ0IsRTRGMTRDMkIsQTVGMDRDM0MsbUI0RjE0QzhELEM1RjA0QzlELGdCQUFnQixFaUgvMUN5QixBakgrMUN6QyxpQmlILzFDMEQsQ2pIKzFDMUQsZ0JBQWdCLENBQUM7RUFBRSxPQUFPLEVBQUUsTUFBTTtDQUFLOztBeUl2OEMzQzs7OEVBRThFO0FBRTlFLE1BQU0sQ0FBQyxLQUFLO0VBRVIsQUFBQSxDQUFDO0VBQ0QsQUFBQSxDQUFDLEFBQUEsUUFBUTtFQUNULEFBQUEsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUNMLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixVQUFVLEVBQUUsZUFBZTtJQUMzQixXQUFXLEVBQUUsZUFBZTtHQUMvQjtFQUVELEFBQUEsQ0FBQztFQUNELEFBQUEsQ0FBQyxBQUFBLFFBQVEsQ0FBQztJQUFFLGVBQWUsRUFBRSxTQUFTO0dBQUs7RUFFM0MsQUFBQSxHQUFHO0VBQ0gsQUFBQSxVQUFVLENBQUM7SUFDUCxNQUFNLEVBQUUsY0FBYztJQUN0QixpQkFBaUIsRUFBRSxLQUFLO0dBQzNCO0VBRUQsQUFBQSxLQUFLLENBQUM7SUFBRSxPQUFPLEVBQUUsa0JBQWtCO0dBQUs7RUFFeEMsQUFBQSxFQUFFO0VBQ0YsQUFBQSxHQUFHLENBQUM7SUFBRSxpQkFBaUIsRUFBRSxLQUFLO0dBQUs7RUFFbkMsQUFBQSxHQUFHLENBQUM7SUFBRSxTQUFTLEVBQUUsZUFBZTtHQUFLO0VBRXJDLEtBQUs7SUFBRyxNQUFNLEVBQUUsS0FBSzs7RUFFckIsQUFBQSxDQUFDO0VBQ0QsQUFBQSxFQUFFO0VBQ0YsQUFBQSxFQUFFLENBQUM7SUFDQyxPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0dBQ1o7RUFFRCxBQUFBLEVBQUU7RUFDRixBQUFBLEVBQUUsQ0FBQztJQUFFLGdCQUFnQixFQUFFLEtBQUs7R0FBSzs7O0EzSTlDckMsQUFBQSxXQUFXLENBQUM7RUFDWCxZQUFZLEVBQUUsaUJBQWlCO0VBQy9CLEtBQUssRUFBRSxLQUFLO0NBQ1o7O0FBQ0QsQUFBQSxhQUFhLENBQUM7RUFDYixRQUFRLEVBQUUsS0FBSztFQUNmLE1BQU0sRUFBRSxDQUFDO0VBQ1QsR0FBRyxFQUFFLElBQUk7RUFDVCxLQUFLLEVBQUUsSUFBSTtDQUNYOztBQUNELEFBQUEsb0JBQW9CLENBQUM7RUFDcEIsVUFBVSxFQ0FpQixPQUFPO0VEQ2xDLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLEtBQUs7Q0FDWjs7QUFDRCxBQUFBLGVBQWUsQ0FBQztFQUNmLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQ05zQixPQUFPO0VET2xDLFdBQVcsRUFBRSxHQUFHO0NBQ2hCOztBQUdELEFBQUEsUUFBUSxDQUFDO0VBQ1IsV0FBVyxFQUFFLEdBQUc7Q0FDaEI7O0FBQ0QsQUFFQyxpQkFGZ0IsQ0FFaEIsS0FBSyxDQUFDO0VBQ0wsVUFBVSxFQUFFLEtBQUs7Q0FDakI7O0FBRUYsQUFBQSxXQUFXLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtDQUtiOztBQU5ELEFBR0MsV0FIVSxBQUdWLEtBQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxZQUFZO0NBQ3JCIn0= */