/*
|--------------------------------------------------------------------------
| Normalize
|--------------------------------------------------------------------------
|
*/
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

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

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

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

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

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

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

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

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

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

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

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

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

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

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

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box; }

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

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

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

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

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

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

td,
th {
  padding: 0; }

/*
|--------------------------------------------------------------------------
| Config
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Helpers
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Redefine
|--------------------------------------------------------------------------
|
| Global resets to make life easier
|
*/
/*
|--------------------------------------------------------------------------
| Box sizing
|--------------------------------------------------------------------------
|
*/
html {
  box-sizing: border-box; }

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

/*
|--------------------------------------------------------------------------
| Viewports
|--------------------------------------------------------------------------
|
*/
@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@-webkit-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

/*
|--------------------------------------------------------------------------
| HTML/Body resets
|--------------------------------------------------------------------------
|
*/
html,
body {
  height: 100%; }

html {
  font-size: 1rem;
  -webkit-tap-highlight-color: transparent; }

body {
  /* stylelint-disable */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* stylelint-enable */
  /* This needs escaping so it doesn't double string */
  font-family: "minion-pro", serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  color: #232833;
  background-color: #f0f0f0; }
  @media only screen and (min-width: 769px) {
    body {
      font-size: 1.125rem;
      line-height: 1.625rem; } }

/*
|--------------------------------------------------------------------------
| Typography
|--------------------------------------------------------------------------
|
*/
/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0; }

/**
 * Body
 */
/**
 * Paragraph
 */
p {
  margin-top: 0;
  margin-bottom: 20px; }

/**
 * Anchors
 */
a {
  text-decoration: none; }

/**
 * Code
 */
pre {
  max-height: 450px; }

/*
|--------------------------------------------------------------------------
| Images
|--------------------------------------------------------------------------
|
*/
img {
  max-width: 100%; }

/*
|--------------------------------------------------------------------------
| Text selection
|--------------------------------------------------------------------------
|
*/
::-moz-selection {
  background: #00578a;
  color: #fff; }
::selection {
  background: #00578a;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Outlines
|--------------------------------------------------------------------------
|
*/
* {
  outline: none; }

/*
|--------------------------------------------------------------------------
| Buttons
|--------------------------------------------------------------------------
|
*/
button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: 0;
  color: #000; }

/*
|--------------------------------------------------------------------------
| Blockquote
|--------------------------------------------------------------------------
|
*/
blockquote {
  margin: 0; }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Margins
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
.u-mb-10 {
  margin-bottom: 10px !important; }

.u-mb-30 {
  margin-bottom: 30px !important; }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Base
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Font sizes
|--------------------------------------------------------------------------
|
*/
.fz-large {
  margin-bottom: 10px;
  font-size: 1.25rem;
  letter-spacing: 0.0125rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 1025px) {
    .fz-large {
      font-size: 1.5rem;
      line-height: 2rem; } }

.fz-medium {
  margin-bottom: 9px;
  font-size: 1.125rem;
  letter-spacing: 0.01125rem;
  line-height: 1.625rem; }
  @media only screen and (min-width: 1025px) {
    .fz-medium {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

.fz-small {
  margin-bottom: 8px;
  font-size: 1rem;
  letter-spacing: 0.01rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 1025px) {
    .fz-small {
      font-size: 1.125rem;
      line-height: 1.625rem; } }

.fz-xlarge {
  font-size: 2.25rem;
  line-height: 2.375rem; }

/*
|--------------------------------------------------------------------------
| Headings
|--------------------------------------------------------------------------
|
*/
h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.001em; }

h3, h4, h5, h6 {
  font-family: "minion-pro", serif;
  font-weight: 600; }

/*
|--------------------------------------------------------------------------
| Paragraphs
|--------------------------------------------------------------------------
|
*/
p {
  letter-spacing: 0.001em; }

/*
|--------------------------------------------------------------------------
| Anchors
|--------------------------------------------------------------------------
|
*/
a {
  font-weight: 600;
  color: #39c5ff;
  -webkit-transition: color 0.2s;
  transition: color 0.2s; }
  a:hover {
    color: rgba(57, 197, 255, 0.7); }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Layout
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Container
|--------------------------------------------------------------------------
|
*/
.l-Container {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }
  .hd-Outer + .l-Container,
  .bdc-Outer + .l-Container {
    padding-top: 60px;
    padding-bottom: 60px; }

/*
|--------------------------------------------------------------------------
| Site - Container
|--------------------------------------------------------------------------
|
*/
.l-Site_Container {
  margin-right: auto;
  margin-left: auto;
  max-width: 1600px;
  background-color: #fff; }

/*
|--------------------------------------------------------------------------
| Site - Content
|--------------------------------------------------------------------------
|
*/
.l-Site_Content {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  min-height: 450px;
  padding-top: 68px;
  padding-bottom: 60px; }

.l-Site_SectionContent {
  margin-bottom: 80px; }

/*
|--------------------------------------------------------------------------
| Site - Main
|--------------------------------------------------------------------------
|
*/
.l-Site_Main {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%; }
  @media only screen and (min-width: 769px) {
    .l-Site_Main {
      -webkit-flex-basis: calc(66.6666666667% - 40px);
          -ms-flex-preferred-size: calc(66.6666666667% - 40px);
              flex-basis: calc(66.6666666667% - 40px);
      margin-right: 20px;
      margin-left: 20px;
      max-width: calc(66.6666666667% - 40px);
      width: calc(66.6666666667% - 40px); } }
  @media only screen and (min-width: 769px) {
    .l-Site_Main.l-Site_Main-Centered {
      margin-right: auto;
      margin-left: auto; } }

.l-Site_Main_Seperator {
  border: none;
  border-bottom: 1px solid #ced5d9; }

/*
|--------------------------------------------------------------------------
| Site - Aside
|--------------------------------------------------------------------------
|
*/
.l-Site_Aside {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%; }
  @media only screen and (min-width: 481px) {
    .l-Site_Aside {
      -webkit-flex-basis: calc(50% - 40px);
          -ms-flex-preferred-size: calc(50% - 40px);
              flex-basis: calc(50% - 40px);
      margin-right: 20px;
      margin-left: 20px;
      max-width: calc(50% - 40px);
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .l-Site_Aside {
      -webkit-flex-basis: calc(33.3333333333% - 40px);
          -ms-flex-preferred-size: calc(33.3333333333% - 40px);
              flex-basis: calc(33.3333333333% - 40px);
      max-width: calc(33.3333333333% - 40px);
      width: calc(33.3333333333% - 40px); } }

/*
|--------------------------------------------------------------------------
| Globals
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
|
| The global site header that appears at the top of every page
| @prefix: hd-
|
*/
/*
|--------------------------------------------------------------------------
| Header - Outer
|--------------------------------------------------------------------------
|
*/
.hd-Outer {
  position: relative;
  z-index: 100; }

/*
|--------------------------------------------------------------------------
| Top Strip
|--------------------------------------------------------------------------
|
| This actually is included from an external source so just add a few
| placeholder styles
|
*/
.hd-TopStrip {
  height: 60px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.125rem;
  background-color: #000;
  color: #fff; }
  @media only screen and (min-width: 1025px) {
    .hd-TopStrip {
      height: 72px; } }

/*
|--------------------------------------------------------------------------
| Top Strip - Inner
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Top Strip - Logo
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_Logo {
  display: block;
  height: 38px;
  margin-top: 11px;
  margin-bottom: 11px;
  width: 178px;
  background-image: url('/static/site/build/img/uoc-logo.png'); }
  @media only screen and (min-width: 1025px) {
    .hd-TopStrip_Logo {
      margin-top: 17px;
      margin-bottom: 17px; } }

/*
|--------------------------------------------------------------------------
| Top Strip - Nav
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_Nav {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .hd-TopStrip_Nav {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin-left: auto; } }

/*
|--------------------------------------------------------------------------
| Top Strip  - Nav item
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_NavItem {
  display: block;
  padding-top: 27px;
  padding-right: 20px;
  padding-bottom: 27px;
  padding-left: 20px;
  border-left: 1px solid #2e2e2e;
  color: inherit; }
  .hd-TopStrip_NavItem:last-child {
    border-right: 1px solid #2e2e2e; }

/*
|--------------------------------------------------------------------------
| Strip
|--------------------------------------------------------------------------
|
*/
.hd-Strip {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 114px;
  background-color: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4); }
  @media only screen and (min-width: 1025px) {
    .hd-Strip {
      box-shadow: none; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Trigger
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavTrigger {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 42px;
  margin-bottom: 42px;
  padding-top: 7px;
  padding-right: 7px;
  padding-bottom: 7px;
  padding-left: 7px;
  font-size: 0.75rem;
  border: 2px solid #3b5866;
  border-radius: 3px;
  color: #0a2e40;
  cursor: pointer;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavTrigger {
      display: none;
      margin-top: 49px;
      margin-bottom: 35px; } }
  .hd-Strip_NavTrigger[aria-selected='true'] {
    background-color: #39c5ff;
    border: 2px solid #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Nav Trigger Line
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavTriggerLine {
  display: block;
  height: 2px;
  width: 12px;
  background-color: #0a2e40;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  /**
  * Top Line
  */
  /**
  * Middle Line
  */
  /**
  * Bottom Line
  */ }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine {
    background-color: #fff; }
  .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Top {
    margin-bottom: auto; }
  .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Middle {
    margin-top: auto;
    margin-bottom: auto; }
  .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Bottom {
    margin-top: auto; }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Top {
    -webkit-animation: NavTriggerLine-Top-Anim 0.35s;
            animation: NavTriggerLine-Top-Anim 0.35s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Middle {
    -webkit-animation: NavTriggerLine-Middle-Anim 0.35s;
            animation: NavTriggerLine-Middle-Anim 0.35s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Bottom {
    -webkit-animation: NavTriggerLine-Bottom-Anim 0.35s;
            animation: NavTriggerLine-Bottom-Anim 0.35s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }

@-webkit-keyframes NavTriggerLine-Top-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); }
  100% {
    -webkit-transform: translateY(5px) rotate(45deg) scale(1.3);
            transform: translateY(5px) rotate(45deg) scale(1.3); } }

@keyframes NavTriggerLine-Top-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); }
  100% {
    -webkit-transform: translateY(5px) rotate(45deg) scale(1.3);
            transform: translateY(5px) rotate(45deg) scale(1.3); } }

@-webkit-keyframes NavTriggerLine-Middle-Anim {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }

@keyframes NavTriggerLine-Middle-Anim {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }

@-webkit-keyframes NavTriggerLine-Bottom-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px); }
  100% {
    -webkit-transform: translateY(-5px) rotate(-45deg) scale(1.3);
            transform: translateY(-5px) rotate(-45deg) scale(1.3); } }

@keyframes NavTriggerLine-Bottom-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px); }
  100% {
    -webkit-transform: translateY(-5px) rotate(-45deg) scale(1.3);
            transform: translateY(-5px) rotate(-45deg) scale(1.3); } }

/*
|--------------------------------------------------------------------------
| Strip - Logo
|--------------------------------------------------------------------------
|
*/
.hd-Strip_Logo {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 114px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 37px;
  padding-bottom: 37px;
  width: 179px;
  background-image: url('/static/site/build/img/svgs/csap-logo.svg');
  background-position: left 0 top 37px;
  background-repeat: no-repeat;
  background-size: 179px 40px; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_Logo {
      margin-right: 0;
      margin-left: 0;
      padding-top: 32px;
      padding-bottom: 32px;
      width: 220px;
      background-position: left 0 top 32px;
      background-size: 220px 50px; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav
|--------------------------------------------------------------------------
|
*/
.hd-Strip_Nav {
  position: fixed;
  top: 174px;
  bottom: 0;
  left: 0;
  z-index: 0;
  padding-bottom: 20px;
  width: 230px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  background-color: #fff;
  border-top: 1px solid #d1d1d1;
  border-right: 1px solid #d1d1d1;
  overflow-x: scroll;
  overflow-y: visible;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; }
  .hd-Strip_Nav[aria-hidden='true'] {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_Nav {
      position: static;
      z-index: 1;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-left: auto;
      padding-top: 46px;
      padding-bottom: 32px;
      width: auto;
      border: 0;
      color: #0a2e40;
      overflow-x: visible; }
      .hd-Strip_Nav[aria-hidden='true'] {
        -webkit-transform: translateX(0);
                transform: translateX(0); } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Item
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavItem {
  position: relative; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavItem {
      margin-right: 10px;
      margin-left: 10px; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Action
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavAction {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 13px;
  padding-right: 20px;
  padding-bottom: 12px;
  padding-left: 20px;
  border-bottom: 1px solid #d1d1d1;
  color: #0a2e40;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .hd-Strip_NavAction:hover {
    background-color: #39c5ff;
    color: #fff; }
  .hd-Strip_NavAction .fa {
    margin-left: auto; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavAction {
      display: block;
      padding-top: 6px;
      padding-right: 4px;
      padding-bottom: 6px;
      padding-left: 4px;
      border-bottom: 0;
      color: #0a2e40;
      -webkit-transition: color 0.3s;
      transition: color 0.3s; }
      .hd-Strip_NavAction:hover {
        background-color: #fff;
        color: #39c5ff; }
      .hd-Strip_NavAction .fa {
        display: none; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Dropdown
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavDropdown {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 230px;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(-230px);
          transform: translateX(-230px);
  -webkit-transition: opacity 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  /**
  * Provide an invisible block that allows for more flexible mouse movement
  * when the user moves from the hovered NavItem to the NavDropdown
  */
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .hd-Strip_NavDropdown[aria-hidden='false'] {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavDropdown {
      position: absolute;
      top: 150%;
      bottom: auto;
      width: 220px;
      border-radius: 3px;
      box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.4);
      -webkit-transform: translateX(0);
              transform: translateX(0); } }
  .hd-Strip_NavDropdown::before {
    content: '';
    position: absolute;
    top: -20px;
    display: block;
    height: 20px;
    width: 100%; }
  .hd-Strip_NavItem:nth-last-child(n-2) .hd-Strip_NavDropdown {
    right: 0; }
  .hd-Strip_NavItem:hover > .hd-Strip_NavDropdown {
    opacity: 1;
    visibility: visible; }

/*
|--------------------------------------------------------------------------
| Strip - Nav Dropdown Action
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavDropdownAction {
  display: block;
  padding-top: 13px;
  padding-right: 20px;
  padding-bottom: 12px;
  padding-left: 20px;
  border-bottom: 1px solid #d1d1d1;
  color: #0a2e40;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  /**
  * Remove the border on the dropdown's last item's action
  */
  /**
  * Hide the first 2 items on desktop, they are purely for mobile navigation
  */ }
  .hd-Strip_NavDropdownAction:hover {
    background-color: #39c5ff;
    color: #fff; }
  .hd-Strip_NavDropdownItem:last-child .hd-Strip_NavDropdownAction {
    border-bottom: 0; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavDropdownItem:first-child .hd-Strip_NavDropdownAction {
      display: none; } }
  .hd-Strip_NavDropdownAction .fa-arrow-left {
    margin-right: 10px; }

/*
|--------------------------------------------------------------------------
| Strip - Nav Button
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavButton {
  display: block;
  margin-top: 20px;
  margin-right: 20px;
  margin-left: 20px;
  padding-top: 1px;
  padding-right: 24px;
  padding-bottom: 1px;
  padding-left: 24px;
  font-size: 0.8125rem;
  text-align: center;
  background-color: #fff;
  border: 2px solid #3b5866;
  border-radius: 3px;
  color: #0a2e40;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavButton {
      display: inline-block;
      margin-top: 0;
      margin-right: 14px;
      margin-left: 14px; } }
  .hd-Strip_NavButton:hover {
    background-color: #39c5ff;
    border: 2px solid #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Search
|--------------------------------------------------------------------------
|
*/
.hd-Strip_Search {
  position: relative;
  margin-top: 42px;
  margin-bottom: 42px;
  min-width: 28px;
  padding-top: 1px;
  padding-right: 7px;
  padding-bottom: 1px;
  padding-left: 7px;
  font-size: 0.75rem;
  border: 2px solid #3b5866;
  border-radius: 3px;
  color: #0a2e40;
  cursor: pointer;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_Search {
      margin-top: 49px;
      margin-bottom: 35px; } }
  .hd-Strip_Search[aria-selected='true'] {
    z-index: 2; }
  .hd-Strip_Search[aria-selected='true'], .hd-Strip_Search:hover {
    background-color: #39c5ff;
    border: 2px solid #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Search Form
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchForm {
  position: absolute;
  top: 150%;
  right: 0;
  padding: 10px;
  width: 340px;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  border-radius: 3px;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0s;
  transition: opacity 0.3s, visibility 0s; }
  .hd-Strip_SearchForm[aria-hidden='false'] {
    opacity: 1;
    visibility: visible; }

/*
|--------------------------------------------------------------------------
| Strip - Search Item
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchItem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 31px; }

/*
|--------------------------------------------------------------------------
| Strip - Search Input
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchInput {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  padding: 0;
  padding-right: 20px;
  font-family: "minion-pro", serif;
  font-size: 1rem;
  border: 0;
  color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput::-webkit-input-placeholder {
    color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput::-moz-placeholder {
    color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput:-ms-input-placeholder {
    color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput::placeholder {
    color: rgba(10, 46, 64, 0.5); }

/*
|--------------------------------------------------------------------------
| Strip - Search Submit
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchSubmit {
  padding-right: 19px;
  padding-left: 19px;
  font-size: 0.875rem;
  background-color: #39c5ff;
  border-radius: 3px;
  color: #fff; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Footer
|--------------------------------------------------------------------------
|
| The global site footer that appears at the bottom of every page
| @prefix: ft-
|
*/
/*
|--------------------------------------------------------------------------
| Strip
|--------------------------------------------------------------------------
|
*/
.ft-Strip {
  background-color: #232833;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Inner
|--------------------------------------------------------------------------
|
*/
.ft-Strip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 39px; }
  @media only screen and (min-width: 1025px) {
    .ft-Strip_Inner {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      padding-top: 55px;
      padding-bottom: 70px; } }

/*
|--------------------------------------------------------------------------
| Column
|--------------------------------------------------------------------------
|
*/
.ft-Col {
  padding-top: 35px;
  padding-bottom: 35px;
  border-top: 1px solid rgba(234, 234, 234, 0.2);
  /**
  * Col 1
  */
  /**
  * Col 2
  */
  /**
  * Col 4
  */ }
  @media only screen and (min-width: 1025px) {
    .ft-Col {
      padding-top: 0;
      padding-right: 35px;
      padding-bottom: 0;
      padding-left: 35px;
      border-top: 0;
      border-right: 1px solid rgba(234, 234, 234, 0.2); } }
  .ft-Col:first-of-type {
    padding-top: 0;
    padding-left: 0;
    border-top: 0; }
  @media only screen and (min-width: 1025px) {
    .ft-Col:last-child {
      padding-right: 0;
      border-right: 0; } }
  .ft-Col.ft-Col1 {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col1 {
        -webkit-flex-basis: 33.3333333333%;
            -ms-flex-preferred-size: 33.3333333333%;
                flex-basis: 33.3333333333%;
        width: 33.3333333333%; } }
  .ft-Col.ft-Col2 {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 50%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col2 {
        -webkit-flex-basis: 16.6666666667%;
            -ms-flex-preferred-size: 16.6666666667%;
                flex-basis: 16.6666666667%;
        width: 16.6666666667%; } }
  .ft-Col.ft-Col3 {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
    width: 100%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col3 {
        -webkit-flex-basis: 33.3333333333%;
            -ms-flex-preferred-size: 33.3333333333%;
                flex-basis: 33.3333333333%;
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3;
        width: 33.3333333333%; } }
  .ft-Col.ft-Col4 {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    width: 50%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col4 {
        -webkit-flex-basis: 16.6666666667%;
            -ms-flex-preferred-size: 16.6666666667%;
                flex-basis: 16.6666666667%;
        -webkit-box-ordinal-group: 5;
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4;
        width: 16.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Column - Header
|--------------------------------------------------------------------------
|
*/
.ft-Col_Header {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem; }

/*
|--------------------------------------------------------------------------
| Column - Text
|--------------------------------------------------------------------------
|
*/
.ft-Col_Text {
  margin-bottom: 0; }

/* Special case for column 3, the text above the newsletter. This should be
   hidden when the layout is collapsed at <lg. Github #37. */
.ft-Col3_Text {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .ft-Col3_Text {
      display: block; } }

/*
|--------------------------------------------------------------------------
| List
|--------------------------------------------------------------------------
|
*/
.ft-List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| List - Item Action
|--------------------------------------------------------------------------
|
*/
.ft-List_ItemAction {
  display: block;
  line-height: 1.75rem;
  color: #fff;
  -webkit-transition: color 0.18s;
  transition: color 0.18s; }
  .ft-List_ItemAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| List Social
|--------------------------------------------------------------------------
|
*/
.ft-ListSocial {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| List Social - Item Action
|--------------------------------------------------------------------------
|
*/
.ft-ListSocial_ItemAction {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.75rem;
  color: #fff;
  -webkit-transition: color 0.18s;
  transition: color 0.18s; }
  .ft-ListSocial_ItemAction:hover {
    color: #39c5ff; }
  .ft-ListSocial_ItemAction .fa {
    margin-right: 10px; }

/*
|--------------------------------------------------------------------------
| Bottom Strip
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #191d25; }
  @media only screen and (min-width: 1025px) {
    .ft-BottomStrip {
      height: 50px;
      padding-top: 0;
      padding-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| Bottom Strip - Inner
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 1025px) {
    .ft-BottomStrip_Inner {
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

/*
|--------------------------------------------------------------------------
| Bottom Strip - Copyright
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip_Copyright {
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #fff; }
  .ft-BottomStrip_Copyright::after {
    content: '\00a0'; }

/*
|--------------------------------------------------------------------------
| Bottom Strip - Onespace
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip_Onespace {
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #fff;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .ft-BottomStrip_Onespace a {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Components
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Article - Share
|--------------------------------------------------------------------------
|
*/
.art-Share {
  position: absolute;
  left: 50%;
  display: none;
  margin-left: -620px;
  border: 1px solid #232833; }
  @media only screen and (min-width: 769px) {
    .art-Share {
      display: block; } }

/*
|--------------------------------------------------------------------------
| Article - Share - Title
|--------------------------------------------------------------------------
|
*/
.art-Share_Title {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 0.75rem;
  line-height: 1.875rem;
  text-align: center;
  background-color: #232833;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Article - Share - List
|--------------------------------------------------------------------------
|
*/
.art-Share_List {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Article - Share - Item
|--------------------------------------------------------------------------
|
*/
.art-Share_Item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
  padding-left: 24px;
  border-bottom: 1px solid #232833;
  color: #00578a; }
  .art-Share_Item:last-child {
    border-bottom: 0; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Article - Strip
|--------------------------------------------------------------------------
|
| @prefix: art-
|
*/
.art-Strip {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
  color: #fff; }
  @media only screen and (min-width: 769px) {
    .art-Strip {
      padding-top: 46px;
      padding-bottom: 46px;
      text-align: left; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Inner
|--------------------------------------------------------------------------
|
*/
.art-Strip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Inner {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Content
|--------------------------------------------------------------------------
|
*/
.art-Strip_Content {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  width: 83.3333333333%; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Content {
      -webkit-flex-basis: 50%;
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%;
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
      width: 50%; } }
  @media only screen and (min-width: 1025px) {
    .art-Strip_Content {
      -webkit-flex-basis: 33.3333333333%;
          -ms-flex-preferred-size: 33.3333333333%;
              flex-basis: 33.3333333333%;
      margin-left: calc(16.6666666667% + 20px);
      width: 33.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Short title
|--------------------------------------------------------------------------
|
*/
.art-Strip_ShortTitle {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .art-Strip_ShortTitle {
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Title
|--------------------------------------------------------------------------
|
*/
.art-Strip_Title {
  margin-bottom: 8px;
  font-size: 1.625rem;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Text
|--------------------------------------------------------------------------
|
*/
.art-Strip_Text {
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Text {
      font-size: 1.125rem;
      line-height: 1.75rem; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Media container
|--------------------------------------------------------------------------
|
*/
.art-Strip_MediaContainer {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px; }
  @media only screen and (min-width: 769px) {
    .art-Strip_MediaContainer {
      -webkit-flex-basis: 174px;
          -ms-flex-preferred-size: 174px;
              flex-basis: 174px;
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      margin-right: 8.3333333333%;
      margin-bottom: 0;
      margin-left: auto; } }
  @media only screen and (min-width: 1025px) {
    .art-Strip_MediaContainer {
      margin-right: 16.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Media
|--------------------------------------------------------------------------
|
*/
.art-Strip_Media {
  height: 174px;
  width: 174px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Breadcrumb
|--------------------------------------------------------------------------
|
| @prefix: bdc-
|
*/
/*
|--------------------------------------------------------------------------
| Breadcrumb - Outer
|--------------------------------------------------------------------------
|
*/
.bdc-Outer {
  background-color: #232833; }

/*
|--------------------------------------------------------------------------
| Breadcrumb - Inner
|--------------------------------------------------------------------------
|
*/
.bdc-Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  padding-top: 12px;
  padding-bottom: 12px; }

/*
|--------------------------------------------------------------------------
| Breadcrumb - Items
|--------------------------------------------------------------------------
|
*/
.bdc-Items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: "minion-pro", serif;
  font-size: 0.875rem;
  line-height: 1.625rem;
  color: #fff; }
  @media only screen and (min-width: 1025px) {
    .bdc-Items {
      font-size: 1.125rem; } }

.bdc-Item {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

/*
|--------------------------------------------------------------------------
| Breadcrumb - Action
|--------------------------------------------------------------------------
|
*/
.bdc-Action {
  position: relative;
  margin-right: 16px; }
  .bdc-Action::after {
    content: '-';
    position: absolute;
    margin-left: 5px;
    color: #fff; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Contact - Details
|--------------------------------------------------------------------------
|
*/
.ctc-Details {
  padding-top: 6.17%;
  padding-bottom: 4.96%; }

/*
|--------------------------------------------------------------------------
| Contact - Details - Title
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Title {
  margin-bottom: 32px;
  font-weight: 400; }
  @media only screen and (min-width: 769px) {
    .ctc-Details_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Contact - Details - Columns
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Columns {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }
  @media only screen and (min-width: 481px) {
    .ctc-Details_Columns {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }

/*
|--------------------------------------------------------------------------
| Contact - Details - Column
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Column {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  margin-right: 20px;
  margin-left: 20px; }

/*
|--------------------------------------------------------------------------
| Contact - Details - Block
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Block {
  margin-bottom: 32px;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .ctc-Details_Block:last-of-type {
      margin-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| Contact - Details - Block title
|--------------------------------------------------------------------------
|
*/
.ctc-Details_BlockTitle {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Contact - Details - Block text
|--------------------------------------------------------------------------
|
*/
.ctc-Details_BlockText {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Contacts
|--------------------------------------------------------------------------
|
| @prefix: ctc-
|
*/
/*
|--------------------------------------------------------------------------
| Contacts - Inner
|--------------------------------------------------------------------------
|
*/
.ctc-Inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 769px) {
    .ctc-Inner {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      margin-right: -20px;
      margin-left: -20px; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Events - Featured - Title
|--------------------------------------------------------------------------
|
*/
.eve-Featured_Title {
  margin-bottom: 20px;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Cards
|--------------------------------------------------------------------------
|
*/
.eve-Featured_Cards {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Cards {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      max-height: 760px; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card
|--------------------------------------------------------------------------
|
*/
.eve-Featured_Card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 40px;
  margin-left: 20px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  .eve-Featured_Card.eve-Featured_Card-Vert {
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Featured_Card.eve-Featured_Card-Vert {
        height: 340px; } }
    @media only screen and (min-width: 769px) {
      .eve-Featured_Card.eve-Featured_Card-Vert {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        height: 720px;
        width: calc(33.3333333333% - 40px); } }
  .eve-Featured_Card.eve-Featured_Card-Hori {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Featured_Card.eve-Featured_Card-Hori {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        height: 340px;
        width: calc(100% - 40px); } }
    @media only screen and (min-width: 769px) {
      .eve-Featured_Card.eve-Featured_Card-Hori {
        width: calc(66.6666666667% - 40px); } }
  .eve-Featured_Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card media
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardMedia {
  display: block;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }
  .eve-Featured_Card-Hori .eve-Featured_CardMedia {
    padding-top: 100%;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Featured_Card-Hori .eve-Featured_CardMedia {
        -webkit-flex-basis: calc(50% - 20px);
            -ms-flex-preferred-size: calc(50% - 20px);
                flex-basis: calc(50% - 20px);
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin-right: 20px;
        padding-top: 0;
        width: calc(50% - 20px); } }
  @media only screen and (min-width: 481px) {
    .eve-Featured_Card-Vert .eve-Featured_CardMedia {
      -webkit-flex-basis: calc(50% - 20px);
          -ms-flex-preferred-size: calc(50% - 20px);
              flex-basis: calc(50% - 20px);
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      margin-right: 20px;
      padding-top: 0;
      width: calc(50% - 20px); } }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Card-Vert .eve-Featured_CardMedia {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto;
      padding-top: 100%;
      width: 100%; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card content
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardContent {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }
  .eve-Featured_Card-Hori .eve-Featured_CardContent,
  .eve-Featured_Card-Vert .eve-Featured_CardContent {
    padding-left: 20px; }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Card-Vert .eve-Featured_CardContent {
      padding-left: 40px; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card short title
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card short title action
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardShortTitleAction {
  display: block;
  color: #39c5ff; }
  .eve-Featured_CardShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card title
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardTitle {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card title action
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardTitleAction {
  display: block;
  color: inherit; }
  .eve-Featured_CardTitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card text
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardText {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card arrow
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardArrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .eve-Featured_CardArrow:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Events - Upcoming - Header
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_Header {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Header action
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_HeaderAction {
  font-family: "minion-pro", serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2.25rem;
  color: #0a2e40; }
  .eve-Upcoming_HeaderAction .fa {
    margin-right: 5px;
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Title
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_Title {
  margin-bottom: 20px;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .eve-Upcoming_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - List
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_Item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 25px;
  padding-bottom: 37px;
  border-top: 1px solid #ced5d9; }
  @media only screen and (min-width: 481px) {
    .eve-Upcoming_Item {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .noBorderOnFirst .eve-Upcoming_Item:first-child {
    border-top: 0; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item content
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemContent {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .eve-Upcoming_ItemContent {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item meta
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemMeta {
  margin-bottom: 8px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #9e9e9e; }

.eve-Upcoming_ItemDate {
  margin-bottom: 8px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item title
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemTitle {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .eve-Upcoming_ItemTitle a {
    color: #39c5ff; }
    .eve-Upcoming_ItemTitle a:hover {
      color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item text
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemText {
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.75rem;
  color: #1c2a49; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item media
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemMedia {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: block;
  background-position: center;
  background-size: cover; }
  @media only screen and (min-width: 481px) {
    .eve-Upcoming_ItemMedia {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; } }
  .eve-Upcoming_ItemMedia-print {
    display: none; }
  .eve-Upcoming_ItemMedia[style] {
    -webkit-flex-basis: 240px;
        -ms-flex-preferred-size: 240px;
            flex-basis: 240px;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    height: 240px;
    margin-bottom: 20px;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Upcoming_ItemMedia[style] {
        -webkit-flex-basis: 155px;
            -ms-flex-preferred-size: 155px;
                flex-basis: 155px;
        height: 128px;
        margin-bottom: 0;
        margin-left: 20px;
        width: auto; } }

/*
|--------------------------------------------------------------------------
| Events
|--------------------------------------------------------------------------
|
| @prefix: eve-
|
*/
/*
|--------------------------------------------------------------------------
| Events - Inner
|--------------------------------------------------------------------------
|
*/
.eve-Inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 769px) {
    .eve-Inner {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      margin-right: -20px;
      margin-left: -20px; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Latest
|--------------------------------------------------------------------------
|
| @prefix: lts-
|
*/
/*
|--------------------------------------------------------------------------
| Latest - Outer
|--------------------------------------------------------------------------
|
*/
.lts-Outer {
  padding-top: 4.82%;
  padding-bottom: 5.75%; }

/*
|--------------------------------------------------------------------------
| Latest - Inner
|--------------------------------------------------------------------------
|
*/
.lts-Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Latest - Content
|--------------------------------------------------------------------------
|
*/
.lts-Content {
  margin-bottom: 6.38%;
  text-align: center;
  color: #092557; }
  @media only screen and (min-width: 769px) {
    .lts-Content {
      margin-right: auto;
      margin-left: auto;
      width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Latest - Title
|--------------------------------------------------------------------------
|
*/
.lts-Title {
  font-weight: 400; }
  @media only screen and (min-width: 769px) {
    .lts-Title {
      margin-bottom: 19px;
      font-size: 2.25rem;
      line-height: 2.625rem; } }

/*
|--------------------------------------------------------------------------
| Latest - Text
|--------------------------------------------------------------------------
|
*/
.lts-Text {
  margin-bottom: 0; }
  @media only screen and (min-width: 769px) {
    .lts-Text {
      font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
      font-size: 1.25rem;
      line-height: 1.875rem; } }

/*
|--------------------------------------------------------------------------
| Latest - Cards
|--------------------------------------------------------------------------
|
*/
.lts-Cards {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }

/*
|--------------------------------------------------------------------------
| Latest - Card
|--------------------------------------------------------------------------
|
*/
.lts-Card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 40px;
  margin-left: 20px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 769px) {
    .lts-Card:nth-child(3), .lts-Card:nth-child(4) {
      margin-top: -380px; } }
  .lts-Card.lts-Card-Vert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .lts-Card.lts-Card-Vert {
        height: 720px;
        width: calc(50% - 40px); } }
    @media only screen and (min-width: 769px) {
      .lts-Card.lts-Card-Vert {
        width: calc(33.3333333333% - 40px); } }
  .lts-Card.lts-Card-Hori {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .lts-Card.lts-Card-Hori {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        height: 340px;
        width: calc(100% - 40px); } }
    @media only screen and (min-width: 769px) {
      .lts-Card.lts-Card-Hori {
        width: calc(66.6666666667% - 40px); } }
  .lts-Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    color: #092557; }
    .lts-Card:hover .lts-Card_Arrow {
      background-color: #00578a;
      color: #fff; }

/*
|--------------------------------------------------------------------------
| Latest - Card media
|--------------------------------------------------------------------------
|
*/
.lts-Card_Media {
  display: block;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }
  .lts-Card-Hori .lts-Card_Media {
    padding-top: 100%;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .lts-Card-Hori .lts-Card_Media {
        -webkit-flex-basis: calc(50% - 20px);
            -ms-flex-preferred-size: calc(50% - 20px);
                flex-basis: calc(50% - 20px);
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin-right: 20px;
        padding-top: 0;
        width: calc(50% - 20px); } }
  .lts-Card-Vert .lts-Card_Media {
    padding-top: 100%;
    /* stylelint-disable */
    /* stylelint-enable */ }

@-moz-document url-prefix() {
  .lts-Card-Vert .lts-Card_Media {
    padding-top: calc(50% + 20px); } }

/*
|--------------------------------------------------------------------------
| Latest - Card content
|--------------------------------------------------------------------------
|
*/
.lts-Card_Content {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }
  .lts-Card-Hori .lts-Card_Content {
    padding-left: 20px; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title
|--------------------------------------------------------------------------
|
*/
.lts-Card_ShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title action
|--------------------------------------------------------------------------
|
*/
.lts-Card_ShortTitleAction {
  display: block;
  color: #39c5ff; }
  .lts-Card_ShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Latest - Card title
|--------------------------------------------------------------------------
|
*/
.lts-Card_Title {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card title action
|--------------------------------------------------------------------------
|
*/
.lts-Card_TitleAction {
  display: block;
  color: inherit; }
  .lts-Card_TitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Card text
|--------------------------------------------------------------------------
|
*/
.lts-Card_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow
|--------------------------------------------------------------------------
|
*/
.lts-Card_Arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .lts-Card_Arrow:hover {
    background-color: #00578a;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.lts-Card_ArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 340px;
  margin-right: 20px;
  margin-bottom: 40px;
  margin-left: 20px;
  padding-top: 35px;
  padding-right: 40px;
  padding-bottom: 15px;
  padding-left: 40px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 481px) {
    .lts-TweetCard {
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .lts-TweetCard {
      width: calc(33.3333333333% - 40px); } }
  @media only screen and (min-width: 481px) {
    .lts-TweetCard.lts-TweetCard-2nd {
      margin-top: -380px;
      -webkit-transform: translateX(calc(100% + 40px));
              transform: translateX(calc(100% + 40px)); } }
  @media only screen and (min-width: 769px) {
    .lts-TweetCard.lts-TweetCard-2nd {
      margin-top: 0;
      -webkit-transform: translateX(0);
              transform: translateX(0); } }
  .lts-TweetCard:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Title
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Title {
  margin-bottom: 9px; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Text
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Text {
  margin-bottom: 0;
  font-size: 1.25rem;
  line-height: 1.875rem; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Meta
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Meta {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: auto;
  font-size: 0.875rem;
  line-height: 2.25rem;
  color: #092557; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Reply
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Reply {
  margin-right: 20px;
  color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Retweet
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Retweet {
  margin-right: 20px;
  color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Like
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Like {
  color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Time
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Time {
  margin-left: auto;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #acacac; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Login
|--------------------------------------------------------------------------
|
| @prefix: lgi-
|
*/
/*
|--------------------------------------------------------------------------
| Login - Outer
|--------------------------------------------------------------------------
|
*/
.lgi-Outer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 800px;
  background-color: #083c7a;
  background-image: url('/static/site/build/img/digital-connections.jpg');
  background-size: cover; }

/*
|--------------------------------------------------------------------------
| Login - Inner
|--------------------------------------------------------------------------
|
*/
.lgi-Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Login - Box
|--------------------------------------------------------------------------
|
*/
.lgi-Box {
  padding-top: 32px;
  width: 100%;
  background-color: #fff;
  border-radius: 3px; }
  @media only screen and (min-width: 481px) {
    .lgi-Box {
      max-width: 420px; } }
  @media only screen and (min-width: 769px) {
    .lgi-Box {
      width: 33.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Login - Content
|--------------------------------------------------------------------------
|
*/
.lgi-Content {
  margin-right: 40px;
  margin-bottom: 18px;
  margin-left: 40px; }

.lgi-Content_bottom {
  padding-bottom: 32px; }

/*
|--------------------------------------------------------------------------
| Login - Box - Under
|--------------------------------------------------------------------------
|
*/
.lgi-Box_Under {
  margin-top: 20px; }

/*
|--------------------------------------------------------------------------
| Login - Box - Under text
|--------------------------------------------------------------------------
|
*/
.lgi-Box_UnderText {
  font-size: 1rem;
  line-height: 1.875rem;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Login - Form - Message Title
|--------------------------------------------------------------------------
|
*/
.lgi-Form_MessageTitle {
  margin-bottom: 20px; }

/*
|--------------------------------------------------------------------------
| Login - Form - Item
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Item {
  margin-right: 40px;
  margin-bottom: 18px;
  margin-left: 40px; }
  .lgi-Form_Item:last-child {
    margin: 0; }

/*
|--------------------------------------------------------------------------
| Login - Form - Label
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Label {
  display: block;
  margin-bottom: 9px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.625rem;
  color: #03163b; }

/*
|--------------------------------------------------------------------------
| Login - Form - Input
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Input {
  display: block;
  padding-top: 6px;
  padding-right: 10px;
  padding-bottom: 7px;
  padding-left: 10px;
  width: 100%;
  line-height: 1.5rem;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: rgba(3, 22, 59, 0.5); }
  .lgi-Form_Input::-webkit-input-placeholder {
    color: inherit; }
  .lgi-Form_Input::-moz-placeholder {
    color: inherit; }
  .lgi-Form_Input:-ms-input-placeholder {
    color: inherit; }
  .lgi-Form_Input::placeholder {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Login - Form - Checkbox
|--------------------------------------------------------------------------
|
*/
.lgi-Form_CheckboxWrap {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  line-height: 1.875rem; }

.lgi-Form_Checkbox {
  /* line-height compensation */
  margin-top: 8px;
  margin-right: 10px; }

/*
|--------------------------------------------------------------------------
| Login - Form - Forgotten password
|--------------------------------------------------------------------------
|
*/
.lgi-Form_ForgottenPassword {
  font-size: 1rem;
  line-height: 1.875rem; }

/*
|--------------------------------------------------------------------------
| Login - Form - Submit
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Submit {
  position: relative;
  display: block;
  padding-top: 22px;
  padding-bottom: 22px;
  width: 100%;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.625rem;
  text-align: center;
  background-image: -webkit-linear-gradient(304deg, #0096cc, #0bf);
  background-image: linear-gradient(146deg, #0096cc, #0bf);
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  color: #fff; }
  .lgi-Form_Submit:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Login - Form - Error
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Error {
  margin-bottom: 0;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  font-family: "minion-pro", serif;
  font-size: 1rem;
  line-height: 1.375rem;
  background-color: #f6d1ca;
  border: 1px solid #db462c;
  border-radius: 2px;
  color: #db462c; }

/*
|--------------------------------------------------------------------------
| Login - Form - Submit icon
|--------------------------------------------------------------------------
|
*/
.lgi-Form_SubmitIcon {
  position: absolute;
  top: 50%;
  right: 45px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: #03163b;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .lgi-Form_Submit:hover .lgi-Form_SubmitIcon {
    background-color: #fff;
    color: #03163b; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Newsletter
|--------------------------------------------------------------------------
|
| @prefix: nsl-
|
*/
.nsl-Form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 35px; }
  .nsl-Form.nsl-Form-footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }

.nsl-InputsSurround {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Newsletter - Input
|--------------------------------------------------------------------------
|
*/
.nsl-Input {
  padding-top: 8px;
  padding-right: 20px;
  padding-bottom: 8px;
  padding-left: 20px;
  width: 100%;
  line-height: 1.625rem;
  border: 1px solid #eaeaea;
  border-radius: 3px;
  color: rgba(3, 83, 123, 0.5); }
  .nsl-Input::-webkit-input-placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Input::-moz-placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Input:-ms-input-placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Input::placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Form-footer .nsl-Input {
    margin-right: 0;
    margin-left: 0; }

/*
|--------------------------------------------------------------------------
| Newsletter - Submit
|--------------------------------------------------------------------------
|
*/
.nsl-Submit {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-left: 20px; }
  .nsl-Submit:hover {
    background-color: #39c5ff;
    color: #fff; }
  .asi-Newsletter .nsl-Submit {
    color: #0a2e40; }
  .nsl-Form-footer .nsl-Submit {
    margin-right: 0; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Organisation
|--------------------------------------------------------------------------
|
| @prefix: org-
|
*/
/*
|--------------------------------------------------------------------------
| Organisation - Outer
|--------------------------------------------------------------------------
|
*/
.org-Outer {
  padding-top: 6.3%;
  padding-bottom: 6.3%; }

/*
|--------------------------------------------------------------------------
| Organisation - Title
|--------------------------------------------------------------------------
|
*/
.org-Title {
  font-size: 1.5rem;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .org-Title {
      font-size: 2.25rem;
      line-height: 2.625rem; } }

/*
|--------------------------------------------------------------------------
| Organisation - List
|--------------------------------------------------------------------------
|
*/
.org-List {
  width: 100%; }

/*
|--------------------------------------------------------------------------
| Organisation - Item
|--------------------------------------------------------------------------
|
*/
.org-Item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
  padding-top: 26px;
  padding-right: 30px;
  padding-bottom: 21px;
  padding-left: 30px;
  border: 1px solid #ced5d9;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 481px) {
    .org-Item {
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .org-Item:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Content
|--------------------------------------------------------------------------
|
*/
.org-Item_Content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-right: 20px; }
  @media only screen and (min-width: 481px) {
    .org-Item_Content {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Title
|--------------------------------------------------------------------------
|
*/
.org-Item_Title {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.75rem;
  color: #03163b; }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Text
|--------------------------------------------------------------------------
|
*/
.org-Item_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #03163b; }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Media container
|--------------------------------------------------------------------------
|
*/
.org-Item_MediaContainer {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px; }
  @media only screen and (min-width: 481px) {
    .org-Item_MediaContainer {
      -webkit-flex-basis: 200px;
          -ms-flex-preferred-size: 200px;
              flex-basis: 200px;
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      margin-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| Pagination - Outer
|--------------------------------------------------------------------------
|
*/
.pgn-Outer {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 30px;
  padding-bottom: 30px; }

/*
|--------------------------------------------------------------------------
| Pagination - Control
|--------------------------------------------------------------------------
|
*/
.pgn-Control {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-basis: 30px;
      -ms-flex-preferred-size: 30px;
          flex-basis: 30px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .pgn-Control:hover {
    color: #fff; }
  .pgn-Control:first-child {
    margin-right: 20px; }
  .pgn-Control:last-child {
    margin-left: 20px; }

/*
|--------------------------------------------------------------------------
| Pagination - Control - Icon
|--------------------------------------------------------------------------
|
*/
.pgn-Control_Icon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  .pgn-Control_Icon::before {
    font-size: 0.875rem; }

/*
|--------------------------------------------------------------------------
| Pagination - Item
|--------------------------------------------------------------------------
|
*/
.pgn-Items {
  text-align: center; }

.pgn-Item {
  display: inline-block;
  padding-right: 7px;
  padding-left: 7px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #0a2e40; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| People
|--------------------------------------------------------------------------
|
| @ppl-
|
*/
/*
|--------------------------------------------------------------------------
| People - Outer
|--------------------------------------------------------------------------
|
*/
.ppl-Outer {
  padding-top: 3.15%;
  padding-bottom: 6.05%; }

/*
|--------------------------------------------------------------------------
| People - Outer - Title
|--------------------------------------------------------------------------
|
*/
.ppl-Outer_title {
  margin-bottom: 32px;
  font-weight: 400; }
  @media only screen and (min-width: 769px) {
    .ppl-Outer_title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| People - Filter
|--------------------------------------------------------------------------
|
*/
.ppl-Filter {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-bottom: 29px;
  margin-left: -20px; }
  @media only screen and (min-width: 1025px) {
    .ppl-Filter {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }

/*
|--------------------------------------------------------------------------
| People - Filter - Text
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Text {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 10px;
  margin-left: 20px;
  color: #1c2a49; }
  @media only screen and (min-width: 1025px) {
    .ppl-Filter_Text {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1 1 0%;
      margin-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| People - Filter - Label
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Label {
  margin-top: -5px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| People - Filter - Results count
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_ResultsCount {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| People - Filter - Input
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Input {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
  margin-right: 20px;
  margin-bottom: 10px;
  margin-left: 20px; }
  @media only screen and (min-width: 481px) {
    .ppl-Filter_Input {
      -webkit-flex-basis: calc(50% - 40px);
          -ms-flex-preferred-size: calc(50% - 40px);
              flex-basis: calc(50% - 40px);
      margin-bottom: 0; } }
  @media only screen and (min-width: 1025px) {
    .ppl-Filter_Input {
      -webkit-flex-basis: 280px;
          -ms-flex-preferred-size: 280px;
              flex-basis: 280px; } }

/*
|--------------------------------------------------------------------------
| People - Filter - Select
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Select {
  position: relative;
  display: block;
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.75rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #f7f8fa;
  background-image: url('/static/site/build/img/select-arrow-down.png');
  background-position: top 50% right 20px;
  background-repeat: no-repeat;
  border: 0;
  border-radius: 0;
  color: #0a2e40;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .ppl-Filter_Select option {
    font-size: 0.875rem;
    line-height: 1.5rem; }

/*
|--------------------------------------------------------------------------
| People - List
|--------------------------------------------------------------------------
|
*/
.ppl-List {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }

/*
|--------------------------------------------------------------------------
| People - Item
|--------------------------------------------------------------------------
|
*/
.ppl-Item {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 20px;
  margin-left: 20px;
  border: 1px solid #eaeaea;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  @media only screen and (min-width: 481px) {
    .ppl-Item {
      -webkit-flex-basis: calc(50% - 40px);
          -ms-flex-preferred-size: calc(50% - 40px);
              flex-basis: calc(50% - 40px); } }
  .ppl-Item:last-child:nth-child(odd), .ppl-Item:last-child:nth-child(even), .ppl-Item:nth-last-child(2):nth-child(odd) {
    margin-bottom: 0; }
  .ppl-Item:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| People - Item - Media
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Media {
  -webkit-flex-basis: 28.42%;
      -ms-flex-preferred-size: 28.42%;
          flex-basis: 28.42%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

/*
|--------------------------------------------------------------------------
| People - Item - Content
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 110px;
  padding-top: 12px;
  padding-right: 40px;
  padding-bottom: 12px;
  padding-left: 40px;
  color: #1c2a49; }

/*
|--------------------------------------------------------------------------
| People - Item - Title
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Title {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .ppl-Item_Title a {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| People - Item - Text
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Related
|--------------------------------------------------------------------------
|
| @prefix: rtd-
|
*/
/*
|--------------------------------------------------------------------------
| Related - Title
|--------------------------------------------------------------------------
|
*/
.rtd-Title {
  margin-bottom: 20px;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .rtd-Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Related - List
|--------------------------------------------------------------------------
|
*/
.rtd-List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Related - Item
|--------------------------------------------------------------------------
|
*/
.rtd-Item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 25px;
  padding-bottom: 37px;
  border-top: 1px solid #ced5d9; }
  .rtd-Item:first-child {
    border-top: 0; }
  @media only screen and (min-width: 481px) {
    .rtd-Item {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }

/*
|--------------------------------------------------------------------------
| Related - Item - Content
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .rtd-Item_Content {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }

/*
|--------------------------------------------------------------------------
| Related - Item - Meta
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Meta {
  margin-bottom: 8px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Related - Item - Title
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Title {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Related - Item - Text
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Text {
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Related - Item - Media
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Media {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  background-position: center;
  background-size: cover; }
  @media only screen and (min-width: 481px) {
    .rtd-Item_Media {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; } }
  .rtd-Item_Media[style] {
    -webkit-flex-basis: 240px;
        -ms-flex-preferred-size: 240px;
            flex-basis: 240px;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    height: 240px;
    margin-bottom: 20px;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .rtd-Item_Media[style] {
        -webkit-flex-basis: 175px;
            -ms-flex-preferred-size: 175px;
                flex-basis: 175px;
        height: 135px;
        margin-bottom: 0;
        margin-left: 20px;
        width: auto; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Search - Strip
|--------------------------------------------------------------------------
|
| @prefix: sch-
|
*/
.sch-Strip {
  padding-top: 35px;
  padding-bottom: 32px;
  background-color: #03163b;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Search - Strip - Inner
|--------------------------------------------------------------------------
|
*/
.sch-Strip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Search - Strip - Title
|--------------------------------------------------------------------------
|
*/
.sch-Strip_Title {
  margin-bottom: 1px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sch-Strip_Title {
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Search - Strip - Text
|--------------------------------------------------------------------------
|
*/
.sch-Strip_Text {
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .sch-Strip_Text {
      font-size: 2.25rem;
      line-height: 3.25rem; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Tabs
|--------------------------------------------------------------------------
|
| @prefix: tab-
|
*/
/*
|--------------------------------------------------------------------------
| Tabs - Outer
|--------------------------------------------------------------------------
|
*/
.tab-Outer {
  margin-bottom: 30px; }

/*
|--------------------------------------------------------------------------
| Tabs - Set
|--------------------------------------------------------------------------
|
*/
.tab-Set {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 34px; }
  @media only screen and (min-width: 481px) {
    .tab-Set {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      border-bottom: 1px solid #e0e0e0; } }

/*
|--------------------------------------------------------------------------
| Tabs - Set - Item
|--------------------------------------------------------------------------
|
*/
.tab-Set_Item {
  position: relative;
  padding-top: 9px;
  padding-right: 24px;
  padding-bottom: 9px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1rem;
  line-height: 1.875rem;
  border-bottom: 1px solid #e0e0e0;
  color: #1c2a49;
  cursor: pointer;
  opacity: 0.3;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s; }
  @media only screen and (min-width: 481px) {
    .tab-Set_Item {
      border-bottom: 0; } }
  .tab-Set_Item:hover {
    color: #1c2a49;
    opacity: 1; }
  .tab-Set_Item[aria-selected='true'] {
    opacity: 1; }
    @media only screen and (min-width: 481px) {
      .tab-Set_Item[aria-selected='true'] {
        border-top: 1px solid #e0e0e0;
        border-right: 1px solid #e0e0e0;
        border-left: 1px solid #e0e0e0; } }
    @media only screen and (min-width: 481px) {
      .tab-Set_Item[aria-selected='true']::after {
        content: '';
        position: absolute;
        bottom: -1px;
        left: 0;
        height: 1px;
        width: 100%;
        background-color: #fff; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Wysiwyg
|--------------------------------------------------------------------------
|
| @prefix: wys-
|
*/
/*
|--------------------------------------------------------------------------
| Wysiwyg - Content
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable selector-no-type */
.wys-Content {
  /**
  * Headings
  */
  /**
  * Paragraphs
  */
  /**
  * Blockquote
  */
  /**
  * Images
  */ }
  .wys-Content h3, .wys-Content h4, .wys-Content h5, .wys-Content h6 {
    margin-bottom: 20px;
    font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
    font-weight: 600; }
  .wys-Content h3 {
    font-size: 1.75rem;
    line-height: 2.125rem; }
  .wys-Content h4 {
    font-size: 1.5rem;
    line-height: 2rem; }
  .wys-Content h5 {
    font-size: 1.25rem;
    line-height: 1.875rem; }
  .wys-Content h6 {
    font-size: 1.125rem;
    line-height: 1.625rem; }
  .wys-Content ul {
    margin-bottom: 30px;
    font-size: 1.125rem;
    line-height: 1.875rem; }
    .wys-Content ul li {
      margin-top: 15px; }
      .wys-Content ul li:first-child {
        margin-top: 0; }
  .wys-Content p {
    font-size: 1.125rem;
    line-height: 1.75rem; }
    .wys-Content p + h3,
    .wys-Content p + h4,
    .wys-Content p + h5,
    .wys-Content p + h6 {
      margin-top: 40px; }
  .wys-Content .quote-text {
    margin-top: 40px;
    font-size: 1.25rem;
    line-height: 1.75rem;
    color: #03a3b6; }
    @media only screen and (min-width: 769px) {
      .wys-Content .quote-text {
        font-size: 1.875rem;
        line-height: 2.25rem; } }
    .l-Site_Main-Centered .wys-Content .quote-text {
      text-align: center; }
      .l-Site_Main-Centered .wys-Content .quote-text::before, .l-Site_Main-Centered .wys-Content .quote-text::after {
        font-size: 1.875rem;
        line-height: 2.25rem;
        color: #03a3b6; }
      .l-Site_Main-Centered .wys-Content .quote-text::before {
        content: open-quote; }
      .l-Site_Main-Centered .wys-Content .quote-text::after {
        content: close-quote; }
  .wys-Content .quote-author {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5rem; }
    @media only screen and (min-width: 769px) {
      .wys-Content .quote-author {
        font-size: 1.1875rem;
        line-height: 1.75rem; } }
    .l-Site_Main-Centered .wys-Content .quote-author {
      text-align: center; }
  .wys-Content .img-caption {
    margin-bottom: 7.51%;
    padding-top: 16px;
    padding-right: 30px;
    padding-bottom: 16px;
    padding-left: 30px;
    font-size: 1.1875rem;
    line-height: 1.75rem;
    background-color: #0a2e40;
    color: #fff; }
    @media only screen and (min-width: 769px) {
      .wys-Content .img-caption {
        margin-right: -8.3333333333%;
        margin-left: -8.3333333333%; } }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Aside - Block
|--------------------------------------------------------------------------
|
*/
.asi-Block {
  margin-bottom: 30px; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Latest - Card
|--------------------------------------------------------------------------
|
*/
.asi-Card {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 720px;
  margin-bottom: 40px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  .asi-Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Latest - Card media
|--------------------------------------------------------------------------
|
*/
.asi-Card_Media {
  display: block;
  padding-top: 100%;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }

/*
|--------------------------------------------------------------------------
| Latest - Card content
|--------------------------------------------------------------------------
|
*/
.asi-Card_Content {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title
|--------------------------------------------------------------------------
|
*/
.asi-Card_ShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title action
|--------------------------------------------------------------------------
|
*/
.asi-Card_ShortTitleAction {
  display: block;
  color: #39c5ff; }
  .asi-Card_ShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Latest - Card title
|--------------------------------------------------------------------------
|
*/
.asi-Card_Title {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card title action
|--------------------------------------------------------------------------
|
*/
.asi-Card_TitleAction {
  display: block;
  color: inherit; }
  .asi-Card_TitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Card text
|--------------------------------------------------------------------------
|
*/
.asi-Card_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow
|--------------------------------------------------------------------------
|
*/
.asi-Card_Arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .asi-Card_Arrow:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.asi-Card_ArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside - Card
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy {
  position: relative;
  margin-bottom: 40px;
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 48px;
  padding-left: 40px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557; }

/*
|--------------------------------------------------------------------------
| Aside - Card short title
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_ShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Aside - Card short title action
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_ShortTitleAction {
  display: block;
  color: #39c5ff; }
  .asi-CaseStudy_ShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Aside - Card title
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_Title {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Aside - Card title action
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_TitleAction {
  display: block;
  color: inherit; }
  .asi-CaseStudy_TitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Aside - Card text
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Aside - Card arrow
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_Arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .asi-CaseStudy_Arrow:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Aside - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_ArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside - Newsletter
|--------------------------------------------------------------------------
|
*/
.asi-Newsletter {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 36px;
  padding-left: 40px;
  background-color: #f7f8fa;
  color: #0a2e40; }

/*
|--------------------------------------------------------------------------
| Aside - Newsletter - Title
|--------------------------------------------------------------------------
|
*/
.asi-Newsletter_Title {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Aside - Newsletter - Text
|--------------------------------------------------------------------------
|
*/
.asi-Newsletter_Text {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside - People network
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 36px;
  padding-left: 40px;
  background-color: #f7f8fa;
  color: #0a2e40; }

/*
|--------------------------------------------------------------------------
| Aside - People network - Title
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork_Title {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Aside - People network - List
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork_List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Aside - People network - Item action
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork_ItemAction {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 2.25rem;
  color: #0a2e40; }
  .asi-PeopleNetwork_ItemAction:hover, .asi-PeopleNetwork_ItemAction[aria-current='true'] {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Sections
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Homepage hero
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-HomepageHero {
  padding-top: 11%;
  padding-bottom: 12.63%;
  text-align: center;
  background-color: #083b79;
  color: #fff; }
  @media only screen and (min-width: 769px) {
    .sct-HomepageHero {
      padding-top: 8.38%;
      padding-bottom: 12.63%; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Inner
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Content
|--------------------------------------------------------------------------
|
*/
@media only screen and (min-width: 769px) {
  .sct-HomepageHero_Content {
    margin-right: auto;
    margin-left: auto;
    width: 83.3333333333%; } }

@media only screen and (min-width: 1025px) {
  .sct-HomepageHero_Content {
    width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Title
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Title {
  margin-bottom: 20px;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 2.25rem; }
  @media only screen and (min-width: 769px) {
    .sct-HomepageHero_Title {
      margin-bottom: 26px;
      font-size: 3.25rem;
      line-height: 3.75rem; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Text
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Text {
  margin-bottom: 23px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sct-HomepageHero_Text {
      margin-bottom: 65px;
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Action
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  display: block; }
  .sct-HomepageHero_Action:hover {
    background-color: #39c5ff;
    color: #fff; }
  @media only screen and (min-width: 481px) {
    .sct-HomepageHero_Action {
      display: inline-block; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Secondary hero
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-SecondaryHero {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 8.6%;
  padding-bottom: 8.6%;
  text-align: center;
  color: #fff; }
  @media only screen and (min-width: 769px) {
    .sct-SecondaryHero {
      padding-top: 12.13%;
      padding-bottom: 14.75%; } }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Inner
|--------------------------------------------------------------------------
|
*/
.sct-SecondaryHero_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Content
|--------------------------------------------------------------------------
|
*/
@media only screen and (min-width: 769px) {
  .sct-SecondaryHero_Content {
    margin-right: auto;
    margin-left: auto;
    max-width: 83.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Title
|--------------------------------------------------------------------------
|
*/
.sct-SecondaryHero_Title {
  margin-bottom: 1px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sct-SecondaryHero_Title {
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Text
|--------------------------------------------------------------------------
|
*/
.sct-SecondaryHero_Text {
  margin-bottom: 0;
  font-size: 1.625rem;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .sct-SecondaryHero_Text {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Image hero
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-ImageHero {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  position: relative;
  padding-bottom: 10.16%;
  text-align: center;
  color: #fff;
  overflow: hidden; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero {
      padding-top: 12%;
      padding-bottom: 12%; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Inner
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  position: relative;
  z-index: 2; }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Content
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Content {
  padding-top: 9.6%; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Content {
      margin-right: auto;
      margin-left: auto;
      max-width: 66.6666666667%;
      padding-top: 0; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Title small
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_ShortTitle {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_ShortTitle {
      margin-bottom: 1px;
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Title
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Title {
  margin-bottom: 8px;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Title {
      margin-bottom: 13px;
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Meta
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Meta {
  margin-bottom: 22px;
  font-size: 0.875rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Meta {
      margin-bottom: 41px;
      font-size: 1.125rem;
      line-height: 1.75rem; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Action
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  display: block; }
  .sct-ImageHero_Action:hover {
    background-color: #39c5ff;
    color: #fff; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Action {
      display: inline-block; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Background container
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_BackgroundContainer {
  background-color: #092456; }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Background
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Background {
  position: relative;
  z-index: 1;
  padding-top: 60%;
  background-position: center;
  background-size: cover; }
  .sct-ImageHero_Background::before {
    content: ' ';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.2); }
  @media only screen and (min-width: 481px) {
    .sct-ImageHero_Background {
      padding-top: 40%; } }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Background {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: auto;
      padding-top: 0; } }

.sct-ImageHero_Video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: none;
  height: 0;
  padding-bottom: 56.25%; }
  @media only screen and (min-width: 1025px) {
    .sct-ImageHero_Video {
      display: block; } }

.sct-ImageHero_VideoEmbed {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Cards
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Cards {
  padding-top: 4.82%;
  padding-bottom: 5.75%; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Inner
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Section - Cards - Content
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Content {
  text-align: center;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .sct-Cards_Content {
      margin-right: auto;
      margin-left: auto;
      width: 83.3333333333%; } }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Content {
      width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Title
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Title {
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Title {
      font-size: 2.25rem;
      line-height: 2.375rem; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Text
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Text {
  margin-bottom: 8.6%;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Text {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Cards
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Cards {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .sct-Cards_Cards + .sct-Cards_Cards {
    margin-top: 20px; }
    @media only screen and (min-width: 481px) {
      .sct-Cards_Cards + .sct-Cards_Cards {
        margin-top: 40px; } }
  @media only screen and (min-width: 481px) {
    .sct-Cards_Cards {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      margin-right: -20px;
      margin-left: -20px; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Card {
  position: relative;
  margin-bottom: 20px;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 481px) {
    .sct-Cards_Card {
      margin-right: 20px;
      margin-bottom: 40px;
      margin-left: 20px;
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Card {
      margin-bottom: 0;
      width: calc(33.3333333333% - 40px);
      /* stylelint-disable selector-no-type */
      /* stylelint-enable */ }
      .sct-Cards_Card:nth-last-child(n+4), .sct-Cards_Card:nth-last-child(n+4) ~ .sct-Cards_Card {
        margin-bottom: 40px; } }
  .sct-Cards_Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    color: #092557; }
    .sct-Cards_Card:hover .sct-Cards_CardArrow {
      background-color: #00578a;
      color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card media
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardMedia {
  display: block;
  padding-top: 100%;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card content
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardContent {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card short title
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardShortTitle {
  margin-bottom: 12px;
  font-size: 1.5rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card short title action
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardShortTitleAction {
  display: block;
  color: inherit; }
  .sct-Cards_CardShortTitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card title
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardTitle {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card title action
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardTitleAction {
  display: block;
  color: inherit; }
  .sct-Cards_CardTitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card text
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardText {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card arrow
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardArrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - CTA
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Cta {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 3%;
  padding-bottom: 3.06%;
  color: #fff; }
  .l-Site_Main .sct-Cta {
    padding-top: 45px;
    padding-bottom: 45px; }

/*
|--------------------------------------------------------------------------
| Section - CTA - Inner
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }
  .l-Site_Main .sct-Cta_Inner {
    padding-right: 40px;
    padding-left: 40px; }

/*
|--------------------------------------------------------------------------
| Section - CTA - Title
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Title {
  margin-bottom: 20px;
  font-size: 1.5rem;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .sct-Cta_Title {
      margin-bottom: 34px;
      font-size: 2.25rem;
      line-height: 2.375rem; }
      .l-Site_Main .sct-Cta_Title {
        margin-bottom: 15px; } }

/*
|--------------------------------------------------------------------------
| Section - CTA - Text
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Text {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.875rem; }

/*
|--------------------------------------------------------------------------
| Section - CTA - Action
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .sct-Cta_Action:hover {
    background-color: #39c5ff;
    color: #fff; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Quote
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Quote_Outer {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }
  .sct-Stats + .sct-Quote_Outer {
    margin-top: 5%; }

.sct-Quote {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 6.38%;
  padding-bottom: 5.19%;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Quote - Blockquote
|--------------------------------------------------------------------------
|
*/
.sct-Quote_BlockQuote {
  text-align: center; }
  @media only screen and (min-width: 481px) {
    .sct-Quote_BlockQuote {
      margin-right: auto;
      margin-left: auto;
      width: 83.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Section - Quote - Title
|--------------------------------------------------------------------------
|
*/
.sct-Quote_Title {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Quote - Text
|--------------------------------------------------------------------------
|
*/
.sct-Quote_Text {
  margin-bottom: 23px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.75rem; }
  @media only screen and (min-width: 481px) {
    .sct-Quote_Text {
      font-size: 1.875rem;
      line-height: 2.25rem; } }

/*
|--------------------------------------------------------------------------
| Section - Quote - Footer text
|--------------------------------------------------------------------------
|
*/
.sct-Quote_FooterText {
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 769px) {
    .sct-Quote_FooterText {
      font-size: 1.125rem;
      line-height: 1.75rem; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Stats
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Stats {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 6.57%;
  padding-bottom: 8.13%;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Inner
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  position: relative; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Content
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Content {
  margin-bottom: 62px;
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Content {
      margin-right: auto;
      margin-left: auto;
      width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Title
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Title {
  margin-bottom: 14px; }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Title {
      font-size: 2.25rem;
      line-height: 2.375rem; } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Text
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Text {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif; }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Text {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Action
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .sct-Stats_Action:hover {
    background-color: #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Carousel {
  position: relative;
  margin-bottom: 50px; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel pagination
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselPagination {
  position: absolute;
  top: 114%;
  z-index: 10;
  display: block;
  height: 51px;
  width: 22px;
  background-image: url('/static/site/build/img/sct-Stats_CarouselPagination.png');
  cursor: pointer; }
  .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Left {
    left: 50%;
    -webkit-transform: translateX(-200px);
            transform: translateX(-200px); }
    @media only screen and (min-width: 769px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Left {
        -webkit-transform: translateX(-250px);
                transform: translateX(-250px); } }
    @media only screen and (min-width: 1441px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Left {
        top: 50%;
        left: 75px;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); } }
  .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Right {
    right: 50%;
    -webkit-transform: translateX(200px) rotate(180deg);
            transform: translateX(200px) rotate(180deg); }
    @media only screen and (min-width: 769px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Right {
        -webkit-transform: translateX(250px) rotate(180deg);
                transform: translateX(250px) rotate(180deg); } }
    @media only screen and (min-width: 1441px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Right {
        top: 50%;
        right: 75px;
        -webkit-transform: translateY(-50%) rotate(180deg);
                transform: translateY(-50%) rotate(180deg); } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel rail
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselRail {
  position: relative;
  height: 340px;
  width: 100%; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel slide
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselSlide {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  left: 20px;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 340px;
  width: calc(100% - 40px);
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s; }
  .sct-Stats_CarouselSlide[aria-current='false'] {
    z-index: 1;
    opacity: 0; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel under
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselUnder {
  text-align: center; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Card {
  position: relative;
  display: block;
  margin-right: 20px;
  margin-left: 20px;
  min-height: 340px;
  padding-top: 39px;
  padding-right: 30px;
  padding-bottom: 39px;
  padding-left: 30px;
  width: 100%;
  background-image: -webkit-linear-gradient(304deg, #0096cc, #0bf);
  background-image: linear-gradient(146deg, #0096cc, #0bf);
  border: 1px solid #00aeef;
  border-radius: 3px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  color: #fff; }
  .sct-Stats_Card:hover {
    color: #fff; }
  @media only screen and (min-width: 481px) {
    .sct-Stats_Card {
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Card {
      width: calc(33% - 40px); } }
  @media only screen and (min-width: 1025px) {
    .sct-Stats_Card {
      width: calc(25% - 40px); } }
  .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeEnter .sct-Stats_Card,
  .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-leave .sct-Stats_Card {
    opacity: 0; }
  [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card {
    visibility: initial;
    -webkit-transition: opacity 1s;
    transition: opacity 1s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.15s;
              transition-delay: 0.15s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.3s;
              transition-delay: 0.3s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(1) {
      -webkit-transition-delay: 0.45s;
              transition-delay: 0.45s; }
  [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card {
    opacity: 1;
    -webkit-transition: opacity 1s 0.6s;
    transition: opacity 1s 0.6s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.75s;
              transition-delay: 0.75s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.9s;
              transition-delay: 0.9s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(1) {
      -webkit-transition-delay: 1.05s;
              transition-delay: 1.05s; }
  [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card {
    visibility: initial;
    -webkit-transition: opacity 1s;
    transition: opacity 1s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.15s;
              transition-delay: 0.15s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.3s;
              transition-delay: 0.3s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(4) {
      -webkit-transition-delay: 0.45s;
              transition-delay: 0.45s; }
  [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card {
    opacity: 1;
    -webkit-transition: opacity 1s 0.6s;
    transition: opacity 1s 0.6s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.75s;
              transition-delay: 0.75s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.9s;
              transition-delay: 0.9s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(4) {
      -webkit-transition-delay: 1.05s;
              transition-delay: 1.05s; }
  .sct-Stats_CarouselSlide[aria-current='false']:not(.sct-Stats_CarouselSlide-beforeEnter):not(.sct-Stats_CarouselSlide-beforeLeave) .sct-Stats_Card {
    display: hidden; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card stat
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardStat {
  margin-bottom: 5px;
  font-size: 3.25rem;
  font-weight: 400;
  line-height: 3rem; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card text
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardText {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card arrow
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardArrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: #03163b;
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .sct-Stats_Card:hover .sct-Stats_CardArrow {
    background-color: #fff;
    color: #03163b; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Pages
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Page - 404
|--------------------------------------------------------------------------
|
*/
.pg-404 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 920px;
  background-image: url("/static/site/build/img/404.jpg");
  background-repeat: no-repeat;
  background-size: cover; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Content
|--------------------------------------------------------------------------
|
*/
.pg-404_Content {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  text-align: center; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Title
|--------------------------------------------------------------------------
|
*/
.pg-404_Title {
  margin-right: auto;
  margin-bottom: 27px;
  margin-left: auto;
  width: 66.6666666667%;
  font-size: 2.625rem;
  line-height: 3.25rem;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Text
|--------------------------------------------------------------------------
|
*/
.pg-404_Text {
  margin-right: auto;
  margin-bottom: 67px;
  margin-left: auto;
  width: 66.6666666667%;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Action
|--------------------------------------------------------------------------
|
*/
.pg-404_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  display: block; }
  .pg-404_Action:hover {
    background-color: #39c5ff;
    color: #fff; }
  @media only screen and (min-width: 481px) {
    .pg-404_Action {
      display: inline-block;
      width: 280px; }
      .pg-404_Action + .pg-404_Action {
        margin-left: 20px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZS5zY3NzIiwiYXBwLmNzcyIsImNvbmZpZy9fdmFyaWFibGVzLnNjc3MiLCJoZWxwZXJzL19mdW5jdGlvbnMuc2NzcyIsImhlbHBlcnMvX21lZGlhLXF1ZXJpZXMuc2NzcyIsImhlbHBlcnMvX21peGlucy5zY3NzIiwiaGVscGVycy9fZGVmaW5lLnNjc3MiLCJoZWxwZXJzL191dGlscy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibGF5b3V0L19zaXRlLnNjc3MiLCJnbG9iYWxzL19oZWFkZXIuc2NzcyIsImdsb2JhbHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9hcnRpY2xlL19zaGFyZS5zY3NzIiwiY29tcG9uZW50cy9hcnRpY2xlL19zdHJpcC5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwiY29tcG9uZW50cy9jb250YWN0cy9fZGV0YWlscy5zY3NzIiwiY29tcG9uZW50cy9jb250YWN0cy9fY29udGFjdHMuc2NzcyIsImNvbXBvbmVudHMvZXZlbnRzL19mZWF0dXJlZC5zY3NzIiwiY29tcG9uZW50cy9ldmVudHMvX3VwY29taW5nLnNjc3MiLCJjb21wb25lbnRzL2V2ZW50cy9fZXZlbnRzLnNjc3MiLCJjb21wb25lbnRzL19sYXRlc3Quc2NzcyIsImNvbXBvbmVudHMvX2xvZ2luLnNjc3MiLCJjb21wb25lbnRzL19uZXdzbGV0dGVyLnNjc3MiLCJjb21wb25lbnRzL19vcmdhbmlzYXRpb25zLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19wZW9wbGUuc2NzcyIsImNvbXBvbmVudHMvX3JlbGF0ZWQtY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9zZWFyY2gvX3N0cmlwLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCJjb21wb25lbnRzL193eXNpd3lnLnNjc3MiLCJhc2lkZS9fYmxvY2suc2NzcyIsImFzaWRlL19jYXJkLnNjc3MiLCJhc2lkZS9fY2FzZS1zdHVkeS5zY3NzIiwiYXNpZGUvX25ld3NsZXR0ZXIuc2NzcyIsImFzaWRlL19wZW9wbGUtbmV0d29yay5zY3NzIiwic2VjdGlvbnMvX2hvbWVwYWdlLWhlcm8uc2NzcyIsInNlY3Rpb25zL19zZWNvbmRhcnktaGVyby5zY3NzIiwic2VjdGlvbnMvX2ltYWdlLWhlcm8uc2NzcyIsInNlY3Rpb25zL19jYXJkcy5zY3NzIiwic2VjdGlvbnMvX2N0YS5zY3NzIiwic2VjdGlvbnMvX3F1b3RlLnNjc3MiLCJzZWN0aW9ucy9fc3RhdHMuc2NzcyIsInBhZ2VzL180MDQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7RUFLRTtBQ0xGLHNFQUFzRTtBQUV0RTs7OztHQUlHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZSxFQUNoQjs7QUFFRDs7O0dBR0c7QUFFSDs7OztFQUlFLHNCQUFzQjtFQUFFLE9BQU87RUFDL0IseUJBQXlCO0VBQUUsT0FBTyxFQUNuQzs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGNBQWM7RUFDZCxVQUFVLEVBQ1g7O0FBRUQ7OztHQUdHO0FDQUg7O0VESUUsY0FBYyxFQUNmOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsOEJBQThCLEVBQy9COztBQUVEOztHQUVHO0FBRUg7O0VBRUUsV0FBVyxFQUNaOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsMEJBQTBCLEVBQzNCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsa0JBQWtCLEVBQ25COztBQUVEOztHQUVHO0FBRUg7RUFDRSxtQkFBbUIsRUFDcEI7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RXhCLHFCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxjQUFjO0VBRWQsd0RBQXFCO0VBQ3JCLDZCQUE2QjtFQUM3Qix1QkFBdUIsRUFDeEI7O0FBRUQ7Ozs7O0VBS0U7QUFDRjtFckM0REU7O3FCQUVtQjtFQUNuQixlQUFlO0VBQ2Ysa0JBQTREO0VBQzVELFlBQVk7RUFFWix1QkFBdUI7RUFNckIsb0JBQWU7RUFDZixtQkFBYztFQUVoQixzQkFBc0I7RXFDekV0QixtQkFBbUIsRUFDcEI7O0FBRUQ7Ozs7O0VBS0U7QUFDRjtFQUNFLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLHNCQUFpQjtFQUVqQixvQkFBZ0I7RUFDaEIscUJBQWtCO0VBRWxCLFlBQVksRUFDYjs7QUFFRDs7Ozs7RUFLRTtBQUNGO0VBQ0UsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsc0JBQWlCO0VBRWpCLHFFeENsQ21FO0V3Q21DbkUsb0JBQWdCO0VBQ2hCLHFCQUFrQjtFQUVsQixZQUFZLEVBQ2I7O0FBRUQ7Ozs7O0VBS0U7QUFDRjtFckNrRUUsc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsb0JBQWdCO0VBQ2hCLG1CQUFjO0VBRWQscUVIdkhtRTtFR3dIbkUsaUJBQWlCO0VBRWpCLDBCSHZJa0I7RUd3SWxCLG1CSDNCUztFRzRCVCxZQUFZO0VBRVosc0RBQThDO0VBQTlDLDhDQUE4QztFcUM1RTlDLGVBQWUsRUFVaEI7RUFiRDtJckNrRkksMEJIOUlnQjtJRytJaEIsWUFBWSxFQUNiO0VEMUdHO0lzQ3NCTjtNQU1JLHNCQUFzQjtNQUN0QixhQUFhLEVBTWhCO01BYkQ7UUFVTSxrQkFBa0IsRUFDbkIsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBOb3JtYWxpemVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBpbXBvcnQgJ25vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZSc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29uZmlnXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBIZWxwZXJzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdoZWxwZXJzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdoZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnaGVscGVycy9kZWZpbmUnO1xuQGltcG9ydCAnaGVscGVycy91dGlscyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQmFzZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXlvdXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBpbXBvcnQgJ2xheW91dC9zaXRlJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHbG9iYWxzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdnbG9iYWxzL2hlYWRlcic7XG5AaW1wb3J0ICdnbG9iYWxzL2Zvb3Rlcic7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29tcG9uZW50c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGltcG9ydCAnY29tcG9uZW50cy9hcnRpY2xlL2FydGljbGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1iJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFjdHMvY29udGFjdHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9ldmVudHMvZXZlbnRzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGF0ZXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbG9naW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzbGV0dGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JnYW5pc2F0aW9ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wZW9wbGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZWxhdGVkLWNvbnRlbnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3d5c2l3eWcnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdhc2lkZS9ibG9jayc7XG5AaW1wb3J0ICdhc2lkZS9jYXJkJztcbkBpbXBvcnQgJ2FzaWRlL2Nhc2Utc3R1ZHknO1xuQGltcG9ydCAnYXNpZGUvbmV3c2xldHRlcic7XG5AaW1wb3J0ICdhc2lkZS9wZW9wbGUtbmV0d29yayc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBpbXBvcnQgJ3NlY3Rpb25zL2hvbWVwYWdlLWhlcm8nO1xuQGltcG9ydCAnc2VjdGlvbnMvc2Vjb25kYXJ5LWhlcm8nO1xuQGltcG9ydCAnc2VjdGlvbnMvaW1hZ2UtaGVybyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9jYXJkcyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9jdGEnO1xuQGltcG9ydCAnc2VjdGlvbnMvcXVvdGUnO1xuQGltcG9ydCAnc2VjdGlvbnMvc3RhdHMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2VzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdwYWdlcy80MDQnO1xuIiwiLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE5vcm1hbGl6ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbmZpZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSGVscGVyc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVkZWZpbmVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBHbG9iYWwgcmVzZXRzIHRvIG1ha2UgbGlmZSBlYXNpZXJcbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJveCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBWaWV3cG9ydHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkAtbW96LXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALW8tdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbkAtd2Via2l0LXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5Admlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSFRNTC9Cb2R5IHJlc2V0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5ib2R5IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgLyogVGhpcyBuZWVkcyBlc2NhcGluZyBzbyBpdCBkb2Vzbid0IGRvdWJsZSBzdHJpbmcgKi9cbiAgZm9udC1mYW1pbHk6IFwibWluaW9uLXByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6ICMyMzI4MzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFR5cG9ncmFwaHlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogSGVhZGluZ3NcbiAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyoqXG4gKiBCb2R5XG4gKi9cbi8qKlxuICogUGFyYWdyYXBoXG4gKi9cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qKlxuICogQW5jaG9yc1xuICovXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qKlxuICogQ29kZVxuICovXG5wcmUge1xuICBtYXgtaGVpZ2h0OiA0NTBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEltYWdlc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGV4dCBzZWxlY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzAwNTc4YTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPdXRsaW5lc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuKiB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJsb2NrcXVvdGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDA7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNYXJnaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLnUtbWItMTAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWItMzAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCYXNlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnotbGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZnotbGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH0gfVxuXG4uZnotbWVkaXVtIHtcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZ6LW1lZGl1bSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfSB9XG5cbi5mei1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4xNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mei1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDsgfSB9XG5cbi5mei14bGFyZ2Uge1xuICBmb250LXNpemU6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSGVhZGluZ3NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDFlbTsgfVxuXG5oMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmlvbi1wcm9cIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYXJhZ3JhcGhzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5wIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDAxZW07IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBbmNob3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5hIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMzOWM1ZmY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoNTcsIDE5NywgMjU1LCAwLjcpOyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF5b3V0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhaW5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtQ29udGFpbmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5oZC1PdXRlciArIC5sLUNvbnRhaW5lcixcbiAgLmJkYy1PdXRlciArIC5sLUNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTaXRlIC0gQ29udGFpbmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubC1TaXRlX0NvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gIG1heC13aWR0aDogMTYwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2l0ZSAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sLVNpdGVfQ29udGVudCB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgbWluLWhlaWdodDogNDUwcHg7XG4gIHBhZGRpbmctdG9wOiA2OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuXG4ubC1TaXRlX1NlY3Rpb25Db250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNpdGUgLSBNYWluXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubC1TaXRlX01haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sLVNpdGVfTWFpbiB7XG4gICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIG1heC13aWR0aDogQHdpZHRoO1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSA0MHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubC1TaXRlX01haW4ubC1TaXRlX01haW4tQ2VudGVyZWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH0gfVxuXG4ubC1TaXRlX01haW5fU2VwZXJhdG9yIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlZDVkOTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNpdGUgLSBBc2lkZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtU2l0ZV9Bc2lkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmwtU2l0ZV9Bc2lkZSB7XG4gICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIG1heC13aWR0aDogQHdpZHRoO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNDBweCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmwtU2l0ZV9Bc2lkZSB7XG4gICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICBtYXgtd2lkdGg6IEB3aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gNDBweCk7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdsb2JhbHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBIZWFkZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBUaGUgZ2xvYmFsIHNpdGUgaGVhZGVyIHRoYXQgYXBwZWFycyBhdCB0aGUgdG9wIG9mIGV2ZXJ5IHBhZ2VcbnwgQHByZWZpeDogaGQtXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBIZWFkZXIgLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLU91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBUaGlzIGFjdHVhbGx5IGlzIGluY2x1ZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlIHNvIGp1c3QgYWRkIGEgZmV3XG58IHBsYWNlaG9sZGVyIHN0eWxlc1xufFxuKi9cbi5oZC1Ub3BTdHJpcCB7XG4gIGhlaWdodDogNjBweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVRvcFN0cmlwIHtcbiAgICAgIGhlaWdodDogNzJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVG9wIFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1Ub3BTdHJpcF9Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRvcCBTdHJpcCAtIExvZ29cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1Ub3BTdHJpcF9Mb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogaGVpZ2h0KFwidW9jLWxvZ28ucG5nXCIpO1xuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiBAbWFyZ2luLXRvcDtcbiAgd2lkdGg6IHdpZHRoKFwidW9jLWxvZ28ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKFwidW9jLWxvZ28ucG5nXCIpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVRvcFN0cmlwX0xvZ28ge1xuICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IEBtYXJnaW4tdG9wOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXAgLSBOYXZcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1Ub3BTdHJpcF9OYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVRvcFN0cmlwX05hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRvcCBTdHJpcCAgLSBOYXYgaXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVRvcFN0cmlwX05hdkl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDI3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzJlMmUyZTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmhkLVRvcFN0cmlwX05hdkl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzJlMmUyZTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXAge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IFRyaWdnZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZUcmlnZ2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXRvcDogNDJweDtcbiAgbWFyZ2luLWJvdHRvbTogQG1hcmdpbi10b3A7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjM2I1ODY2O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMGEyZTQwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuaGQtU3RyaXBfTmF2VHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogNDlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWM1ZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IFRyaWdnZXIgTGluZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMmU0MDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAvKipcbiAgKiBUb3AgTGluZVxuICAqL1xuICAvKipcbiAgKiBNaWRkbGUgTGluZVxuICAqL1xuICAvKipcbiAgKiBCb3R0b20gTGluZVxuICAqLyB9XG4gIC5oZC1TdHJpcF9OYXZUcmlnZ2VyW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSAuaGQtU3RyaXBfTmF2VHJpZ2dlckxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLVRvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bzsgfVxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlckxpbmUuaGQtU3RyaXBfTmF2VHJpZ2dlckxpbmUtTWlkZGxlIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLUJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10gLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLVRvcCB7XG4gICAgYW5pbWF0aW9uOiBOYXZUcmlnZ2VyTGluZS1Ub3AtQW5pbSAwLjM1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10gLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLU1pZGRsZSB7XG4gICAgYW5pbWF0aW9uOiBOYXZUcmlnZ2VyTGluZS1NaWRkbGUtQW5pbSAwLjM1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10gLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLUJvdHRvbSB7XG4gICAgYW5pbWF0aW9uOiBOYXZUcmlnZ2VyTGluZS1Cb3R0b20tQW5pbSAwLjM1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuXG5Aa2V5ZnJhbWVzIE5hdlRyaWdnZXJMaW5lLVRvcC1BbmltIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpIHJvdGF0ZSg0NWRlZykgc2NhbGUoMS4zKTsgfSB9XG5cbkBrZXlmcmFtZXMgTmF2VHJpZ2dlckxpbmUtTWlkZGxlLUFuaW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgTmF2VHJpZ2dlckxpbmUtQm90dG9tLUFuaW0ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgxLjMpOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIExvZ29cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9Mb2dvIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDExNHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICBwYWRkaW5nLXRvcDogMzdweDtcbiAgcGFkZGluZy1ib3R0b206IDM3cHg7XG4gIHdpZHRoOiAxNzlweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVzb2x2ZShcInN2Z3MvY3NhcC1sb2dvLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwIHRvcCAzN3B4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE3OXB4IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuaGQtU3RyaXBfTG9nbyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgICB3aWR0aDogMjIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDAgdG9wIDMycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIyMHB4IDUwcHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDE3NHB4O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMjMwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cbiAgLmhkLVN0cmlwX05hdlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX05hdiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgcGFkZGluZy10b3A6IDQ2cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICMwYTJlNDA7XG4gICAgICBvdmVyZmxvdy14OiB2aXNpYmxlOyB9XG4gICAgICAuaGQtU3RyaXBfTmF2W2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZJdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX05hdkl0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdkFjdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gIGNvbG9yOiAjMGEyZTQwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgLmhkLVN0cmlwX05hdkFjdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuaGQtU3RyaXBfTmF2QWN0aW9uIC5mYSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuaGQtU3RyaXBfTmF2QWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAjMGEyZTQwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuICAgICAgLmhkLVN0cmlwX05hdkFjdGlvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjMzljNWZmOyB9XG4gICAgICAuaGQtU3RyaXBfTmF2QWN0aW9uIC5mYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IERyb3Bkb3duXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2RHJvcGRvd24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMjMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMWQxZDE7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMzBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3MsIHZpc2liaWxpdHkgMC4zcztcbiAgLyoqXG4gICogUHJvdmlkZSBhbiBpbnZpc2libGUgYmxvY2sgdGhhdCBhbGxvd3MgZm9yIG1vcmUgZmxleGlibGUgbW91c2UgbW92ZW1lbnRcbiAgKiB3aGVuIHRoZSB1c2VyIG1vdmVzIGZyb20gdGhlIGhvdmVyZWQgTmF2SXRlbSB0byB0aGUgTmF2RHJvcGRvd25cbiAgKi9cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLmhkLVN0cmlwX05hdkRyb3Bkb3duW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuaGQtU3RyaXBfTmF2RHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNTAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDhweCAwIHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG4gIC5oZC1TdHJpcF9OYXZEcm9wZG93bjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhkLVN0cmlwX05hdkl0ZW06bnRoLWxhc3QtY2hpbGQobi0yKSAuaGQtU3RyaXBfTmF2RHJvcGRvd24ge1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5oZC1TdHJpcF9OYXZJdGVtOmhvdmVyID4gLmhkLVN0cmlwX05hdkRyb3Bkb3duIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBEcm9wZG93biBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZEcm9wZG93bkFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMTNweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICBjb2xvcjogIzBhMmU0MDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuICAvKipcbiAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiB0aGUgZHJvcGRvd24ncyBsYXN0IGl0ZW0ncyBhY3Rpb25cbiAgKi9cbiAgLyoqXG4gICogSGlkZSB0aGUgZmlyc3QgMiBpdGVtcyBvbiBkZXNrdG9wLCB0aGV5IGFyZSBwdXJlbHkgZm9yIG1vYmlsZSBuYXZpZ2F0aW9uXG4gICovIH1cbiAgLmhkLVN0cmlwX05hdkRyb3Bkb3duQWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5oZC1TdHJpcF9OYXZEcm9wZG93bkl0ZW06bGFzdC1jaGlsZCAuaGQtU3RyaXBfTmF2RHJvcGRvd25BY3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuaGQtU3RyaXBfTmF2RHJvcGRvd25JdGVtOmZpcnN0LWNoaWxkIC5oZC1TdHJpcF9OYXZEcm9wZG93bkFjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhkLVN0cmlwX05hdkRyb3Bkb3duQWN0aW9uIC5mYS1hcnJvdy1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBCdXR0b25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZCdXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgcGFkZGluZy10b3A6IDFweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzYjU4NjY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICMwYTJlNDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuaGQtU3RyaXBfTmF2QnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfSB9XG4gIC5oZC1TdHJpcF9OYXZCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWM1ZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gU2VhcmNoXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA0MnB4O1xuICBtYXJnaW4tYm90dG9tOiBAbWFyZ2luLXRvcDtcbiAgbWluLXdpZHRoOiAyOHB4O1xuICBwYWRkaW5nLXRvcDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzNiNTg2NjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzBhMmU0MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX1NlYXJjaCB7XG4gICAgICBtYXJnaW4tdG9wOiA0OXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG4gIC5oZC1TdHJpcF9TZWFyY2hbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5oZC1TdHJpcF9TZWFyY2hbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddLCAuaGQtU3RyaXBfU2VhcmNoOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzOWM1ZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaCBGb3JtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoRm9ybSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNTAlO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDM0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB2aXNpYmlsaXR5IDBzOyB9XG4gIC5oZC1TdHJpcF9TZWFyY2hGb3JtW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaCBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoSXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzFweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gU2VhcmNoIElucHV0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoSW5wdXQge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBmb250LWZhbWlseTogXCJtaW5pb24tcHJvXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHJnYmEoMTAsIDQ2LCA2NCwgMC41KTsgfVxuICAuaGQtU3RyaXBfU2VhcmNoSW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgxMCwgNDYsIDY0LCAwLjUpOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBTZWFyY2ggU3VibWl0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoU3VibWl0IHtcbiAgcGFkZGluZy1yaWdodDogMTlweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9vdGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgVGhlIGdsb2JhbCBzaXRlIGZvb3RlciB0aGF0IGFwcGVhcnMgYXQgdGhlIGJvdHRvbSBvZiBldmVyeSBwYWdlXG58IEBwcmVmaXg6IGZ0LVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1TdHJpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzI4MzM7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LVN0cmlwX0lubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAzOXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZ0LVN0cmlwX0lubmVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgcGFkZGluZy10b3A6IDU1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sdW1uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQ29sIHtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIzNCwgMjM0LCAyMzQsIDAuMik7XG4gIC8qKlxuICAqIENvbCAxXG4gICovXG4gIC8qKlxuICAqIENvbCAyXG4gICovXG4gIC8qKlxuICAqIENvbCA0XG4gICovIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZnQtQ29sIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjM0LCAyMzQsIDIzNCwgMC4yKTsgfSB9XG4gIC5mdC1Db2w6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZnQtQ29sOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfSB9XG4gIC5mdC1Db2wuZnQtQ29sMSB7XG4gICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgIG9yZGVyOiAxO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5mdC1Db2wuZnQtQ29sMSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9IH1cbiAgLmZ0LUNvbC5mdC1Db2wyIHtcbiAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZnQtQ29sLmZ0LUNvbDIge1xuICAgICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfSB9XG4gIC5mdC1Db2wuZnQtQ29sMyB7XG4gICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgIG9yZGVyOiA0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5mdC1Db2wuZnQtQ29sMyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfSB9XG4gIC5mdC1Db2wuZnQtQ29sNCB7XG4gICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgIG9yZGVyOiAzO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmZ0LUNvbC5mdC1Db2w0IHtcbiAgICAgICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2x1bW4gLSBIZWFkZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Db2xfSGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbHVtbiAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Db2xfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogU3BlY2lhbCBjYXNlIGZvciBjb2x1bW4gMywgdGhlIHRleHQgYWJvdmUgdGhlIG5ld3NsZXR0ZXIuIFRoaXMgc2hvdWxkIGJlXG4gICBoaWRkZW4gd2hlbiB0aGUgbGF5b3V0IGlzIGNvbGxhcHNlZCBhdCA8bGcuIEdpdGh1YiAjMzcuICovXG4uZnQtQ29sM19UZXh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mdC1Db2wzX1RleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCAtIEl0ZW0gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtTGlzdF9JdGVtQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xOHM7IH1cbiAgLmZ0LUxpc3RfSXRlbUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICMzOWM1ZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IFNvY2lhbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUxpc3RTb2NpYWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IFNvY2lhbCAtIEl0ZW0gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtTGlzdFNvY2lhbF9JdGVtQWN0aW9uIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMThzOyB9XG4gIC5mdC1MaXN0U29jaWFsX0l0ZW1BY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiAjMzljNWZmOyB9XG4gIC5mdC1MaXN0U29jaWFsX0l0ZW1BY3Rpb24gLmZhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3R0b20gU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Cb3R0b21TdHJpcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxZDI1OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZ0LUJvdHRvbVN0cmlwIHtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm90dG9tIFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Cb3R0b21TdHJpcF9Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZ0LUJvdHRvbVN0cmlwX0lubmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm90dG9tIFN0cmlwIC0gQ29weXJpZ2h0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQm90dG9tU3RyaXBfQ29weXJpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2ZmZjsgfVxuICAuZnQtQm90dG9tU3RyaXBfQ29weXJpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMDBhMCc7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3R0b20gU3RyaXAgLSBPbmVzcGFjZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUJvdHRvbVN0cmlwX09uZXNwYWNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLmZ0LUJvdHRvbVN0cmlwX09uZXNwYWNlIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29tcG9uZW50c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTaGFyZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tbGVmdDogLTYyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjMyODMzOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYXJ0LVNoYXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU2hhcmUgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzI4MzM7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFNoYXJlIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZV9MaXN0IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFNoYXJlIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZV9JdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctdG9wO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIzMjgzMztcbiAgY29sb3I6ICMwMDU3OGE7IH1cbiAgLmFydC1TaGFyZV9JdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGFydC1cbnxcbiovXG4uYXJ0LVN0cmlwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyIDMwJSwgIzAwNTQ5NiAwJSwgIzA5MjQ1NiAxMDAlKTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5hcnQtU3RyaXAge1xuICAgICAgcGFkZGluZy10b3A6IDQ2cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5hcnQtU3RyaXBfSW5uZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9Db250ZW50IHtcbiAgb3JkZXI6IDI7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmFydC1TdHJpcF9Db250ZW50IHtcbiAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmFydC1TdHJpcF9Db250ZW50IHtcbiAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMjBweCk7XG4gICAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIFNob3J0IHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYXJ0LVN0cmlwX1Nob3J0VGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYXJ0LVN0cmlwX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYXJ0LVN0cmlwX1RleHQge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIE1lZGlhIGNvbnRhaW5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9NZWRpYUNvbnRhaW5lciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvcmRlcjogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmFydC1TdHJpcF9NZWRpYUNvbnRhaW5lciB7XG4gICAgICBmbGV4LWJhc2lzOiAxNzRweDtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYXJ0LVN0cmlwX01lZGlhQ29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTYuNjY2NjY2NjY2NyU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIE1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX01lZGlhIHtcbiAgaGVpZ2h0OiAxNzRweDtcbiAgd2lkdGg6IEBoZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBiZGMtXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCcmVhZGNydW1iIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5iZGMtT3V0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyODMzOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnJlYWRjcnVtYiAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYmRjLUlubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWIgLSBJdGVtc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmJkYy1JdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmlvbi1wcm9cIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmJkYy1JdGVtcyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uYmRjLUl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnJlYWRjcnVtYiAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmJkYy1BY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMTZweDsgfVxuICAuYmRjLUFjdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICctJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWN0IC0gRGV0YWlsc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzIHtcbiAgcGFkZGluZy10b3A6IDYuMTclO1xuICBwYWRkaW5nLWJvdHRvbTogNC45NiU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWN0IC0gRGV0YWlscyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uY3RjLURldGFpbHNfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuY3RjLURldGFpbHNfVGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQ29sdW1uc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX0NvbHVtbnMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmN0Yy1EZXRhaWxzX0NvbHVtbnMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBDb2x1bW5cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19Db2x1bW4ge1xuICBmbGV4OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBCbG9ja1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX0Jsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgY29sb3I6ICMwOTI1NTc7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5jdGMtRGV0YWlsc19CbG9jazpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBCbG9jayB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX0Jsb2NrVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBCbG9jayB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uY3RjLURldGFpbHNfQmxvY2tUZXh0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3RzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogY3RjLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdHMgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1Jbm5lciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmN0Yy1Jbm5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5ldmUtRmVhdHVyZWRfVGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZHMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZXZlLUZlYXR1cmVkX0NhcmRzIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtaGVpZ2h0OiA3NjBweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICMwOTI1NTc7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zczsgfVxuICAuZXZlLUZlYXR1cmVkX0NhcmQuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAuZXZlLUZlYXR1cmVkX0NhcmQuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCB7XG4gICAgICAgIGhlaWdodDogMzQwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5ldmUtRmVhdHVyZWRfQ2FyZC5ldmUtRmVhdHVyZWRfQ2FyZC1WZXJ0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiA3MjBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSA0MHB4KTsgfSB9XG4gIC5ldmUtRmVhdHVyZWRfQ2FyZC5ldmUtRmVhdHVyZWRfQ2FyZC1Ib3JpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmV2ZS1GZWF0dXJlZF9DYXJkLmV2ZS1GZWF0dXJlZF9DYXJkLUhvcmkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBoZWlnaHQ6IDM0MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5ldmUtRmVhdHVyZWRfQ2FyZC5ldmUtRmVhdHVyZWRfQ2FyZC1Ib3JpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSA0MHB4KTsgfSB9XG4gIC5ldmUtRmVhdHVyZWRfQ2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIG1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRNZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXItdG9wLWxlZnQtcmFkaXVzOyB9XG4gIC5ldmUtRmVhdHVyZWRfQ2FyZC1Ib3JpIC5ldmUtRmVhdHVyZWRfQ2FyZE1lZGlhIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5ldmUtRmVhdHVyZWRfQ2FyZC1Ib3JpIC5ldmUtRmVhdHVyZWRfQ2FyZE1lZGlhIHtcbiAgICAgICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmV2ZS1GZWF0dXJlZF9DYXJkLVZlcnQgLmV2ZS1GZWF0dXJlZF9DYXJkTWVkaWEge1xuICAgICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5ldmUtRmVhdHVyZWRfQ2FyZC1WZXJ0IC5ldmUtRmVhdHVyZWRfQ2FyZE1lZGlhIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgY29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkQ29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDsgfVxuICAuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSAuZXZlLUZlYXR1cmVkX0NhcmRDb250ZW50LFxuICAuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCAuZXZlLUZlYXR1cmVkX0NhcmRDb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5ldmUtRmVhdHVyZWRfQ2FyZC1WZXJ0IC5ldmUtRmVhdHVyZWRfQ2FyZENvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgc2hvcnQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFNob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzM5YzVmZjsgfVxuICAuZXZlLUZlYXR1cmVkX0NhcmRTaG9ydFRpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5ldmUtRmVhdHVyZWRfQ2FyZFRpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRUZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IEByaWdodDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBAaGVpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE2LCAyMTYsIDIxNiwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5ldmUtRmVhdHVyZWRfQ2FyZEFycm93OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRBcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEhlYWRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19IZWFkZXIge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSGVhZGVyIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19IZWFkZXJBY3Rpb24ge1xuICBmb250LWZhbWlseTogXCJtaW5pb24tcHJvXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBjb2xvcjogIzBhMmU0MDsgfVxuICAuZXZlLVVwY29taW5nX0hlYWRlckFjdGlvbiAuZmEge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGNvbG9yOiAjMzljNWZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5ldmUtVXBjb21pbmdfVGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDM3cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2VkNWQ5OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuZXZlLVVwY29taW5nX0l0ZW0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5ub0JvcmRlck9uRmlyc3QgLmV2ZS1VcGNvbWluZ19JdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBJdGVtIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSXRlbUNvbnRlbnQge1xuICBmbGV4OiAxO1xuICBvcmRlcjogMjtcbiAgY29sb3I6ICMwOTI1NTc7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5ldmUtVXBjb21pbmdfSXRlbUNvbnRlbnQge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSBtZXRhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1NZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogIzllOWU5ZTsgfVxuXG4uZXZlLVVwY29taW5nX0l0ZW1EYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBJdGVtIHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5ldmUtVXBjb21pbmdfSXRlbVRpdGxlIGEge1xuICAgIGNvbG9yOiAjMzljNWZmOyB9XG4gICAgLmV2ZS1VcGNvbWluZ19JdGVtVGl0bGUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGNvbG9yOiAjMWMyYTQ5OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBJdGVtIG1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1NZWRpYSB7XG4gIG9yZGVyOiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuZXZlLVVwY29taW5nX0l0ZW1NZWRpYSB7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIC5ldmUtVXBjb21pbmdfSXRlbU1lZGlhLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ldmUtVXBjb21pbmdfSXRlbU1lZGlhW3N0eWxlXSB7XG4gICAgZmxleC1iYXNpczogQGhlaWdodDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmV2ZS1VcGNvbWluZ19JdGVtTWVkaWFbc3R5bGVdIHtcbiAgICAgICAgZmxleC1iYXNpczogMTU1cHg7XG4gICAgICAgIGhlaWdodDogMTI4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogZXZlLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtSW5uZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5ldmUtSW5uZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBsdHMtXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1PdXRlciB7XG4gIHBhZGRpbmctdG9wOiA0LjgyJTtcbiAgcGFkZGluZy1ib3R0b206IDUuNzUlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA2LjM4JTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzA5MjU1NzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmx0cy1Db250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICAgICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1UaXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sdHMtVGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubHRzLVRleHQge1xuICAgICAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZHMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMDkyNTU3O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sdHMtQ2FyZDpudGgtY2hpbGQoMyksIC5sdHMtQ2FyZDpudGgtY2hpbGQoNCkge1xuICAgICAgbWFyZ2luLXRvcDogLTM4MHB4OyB9IH1cbiAgLmx0cy1DYXJkLmx0cy1DYXJkLVZlcnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAubHRzLUNhcmQubHRzLUNhcmQtVmVydCB7XG4gICAgICAgIGhlaWdodDogNzIwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAubHRzLUNhcmQubHRzLUNhcmQtVmVydCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gNDBweCk7IH0gfVxuICAubHRzLUNhcmQubHRzLUNhcmQtSG9yaSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5sdHMtQ2FyZC5sdHMtQ2FyZC1Ib3JpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgaGVpZ2h0OiAzNDBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAubHRzLUNhcmQubHRzLUNhcmQtSG9yaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gNDBweCk7IH0gfVxuICAubHRzLUNhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBjb2xvcjogIzA5MjU1NzsgfVxuICAgIC5sdHMtQ2FyZDpob3ZlciAubHRzLUNhcmRfQXJyb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTc4YTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX01lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlci10b3AtbGVmdC1yYWRpdXM7IH1cbiAgLmx0cy1DYXJkLUhvcmkgLmx0cy1DYXJkX01lZGlhIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5sdHMtQ2FyZC1Ib3JpIC5sdHMtQ2FyZF9NZWRpYSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpOyB9IH1cbiAgLmx0cy1DYXJkLVZlcnQgLmx0cy1DYXJkX01lZGlhIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAubHRzLUNhcmQtVmVydCAubHRzLUNhcmRfTWVkaWEge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDUwJSArIDIwcHgpOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9Db250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0OyB9XG4gIC5sdHMtQ2FyZC1Ib3JpIC5sdHMtQ2FyZF9Db250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHNob3J0IHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1Nob3J0VGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzOWM1ZmY7IH1cbiAgLmx0cy1DYXJkX1Nob3J0VGl0bGVBY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiAjMzljNWZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1RpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5sdHMtQ2FyZF9UaXRsZUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9BcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogQHJpZ2h0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IEBoZWlnaHQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTYsIDIxNiwgMjE2LCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zczsgfVxuICAubHRzLUNhcmRfQXJyb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU3OGE7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGFycm93IGljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9BcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVHdlZXQgY2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzQwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICMwOTI1NTc7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zczsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmx0cy1Ud2VldENhcmQge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNDBweCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmx0cy1Ud2VldENhcmQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSA0MHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAubHRzLVR3ZWV0Q2FyZC5sdHMtVHdlZXRDYXJkLTJuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzgwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlICsgNDBweCkpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sdHMtVHdlZXRDYXJkLmx0cy1Ud2VldENhcmQtMm5kIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuICAubHRzLVR3ZWV0Q2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVHdlZXQgY2FyZCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDlweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBNZXRhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9NZXRhIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBjb2xvcjogIzA5MjU1NzsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBSZXBseVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfUmVwbHkge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVHdlZXQgY2FyZCAtIFJldHdlZXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkX1JldHdlZXQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVHdlZXQgY2FyZCAtIExpa2VcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkX0xpa2Uge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBUaW1lXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9UaW1lIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGNvbG9yOiAjYWNhY2FjOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGxnaS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktT3V0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDgwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgzYzdhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKFwiaW1nL2RpZ2l0YWwtY29ubmVjdGlvbnMuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEJveFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Cb3gge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmxnaS1Cb3gge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubGdpLUJveCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Db250ZW50IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfVxuXG4ubGdpLUNvbnRlbnRfYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEJveCAtIFVuZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUJveF9VbmRlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEJveCAtIFVuZGVyIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktQm94X1VuZGVyVGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gTWVzc2FnZSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX01lc3NhZ2VUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fSXRlbSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH1cbiAgLmxnaS1Gb3JtX0l0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gTGFiZWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9MYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBjb2xvcjogIzAzMTYzYjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIElucHV0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fSW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiByZ2JhKDMsIDIyLCA1OSwgMC41KTsgfVxuICAubGdpLUZvcm1fSW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIENoZWNrYm94XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fQ2hlY2tib3hXcmFwIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLmxnaS1Gb3JtX0NoZWNrYm94IHtcbiAgLyogbGluZS1oZWlnaHQgY29tcGVuc2F0aW9uICovXG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gRm9yZ290dGVuIHBhc3N3b3JkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fRm9yZ290dGVuUGFzc3dvcmQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gU3VibWl0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fU3VibWl0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDIycHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTQ2ZGVnLCAjMDA5NmNjLCAjMGJmKTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzO1xuICBjb2xvcjogI2ZmZjsgfVxuICAubGdpLUZvcm1fU3VibWl0OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIEVycm9yXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fRXJyb3Ige1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXRvcDtcbiAgZm9udC1mYW1pbHk6IFwibWluaW9uLXByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZDFjYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RiNDYyYztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogI2RiNDYyYzsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIFN1Ym1pdCBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fU3VibWl0SWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA0NXB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IEBoZWlnaHQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzMTYzYjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zczsgfVxuICAubGdpLUZvcm1fU3VibWl0OmhvdmVyIC5sZ2ktRm9ybV9TdWJtaXRJY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDMxNjNiOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBOZXdzbGV0dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogbnNsLVxufFxuKi9cbi5uc2wtRm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgLm5zbC1Gb3JtLm5zbC1Gb3JtLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuXG4ubnNsLUlucHV0c1N1cnJvdW5kIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE5ld3NsZXR0ZXIgLSBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm5zbC1JbnB1dCB7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogcmdiYSgzLCA4MywgMTIzLCAwLjUpOyB9XG4gIC5uc2wtSW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgzLCA4MywgMTIzLCAwLjUpOyB9XG4gIC5uc2wtRm9ybS1mb290ZXIgLm5zbC1JbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTmV3c2xldHRlciAtIFN1Ym1pdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm5zbC1TdWJtaXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzljNWZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAubnNsLVN1Ym1pdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYXNpLU5ld3NsZXR0ZXIgLm5zbC1TdWJtaXQge1xuICAgIGNvbG9yOiAjMGEyZTQwOyB9XG4gIC5uc2wtRm9ybS1mb290ZXIgLm5zbC1TdWJtaXQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogb3JnLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5vcmctT3V0ZXIge1xuICBwYWRkaW5nLXRvcDogNi4zJTtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvbiAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLVRpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLm9yZy1UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1MaXN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW0ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjZweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDIxcHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ1ZDk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zczsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLm9yZy1JdGVtIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLm9yZy1JdGVtOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtX0NvbnRlbnQge1xuICBmbGV4OiAxO1xuICBvcmRlcjogMjtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAub3JnLUl0ZW1fQ29udGVudCB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICMwMzE2M2I7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogIzAzMTYzYjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvbiAtIEl0ZW0gLSBNZWRpYSBjb250YWluZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5vcmctSXRlbV9NZWRpYUNvbnRhaW5lciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcmRlcjogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLm9yZy1JdGVtX01lZGlhQ29udGFpbmVyIHtcbiAgICAgIGZsZXgtYmFzaXM6IDIwMHB4O1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZ24tT3V0ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gQ29udHJvbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnbi1Db250cm9sIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1iYXNpczogMzBweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogQGhlaWdodDtcbiAgZm9udC1zaXplOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjsgfVxuICAucGduLUNvbnRyb2w6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5wZ24tQ29udHJvbDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC5wZ24tQ29udHJvbDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2luYXRpb24gLSBDb250cm9sIC0gSWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnbi1Db250cm9sX0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC5wZ24tQ29udHJvbF9JY29uOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2luYXRpb24gLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGduLUl0ZW1zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wZ24tSXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogN3B4O1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogIzBhMmU0MDsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHBwbC1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLU91dGVyIHtcbiAgcGFkZGluZy10b3A6IDMuMTUlO1xuICBwYWRkaW5nLWJvdHRvbTogNi4wNSU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBPdXRlciAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLU91dGVyX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnBwbC1PdXRlcl90aXRsZSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUZpbHRlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5wcGwtRmlsdGVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUZpbHRlcl9UZXh0IHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgY29sb3I6ICMxYzJhNDk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAucHBsLUZpbHRlcl9UZXh0IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBMYWJlbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfTGFiZWwge1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEZpbHRlciAtIFJlc3VsdHMgY291bnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtRmlsdGVyX1Jlc3VsdHNDb3VudCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfSW5wdXQge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAucHBsLUZpbHRlcl9JbnB1dCB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnBwbC1GaWx0ZXJfSW5wdXQge1xuICAgICAgZmxleC1iYXNpczogMjgwcHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEZpbHRlciAtIFNlbGVjdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfU2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDExcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOGZhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKFwic2VsZWN0LWFycm93LWRvd24ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgNTAlIHJpZ2h0IDIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICMwYTJlNDA7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5wcGwtRmlsdGVyX1NlbGVjdCBvcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtTGlzdCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUl0ZW0ge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAucHBsLUl0ZW0ge1xuICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA0MHB4KTsgfSB9XG4gIC5wcGwtSXRlbTpsYXN0LWNoaWxkOm50aC1jaGlsZChvZGQpLCAucHBsLUl0ZW06bGFzdC1jaGlsZDpudGgtY2hpbGQoZXZlbiksIC5wcGwtSXRlbTpudGgtbGFzdC1jaGlsZCgyKTpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucHBsLUl0ZW06aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBNZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX01lZGlhIHtcbiAgZmxleC1iYXNpczogMjguNDIlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBJdGVtIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX0NvbnRlbnQge1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogMTEwcHg7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBjb2xvcjogIzFjMmE0OTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5wcGwtSXRlbV9UaXRsZSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUl0ZW1fVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBydGQtXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAucnRkLVRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVsYXRlZCAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzdweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZWQ1ZDk7IH1cbiAgLnJ0ZC1JdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAucnRkLUl0ZW0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVsYXRlZCAtIEl0ZW0gLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucnRkLUl0ZW1fQ29udGVudCB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAyO1xuICBjb2xvcjogIzA5MjU1NzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnJ0ZC1JdGVtX0NvbnRlbnQge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX01ldGEge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGNvbG9yOiAjMzljNWZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVsYXRlZCAtIEl0ZW0gLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gTWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9NZWRpYSB7XG4gIG9yZGVyOiAxO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5ydGQtSXRlbV9NZWRpYSB7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIC5ydGQtSXRlbV9NZWRpYVtzdHlsZV0ge1xuICAgIGZsZXgtYmFzaXM6IEBoZWlnaHQ7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5ydGQtSXRlbV9NZWRpYVtzdHlsZV0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxNzVweDtcbiAgICAgICAgaGVpZ2h0OiAxMzVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlYXJjaCAtIFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2NoLVxufFxuKi9cbi5zY2gtU3RyaXAge1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzE2M2I7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VhcmNoIC0gU3RyaXAgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjaC1TdHJpcF9Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlYXJjaCAtIFN0cmlwIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY2gtU3RyaXBfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2NoLVN0cmlwX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWFyY2ggLSBTdHJpcCAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY2gtU3RyaXBfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY2gtU3RyaXBfVGV4dCB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUYWJzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogdGFiLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGFicyAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLU91dGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRhYnMgLSBTZXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi50YWItU2V0IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMzRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnRhYi1TZXQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUYWJzIC0gU2V0IC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnRhYi1TZXRfSXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDlweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwO1xuICBjb2xvcjogIzFjMmE0OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnRhYi1TZXRfSXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cbiAgLnRhYi1TZXRfSXRlbTpob3ZlciB7XG4gICAgY29sb3I6ICMxYzJhNDk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAudGFiLVNldF9JdGVtW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC50YWItU2V0X0l0ZW1bYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGJvcmRlci10b3A7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBAYm9yZGVyLXRvcDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLnRhYi1TZXRfSXRlbVthcmlhLXNlbGVjdGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgV3lzaXd5Z1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHd5cy1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFd5c2l3eWcgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4ud3lzLUNvbnRlbnQge1xuICAvKipcbiAgKiBIZWFkaW5nc1xuICAqL1xuICAvKipcbiAgKiBQYXJhZ3JhcGhzXG4gICovXG4gIC8qKlxuICAqIEJsb2NrcXVvdGVcbiAgKi9cbiAgLyoqXG4gICogSW1hZ2VzXG4gICovIH1cbiAgLnd5cy1Db250ZW50IGgzLCAud3lzLUNvbnRlbnQgaDQsIC53eXMtQ29udGVudCBoNSwgLnd5cy1Db250ZW50IGg2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnd5cy1Db250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7IH1cbiAgLnd5cy1Db250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgLnd5cy1Db250ZW50IGg1IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgLnd5cy1Db250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cbiAgLnd5cy1Db250ZW50IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAgIC53eXMtQ29udGVudCB1bCBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAud3lzLUNvbnRlbnQgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC53eXMtQ29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgICAud3lzLUNvbnRlbnQgcCArIGgzLFxuICAgIC53eXMtQ29udGVudCBwICsgaDQsXG4gICAgLnd5cy1Db250ZW50IHAgKyBoNSxcbiAgICAud3lzLUNvbnRlbnQgcCArIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnd5cy1Db250ZW50IC5xdW90ZS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBjb2xvcjogIzAzYTNiNjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC53eXMtQ29udGVudCAucXVvdGUtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7IH0gfVxuICAgIC5sLVNpdGVfTWFpbi1DZW50ZXJlZCAud3lzLUNvbnRlbnQgLnF1b3RlLXRleHQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubC1TaXRlX01haW4tQ2VudGVyZWQgLnd5cy1Db250ZW50IC5xdW90ZS10ZXh0OjpiZWZvcmUsIC5sLVNpdGVfTWFpbi1DZW50ZXJlZCAud3lzLUNvbnRlbnQgLnF1b3RlLXRleHQ6OmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgY29sb3I6ICMwM2EzYjY7IH1cbiAgICAgIC5sLVNpdGVfTWFpbi1DZW50ZXJlZCAud3lzLUNvbnRlbnQgLnF1b3RlLXRleHQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7IH1cbiAgICAgIC5sLVNpdGVfTWFpbi1DZW50ZXJlZCAud3lzLUNvbnRlbnQgLnF1b3RlLXRleHQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7IH1cbiAgLnd5cy1Db250ZW50IC5xdW90ZS1hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLnd5cy1Db250ZW50IC5xdW90ZS1hdXRob3Ige1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgICAubC1TaXRlX01haW4tQ2VudGVyZWQgLnd5cy1Db250ZW50IC5xdW90ZS1hdXRob3Ige1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC53eXMtQ29udGVudCAuaW1nLWNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDcuNTElO1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEyZTQwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLnd5cy1Db250ZW50IC5pbWctY2FwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTguMzMzMzMzMzMzMyU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIEJsb2NrXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDcyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMDkyNTU3O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7IH1cbiAgLmFzaS1DYXJkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIG1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfTWVkaWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlci10b3AtbGVmdC1yYWRpdXM7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9Db250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9TaG9ydFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzljNWZmOyB9XG4gIC5hc2ktQ2FyZF9TaG9ydFRpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9UaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYXNpLUNhcmRfVGl0bGVBY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGFycm93XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IEByaWdodDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBAaGVpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE2LCAyMTYsIDIxNiwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5hc2ktQ2FyZF9BcnJvdzpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGFycm93IGljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9BcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogMzZweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICMwOTI1NTc7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgc2hvcnQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5X1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzM5YzVmZjsgfVxuICAuYXNpLUNhc2VTdHVkeV9TaG9ydFRpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5X1RpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5hc2ktQ2FzZVN0dWR5X1RpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhc2VTdHVkeV9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IEByaWdodDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBAaGVpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE2LCAyMTYsIDIxNiwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5hc2ktQ2FzZVN0dWR5X0Fycm93OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhc2VTdHVkeV9BcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIE5ld3NsZXR0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktTmV3c2xldHRlciB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOGZhO1xuICBjb2xvcjogIzBhMmU0MDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gTmV3c2xldHRlciAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLU5ld3NsZXR0ZXJfVGl0bGUge1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gTmV3c2xldHRlciAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktTmV3c2xldHRlcl9UZXh0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBQZW9wbGUgbmV0d29ya1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1QZW9wbGVOZXR3b3JrIHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y4ZmE7XG4gIGNvbG9yOiAjMGEyZTQwOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBQZW9wbGUgbmV0d29yayAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLVBlb3BsZU5ldHdvcmtfVGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBQZW9wbGUgbmV0d29yayAtIExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktUGVvcGxlTmV0d29ya19MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBQZW9wbGUgbmV0d29yayAtIEl0ZW0gYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLVBlb3BsZU5ldHdvcmtfSXRlbUFjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBjb2xvcjogIzBhMmU0MDsgfVxuICAuYXNpLVBlb3BsZU5ldHdvcmtfSXRlbUFjdGlvbjpob3ZlciwgLmFzaS1QZW9wbGVOZXR3b3JrX0l0ZW1BY3Rpb25bYXJpYS1jdXJyZW50PSd0cnVlJ10ge1xuICAgIGNvbG9yOiAjMzljNWZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVyb1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjdC1cbnxcbiovXG4uc2N0LUhvbWVwYWdlSGVybyB7XG4gIHBhZGRpbmctdG9wOiAxMSU7XG4gIHBhZGRpbmctYm90dG9tOiAxMi42MyU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4M2I3OTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtSG9tZXBhZ2VIZXJvIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4LjM4JTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMi42MyU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBIb21lcGFnZSBoZXJvIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX0lubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm8gLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5zY3QtSG9tZXBhZ2VIZXJvX0NvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuc2N0LUhvbWVwYWdlSGVyb19Db250ZW50IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBIb21lcGFnZSBoZXJvIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzZweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1Ib21lcGFnZUhlcm9fVGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgIGZvbnQtc2l6ZTogNTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1Ib21lcGFnZUhlcm9fVGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBIb21lcGFnZSBoZXJvIC0gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUhvbWVwYWdlSGVyb19BY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzljNWZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zY3QtSG9tZXBhZ2VIZXJvX0FjdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnNjdC1Ib21lcGFnZUhlcm9fQWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU2Vjb25kYXJ5IGhlcm9cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1TZWNvbmRhcnlIZXJvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyIDMwJSwgIzAwNTQ5NiAwJSwgIzA5MjQ1NiAxMDAlKTtcbiAgcGFkZGluZy10b3A6IDguNiU7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtU2Vjb25kYXJ5SGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogMTIuMTMlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE0Ljc1JTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFNlY29uZGFyeSBoZXJvIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU2Vjb25kYXJ5SGVyb19Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLnNjdC1TZWNvbmRhcnlIZXJvX0NvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU2Vjb25kYXJ5IGhlcm8gLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TZWNvbmRhcnlIZXJvX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1TZWNvbmRhcnlIZXJvX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU2Vjb25kYXJ5IGhlcm8gLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtU2Vjb25kYXJ5SGVyb19UZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyIDMwJSwgIzAwNTQ5NiAwJSwgIzA5MjQ1NiAxMDAlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMTAuMTYlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUltYWdlSGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogMTIlO1xuICAgICAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm8gLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fQ29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA5LjYlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUltYWdlSGVyb19Db250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIFRpdGxlIHNtYWxsXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19TaG9ydFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtSW1hZ2VIZXJvX1Nob3J0VGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUltYWdlSGVyb19UaXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fTWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtSW1hZ2VIZXJvX01ldGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDFweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fQWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2N0LUltYWdlSGVyb19BY3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWM1ZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtSW1hZ2VIZXJvX0FjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gQmFja2dyb3VuZCBjb250YWluZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0JhY2tncm91bmRDb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkyNDU2OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm8gLSBCYWNrZ3JvdW5kXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19CYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLXRvcDogNjAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLnNjdC1JbWFnZUhlcm9fQmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtSW1hZ2VIZXJvX0JhY2tncm91bmQge1xuICAgICAgcGFkZGluZy10b3A6IDQwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUltYWdlSGVyb19CYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLnNjdC1JbWFnZUhlcm9fVmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnNjdC1JbWFnZUhlcm9fVmlkZW8ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uc2N0LUltYWdlSGVyb19WaWRlb0VtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjdC1cbnxcbiovXG4uc2N0LUNhcmRzIHtcbiAgcGFkZGluZy10b3A6IDQuODIlO1xuICBwYWRkaW5nLWJvdHRvbTogNS43NSU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwOTI1NTc7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtQ2FyZHNfQ29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUNhcmRzX0NvbnRlbnQge1xuICAgICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtQ2FyZHNfVGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDguNiU7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUNhcmRzX1RleHQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRzIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnNjdC1DYXJkc19DYXJkcyArIC5zY3QtQ2FyZHNfQ2FyZHMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAuc2N0LUNhcmRzX0NhcmRzICsgLnNjdC1DYXJkc19DYXJkcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnNjdC1DYXJkc19DYXJkcyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICMwOTI1NTc7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zczsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnNjdC1DYXJkc19DYXJkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtQ2FyZHNfQ2FyZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSA0MHB4KTtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAgICAgLnNjdC1DYXJkc19DYXJkOmF0LWxlYXN0KDQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIC5zY3QtQ2FyZHNfQ2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGNvbG9yOiAjMDkyNTU3OyB9XG4gICAgLnNjdC1DYXJkc19DYXJkOmhvdmVyIC5zY3QtQ2FyZHNfQ2FyZEFycm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU3OGE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgbWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZE1lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXItdG9wLWxlZnQtcmFkaXVzOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBjb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRDb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuICAuc2N0LUNhcmRzX0NhcmRTaG9ydFRpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkVGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLnNjdC1DYXJkc19DYXJkVGl0bGVBY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRUZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZEFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiBAcmlnaHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogQGhlaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRBcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtQ3RhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyIDMwJSwgIzAwNTQ5NiAwJSwgIzA5MjQ1NiAxMDAlKTtcbiAgcGFkZGluZy10b3A6IDMlO1xuICBwYWRkaW5nLWJvdHRvbTogMy4wNiU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5sLVNpdGVfTWFpbiAuc2N0LUN0YSB7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDVEEgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DdGFfSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLmwtU2l0ZV9NYWluIC5zY3QtQ3RhX0lubmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ3RhX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1DdGFfVGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG4gICAgICAubC1TaXRlX01haW4gLnNjdC1DdGFfVGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DdGFfVGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENUQSAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DdGFfQWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIC5zY3QtQ3RhX0FjdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFF1b3RlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtUXVvdGVfT3V0ZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLnNjdC1TdGF0cyArIC5zY3QtUXVvdGVfT3V0ZXIge1xuICAgIG1hcmdpbi10b3A6IDUlOyB9XG5cbi5zY3QtUXVvdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIgMzAlLCAjMDA1NDk2IDAlLCAjMDkyNDU2IDEwMCUpO1xuICBwYWRkaW5nLXRvcDogNi4zOCU7XG4gIHBhZGRpbmctYm90dG9tOiA1LjE5JTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGUgLSBCbG9ja3F1b3RlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX0Jsb2NrUXVvdGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtUXVvdGVfQmxvY2tRdW90ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFF1b3RlIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtUXVvdGVfVGl0bGUge1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZSAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtUXVvdGVfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtUXVvdGVfVGV4dCB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFF1b3RlIC0gRm9vdGVyIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtUXVvdGVfRm9vdGVyVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtUXVvdGVfRm9vdGVyVGV4dCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1TdGF0cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciAzMCUsICMwMDU0OTYgMCUsICMwOTI0NTYgMTAwJSk7XG4gIHBhZGRpbmctdG9wOiA2LjU3JTtcbiAgcGFkZGluZy1ib3R0b206IDguMTMlO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0lubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0NvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA2MnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtU3RhdHNfQ29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LVN0YXRzX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1TdGF0c19UZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIC5zY3QtU3RhdHNfQWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJvdXNlbCBwYWdpbmF0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMTQlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogaGVpZ2h0KFwic2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5wbmdcIik7XG4gIHdpZHRoOiB3aWR0aChcInNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKFwic2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5wbmdcIik7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLUxlZnQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMHB4KTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24tTGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDFweCkge1xuICAgICAgLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24uc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi1MZWZ0IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDc1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIC5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24tUmlnaHQge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KSByb3RhdGUoMTgwZGVnKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24tUmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpIHJvdGF0ZSgxODBkZWcpOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDFweCkge1xuICAgICAgLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24uc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi1SaWdodCB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogNzVweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJvdXNlbCByYWlsXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsUmFpbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzNDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJvdXNlbCBzbGlkZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IEByaWdodDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAzNDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzOyB9XG4gIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZVthcmlhLWN1cnJlbnQ9J2ZhbHNlJ10ge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcm91c2VsIHVuZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsVW5kZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICBtaW4taGVpZ2h0OiAzNDBweDtcbiAgcGFkZGluZy10b3A6IDM5cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTQ2ZGVnLCAjMDA5NmNjLCAjMGJmKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwYWVlZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLnNjdC1TdGF0c19DYXJkOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnNjdC1TdGF0c19DYXJkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtU3RhdHNfQ2FyZCB7XG4gICAgICB3aWR0aDogY2FsYygzMyUgLSA0MHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnNjdC1TdGF0c19DYXJkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDQwcHgpOyB9IH1cbiAgLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUVudGVyIC5zY3QtU3RhdHNfQ2FyZCxcbiAgLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWxlYXZlIC5zY3QtU3RhdHNfQ2FyZCB7XG4gICAgb3BhY2l0eTogMDsgfVxuICBbZGlyZWN0aW9uPSdsZWZ0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUxlYXZlIC5zY3QtU3RhdHNfQ2FyZCB7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XG4gICAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVMZWF2ZSAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzOyB9XG4gICAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVMZWF2ZSAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7IH1cbiAgICBbZGlyZWN0aW9uPSdsZWZ0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUxlYXZlIC5zY3QtU3RhdHNfQ2FyZDpudGgtY2hpbGQoMSkge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40NXM7IH1cbiAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAuc2N0LVN0YXRzX0NhcmQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyAwLjZzOyB9XG4gICAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNzVzOyB9XG4gICAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOXM7IH1cbiAgICBbZGlyZWN0aW9uPSdsZWZ0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWVudGVyIC5zY3QtU3RhdHNfQ2FyZDpudGgtY2hpbGQoMSkge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMS4wNXM7IH1cbiAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgLnNjdC1TdGF0c19DYXJkIHtcbiAgICB2aXNpYmlsaXR5OiBpbml0aWFsO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cbiAgICBbZGlyZWN0aW9uPSdyaWdodCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVMZWF2ZSAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzOyB9XG4gICAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyB9XG4gICAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1czsgfVxuICBbZGlyZWN0aW9uPSdyaWdodCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAuc2N0LVN0YXRzX0NhcmQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyAwLjZzOyB9XG4gICAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtZW50ZXIgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjc1czsgfVxuICAgIFtkaXJlY3Rpb249J3JpZ2h0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWVudGVyIC5zY3QtU3RhdHNfQ2FyZDpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC45czsgfVxuICAgIFtkaXJlY3Rpb249J3JpZ2h0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWVudGVyIC5zY3QtU3RhdHNfQ2FyZDpudGgtY2hpbGQoNCkge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMS4wNXM7IH1cbiAgLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlW2FyaWEtY3VycmVudD0nZmFsc2UnXTpub3QoLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUVudGVyKTpub3QoLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUxlYXZlKSAuc2N0LVN0YXRzX0NhcmQge1xuICAgIGRpc3BsYXk6IGhpZGRlbjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcmQgc3RhdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJkU3RhdCB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC1zaXplOiA1MnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogNDhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJkVGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJkQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IEByaWdodDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBAaGVpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzE2M2I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgLnNjdC1TdGF0c19DYXJkOmhvdmVyIC5zY3QtU3RhdHNfQ2FyZEFycm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDMxNjNiOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0NhcmRBcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnLTQwNCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDkyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc3RhdGljL3NpdGUvYnVpbGQvaW1nLzQwNC5qcGdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdlIC0gNDA0IC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnLTQwNF9Db250ZW50IHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdlIC0gNDA0IC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZy00MDRfVGl0bGUge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDI3cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIGZvbnQtc2l6ZTogNDJweDtcbiAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZy00MDRfVGV4dCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogNjdweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnLTQwNF9BY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzljNWZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wZy00MDRfQWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAucGctNDA0X0FjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjgwcHg7IH1cbiAgICAgIC5wZy00MDRfQWN0aW9uICsgLnBnLTQwNF9BY3Rpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbiRDb2xvcnM6IChcbiAgdmVyeURhcms6ICMxOTFkMjUsXG4gIGRhcms6ICMyMzI4MzMsXG4gIHZlcnlEYXJrQmx1ZTogIzAzMTYzYixcbiAgZGFya0JsdWU6ICMwYTJlNDAsXG4gIGJsdWU6ICMwMDU3OGEsXG4gIGxpZ2h0Qmx1ZTogIzM5YzVmZixcbiAgdGVhbDogIzAzYTNiNixcbiAgZ3JleTogI2NlZDVkOSxcbiAgbGlnaHRHcmV5OiAjZDhkOGQ4LFxuICB2ZXJ5TGlnaHRHcmV5OiAjZjdmOGZhXG4pO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuJEZvbnRfTXlyaWFkOiAnbXlyaWFkLXBybycsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuJEZvbnRfTWluaW9uOiAnbWluaW9uLXBybycsIHNlcmlmO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG4vKipcbiAqIE1vYmlsZVxuICovXG4kRm9udF9TaXplczogKFxuICBsYXJnZTogMjBweCxcbiAgbWVkaXVtOiAxOHB4LFxuICBzbWFsbDogMTZweCxcbiAgYm9keTogMTZweFxuKTtcblxuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbiRGb250X1NpemVzLS1sZzogKFxuICBsYXJnZTogMjRweCxcbiAgbWVkaXVtOiAyMHB4LFxuICBzbWFsbDogMThweCxcbiAgYm9keTogMThweFxuKTtcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuJExpbmVIZWlnaHRfQWRkaXRpb246IDhweDtcblxuLyoqXG4gKiBNb2JpbGVcbiAqL1xuJExpbmVIZWlnaHRzOiAoXG4gIGxhcmdlOiBtYXAtZ2V0KCRGb250X1NpemVzLCBsYXJnZSkgKyAkTGluZUhlaWdodF9BZGRpdGlvbixcbiAgbWVkaXVtOiBtYXAtZ2V0KCRGb250X1NpemVzLCBtZWRpdW0pICsgJExpbmVIZWlnaHRfQWRkaXRpb24sXG4gIHNtYWxsOiBtYXAtZ2V0KCRGb250X1NpemVzLCBzbWFsbCkgKyAkTGluZUhlaWdodF9BZGRpdGlvbixcbiAgYm9keTogbWFwLWdldCgkRm9udF9TaXplcywgYm9keSkgKyAkTGluZUhlaWdodF9BZGRpdGlvblxuKTtcblxuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbiRMaW5lSGVpZ2h0cy0tbGc6IChcbiAgbGFyZ2U6IG1hcC1nZXQoJEZvbnRfU2l6ZXMtLWxnLCBsYXJnZSkgKyAkTGluZUhlaWdodF9BZGRpdGlvbixcbiAgbWVkaXVtOiBtYXAtZ2V0KCRGb250X1NpemVzLS1sZywgbWVkaXVtKSArIDEwcHgsXG4gIHNtYWxsOiBtYXAtZ2V0KCRGb250X1NpemVzLS1sZywgc21hbGwpICsgJExpbmVIZWlnaHRfQWRkaXRpb24sXG4gIGJvZHk6IG1hcC1nZXQoJEZvbnRfU2l6ZXMtLWxnLCBib2R5KSArICRMaW5lSGVpZ2h0X0FkZGl0aW9uXG4pO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuJE1lZGlhX1JhbmdlczogKFxuICB4czogKDAsIDQ4MHB4KSxcbiAgc206ICg0ODFweCwgNzY4cHgpLFxuICBtZDogKDc2OXB4LCAxMDI0cHgpLFxuICBsZzogKDEwMjVweCwgMTQ0MHB4KSxcbiAgeGxnOiAoMTQ0MXB4LCAxOTIwcHgpLFxuICB4eGxnOiAoMTkyMXB4LCA5OTk5OTlweClcbik7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG4kR3JpZDogKFxuICBjb25zdHJhaW5lZDogMTYwMHB4LFxuICBjb250YWluZXI6IDEyNDBweCxcbiAgZ3V0dGVyOiA0MHB4XG4pO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuJE1pc2M6IChcbiAgYmRyczogM3B4XG4pO1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkaXRlbSkge1xuICBAaWYgaW5kZXgoJGxpc3QsICRpdGVtKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAxKTtcbn1cblxuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbkBmdW5jdGlvbiB1cHBlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDwgMiB7XG4gICAgQHJldHVybiA5OTk5OTk5OTk5OTk7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4kTWVkaWFfUmFuZ2VzOiAoXG4gIHhzOiAoMCwgNDgwcHgpLFxuICBzbTogKDQ4MXB4LCA3NjhweCksXG4gIG1kOiAoNzY5cHgsIDEwMjRweCksXG4gIGxnOiAoMTAyNXB4LCAxNDQwcHgpLFxuICB4bGc6ICgxNDQxcHgsIDE5MjBweCksXG4gIHh4bGc6ICgxOTIxcHgsIDk5OTk5OXB4KVxuKSAhZGVmYXVsdDtcbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLy8gVGhlIHNpemVzIHRoZSBtZWRpYSBxdWVyaWVzIG1peGluIGNhbiBhY2NlcHRcbiRTSVpFUzogKCd4cycsICdzbScsICdtZCcsICdsZycsICd4bGcnLCAneHhsZycsICd4cy1vbmx5JywgJ3NtLW9ubHknLCAnbWQtb25seScsICdsZy1vbmx5JywgJ3hsZy1vbmx5JywgJ3h4bGctb25seScpICFkZWZhdWx0O1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuQG1peGluIE1RKCRzaXplKSB7XG4gIEBpZiBjb250YWlucygkU0laRVMsICRzaXplKSB7XG4gICAgQGlmICRzaXplID09ICd4cy1vbmx5JyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCB4cykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICdzbS1vbmx5JyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBzbSkpfSkgYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBzbSkpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICdtZC1vbmx5JyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBtZCkpfSkgYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBtZCkpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICdsZy1vbmx5JyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBsZykpfSkgYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBsZykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICd4bGctb25seScge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgeGxnKSl9KSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZChtYXAtZ2V0KCRNZWRpYV9SYW5nZXMsIHhsZykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICd4eGxnLW9ubHknIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3tsb3dlci1ib3VuZChtYXAtZ2V0KCRNZWRpYV9SYW5nZXMsIHh4bGcpKX0pIGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgeHhsZykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFcXVhbCB0byBhbmQgZ3JlYXRlciB0aGFuXG4gICAgQGVsc2UgaWYgJHNpemUgPT0gJ3hzJyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCB4cykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICdzbScge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1Jhbmdlcywgc20pKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAnbWQnIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3tsb3dlci1ib3VuZChtYXAtZ2V0KCRNZWRpYV9SYW5nZXMsIG1kKSl9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJ2xnJyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBsZykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICd4bGcnIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3tsb3dlci1ib3VuZChtYXAtZ2V0KCRNZWRpYV9SYW5nZXMsIHhsZykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICd4eGxnJyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCB4eGxnKSl9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdBcmd1bWVudCBtdXN0IGJlIGFueSBvZjogI3skU0laRVN9JztcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQG1peGluIEZvbnRfU2l6aW5nKCRzaXplKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkRm9udF9TaXplcywgJHNpemUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRGb250X1NpemVzLCAkc2l6ZSkgLyAyO1xuXG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRGb250X1NpemVzLCAkc2l6ZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEwICogbWFwLWdldCgkRm9udF9TaXplcywgJHNpemUpIC8gMTAwMDtcbiAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkTGluZUhlaWdodHMsICRzaXplKTtcblxuICAgIEBpbmNsdWRlIE1RKCdsZycpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkRm9udF9TaXplcy0tbGcsICRzaXplKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRMaW5lSGVpZ2h0cy0tbGcsICRzaXplKTtcbiAgICB9XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQG1peGluIEZvbnRfU21vb3RoaW5nKCR2YWx1ZTogYW50aWFsaWFzZWQpIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgQGlmICR2YWx1ZSA9PSBhbnRpYWxpYXNlZCB7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB9IEBlbHNlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBtaXhpbiBGb3JtX0lucHV0cygkZXh0cmE6IGZhbHNlKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICBpbnB1dFt0eXBlPSdkYXRlJ10sXG4gIGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sXG4gIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gIGlucHV0W3R5cGU9J21vbnRoJ10sXG4gIGlucHV0W3R5cGU9J3dlZWsnXSxcbiAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddLFxuICBpbnB1dFt0eXBlPSd0ZWwnXSxcbiAgaW5wdXRbdHlwZT0ndGltZSddLFxuICBpbnB1dFt0eXBlPSd1cmwnXSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gIEBpZiAkZXh0cmEge1xuICAgIEBlYWNoICRlbCBpbiAkZXh0cmEge1xuICAgICAgI3skZWx9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQG1peGluIENvbnRhaW5lcigkY29sbGFwc2VkOiBmYWxzZSkge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogaWYoJGNvbGxhcHNlZCwgbWFwLWdldCgkR3JpZCwgY29udGFpbmVyKSwgbWFwLWdldCgkR3JpZCwgY29udGFpbmVyKSArIG1hcC1nZXQoJEdyaWQsIGd1dHRlcikpO1xuICB3aWR0aDogMTAwJTtcblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBAaWYgJGNvbGxhcHNlZCA9PSAncmlnaHQnIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICB9IEBlbHNlIGlmICRjb2xsYXBzZWQgPT0gJ2xlZnQnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAje21hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyfTtcbiAgfSBAZWxzZSBpZiAkY29sbGFwc2VkID09IGZhbHNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAje21hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyfTtcbiAgICBwYWRkaW5nLWxlZnQ6ICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cblxuQG1peGluIE1haW5BbmRBc2lkZVN1cnJvdW5kKCkge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgZGlzcGxheTogZmxleDtcblxuICBAaW5jbHVkZSBNUSgnbWQnKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gIH1cbn1cblxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AbWl4aW4gQWJzb2x1dGVTcHJlYWQoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AbWl4aW4gQnV0dG9uKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AbWl4aW4gR3JhZGllbnQtUmFkaWFsQmx1ZSgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyIDMwJSwgIzAwNTQ5NiAwJSwgIzA5MjQ1NiAxMDAlKTtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5AaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICdtZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWRlZmluZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEdsb2JhbCByZXNldHMgdG8gbWFrZSBsaWZlIGVhc2llclxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3ggc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFZpZXdwb3J0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG5AYXQtcm9vdCB7XG4gIEAtbW96LXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbiAgQC1vLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG4gIEAtd2Via2l0LXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG4gIEB2aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEhUTUwvQm9keSByZXNldHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmh0bWwge1xuICAvLyBTZXRzIGEgc3BlY2lmaWMgZGVmYXVsdCBgZm9udC1zaXplYCBmb3IgdXNlciB3aXRoIGByZW1gIHR5cGUgc2NhbGVzLlxuICBmb250LXNpemU6IG1hcC1nZXQoJEZvbnRfU2l6ZXMsIGJvZHkpO1xuICAvLyBDaGFuZ2VzIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuYm9keSB7XG4gIEBpbmNsdWRlIEZvbnRfU21vb3RoaW5nKCk7XG5cbiAgLyogVGhpcyBuZWVkcyBlc2NhcGluZyBzbyBpdCBkb2Vzbid0IGRvdWJsZSBzdHJpbmcgKi9cbiAgZm9udC1mYW1pbHk6ICRGb250X01pbmlvbjtcbiAgLy8gTWFrZSB0aGUgYGJvZHlgIHVzZSB0aGUgYGZvbnQtc2l6ZS1yb290YFxuICBmb250LXNpemU6IG1hcC1nZXQoJEZvbnRfU2l6ZXMsIGJvZHkpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogbWFwLWdldCgkTGluZUhlaWdodHMsIGJvZHkpO1xuICAvLyBHbyBlYXN5IG9uIHRoZSBleWVzIGFuZCB1c2Ugc29tZXRoaW5nIG90aGVyIHRoYW4gYCMwMDBgIGZvciB0ZXh0XG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmspO1xuICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRGb250X1NpemVzLS1sZywgYm9keSk7XG4gICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJExpbmVIZWlnaHRzLS1sZywgYm9keSk7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUeXBvZ3JhcGh5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbi8qKlxuICogSGVhZGluZ3NcbiAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qKlxuICogQm9keVxuICovXG5ib2R5IHsgQGluY2x1ZGUgRm9udF9TaXppbmcoJ25vcm1hbCcpIH1cblxuLyoqXG4gKiBQYXJhZ3JhcGhcbiAqL1xucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qKlxuICogQW5jaG9yc1xuICovXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIHB1cnBsZSk7XG59XG5cbi8qKlxuICogQ29kZVxuICovXG5wcmUge1xuICBtYXgtaGVpZ2h0OiA0NTBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBJbWFnZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRleHQgc2VsZWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkQ29sb3JzLCBibHVlKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3V0bGluZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuKiB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9uc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG5idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCbG9ja3F1b3RlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNYXJnaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLnUtbWItMTAgeyBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbi51LW1iLTMwIHsgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50OyB9XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuJGZvbnRDbGFzc2VzOiAoJ2xhcmdlJywgJ21lZGl1bScsICdzbWFsbCcpO1xuXG5AZWFjaCAkY2xhc3MgaW4gJGZvbnRDbGFzc2VzIHtcbiAgLmZ6LSN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgRm9udF9TaXppbmcoJGNsYXNzKTtcbiAgfVxufVxuXG4uZnoteGxhcmdlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMzhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBIZWFkaW5nc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwMWVtO1xufVxuXG5oMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NaW5pb247XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFyYWdyYXBoc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xucCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwMWVtO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFuY2hvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbmEge1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG5cbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYShtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSksIDAuNyk7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhaW5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtQ29udGFpbmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgLmhkLU91dGVyICsgJixcbiAgLmJkYy1PdXRlciArICYge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2l0ZSAtIENvbnRhaW5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtU2l0ZV9Db250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gIG1heC13aWR0aDogbWFwLWdldCgkR3JpZCwgY29uc3RyYWluZWQpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2l0ZSAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sLVNpdGVfQ29udGVudCB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICBwYWRkaW5nLXRvcDogNjhweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG5cbi5sLVNpdGVfU2VjdGlvbkNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNpdGUgLSBNYWluXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubC1TaXRlX01haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZmxleDogMTtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuXG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIG1heC13aWR0aDogI3snQHdpZHRoJ307XG4gICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDgvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG5cbiAgJi5sLVNpdGVfTWFpbi1DZW50ZXJlZCB7XG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgfVxuICB9XG59XG5cbi5sLVNpdGVfTWFpbl9TZXBlcmF0b3Ige1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2VkNWQ5O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNpdGUgLSBBc2lkZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtU2l0ZV9Bc2lkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBmbGV4OiAxO1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG5cbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyO1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgbWF4LXdpZHRoOiAjeydAd2lkdGgnfTtcbiAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoNi8xMil9IC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gIH1cblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuXG4gICAgbWF4LXdpZHRoOiAjeydAd2lkdGgnfTtcbiAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoNC8xMil9IC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuJFRvcFN0cmlwX0hlaWdodDogNjBweDtcbiRUb3BTdHJpcF9IZWlnaHQtLWxnOiA3MnB4O1xuJFN0cmlwX0hlaWdodDogMTE0cHg7XG4kU3RyaXBfTmF2SXRlbVNwYWNpbmc6IDE0cHg7XG5cbiRTdHJpcF9OYXZEcm9wZG93blRvcDogMTUwJTtcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBIZWFkZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBUaGUgZ2xvYmFsIHNpdGUgaGVhZGVyIHRoYXQgYXBwZWFycyBhdCB0aGUgdG9wIG9mIGV2ZXJ5IHBhZ2VcbnwgQHByZWZpeDogaGQtXG58XG4qL1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEhlYWRlciAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtT3V0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBUaGlzIGFjdHVhbGx5IGlzIGluY2x1ZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlIHNvIGp1c3QgYWRkIGEgZmV3XG58IHBsYWNlaG9sZGVyIHN0eWxlc1xufFxuKi9cbi5oZC1Ub3BTdHJpcCB7XG4gIGhlaWdodDogJFRvcFN0cmlwX0hlaWdodDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgaGVpZ2h0OiAkVG9wU3RyaXBfSGVpZ2h0LS1sZztcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRvcCBTdHJpcCAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtVG9wU3RyaXBfSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRvcCBTdHJpcCAtIExvZ29cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1Ub3BTdHJpcF9Mb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogaGVpZ2h0KCd1b2MtbG9nby5wbmcnKTtcbiAgbWFyZ2luLXRvcDogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogI3snQG1hcmdpbi10b3AnfTtcbiAgd2lkdGg6IHdpZHRoKCd1b2MtbG9nby5wbmcnKTtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKCd1b2MtbG9nby5wbmcnKTtcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogI3snQG1hcmdpbi10b3AnfTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRvcCBTdHJpcCAtIE5hdlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVRvcFN0cmlwX05hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVG9wIFN0cmlwICAtIE5hdiBpdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtVG9wU3RyaXBfTmF2SXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMjdweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG5cbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMmUyZTJlO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyZTJlMmU7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkU3RyaXBfSGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IFRyaWdnZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZUcmlnZ2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC8vIEFsaWduIHRoZSBzZWFyY2ggYnV0dG9uIHdpdGggdGhlIHJlc3Qgb2YgdGhlIG5hdlxuICBtYXJnaW4tdG9wOiA0MnB4O1xuICBtYXJnaW4tYm90dG9tOiAjeydAbWFyZ2luLXRvcCd9O1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICBib3JkZXI6IDJweCBzb2xpZCAjM2I1ODY2O1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXIgMC4zcywgY29sb3IgMC4zcztcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gQWxpZ24gdGhlIHNlYXJjaCBidXR0b24gd2l0aCB0aGUgcmVzdCBvZiB0aGUgbmF2XG4gICAgbWFyZ2luLXRvcDogNDlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG5cbiAgLy8gTm8gaG92ZXIgc3RhdGUgZm9yIHRoaXMgYXMgaXQncyBvbmx5IG1vYmlsZSBiYXNlZC4gVGhlIGhvdmVyIHN0YXRlIHBlcnNpc3RzXG4gIC8vIGV2ZW4gaWYgaXQncyB0b3VjaGVkIGEgMm5kIHRpbWUgc28ganVzdCBkb24ndCBzdHlsZSBhbnl0aGluZyBiYXNlZCBvbiBpdFxuICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IFRyaWdnZXIgTGluZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTJweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcblxuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cblxuICAvKipcbiAgKiBUb3AgTGluZVxuICAqL1xuICAmLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLVRvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAqIE1pZGRsZSBMaW5lXG4gICovXG4gICYuaGQtU3RyaXBfTmF2VHJpZ2dlckxpbmUtTWlkZGxlIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cblxuICAvKipcbiAgKiBCb3R0b20gTGluZVxuICAqL1xuICAmLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLUJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxuXG4gIC5oZC1TdHJpcF9OYXZUcmlnZ2VyW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSAmLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLVRvcCB7XG4gICAgYW5pbWF0aW9uOiBOYXZUcmlnZ2VyTGluZS1Ub3AtQW5pbSAwLjM1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuXG4gIC5oZC1TdHJpcF9OYXZUcmlnZ2VyW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSAmLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLU1pZGRsZSB7XG4gICAgYW5pbWF0aW9uOiBOYXZUcmlnZ2VyTGluZS1NaWRkbGUtQW5pbSAwLjM1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuXG4gIC5oZC1TdHJpcF9OYXZUcmlnZ2VyW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSAmLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLUJvdHRvbSB7XG4gICAgYW5pbWF0aW9uOiBOYXZUcmlnZ2VyTGluZS1Cb3R0b20tQW5pbSAwLjM1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIE5hdlRyaWdnZXJMaW5lLVRvcC1BbmltIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KSByb3RhdGUoNDVkZWcpIHNjYWxlKDEuMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBOYXZUcmlnZ2VyTGluZS1NaWRkbGUtQW5pbSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIE5hdlRyaWdnZXJMaW5lLUJvdHRvbS1BbmltIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDEuMyk7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIExvZ29cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9Mb2dvIHtcbiAgJExvZ29fSGVpZ2h0OiA0MHB4O1xuICAkTG9nb19XaWR0aDogMTc5cHg7XG4gICRMb2dvX0hlaWdodC0tbGc6IDUwcHg7XG4gICRMb2dvX1dpZHRoLS1sZzogMjIwcHg7XG5cbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogJFN0cmlwX0hlaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAvLyBHaXZlIGl0IGEgbGFyZ2VyIGNsaWNrYWJsZSBhcmVhXG4gIHBhZGRpbmctdG9wOiAoJFN0cmlwX0hlaWdodCAtICRMb2dvX0hlaWdodCkgLyAyO1xuICBwYWRkaW5nLWJvdHRvbTogKCRTdHJpcF9IZWlnaHQgLSAkTG9nb19IZWlnaHQpIC8gMjtcbiAgd2lkdGg6ICRMb2dvX1dpZHRoO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJlc29sdmUoJ3N2Z3MvY3NhcC1sb2dvLnN2ZycpO1xuICAvLyBDZW50ZXIgaXQgdmVydGljYWxseSBiZWNhdXNlIG9mIHRoZSBsYXJnZSBoZWlnaHRcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwIHRvcCAoJFN0cmlwX0hlaWdodCAtICRMb2dvX0hlaWdodCkgLyAyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRMb2dvX1dpZHRoICRMb2dvX0hlaWdodDtcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIHBhZGRpbmctdG9wOiAoJFN0cmlwX0hlaWdodCAtICRMb2dvX0hlaWdodC0tbGcpIC8gMjtcbiAgICBwYWRkaW5nLWJvdHRvbTogKCRTdHJpcF9IZWlnaHQgLSAkTG9nb19IZWlnaHQtLWxnKSAvIDI7XG4gICAgd2lkdGg6ICRMb2dvX1dpZHRoLS1sZztcblxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMCB0b3AgKCRTdHJpcF9IZWlnaHQgLSAkTG9nb19IZWlnaHQtLWxnKSAvIDI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkTG9nb19XaWR0aC0tbGcgJExvZ29fSGVpZ2h0LS1sZztcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6ICRUb3BTdHJpcF9IZWlnaHQgKyAkU3RyaXBfSGVpZ2h0O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7XG5cbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHdpZHRoOiAyMzBweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIC8vIFBTRCBzYXlzIDUwMCBidXQgdGhpcyBsb29rcyBtb3JlIGFjY3VyYXRlXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkMWQxZDE7XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcblxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgLy8gVGhpcyBpcyBkZXJpdmVkIGZyb20gdGhlIGxpbmUtaGVpZ2h0XG4gICAgJEFjdGlvbl9IZWlnaHQ6IDI0cHg7XG4gICAgJEFjdGlvbl9QYWRkaW5nVmVydDogNnB4O1xuICAgICRBY3Rpb25fU3BhY2luZ0NhbGM6ICgkU3RyaXBfSGVpZ2h0IC0gKCRBY3Rpb25fSGVpZ2h0ICsgKCRBY3Rpb25fUGFkZGluZ1ZlcnQgKiAyKSkpIC8gMjtcblxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgei1pbmRleDogMTtcblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAvLyBSb3VnaGx5IGFsaWduIHRoZSBib3R0b20gb2YgdGhlIE5hdiB3aXRoIHRoZSBib3R0b20gb2YgdGhlIGxvZ29cbiAgICBwYWRkaW5nLXRvcDogJEFjdGlvbl9TcGFjaW5nQ2FsYyArIDdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJEFjdGlvbl9TcGFjaW5nQ2FsYyAtIDdweDtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcblxuICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBOYXYgSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdkl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICAvLyBSZW1vdmUgNHB4IGFuZCBnaXZlIGl0IHRvIHRoZSBhY3Rpb24gc28gdGhlcmUgaXMgYSBzbGlnaHRseSBiaWdnZXIgY2xpY2tcbiAgICAvLyBhcmVhXG4gICAgbWFyZ2luLXJpZ2h0OiAkU3RyaXBfTmF2SXRlbVNwYWNpbmcgLSA0cHg7XG4gICAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdkFjdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDEzcHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyO1xuICAvLyAtMXB4IGZvciB0aGUgYm9yZGVyXG4gIHBhZGRpbmctYm90dG9tOiAxM3B4IC0gMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG5cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcblxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLmZhIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgLy8gVGhpcyBpcyBkZXJpdmVkIGZyb20gdGhlIGxpbmUtaGVpZ2h0XG4gICAgJEFjdGlvbl9IZWlnaHQ6IDI0cHg7XG4gICAgJEFjdGlvbl9QYWRkaW5nVmVydDogNnB4O1xuICAgICRBY3Rpb25fTWFyZ2luQ2FsYzogKCRTdHJpcF9IZWlnaHQgLSAoJEFjdGlvbl9IZWlnaHQgKyAoJEFjdGlvbl9QYWRkaW5nVmVydCAqIDIpKSkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6ICRBY3Rpb25fUGFkZGluZ1ZlcnQ7XG4gICAgLy8gQWRkIHRoZSA0cHggd2UgcmVtb3ZlIGZyb20gdGhlIEl0ZW1cbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICAgIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gICAgfVxuXG4gICAgLmZhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBOYXYgRHJvcGRvd25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZEcm9wZG93biB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDI7XG5cbiAgd2lkdGg6IDIzMHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMWQxZDE7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIzMHB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcywgdmlzaWJpbGl0eSAwLjNzO1xuXG4gICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJFN0cmlwX05hdkRyb3Bkb3duVG9wO1xuICAgIGJvdHRvbTogYXV0bztcblxuICAgIHdpZHRoOiAyMjBweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAvKipcbiAgKiBQcm92aWRlIGFuIGludmlzaWJsZSBibG9jayB0aGF0IGFsbG93cyBmb3IgbW9yZSBmbGV4aWJsZSBtb3VzZSBtb3ZlbWVudFxuICAqIHdoZW4gdGhlIHVzZXIgbW92ZXMgZnJvbSB0aGUgaG92ZXJlZCBOYXZJdGVtIHRvIHRoZSBOYXZEcm9wZG93blxuICAqL1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwcHg7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4gIC5oZC1TdHJpcF9OYXZJdGVtOm50aC1sYXN0LWNoaWxkKG4tMikgJiB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gIC5oZC1TdHJpcF9OYXZJdGVtOmhvdmVyID4gJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBOYXYgRHJvcGRvd24gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2RHJvcGRvd25BY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDEzcHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyO1xuICAvLyAtMXB4IGZvciB0aGUgYm9yZGVyXG4gIHBhZGRpbmctYm90dG9tOiAxM3B4IC0gMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG5cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcblxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLyoqXG4gICogUmVtb3ZlIHRoZSBib3JkZXIgb24gdGhlIGRyb3Bkb3duJ3MgbGFzdCBpdGVtJ3MgYWN0aW9uXG4gICovXG4gIC5oZC1TdHJpcF9OYXZEcm9wZG93bkl0ZW06bGFzdC1jaGlsZCAmIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgLyoqXG4gICogSGlkZSB0aGUgZmlyc3QgMiBpdGVtcyBvbiBkZXNrdG9wLCB0aGV5IGFyZSBwdXJlbHkgZm9yIG1vYmlsZSBuYXZpZ2F0aW9uXG4gICovXG4gIC5oZC1TdHJpcF9OYXZEcm9wZG93bkl0ZW06Zmlyc3QtY2hpbGQgJiB7XG4gICAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmZhLWFycm93LWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IEJ1dHRvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdkJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcblxuICBwYWRkaW5nLXRvcDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjM2I1ODY2O1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIGNvbG9yIDAuM3M7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRTdHJpcF9OYXZJdGVtU3BhY2luZztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gU2VhcmNoXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEFsaWduIHRoZSBzZWFyY2ggYnV0dG9uIHdpdGggdGhlIHJlc3Qgb2YgdGhlIG5hdlxuICBtYXJnaW4tdG9wOiA0MnB4O1xuICBtYXJnaW4tYm90dG9tOiAjeydAbWFyZ2luLXRvcCd9O1xuICBtaW4td2lkdGg6IDI4cHg7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxMnB4O1xuXG4gIGJvcmRlcjogMnB4IHNvbGlkICMzYjU4NjY7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlciAwLjNzLCBjb2xvciAwLjNzO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgLy8gQWxpZ24gdGhlIHNlYXJjaCBidXR0b24gd2l0aCB0aGUgcmVzdCBvZiB0aGUgbmF2XG4gICAgbWFyZ2luLXRvcDogNDlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG5cbiAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gU2VhcmNoIEZvcm1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9TZWFyY2hGb3JtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRTdHJpcF9OYXZEcm9wZG93blRvcDtcbiAgcmlnaHQ6IDA7XG5cbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDM0MHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMWQxZDE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB2aXNpYmlsaXR5IDBzO1xuXG4gIC8vIFRPRE86IENvbnZlcnQgdGhpcyB0byBhIFZ1ZSBhbmltYXRpb24gaW5zdGVhZCwgYXRtIGl0IHNuYXBzIG91dCBiZWNhdXNlXG4gIC8vIFZ1ZS4kbmV4dFRpY2sgZG9lc24ndCB3b3JrIGJlY2F1c2UgaXQncyBzdGlsbCB2aXM6aCB3aGVuIHRoZSB0aWNrLCB0aWNrc1xuICAmW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaCBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoSXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgaGVpZ2h0OiAzMXB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gU2VhcmNoIElucHV0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoSW5wdXQge1xuICBmbGV4OiAxO1xuXG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X01pbmlvbjtcbiAgZm9udC1zaXplOiAxNnB4O1xuXG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSksIDAuNSk7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpLCAwLjUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBTZWFyY2ggU3VibWl0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoU3VibWl0IHtcbiAgcGFkZGluZy1yaWdodDogMTlweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogI2ZmZjtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvb3RlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IFRoZSBnbG9iYWwgc2l0ZSBmb290ZXIgdGhhdCBhcHBlYXJzIGF0IHRoZSBib3R0b20gb2YgZXZlcnkgcGFnZVxufCBAcHJlZml4OiBmdC1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1TdHJpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFyayk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1TdHJpcF9Jbm5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMzlweDtcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgcGFkZGluZy10b3A6IDU1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2x1bW5cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Db2wge1xuICAkR3V0dGVyU2l6ZTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAtIDVweDtcblxuICBwYWRkaW5nLXRvcDogJEd1dHRlclNpemU7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcblxuICAvLyBVc2UgYm9yZGVyLXRvcCBpbnN0ZWFkIG9mIGJvcmRlci1ib3R0b20gYXMgd2UgbWVzcyB3aXRoIHRoZSBmbGV4IG9yZGVyIHNvXG4gIC8vIHRoZSBsYXN0IGNoaWxkIGlzbid0IG5lY2Vzc2FyaWx5IHRoZSBsYXN0IGNoaWxkIGFsbCB0aGUgdGltZVxuXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCNlYWVhZWEsIDAuMik7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICAvLyAtNXB4IHRvIGdldCBQb2xpY3kgRmVsbG93c2hpcCB0byB3cmFwIGluIENvbDJcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkR3V0dGVyU2l6ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gICAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKCNlYWVhZWEsIDAuMik7XG4gIH1cblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICogQ29sIDFcbiAgKi9cbiAgJi5mdC1Db2wxIHtcbiAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcbiAgICBvcmRlcjogMTtcblxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSg0IC8gMTIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqIENvbCAyXG4gICovXG4gICYuZnQtQ29sMiB7XG4gICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG4gICAgb3JkZXI6IDI7XG5cbiAgICB3aWR0aDogNTAlO1xuXG4gICAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgyIC8gMTIpO1xuICAgIH1cbiAgfVxuXG4gICYuZnQtQ29sMyB7XG4gICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG4gICAgb3JkZXI6IDQ7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcbiAgICAgIG9yZGVyOiAzO1xuXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSg0IC8gMTIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqIENvbCA0XG4gICovXG4gICYuZnQtQ29sNCB7XG4gICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG4gICAgb3JkZXI6IDM7XG5cbiAgICB3aWR0aDogNTAlO1xuXG4gICAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuICAgICAgb3JkZXI6IDQ7XG5cbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIgLyAxMik7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sdW1uIC0gSGVhZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQ29sX0hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRGb250X1NpemVzLS1sZywgbWVkaXVtKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2x1bW4gLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQ29sX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBTcGVjaWFsIGNhc2UgZm9yIGNvbHVtbiAzLCB0aGUgdGV4dCBhYm92ZSB0aGUgbmV3c2xldHRlci4gVGhpcyBzaG91bGQgYmVcbiAgIGhpZGRlbiB3aGVuIHRoZSBsYXlvdXQgaXMgY29sbGFwc2VkIGF0IDxsZy4gR2l0aHViICMzNy4gKi9cbi5mdC1Db2wzX1RleHQge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IC0gSXRlbSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1MaXN0X0l0ZW1BY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBjb2xvcjogI2ZmZjtcblxuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE4cztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBTb2NpYWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1MaXN0U29jaWFsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBTb2NpYWwgLSBJdGVtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUxpc3RTb2NpYWxfSXRlbUFjdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblxuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIGNvbG9yOiAjZmZmO1xuXG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMThzO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gIH1cblxuICAuZmEge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJvdHRvbSBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUJvdHRvbVN0cmlwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIHZlcnlEYXJrKTtcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3R0b20gU3RyaXAgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUJvdHRvbVN0cmlwX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3R0b20gU3RyaXAgLSBDb3B5cmlnaHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Cb3R0b21TdHJpcF9Db3B5cmlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBjb2xvcjogI2ZmZjtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMDBhMCc7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3R0b20gU3RyaXAgLSBPbmVzcGFjZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUJvdHRvbVN0cmlwX09uZXNwYWNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDE0cHg7XG5cbiAgY29sb3I6ICNmZmY7XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG4iLCJAaW1wb3J0ICcuLi8uLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFNoYXJlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVNoYXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICBtYXJnaW4tbGVmdDogLSN7bWFwLWdldCgkR3JpZCwgY29udGFpbmVyKSAvIDJ9O1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJENvbG9ycywgZGFyayk7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTaGFyZSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVNoYXJlX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFNoYXJlIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZV9MaXN0IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU2hhcmUgLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVNoYXJlX0l0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy10b3AnfTtcblxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkQ29sb3JzLCBkYXJrKTtcbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgYmx1ZSk7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogYXJ0LVxufFxuKi9cbi5hcnQtU3RyaXAge1xuICBAaW5jbHVkZSBHcmFkaWVudC1SYWRpYWxCbHVlKCk7XG5cbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgY29sb3I6ICNmZmY7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBwYWRkaW5nLXRvcDogNDZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG5cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9Db250ZW50IHtcbiAgb3JkZXI6IDI7XG5cbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAvMTIpO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG4gICAgb3JkZXI6IDE7XG5cbiAgICB3aWR0aDogcGVyY2VudGFnZSg2LzEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG5cbiAgICBtYXJnaW4tbGVmdDogY2FsYygje3BlcmNlbnRhZ2UoMi8xMil9ICsgI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMn0pO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDQvMTIpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwIC0gU2hvcnQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgZm9udC1zaXplOiAyNnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIE1lZGlhIGNvbnRhaW5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9NZWRpYUNvbnRhaW5lciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvcmRlcjogMTtcblxuICAvLyBVc2UgZGlzcGxheTogZmxleCB0byBzdHJpcCB0aGUgd2hpdGVzcGFjZSBhcm91bmQgaXRcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZsZXgtYmFzaXM6IDE3NHB4O1xuICAgIG9yZGVyOiAyO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKDEvMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSgyLzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIE1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX01lZGlhIHtcbiAgaGVpZ2h0OiAxNzRweDtcbiAgd2lkdGg6ICN7J0BoZWlnaHQnfTtcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuIiwiQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBiZGMtXG58XG4qL1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWIgLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmJkYy1PdXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFyayk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnJlYWRjcnVtYiAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYmRjLUlubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCcmVhZGNydW1iIC0gSXRlbXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5iZGMtSXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NaW5pb247XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG5cbiAgY29sb3I6ICNmZmY7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmJkYy1JdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnJlYWRjcnVtYiAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmJkYy1BY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gNXB4IGVpdGhlciBzaWRlIG9mIHRoZSAnLScgdGhlbiB0aGUgJy0nIGlzIDZweCB3aWRlXG4gIG1hcmdpbi1yaWdodDogNXB4ICsgNnB4ICsgNXB4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLSc7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuXG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWN0IC0gRGV0YWlsc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzIHtcbiAgcGFkZGluZy10b3A6IDYuMTclO1xuICBwYWRkaW5nLWJvdHRvbTogNC45NiU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICBmb250LXdlaWdodDogNDAwO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBDb2x1bW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uY3RjLURldGFpbHNfQ29sdW1ucyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAtI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMn07XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBDb2x1bW5cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19Db2x1bW4ge1xuICBmbGV4OiAxO1xuXG4gIG1hcmdpbi1yaWdodDogI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMn07XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBCbG9ja1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX0Jsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICBjb2xvcjogIzA5MjU1NztcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBCbG9jayB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX0Jsb2NrVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWN0IC0gRGV0YWlscyAtIEJsb2NrIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19CbG9ja1RleHQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuIiwiQGltcG9ydCAnLi4vLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnZGV0YWlscyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBjdGMtXG58XG4qL1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3RzIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtSW5uZXIge1xuICBAaW5jbHVkZSBNYWluQW5kQXNpZGVTdXJyb3VuZCgpO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLy8gV2hlbiB0aGVyZSBpcyBhIHNtYWxsIGNhcmQgY291bnQgd2Ugd2FudCB0aGUgaGVpZ2h0IHRvIGJlIHZhcmlhYmxlIGJ1dFxuICAgIC8vIHNvb24gYXMgdGhlcmUgbWF4IGNvdW50IGdldHMgcmVhY2hlZCAoMykgd2UgbmVlZCB0byBjb25zdHJhaW4gdGhlIGhlaWdodFxuICAgIC8vIHNvIGZsZXggd2lsbCBmbG93IGludG8gdGhlICdhc2lkZSdcblxuICAgIG1heC1oZWlnaHQ6IDc2MHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzO1xuXG4gICYuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgaGVpZ2h0OiAzNDBweDtcbiAgICAgIC8vd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBoZWlnaHQ6IDcyMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDQvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICAgIH1cbiAgfVxuXG4gICYuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg4LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsIDAuMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgbWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZE1lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAjeydAYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyd9O1xuXG4gIC5ldmUtRmVhdHVyZWRfQ2FyZC1Ib3JpICYge1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtIDIwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5ldmUtRmVhdHVyZWRfQ2FyZC1WZXJ0ICYge1xuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg2LzEyKX0gLSAyMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgZmxleC1iYXNpczogYXV0bztcblxuICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgY29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkQ29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIC5ldmUtRmVhdHVyZWRfQ2FyZC1Ib3JpICYsXG4gIC5ldmUtRmVhdHVyZWRfQ2FyZC1WZXJ0ICYge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgfVxuXG4gIC5ldmUtRmVhdHVyZWRfQ2FyZC1WZXJ0ICYge1xuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIHNob3J0IHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRTaG9ydFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFNob3J0VGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZEFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAjeydAcmlnaHQnfTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogI3snQGhlaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJENvbG9ycywgbGlnaHRHcmV5KSwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoIzAwMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIGFycm93IGljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZEFycm93SWNvbiB7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsIDAuMik7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBIZWFkZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgZGlzcGxheTogZmxleDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEhlYWRlciBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSGVhZGVyQWN0aW9uIHtcbiAgZm9udC1mYW1pbHk6ICRGb250X01pbmlvbjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMzZweDtcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG5cbiAgLmZhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBMaXN0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0xpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzN3B4O1xuXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2VkNWQ5O1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC5ub0JvcmRlck9uRmlyc3QgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSBjb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1Db250ZW50IHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDI7XG5cbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSBtZXRhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1NZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6ICM5ZTllOWU7XG59XG5cbi5ldmUtVXBjb21pbmdfSXRlbURhdGUge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEl0ZW0gdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSXRlbVRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICBhIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgIH1cbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBJdGVtIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSXRlbVRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIGNvbG9yOiAjMWMyYTQ5O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtTWVkaWEge1xuICBvcmRlcjogMTtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gICYtcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW3N0eWxlXSB7XG4gICAgZmxleC1iYXNpczogI3snQGhlaWdodCd9O1xuICAgIGZsZXgtZ3JvdzogMDtcblxuICAgIGhlaWdodDogMjQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBmbGV4LWJhc2lzOiAxNTVweDtcblxuICAgICAgaGVpZ2h0OiAxMjhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnZmVhdHVyZWQnO1xuQGltcG9ydCAndXBjb21pbmcnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGV2ZS1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtSW5uZXIge1xuICBAaW5jbHVkZSBNYWluQW5kQXNpZGVTdXJyb3VuZCgpO1xufVxuIiwiQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGx0cy1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtT3V0ZXIge1xuICBwYWRkaW5nLXRvcDogNC44MiU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ljc1JTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Jbm5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDYuMzglO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBjb2xvcjogIzA5MjU1NztcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDgvMTIpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVGl0bGUge1xuICBmb250LXdlaWdodDogNDAwO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcblxuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuLmx0cy1UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZHMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzO1xuXG4gICY6bnRoLWNoaWxkKDMpLFxuICAmOm50aC1jaGlsZCg0KSB7XG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zODBweDtcbiAgICB9XG4gIH1cblxuICAmLmx0cy1DYXJkLVZlcnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBoZWlnaHQ6IDcyMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoNC8xMil9IC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gICAgfVxuICB9XG5cbiAgJi5sdHMtQ2FyZC1Ib3JpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgaGVpZ2h0OiAzNDBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDgvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICBjb2xvcjogIzA5MjU1NztcblxuICAgIC5sdHMtQ2FyZF9BcnJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGJsdWUpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX01lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAjeydAYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyd9O1xuXG4gIC5sdHMtQ2FyZC1Ib3JpICYge1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtIDIwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5sdHMtQ2FyZC1WZXJ0ICYge1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoNTAlICsgMjBweCk7XG4gICAgfVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgY29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX0NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMzZweDtcbiAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICAubHRzLUNhcmQtSG9yaSAmIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHNob3J0IHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1Nob3J0VGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9UaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGFycm93XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206ICN7J0ByaWdodCd9O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAjeydAaGVpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCBsaWdodEdyZXkpLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgjMDAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgYmx1ZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGFycm93IGljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9BcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAzNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogIzA5MjU1NztcblxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoNi8xMil9IC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gIH1cblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg0LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgfVxuXG4gICYubHRzLVR3ZWV0Q2FyZC0ybmQge1xuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzgwcHg7XG5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDEwMCUgKyA0MHB4KSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsIDAuMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBNZXRhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9NZXRhIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcblxuICBjb2xvcjogIzA5MjU1Nztcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gUmVwbHlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkX1JlcGx5IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBSZXR3ZWV0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9SZXR3ZWV0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBMaWtlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9MaWtlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVHdlZXQgY2FyZCAtIFRpbWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkX1RpbWUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIGNvbG9yOiAjYWNhY2FjO1xufVxuIiwiQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogbGdpLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLU91dGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA4MDBweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgzYzdhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKCdpbWcvZGlnaXRhbC1jb25uZWN0aW9ucy5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUlubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogZmxleDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEJveFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Cb3gge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSg0LzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Db250ZW50IHtcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xufVxuXG4ubGdpLUNvbnRlbnRfYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG59XG5cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEJveCAtIFVuZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUJveF9VbmRlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBCb3ggLSBVbmRlciB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUJveF9VbmRlclRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIE1lc3NhZ2UgVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuLmxnaS1Gb3JtX01lc3NhZ2VUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0l0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAvLyBUaGUgbGFzdCBjaGlsZCBpcyB0aGUgc3VibWl0IHdoaWNoIHNwYW5zIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBib3hcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBMYWJlbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0xhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIHZlcnlEYXJrQmx1ZSk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gSW5wdXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9JbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogcmdiYShtYXAtZ2V0KCRDb2xvcnMsIHZlcnlEYXJrQmx1ZSksIDAuNSk7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gQ2hlY2tib3hcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9DaGVja2JveFdyYXAge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG5cbi5sZ2ktRm9ybV9DaGVja2JveCB7XG4gIC8qIGxpbmUtaGVpZ2h0IGNvbXBlbnNhdGlvbiAqL1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBGb3Jnb3R0ZW4gcGFzc3dvcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9Gb3Jnb3R0ZW5QYXNzd29yZCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gU3VibWl0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fU3VibWl0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMjJweDtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICB3aWR0aDogMTAwJTtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE0NmRlZywgIzAwOTZjYywgIzBiZik7XG4gIC8vIFRoZSBwYXJlbnQgQm94IGhhcyBib3JkZXIgcmFkaXVzLCB0aGUgYnV0dG9uIGNvdmVycyB0aGF0IHVubGVzcyB3ZSBkbyBpdFxuICAvLyBiZWxvd1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICN7J0Bib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyd9O1xuICBjb2xvcjogI2ZmZjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIEVycm9yXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fRXJyb3Ige1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy10b3AnfTtcblxuICBmb250LWZhbWlseTogJEZvbnRfTWluaW9uO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmQxY2E7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYjQ2MmM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNkYjQ2MmM7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gU3VibWl0IGljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9TdWJtaXRJY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDQ1cHg7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6ICN7J0BoZWlnaHQnfTtcblxuICBmb250LXNpemU6IDE0cHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCB2ZXJ5RGFya0JsdWUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zcztcblxuICAubGdpLUZvcm1fU3VibWl0OmhvdmVyICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE5ld3NsZXR0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBuc2wtXG58XG4qL1xuLm5zbC1Gb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMzVweDtcblxuICAmLm5zbC1Gb3JtLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ubnNsLUlucHV0c1N1cnJvdW5kIHtcbiAgZmxleDogMTtcblxuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE5ld3NsZXR0ZXIgLSBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm5zbC1JbnB1dCB7XG4gICRXYW50ZWRIZWlnaHQ6IDQ0cHg7XG4gICRCb3JkZXJTaXplOiAycHg7XG4gICRJbnB1dEhlaWdodDogMjZweDtcblxuICBwYWRkaW5nLXRvcDogKCgkV2FudGVkSGVpZ2h0IC0gJEJvcmRlclNpemUpIC0gJElucHV0SGVpZ2h0KSAvIDI7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiByZ2JhKCMwMzUzN2IsIDAuNSk7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKCMwMzUzN2IsIDAuNSk7XG4gIH1cblxuICAubnNsLUZvcm0tZm9vdGVyICYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE5ld3NsZXR0ZXIgLSBTdWJtaXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5uc2wtU3VibWl0IHtcbiAgQGluY2x1ZGUgQnV0dG9uKCk7XG5cbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgLmFzaS1OZXdzbGV0dGVyICYge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcbiAgfVxuXG4gIC5uc2wtRm9ybS1mb290ZXIgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogb3JnLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1PdXRlciB7XG4gIHBhZGRpbmctdG9wOiA2LjMlO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5vcmctVGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1MaXN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjZweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDIxcHg7XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRDb2xvcnMsIGdyZXkpO1xuXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcztcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvbiAtIEl0ZW0gLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fQ29udGVudCB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAyO1xuXG4gIG1hcmdpbi1yaWdodDogMjBweDtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtIC0gTWVkaWEgY29udGFpbmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fTWVkaWFDb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3JkZXI6IDE7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtYmFzaXM6IDIwMHB4O1xuICAgIG9yZGVyOiAyO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZ24tT3V0ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2luYXRpb24gLSBDb250cm9sXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGduLUNvbnRyb2wge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWJhc2lzOiAzMHB4O1xuICBmbGV4LXNocmluazogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6ICN7J0BoZWlnaHQnfTtcblxuICBmb250LXNpemU6IDA7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0R3JleSksIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKCMwMDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gQ29udHJvbCAtIEljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZ24tQ29udHJvbF9JY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2luYXRpb24gLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGduLUl0ZW1zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucGduLUl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuXG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHBwbC1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtT3V0ZXIge1xuICBwYWRkaW5nLXRvcDogMy4xNSU7XG4gIHBhZGRpbmctYm90dG9tOiA2LjA1JTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBPdXRlciAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLU91dGVyX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICBmb250LXdlaWdodDogNDAwO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUZpbHRlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUZpbHRlcl9UZXh0IHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuXG4gIGNvbG9yOiAjMWMyYTQ5O1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZmxleDogMTtcblxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBMYWJlbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfTGFiZWwge1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyIC0gUmVzdWx0cyBjb3VudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfUmVzdWx0c0NvdW50IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfSW5wdXQge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAxO1xuXG4gIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZmxleC1iYXNpczogMjgwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBTZWxlY3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtRmlsdGVyX1NlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDExcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuICB3aWR0aDogMTAwJTtcblxuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y4ZmE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJlc29sdmUoJ3NlbGVjdC1hcnJvdy1kb3duLnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgNTAlIHJpZ2h0IDIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICMwYTJlNDA7XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICBvcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1MaXN0IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtSXRlbSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAje21hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyfTtcbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcblxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICAmOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKG9kZCksXG4gICY6bGFzdC1jaGlsZDpudGgtY2hpbGQoZXZlbiksXG4gICY6bnRoLWxhc3QtY2hpbGQoMik6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBNZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX01lZGlhIHtcbiAgZmxleC1iYXNpczogMjguNDIlO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBJdGVtIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX0NvbnRlbnQge1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAxMTBweDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGNvbG9yOiAjMWMyYTQ5O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUl0ZW1fVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogcnRkLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVsYXRlZCAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzN3B4O1xuXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2VkNWQ5O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gSXRlbSAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9Db250ZW50IHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDI7XG5cbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX01ldGEge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gTWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9NZWRpYSB7XG4gIG9yZGVyOiAxO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgJltzdHlsZV0ge1xuICAgIGZsZXgtYmFzaXM6ICN7J0BoZWlnaHQnfTtcbiAgICBmbGV4LWdyb3c6IDA7XG5cbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgZmxleC1iYXNpczogMTc1cHg7XG5cbiAgICAgIGhlaWdodDogMTM1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWFyY2ggLSBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjaC1cbnxcbiovXG4uc2NoLVN0cmlwIHtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VhcmNoIC0gU3RyaXAgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjaC1TdHJpcF9Jbm5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlYXJjaCAtIFN0cmlwIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY2gtU3RyaXBfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlYXJjaCAtIFN0cmlwIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjaC1TdHJpcF9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGFic1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHRhYi1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGFicyAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLU91dGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUYWJzIC0gU2V0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLVNldCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMzRweDtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRhYnMgLSBTZXQgLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLVNldF9JdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7XG4gIGNvbG9yOiAjMWMyYTQ5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuMztcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICMxYzJhNDk7XG5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICBib3JkZXItcmlnaHQ6ICN7J0Bib3JkZXItdG9wJ307XG4gICAgICBib3JkZXItbGVmdDogI3snQGJvcmRlci10b3AnfTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBXeXNpd3lnXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogd3lzLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBXeXNpd3lnIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuLnd5cy1Db250ZW50IHtcbiAgLyoqXG4gICogSGVhZGluZ3NcbiAgKi9cbiAgaDMsIGg0LCBoNSwgaDYge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cblxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgKiBQYXJhZ3JhcGhzXG4gICovXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICAgICsgaDMsXG4gICAgKyBoNCxcbiAgICArIGg1LFxuICAgICsgaDYge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgKiBCbG9ja3F1b3RlXG4gICovXG4gIC5xdW90ZS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdGVhbCk7XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgfVxuXG4gICAgLmwtU2l0ZV9NYWluLUNlbnRlcmVkICYge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdGVhbCk7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnF1b3RlLWF1dGhvciB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuXG4gICAgLmwtU2l0ZV9NYWluLUNlbnRlcmVkICYge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqIEltYWdlc1xuICAqL1xuICAuaW1nLWNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDcuNTElO1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICAgIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSN7cGVyY2VudGFnZSgxLzEyKX07XG4gICAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIH1cbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIEJsb2NrXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDcyMHB4O1xuICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogIzA5MjU1NztcblxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX01lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogI3snQGJvcmRlci10b3AtbGVmdC1yYWRpdXMnfTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9Db250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9TaG9ydFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfVGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX0Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAjeydAcmlnaHQnfTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogI3snQGhlaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJENvbG9ycywgbGlnaHRHcmV5KSwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoIzAwMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogIzA5MjU1Nztcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgc2hvcnQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5X1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBDYXJkIHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfVGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhc2VTdHVkeV9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206ICN7J0ByaWdodCd9O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAjeydAaGVpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCBsaWdodEdyZXkpLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgjMDAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIE5ld3NsZXR0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktTmV3c2xldHRlciB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOGZhO1xuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBOZXdzbGV0dGVyIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktTmV3c2xldHRlcl9UaXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBOZXdzbGV0dGVyIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1OZXdzbGV0dGVyX1RleHQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuIiwiQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmtcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktUGVvcGxlTmV0d29yayB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOGZhO1xuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBQZW9wbGUgbmV0d29yayAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLVBlb3BsZU5ldHdvcmtfVGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmsgLSBMaXN0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLVBlb3BsZU5ldHdvcmtfTGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmsgLSBJdGVtIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1QZW9wbGVOZXR3b3JrX0l0ZW1BY3Rpb24ge1xuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuXG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcblxuICAmOmhvdmVyLCAmW2FyaWEtY3VycmVudD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm9cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1Ib21lcGFnZUhlcm8ge1xuICBwYWRkaW5nLXRvcDogMTElO1xuICBwYWRkaW5nLWJvdHRvbTogMTIuNjMlO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgzYjc5O1xuICBjb2xvcjogI2ZmZjtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIHBhZGRpbmctdG9wOiA4LjM4JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIuNjMlO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm8gLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1Ib21lcGFnZUhlcm9fSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX0NvbnRlbnQge1xuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEwLzEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoOC8xMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUhvbWVwYWdlSGVyb19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzZweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG5cbiAgICBmb250LXNpemU6IDUycHg7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuXG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm8gLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX0FjdGlvbiB7XG4gIEBpbmNsdWRlIEJ1dHRvbigpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFNlY29uZGFyeSBoZXJvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtU2Vjb25kYXJ5SGVybyB7XG4gIEBpbmNsdWRlIEdyYWRpZW50LVJhZGlhbEJsdWUoKTtcblxuICBwYWRkaW5nLXRvcDogOC42JTtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBjb2xvcjogI2ZmZjtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIHBhZGRpbmctdG9wOiAxMi4xMyU7XG4gICAgcGFkZGluZy1ib3R0b206IDE0Ljc1JTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU2Vjb25kYXJ5IGhlcm8gLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fQ29udGVudCB7XG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEwLzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU2Vjb25kYXJ5SGVyb19UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm9cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1JbWFnZUhlcm8ge1xuICBAaW5jbHVkZSBHcmFkaWVudC1SYWRpYWxCbHVlKCk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIFRoZSBtb2JpbGUgdG9wIHBhZGRpbmcgaXMgb24gX0NvbnRlbnRcbiAgcGFkZGluZy1ib3R0b206IDEwLjE2JTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgY29sb3I6ICNmZmY7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIHBhZGRpbmctdG9wOiAxMiU7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm8gLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICAvLyBMaWZ0IHRoZSBjb250ZW50IGFib3ZlIHRoZSBiYWNrZ3JvdW5kIGltYWdlXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogOS42JTtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSg4LzEyKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gVGl0bGUgc21hbGxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG5cbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcblxuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTNweDtcblxuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fTWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fQWN0aW9uIHtcbiAgQGluY2x1ZGUgQnV0dG9uKCk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEJhY2tncm91bmQgY29udGFpbmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19CYWNrZ3JvdW5kQ29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA5MjQ1Njtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEJhY2tncm91bmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0JhY2tncm91bmQge1xuICAvLyBQdXQgdGhlIGJhY2tncm91bmQgaW1hZ2UgYmVsb3cgdGhlIGNvbnRlbnRcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIHBhZGRpbmctdG9wOiA2MCU7XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIC8vIFwiRmFkZVwiIHRoZSBpbWFnZSBzbGlnaHRseSBzbyB0aGF0IHRoZSB0ZXh0IHN0YW5kcyBvdXQgb24gdG9wLlxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIHBhZGRpbmctdG9wOiA0MCU7XG4gIH1cblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIEBpbmNsdWRlIEFic29sdXRlU3ByZWFkKCk7XG5cbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuLnNjdC1JbWFnZUhlcm9fVmlkZW8ge1xuICBAaW5jbHVkZSBBYnNvbHV0ZVNwcmVhZCgpO1xuXG4gIHotaW5kZXg6IDI7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uc2N0LUltYWdlSGVyb19WaWRlb0VtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1DYXJkcyB7XG4gIHBhZGRpbmctdG9wOiA0LjgyJTtcbiAgcGFkZGluZy1ib3R0b206IDUuNzUlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19Db250ZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGNvbG9yOiAjMDkyNTU3O1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAvMTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSg4LzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogOC42JTtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZHMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcblxuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiAjMDkyNTU3O1xuXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcztcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgICBtYXJnaW4tbGVmdDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg0LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgICAmOmF0LWxlYXN0KDQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gICAgfVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICBjb2xvcjogIzA5MjU1NztcblxuICAgIC5zY3QtQ2FyZHNfQ2FyZEFycm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgYmx1ZSk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIG1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRNZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMTAwJTtcblxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICN7J0Bib3JkZXItdG9wLWxlZnQtcmFkaXVzJ307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBjb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRDb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206ICN7J0ByaWdodCd9O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAjeydAaGVpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCBsaWdodEdyZXkpLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgjMDAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtQ3RhIHtcbiAgQGluY2x1ZGUgR3JhZGllbnQtUmFkaWFsQmx1ZSgpO1xuXG4gIHBhZGRpbmctdG9wOiAzJTtcbiAgcGFkZGluZy1ib3R0b206IDMuMDYlO1xuXG4gIGNvbG9yOiAjZmZmO1xuXG4gIC5sLVNpdGVfTWFpbiAmIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ3RhX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgLmwtU2l0ZV9NYWluICYge1xuICAgIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gICAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENUQSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUN0YV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG5cbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG5cbiAgICAubC1TaXRlX01haW4gJiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDVEEgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUN0YV9UZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBIC0gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUN0YV9BY3Rpb24ge1xuICBAaW5jbHVkZSBCdXR0b24oKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1RdW90ZV9PdXRlciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIC5zY3QtU3RhdHMgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiA1JTtcbiAgfVxufVxuXG4uc2N0LVF1b3RlIHtcbiAgQGluY2x1ZGUgR3JhZGllbnQtUmFkaWFsQmx1ZSgpO1xuXG4gIHBhZGRpbmctdG9wOiA2LjM4JTtcbiAgcGFkZGluZy1ib3R0b206IDUuMTklO1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZSAtIEJsb2NrcXVvdGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtUXVvdGVfQmxvY2tRdW90ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEwLzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX1RpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGUgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuXG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGUgLSBGb290ZXIgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1RdW90ZV9Gb290ZXJUZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtU3RhdHMge1xuICBAaW5jbHVkZSBHcmFkaWVudC1SYWRpYWxCbHVlKCk7XG5cbiAgLy9wYWRkaW5nLXRvcDogMTA1cHg7XG4gIHBhZGRpbmctdG9wOiA2LjU3JTtcbiAgcGFkZGluZy1ib3R0b206IDguMTMlO1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDYycHg7XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoOC8xMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQWN0aW9uIHtcbiAgQGluY2x1ZGUgQnV0dG9uKCk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJvdXNlbCBwYWdpbmF0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMTQlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBoZWlnaHQoJ3NjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24ucG5nJyk7XG4gIHdpZHRoOiB3aWR0aCgnc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5wbmcnKTtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKCdzY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnBuZycpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLUxlZnQge1xuICAgIGxlZnQ6IDUwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwcHgpO1xuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKHhsZykge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA3NXB4O1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLVJpZ2h0IHtcbiAgICByaWdodDogNTAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KSByb3RhdGUoMTgwZGVnKTtcblxuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKHhsZykge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogNzVweDtcblxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcm91c2VsIHJhaWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWxSYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGhlaWdodDogMzQwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcm91c2VsIHNsaWRlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6ICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBib3R0b206IDA7XG4gIGxlZnQ6ICN7J0ByaWdodCd9O1xuICB6LWluZGV4OiAyO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzQwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcblxuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XG5cbiAgJlthcmlhLWN1cnJlbnQ9J2ZhbHNlJ10ge1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWwgdW5kZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWxVbmRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgbWluLWhlaWdodDogMzQwcHg7XG4gIHBhZGRpbmctdG9wOiAzOXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE0NmRlZywgIzAwOTZjYywgIzBiZik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMGFlZWY7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY29sb3I6ICNmZmY7XG5cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSlcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSlcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSlcbiAgfVxuXG4gICRhbmltYXRpb25TcGVlZDogMXM7XG4gICRhbmltYXRpb25PZmZzZXQ6IDAuMTVzO1xuXG4gIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVFbnRlciAmLFxuICAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtbGVhdmUgJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIFtkaXJlY3Rpb249J2xlZnQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgJiB7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGFuaW1hdGlvblNwZWVkO1xuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGFuaW1hdGlvbk9mZnNldDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMztcbiAgICB9XG4gIH1cblxuICBbZGlyZWN0aW9uPSdsZWZ0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWVudGVyICYge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRhbmltYXRpb25TcGVlZCAkYW5pbWF0aW9uT2Zmc2V0ICogNDtcblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRhbmltYXRpb25PZmZzZXQgKiA1O1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRhbmltYXRpb25PZmZzZXQgKiA2O1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRhbmltYXRpb25PZmZzZXQgKiA3O1xuICAgIH1cblxuICB9XG5cbiAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgJiB7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGFuaW1hdGlvblNwZWVkO1xuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGFuaW1hdGlvbk9mZnNldDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMztcbiAgICB9XG4gIH1cblxuICBbZGlyZWN0aW9uPSdyaWdodCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAmIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYW5pbWF0aW9uU3BlZWQgJGFuaW1hdGlvbk9mZnNldCAqIDQ7XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogNTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogNjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogNztcbiAgICB9XG4gIH1cblxuICAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGVbYXJpYS1jdXJyZW50PSdmYWxzZSddOm5vdCguc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlRW50ZXIpOm5vdCguc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUpICYsIHtcbiAgICBkaXNwbGF5OiBoaWRkZW47XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkIHN0YXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZFN0YXQge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgZm9udC1zaXplOiA1MnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogNDhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZFRleHQge1xuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZEFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAjeydAcmlnaHQnfTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogI3snQGhlaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIHZlcnlEYXJrQmx1ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKCMwMDAsIDAuMTUpO1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zcztcblxuICAuc2N0LVN0YXRzX0NhcmQ6aG92ZXIgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCB2ZXJ5RGFya0JsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0NhcmRBcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xufVxuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdlIC0gNDA0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA5MjBweDtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zdGF0aWMvc2l0ZS9idWlsZC9pbWcvNDA0LmpwZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2UgLSA0MDQgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X0NvbnRlbnQge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X1RpdGxlIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoOCAvIDEyKTtcblxuICBmb250LXNpemU6IDQycHg7XG4gIGxpbmUtaGVpZ2h0OiA1MnB4O1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2UgLSA0MDQgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X1RleHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDY3cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogcGVyY2VudGFnZSg4IC8gMTIpO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnLTQwNF9BY3Rpb24ge1xuICBAaW5jbHVkZSBCdXR0b24oKTtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjgwcHg7XG5cbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
