/*!
Theme Name: Sutter O'Connell Attorneys
Theme URI: http://www.company119.com
Description:
Author: Company 119
Author URI: http://www.company119.com
Version: 1.0.6
Template: co119-boilerplate
*/
/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
    ========================================================================== */
/**
  * 1. Set default font family to sans-serif.
  * 2. Prevent iOS and IE text size adjust after device orientation change,
  *    without disabling user zoom.
  * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
  *  `em` units.
  */
@import url("http://fonts.googleapis.com/css?family=Raleway:400,300,500,600,700");
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 6/7/8/9 and Firefox 3.
  * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
  */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
  * Prevents 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/10/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 of focused elements when they are also in an
  * active/hover state.
  */
a:active, a:hover {
  outline: 0;
}

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

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

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

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

/**
  * Addresses 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
    ========================================================================== */
/**
  * 1. Remove border when inside `a` element in IE 8/9/10.
  * 2. Improves image quality when scaled in IE 7.
  */
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.
  * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
  */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

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

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

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

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

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

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

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

/**
  * 1. Address box sizing set to `content-box` in IE 8/9/10.
  * 2. Remove excess padding in IE 8/9/10.
  *  Known issue: excess padding remains in IE 6.
  */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

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

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

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

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

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

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

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

td,
th {
  padding: 0;
}

/* Fonts */
@font-face {
  font-family: "socicon";
  src: url("assets/dist/fonts/socicon-webfont.eot");
  src: url("assets/dist/fonts/socicon-webfont.eot?#iefix") format("embedded-opentype"), url("assets/dist/fonts/socicon-webfont.woff") format("woff"), url("assets/dist/fonts/socicon-webfont.ttf") format("truetype"), url("assets/dist/fonts/socicon-webfont.svg#sociconregular") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class*='col-'] {
  float: left;
}

[class*='col-'] + [class*='col-'] {
  margin-left: 5%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  [class*='col-'] {
    float: none !important;
    margin-left: 0 !important;
    width: 100% !important;
  }
}

.col-3-4 {
  width: 73.75%;
}

.col-2-3 {
  width: 65%;
}

.col-1-2 {
  width: 47.5%;
}

.col-1-3 {
  width: 30%;
}

.col-1-4 {
  width: 21.25%;
}

.row {
  margin-bottom: 50px;
  overflow: auto;
}

/*** GLOBAL.SCSS ***/
html {
  height: 100%;
}

body {
  font-family: "Raleway", sans-serif;
  height: 100%;
}

body * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

body hr {
  margin: 0;
  height: 5px;
  border: none;
  background: url("assets/dist/images/hr-white-bg.png") repeat-x;
}

body hr.blue {
  background-image: url("assets/dist/images/hr-blue-bg.png");
}

body a.socicon {
  font-family: "socicon";
  text-decoration: none;
}

body .mobile-toggle-box .mobile-toggle-button {
  display: none;
}

body .mobile-toggle-box .mobile-toggle {
  display: block;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  body .mobile-toggle-box .mobile-toggle-button {
    display: block;
  }
  body .mobile-toggle-box .mobile-toggle {
    display: none;
  }
}

body .zoom {
  transition: all 0.25s ease-in-out;
}

body .zoom:hover {
  transform: scale(1.03);
}

body h1,
body h2,
body h3,
body h4,
body h5 {
  line-height: 1em;
}

body ul.plain {
  margin: 0;
  padding: 0;
  list-style: none;
}

body .btn,
body input[type="submit"] {
  text-transform: uppercase;
  color: #fff !important;
  background: #25678e;
  font-weight: 700;
  padding: 12px 50px 10px;
  line-height: 1em;
  display: inline-block;
  text-decoration: none;
  border: none;
}

body .btn.small,
body input[type="submit"].small {
  font-weight: 400;
  padding: 10px 20px;
  font-size: 0.9em;
}

body .btn:hover,
body input[type="submit"]:hover {
  text-decoration: underline;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  body .btn,
  body input[type="submit"] {
    padding-left: 20px;
    padding-right: 20px;
  }
}

body .icon {
  background-position: left center;
  background-repeat: no-repeat;
  padding-left: 32px;
}

body .icon.icon-print {
  background-image: url("assets/dist/images/icon-white-printer.png");
}

body .icon.icon-vcard {
  background-image: url("assets/dist/images/icon-white-vcard.png");
}

body #page-wrap {
  min-height: 100%;
  height: auto;
  position: relative;
}

body .wrap {
  width: 90%;
  position: relative;
  margin: 0 auto;
  max-width: 1200px;
}

body .full {
  width: 100%;
}

body .group,
body .wrap {
  zoom: 1;
}

body .group:before, body .group:after,
body .wrap:before,
body .wrap:after {
  display: table;
  content: "";
}

body .group:after,
body .wrap:after {
  clear: both;
}

body #breadcrumbs {
  position: absolute;
  bottom: 10px;
  background: rgba(37, 103, 142, 0.4);
  color: rgba(255, 255, 255, 0.8);
  padding: 10px 0;
  text-transform: uppercase;
  font-size: 0.9em;
}

body #breadcrumbs a {
  text-decoration: none;
  color: #fff;
  font-weight: 700;
}

body #breadcrumbs a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  body #breadcrumbs {
    display: none;
  }
}

body .author-image img {
  border-radius: 50%;
  width: 60px;
  vertical-align: middle;
  margin-left: 10px;
}

/*** HEADER.SCSS ***/
header.main {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 10px;
  z-index: 1;
  z-index: 1000;
  padding: 10px 0;
  background: rgba(255, 255, 255, 0.85);
}

header.main.fixed {
  position: fixed;
  top: 0;
  background-color: #fff;
}

header.main .logo {
  float: left;
  max-width: 233px;
  width: 15%;
}

header.main .logo img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 1065px), (max-device-width: 1065px) {
  header.main .logo {
    width: 18%;
  }
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  header.main .logo {
    width: 155px;
  }
}

header.main nav {
  float: right;
  width: 84%;
  text-align: right;
  white-space: nowrap;
}

header.main nav ul {
  display: inline-block;
  list-style: none;
}

header.main nav ul li {
  float: left;
  padding: 0 10px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.9em;
  position: relative;
}

header.main nav ul li a {
  display: block;
  color: #505149;
  text-decoration: none;
}

header.main nav ul li:hover .sub-menu {
  display: block;
}

header.main nav ul li:hover a,
header.main nav ul li.current-menu-item a, header.main nav ul li.blue {
  color: #25678e;
}

header.main nav ul li.first {
  padding-left: 0;
}

header.main nav ul li.last {
  padding-right: 0;
}

header.main nav ul li.menu-search {
  position: relative;
}

header.main nav ul li.menu-search a {
  display: block;
  width: 15px;
  height: 100%;
  background: url("assets/dist/images/icon-dark-mag-glass.png") center center no-repeat;
  cursor: pointer;
}

header.main nav ul li.menu-search form {
  display: none;
  line-height: normal;
  height: auto;
  min-width: 0;
  max-width: none;
}

header.main nav ul li.menu-search form input {
  margin: 0;
  padding: 0;
  padding: 8px;
  border: none;
  width: 200px;
}

header.main nav ul li.menu-search:hover form {
  display: block;
}

@media screen and (max-width: 1065px), (max-device-width: 1065px) {
  header.main nav ul li.menu-search {
    display: none;
  }
}

header.main nav ul li .sub-menu {
  display: none;
  margin: 0;
  position: absolute;
  background: #25678e;
  border-radius: 3px;
  padding: 10px 15px;
  text-align: center;
  top: 100%;
  max-width: 300px;
  min-width: 200px;
}

header.main nav ul li .sub-menu li {
  color: #fff;
  float: none;
  padding: 0;
  line-height: normal !important;
  height: auto !important;
  white-space: normal;
}

header.main nav ul li .sub-menu li a {
  padding: 5px 0;
  color: #fff;
}

header.main nav ul li .sub-menu li a:hover {
  text-decoration: underline;
}

header.main nav ul li .sub-menu li.divider {
  display: none;
}

header.main nav ul li .sub-menu li.spacer hr {
  margin: 10px 0;
  height: 3px;
}

header.main nav ul li .sub-menu:after {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-bottom-color: #25678e;
  border-width: 8px;
  margin-left: -8px;
}

@media screen and (max-width: 1190px), (max-device-width: 1190px) {
  header.main nav ul li {
    padding: 0 5px;
    font-size: 0.8em;
  }
}

@media screen and (max-width: 1065px), (max-device-width: 1065px) {
  header.main nav {
    width: 80%;
  }
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  header.main .mobile-toggle-box {
    float: right;
    margin-top: 7px;
  }
  header.main .mobile-toggle-box .mobile-toggle-button {
    border-radius: 3px;
    padding: 13px 15px;
    background: #25678e;
    color: #fff;
    text-transform: uppercase;
    line-height: 15px;
    cursor: pointer;
  }
  header.main .mobile-toggle-box .mobile-toggle-button img {
    margin-left: 5px;
  }
  header.main .mobile-toggle-box .mobile-toggle {
    border-radius: 3px 0 3px 3px;
    top: 47px;
    right: 0;
    left: 0;
    width: auto;
    text-align: left;
    padding: 5px 0;
    position: absolute;
    background: #25678e;
    height: auto !important;
  }
  header.main .mobile-toggle-box .mobile-toggle ul {
    display: block;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li {
    float: none;
    padding: 0;
    height: auto !important;
    color: #fff;
    white-space: nowrap;
    line-height: normal !important;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li a {
    color: #fff;
    padding: 10px 15px;
    display: block;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li a:hover {
    text-decoration: underline;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li.divider {
    display: none;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li.menu-search, header.main .mobile-toggle-box .mobile-toggle ul li.phone-number {
    display: none;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li .sub-menu {
    background: #1a4a66;
    padding: 10px 15px;
    display: none;
    position: static;
    margin: 0 !important;
    max-width: 100%;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li .sub-menu li {
    white-space: normal;
    text-align: left;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li .sub-menu li a {
    padding: 5px 0;
    font-size: 1.2em;
  }
  header.main .mobile-toggle-box .mobile-toggle ul li .sub-menu:after {
    display: none;
  }
}

nav ul li.divider {
  padding: 0 !important;
  min-height: 7px;
  width: 7px;
  background: url("assets/dist/images/icon-nav-divider.png") center center no-repeat;
}

@media screen and (max-width: 1065px), (max-device-width: 1065px) {
  nav ul li.divider {
    display: none;
  }
}

/*** HERO.SCSS ***/
#hero.page {
  max-height: 325px;
  overflow: hidden;
  position: relative;
  min-height: 140px;
  width: 100%;
  margin-top: 88px;
}

#hero.page img {
  width: 100%;
  display: block;
  min-height: 140px;
}

#hero.home {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

#hero.home .arrow {
  position: absolute;
  cursor: pointer;
  z-index: 2;
  top: 50%;
  margin-top: -53px;
  opacity: 0.6;
  display: none;
  height: 106px;
}

#hero.home .arrow img {
  height: 100%;
}

#hero.home .arrow.prev {
  left: 0;
}

#hero.home .arrow.next {
  right: 0;
}

#hero.home .arrow:hover {
  opacity: 1;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #hero.home .arrow {
    height: 70px;
    margin-top: -35px;
  }
}

#hero.home .pager {
  position: absolute;
  text-align: center;
  bottom: 60px;
  z-index: 2;
}

#hero.home .pager li {
  display: inline-block;
  padding: 0 5px;
}

#hero.home .pager li a {
  display: block;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.4);
  width: 10px;
  height: 10px;
  cursor: pointer;
}

#hero.home .pager li a.active {
  background: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #hero.home .pager {
    bottom: 40px;
  }
}

#hero.home #slides {
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 1;
}

#hero.home #slides .slide {
  width: 100%;
  height: 100%;
  float: left;
  position: absolute;
  display: none;
}

#hero.home #slides .slide .caption-box {
  position: absolute;
  z-index: 2;
  top: 30%;
}

#hero.home #slides .slide .caption-box .caption {
  right: 0;
  left: 35%;
  position: absolute;
  padding: 15px 5%;
  text-align: center;
  color: #FFF;
  text-shadow: 0 0 10px rgba(16, 44, 61, 0.8);
  background: url("assets/dist/images/slider-caption-bg.png") left center repeat-y;
  z-index: 1;
}

#hero.home #slides .slide .caption-box .caption hgroup h2, #hero.home #slides .slide .caption-box .caption hgroup h3 {
  margin: 0;
  text-transform: uppercase;
}

#hero.home #slides .slide .caption-box .caption hgroup h2 {
  font-size: 2.5em;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #hero.home #slides .slide .caption-box .caption hgroup h2 {
    font-size: 2.2em;
  }
}

#hero.home #slides .slide .caption-box .caption hgroup h3 {
  font-size: 2em;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #hero.home #slides .slide .caption-box .caption hgroup h3 {
    font-size: 1.8em;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 480px), (max-device-width: 480px) {
  #hero.home #slides .slide .caption-box .caption hgroup h3 {
    margin-bottom: 0;
  }
}

#hero.home #slides .slide .caption-box .caption p {
  margin: 10px 0;
  padding: 0 15%;
  font-size: 0.9em;
  line-height: 1.4em;
}

@media screen and (max-width: 480px), (max-device-width: 480px) {
  #hero.home #slides .slide .caption-box .caption p {
    display: none;
  }
}

#hero.home #slides .slide .caption-box .caption .btn {
  background: rgba(255, 255, 255, 0.35);
}

#hero.home #slides .slide .caption-box .caption .btn:hover {
  background: rgba(255, 255, 255, 0.45);
}

@media screen and (max-width: 480px), (max-device-width: 480px) {
  #hero.home #slides .slide .caption-box .caption .btn {
    margin-top: 15px;
  }
}

@media screen and (max-width: 1065px), (max-device-width: 1065px) {
  #hero.home #slides .slide .caption-box .caption {
    background-image: none;
    background: rgba(37, 103, 142, 0.5);
    left: 0;
  }
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #hero.home #slides .slide .caption-box {
    font-size: 0.9em;
  }
}

#hero.home #slides .slide .slide-img {
  position: fixed;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  z-index: 0;
}

#hero.home #slides .slide .slide-img img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  min-width: 50%;
  min-height: 50%;
  z-index: 1;
}

#hero.home #slides .slide:first-child, #hero.home #slides .slide.active {
  display: block;
}

/*** CONTENT.SCSS ***/
#content {
  padding: 5% 0 100px;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content {
    padding: 3rem 0;
  }
}

#content h1 {
  margin: 0;
  color: #25678e;
  font-weight: 400;
  font-size: 3.8em;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content h1 {
    font-size: 2.4rem;
  }
}

#content a {
  color: #25678e;
  cursor: pointer;
}

#content a:hover {
  text-decoration: underline;
}

#content .rss-feed {
  color: #ff6600;
}

#content .rss-feed i {
  padding-right: 5px;
}

#content #post {
  float: left;
  width: 65%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content #post {
    float: none;
    width: 100%;
    font-size: 0.9em;
  }
}

#content #post p,
#content #post ul,
#content #post ol,
#content #post blockquote {
  line-height: 1.5em;
}

#content #post .navigation {
  margin: 40px 0 20px;
}

#content #post .navigation a {
  padding: 8px 15px;
  background: #aaaba2;
  color: #fff;
  text-decoration: none;
}

#content #post .navigation .next-posts {
  float: left;
}

#content #post .navigation .prev-posts {
  float: right;
}

#content #post img {
  max-width: 100%;
  height: auto !important;
}

#content #post.content--right {
  float: right;
}

#content #sidebar {
  float: right;
  width: 30%;
}

#content #sidebar hr {
  margin: 25px 0;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content #sidebar {
    float: none;
    width: 100%;
  }
}

#content.page {
  position: relative;
}

#content.page.contact #locations ul {
  float: left;
  width: 49%;
}

#content.page.contact #locations ul li {
  float: left;
  margin: 0 0 3% 3%;
  width: 48.5%;
}

#content.page.contact #locations ul li:nth-child(2n + 1) {
  margin-left: 0;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.page.contact #locations ul {
    margin-bottom: 0;
  }
}

#content.page.contact #locations #google-map {
  border-radius: 3px;
  float: right;
  margin-bottom: 25px;
  width: 49%;
  height: 250px;
  border: 5px solid #ebf4fa;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.page.contact #locations ul,
  #content.page.contact #locations #google-map {
    float: none;
    width: 100%;
  }
}

#content.page.contact #staff-lists {
  column-count: 4;
  column-gap: 3%;
}

@media screen and (max-width: 1190px), (max-device-width: 1190px) {
  #content.page.contact #staff-lists {
    column-count: 3;
  }
}

@media screen and (max-width: 1065px), (max-device-width: 1065px) {
  #content.page.contact #staff-lists {
    column-count: 2;
  }
}

@media screen and (max-width: 480px), (max-device-width: 480px) {
  #content.page.contact #staff-lists {
    column-count: 1;
  }
}

#content.page.contact #staff-lists ul {
  width: 100%;
  display: inline-block;
}

#content.page.contact #staff-lists ul li {
  position: relative;
  padding: 3px 10px;
  padding-right: 65px;
}

#content.page.contact #staff-lists ul li a {
  color: #000;
  text-decoration: none;
}

#content.page.contact #staff-lists ul li a:hover {
  text-decoration: underline;
}

#content.page.contact #staff-lists ul li em {
  opacity: 0.5;
  display: block;
  margin-bottom: 3px;
  font-size: 0.9em;
  line-height: 1em;
}

#content.page.contact #staff-lists ul li .icons {
  position: absolute;
  top: 3px;
  right: 5px;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.page.contact #staff-lists ul li .icons {
    font-size: 1.3em;
  }
}

#content.page.contact #staff-lists ul li.title {
  margin-top: 20px;
  padding: 0;
  font-weight: 700;
}

#content.page.contact #staff-lists ul li.title:hover {
  background: none;
}

#content.page.contact #staff-lists ul li:hover {
  background: rgba(0, 0, 0, 0.1);
}

#content.page--split {
  border-top: 0.5rem solid #25678e;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.page--split {
    padding-bottom: 0;
  }
}

#content.page--split .split {
  position: absolute;
  top: 0;
  bottom: 0;
  background-size: cover;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.page--split .split {
    position: static;
    height: 50vh;
    margin-top: 3rem;
  }
}

#content.page--split .split--right {
  right: 0;
  left: 66.666%;
}

#content.page--split .split--left {
  left: 0;
  right: 66.666%;
}

#content.full-width #post {
  width: 100%;
}

#content.landing .grid {
  margin: 20px 0 0;
}

#content.landing .grid ul li {
  float: left;
  margin: 0 0 2% 2%;
  width: 23.5%;
}

#content.landing .grid ul li:nth-child(4n + 1) {
  margin-left: 0;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.landing .grid ul li {
    margin: 0 0 2% 2%;
    width: 32%;
  }
  #content.landing .grid ul li:nth-child(4n + 1) {
    margin-left: 2%;
  }
  #content.landing .grid ul li:nth-child(3n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 480px), (max-device-width: 480px) {
  #content.landing .grid ul li {
    width: 49%;
  }
  #content.landing .grid ul li:nth-child(4n + 1) {
    margin-left: 2%;
  }
  #content.landing .grid ul li:nth-child(3n + 1) {
    margin-left: 2%;
  }
  #content.landing .grid ul li:nth-child(2n + 1) {
    margin-left: 0;
  }
}

#content.landing.areas-of-practice .grid ul li {
  transition: all 0.25s ease-in-out;
  padding: 20px;
  height: 106px;
  background: #608215;
  text-align: center;
}

#content.landing.areas-of-practice .grid ul li a {
  display: block;
  color: #fff;
  text-decoration: none;
}

#content.landing.areas-of-practice .grid ul li a h3 {
  margin: 0;
  font-weight: 700;
  font-size: 1.4em;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.landing.areas-of-practice .grid ul li a h3 {
    font-size: 1.2em;
  }
}

#content.landing.areas-of-practice .grid ul li a:hover h3 {
  text-decoration: underline;
}

#content.landing.areas-of-practice .grid ul li:hover {
  background: #156082;
}

#content.landing.professional .grid ul li a {
  position: relative;
  display: block;
  text-decoration: none;
}

#content.landing.professional .grid ul li a hgroup {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 10px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
}

#content.landing.professional .grid ul li a hgroup h3 {
  margin: 0;
}

#content.landing.professional .grid ul li a hgroup h4 {
  margin: 3px 0 0;
  font-weight: 300;
}

#content.landing.professional .grid ul li a img {
  display: block;
  width: 100%;
}

#content.landing.professional .grid ul li a:hover h3 {
  text-decoration: underline;
}

#content.landing.professional .grid ul li.no-image a {
  min-height: 150px;
  background: #ccc;
}

#content.single hgroup {
  margin: 0 0 40px;
}

#content.single hgroup h2 {
  font-weight: 300;
}

#content.single #sidebar hgroup {
  margin-bottom: 0;
}

#content.single.professional {
  padding-top: 0;
}

#content.single.professional #intro {
  position: relative;
  overflow: hidden;
  background: rgba(37, 103, 142, 0.7) url("assets/dist/images/professional-bio-bg.jpg") center top no-repeat;
  background-size: cover;
  color: #25678e;
  padding-top: 200px;
  padding-bottom: 50px;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro {
    padding-top: 100px;
    padding-bottom: 0;
    background-size: auto 66%;
  }
}

#content.single.professional #intro .column-photo {
  display: none;
  margin-bottom: 10px;
  width: 100%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro .column-photo {
    display: block;
  }
}

#content.single.professional #intro .copy {
  position: relative;
  z-index: 2;
  float: left;
  padding: 25px 0;
  width: 60%;
}

#content.single.professional #intro .copy hgroup {
  white-space: nowrap;
}

#content.single.professional #intro .copy hgroup .job-title {
  margin: 0;
  font-weight: 300;
  font-size: 2em;
  margin-top: 10px;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro .copy hgroup {
    white-space: normal;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

#content.single.professional #intro .copy p {
  font-size: 1.5em;
  line-height: 1.7em;
}

#content.single.professional #intro .copy a {
  color: #fff;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro .copy {
    width: 112%;
    left: -6%;
    text-align: center;
    background-color: #fff;
  }
}

#content.single.professional #intro .cutout-photo {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: -50px;
  width: 42%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro .cutout-photo {
    position: relative;
    right: initial;
    bottom: initial;
    display: block;
    margin: auto;
    width: 66%;
    max-width: 350px;
  }
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro {
    font-size: 0.9em;
  }
}

#content.single.professional #intro .links-with-icons {
  width: 75%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro .links-with-icons {
    width: 90%;
    margin: auto;
  }
}

#content.single.professional #intro .links-with-icons li {
  display: inline-block;
  width: 48%;
  margin-bottom: 20px;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #intro .links-with-icons li {
    width: 100%;
  }
}

#content.single.professional #intro .links-with-icons li a {
  color: #25678e;
  text-decoration: none;
  font-weight: 500;
}

#content.single.professional #intro .links-with-icons li a i {
  background-color: #25678e;
  color: #fff;
  width: 30px;
  height: 30px;
  line-height: 30px;
  display: inline-block;
  border-radius: 50%;
  text-align: center;
  margin-right: 10px;
}

#content.single.professional #overview {
  background-color: #6594b1;
  padding: 50px 0;
  position: relative;
}

#content.single.professional #overview h2,
#content.single.professional #overview p,
#content.single.professional #overview a,
#content.single.professional #overview li {
  color: #fff;
}

#content.single.professional #overview .overview {
  font-size: 1.3em;
  line-height: 2;
  margin-top: 0;
}

#content.single.professional #overview .col-2-3 {
  position: relative;
  padding-right: 5%;
}

#content.single.professional #overview .divider {
  content: "";
  width: 5px;
  background: url("assets/dist/images/vr-white-bg.png") repeat-y;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 35%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #overview .divider {
    display: none;
  }
}

#content.single.professional #badges {
  padding: 25px 0;
  background-color: #f0f4f6;
}

#content.single.professional #badges ul li {
  display: inline-block;
  vertical-align: middle;
  padding-right: 5%;
}

#content.single.professional #badges ul li:last-child {
  padding-right: 0;
}

#content.single.professional #badges ul li img {
  display: block;
  max-height: 125px;
  margin: auto;
  max-width: 100%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #badges ul li {
    padding-right: 0;
    padding-bottom: 25px;
    text-align: center;
    width: 49%;
  }
  #content.single.professional #badges ul li:last-child {
    padding-bottom: 0;
  }
}

#content.single.professional #details {
  padding-top: 50px;
  position: relative;
}

#content.single.professional #details .col-2-3 {
  position: relative;
  padding-right: 5%;
}

#content.single.professional #details .divider {
  width: 5px;
  background: url("assets/dist/images/vr-blue-bg.png") repeat-y;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 35%;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  #content.single.professional #details .divider {
    display: none;
  }
}

#content #respond {
  border-top: 1px dashed rgba(37, 103, 142, 0.4);
}

#content #respond textarea {
  margin-bottom: 10px;
}

#content #blog-posts,
#content #search-results {
  margin: 40px 0 20px;
  border-top: 1px dashed rgba(37, 103, 142, 0.4);
}

#content #blog-posts .blog-post,
#content #blog-posts .search-result,
#content #search-results .blog-post,
#content #search-results .search-result {
  padding: 20px 0;
  border-bottom: 1px dashed rgba(37, 103, 142, 0.4);
}

#content #blog-posts .blog-post h2,
#content #blog-posts .search-result h2,
#content #search-results .blog-post h2,
#content #search-results .search-result h2 {
  margin: 0 0 5px;
  font-weight: 400;
}

#content #blog-posts .blog-post p,
#content #blog-posts .search-result p,
#content #search-results .blog-post p,
#content #search-results .search-result p {
  margin: 0;
}

#content #blog-posts .blog-post .meta,
#content #blog-posts .search-result .meta,
#content #search-results .blog-post .meta,
#content #search-results .search-result .meta {
  font-size: 0.9em;
}

#content #blog-posts .blog-post .entry,
#content #blog-posts .search-result .entry,
#content #search-results .blog-post .entry,
#content #search-results .search-result .entry {
  margin: 10px 0;
  overflow: auto;
  clear: both;
}

#content .section {
  padding: 15px 0;
}

#content .section h2 {
  margin: 0 0 5px;
  color: #25678e;
  font-weight: 500;
}

#content .section ul {
  font-size: 1.2em;
  line-height: 1.2em !important;
}

#content .section ul li {
  margin: 10px 0;
}

#content .section#professionals ul li {
  position: relative;
  float: left;
  margin: 0 0 3% 3%;
  width: 47%;
}

#content .section#professionals ul li a {
  color: #fff;
  text-decoration: none;
}

#content .section#professionals ul li a img {
  display: block;
  width: 100%;
}

#content .section#professionals ul li a hgroup {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  padding: 10px;
  background: rgba(0, 0, 0, 0.6);
  font-size: 0.8em;
}

#content .section#professionals ul li a hgroup h3,
#content .section#professionals ul li a hgroup h4 {
  margin: 0;
}

#content .section#professionals ul li a hgroup h3 {
  margin-bottom: 5px;
  font-weight: 500;
}

#content .section#professionals ul li a hgroup h4 {
  font-weight: 300;
}

#content .section#professionals ul li a:hover h3 {
  text-decoration: underline;
}

#content .section#professionals ul li:nth-child(2n + 1) {
  margin-left: 0;
}

/*** FOOTER.SCSS ***/
footer.main {
  position: relative;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  margin-top: 25px;
  background: #25678e;
  color: #fff;
  font-size: 0.9em;
}

footer.main a {
  color: #fff;
}

footer.main nav {
  float: left;
  text-transform: uppercase;
}

footer.main nav ul li {
  float: left;
  padding: 0 5px;
  height: 50px;
  font-weight: 600;
  font-size: 0.8em;
  line-height: 50px;
}

footer.main nav ul li a {
  text-decoration: none;
}

footer.main nav ul li a:hover {
  text-decoration: underline;
}

footer.main nav ul li:first-child {
  padding-left: 0;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  footer.main nav {
    display: none;
  }
}

footer.main .social-media-sites {
  float: right;
}

footer.main .social-media-sites li {
  display: block;
  float: left;
}

footer.main .social-media-sites li a {
  margin: 12px 3px 0;
  display: block;
  width: 28px;
  height: 28px;
  display: block;
  text-align: center;
  line-height: 28px;
  font-size: 1.1em;
  color: #4f84a3;
  background: #fff;
  border-radius: 100px;
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  footer.main .social-media-sites li a {
    height: 20px;
    width: 20px;
    line-height: 20px;
    font-size: 0.8em;
    margin: 5px 3px;
  }
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  footer.main .social-media-sites li {
    display: inline-block;
    float: none;
  }
}

@media screen and (max-width: 900px), (max-device-width: 900px) {
  footer.main .social-media-sites {
    float: none;
    text-align: center;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX25vcm1hbGl6ZS5zY3NzIiwiX3ZhcnMuc2NzcyIsIl9taXhpbnMuc2NzcyIsIl9ncmlkLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJfaGVhZGVyLnNjc3MiLCJfaGVyby5zY3NzIiwiX2NvbnRlbnQuc2NzcyIsIl9mb290ZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblRoZW1lIE5hbWU6IFN1dHRlciBPJ0Nvbm5lbGwgQXR0b3JuZXlzXG5UaGVtZSBVUkk6IGh0dHA6Ly93d3cuY29tcGFueTExOS5jb21cbkRlc2NyaXB0aW9uOlxuQXV0aG9yOiBDb21wYW55IDExOVxuQXV0aG9yIFVSSTogaHR0cDovL3d3dy5jb21wYW55MTE5LmNvbVxuVmVyc2lvbjogMS4wLjVcblRlbXBsYXRlOiBjbzExOS1ib2lsZXJwbGF0ZVxuKi9cblxuQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuQGltcG9ydCBcInZhcnNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwiZ2xvYmFsXCI7XG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwiaGVyb1wiO1xuQGltcG9ydCBcImNvbnRlbnRcIjtcbkBpbXBvcnQgXCJmb290ZXJcIjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOb3JtYWxpemUuc2NzcyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSW5jbHVkZXMgbGVnYWN5IGJyb3dzZXIgc3VwcG9ydCBJRTYvN1xuICpcbiAqIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byBkcm9wIHN1cHBvcnQgZm9yIElFNiBhbmQgSUU3XG4gKi9cblxuJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vKiBCYXNlXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgKiAzLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gICogIGBlbWAgdW5pdHMuXG4gICovXG5cbmh0bWwge1xuXHRmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuXHQtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cblx0QGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcblx0XHQqZm9udC1zaXplOiAxMDAlOyAvKiAzICovXG5cdH1cbn1cblxuLyoqXG4gICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAqL1xuXG5ib2R5IHtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAqIGFuZCBGaXJlZm94LlxuICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuXHRAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXHRcdCpkaXNwbGF5OiBpbmxpbmU7XG5cdFx0Knpvb206IDE7XG5cdH1cbn1cblxuLyoqXG4gICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcblx0ZGlzcGxheTogbm9uZTtcblx0aGVpZ2h0OiAwO1xufVxuXG4vKipcbiAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgKi9cblxuYSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAqL1xuXG5hIHtcblx0JjphY3RpdmUsXG5cdCY6aG92ZXIge1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG5cbmFiYnJbdGl0bGVdIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAqL1xuXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdG1hcmdpbjogMWVtIDQwcHg7XG5cdH1cbn1cblxuLyoqXG4gICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAqL1xuXG5kZm4ge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG5cbmgxIHtcblx0Zm9udC1zaXplOiAyZW07XG5cdG1hcmdpbjogMC42N2VtIDA7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cdGgyIHtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXHRcdG1hcmdpbjogMC44M2VtIDA7XG5cdH1cblxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAxLjE3ZW07XG5cdFx0bWFyZ2luOiAxZW0gMDtcblx0fVxuXG5cdGg0IHtcblx0XHRmb250LXNpemU6IDFlbTtcblx0XHRtYXJnaW46IDEuMzNlbSAwO1xuXHR9XG5cblx0aDUge1xuXHRcdGZvbnQtc2l6ZTogMC44M2VtO1xuXHRcdG1hcmdpbjogMS42N2VtIDA7XG5cdH1cblxuXHRoNiB7XG5cdFx0Zm9udC1zaXplOiAwLjY3ZW07XG5cdFx0bWFyZ2luOiAyLjMzZW0gMDtcblx0fVxufVxuXG4vKipcbiAgKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICovXG5cbm1hcmsge1xuXHRiYWNrZ3JvdW5kOiAjZmYwO1xuXHRjb2xvcjogIzAwMDtcbn1cblxuQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcblx0LyoqXG4gICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgICovXG5cblx0cCxcblx0cHJlIHtcblx0XHQqbWFyZ2luOiAxZW0gMDtcblx0fVxuXG5cdC8qXG4gICAgKiBBZGRyZXNzZXMgQ1NTIHF1b3RlcyBub3Qgc3VwcG9ydGVkIGluIElFIDYvNy5cbiAgICAqL1xuXG5cdHEge1xuXHRcdCpxdW90ZXM6IG5vbmU7XG5cdH1cblxuXHQvKlxuICAgICogQWRkcmVzc2VzIGBxdW90ZXNgIHByb3BlcnR5IG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpIDQuXG4gICAgKi9cblxuXHRxOmJlZm9yZSxcblx0cTphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRjb250ZW50OiBub25lO1xuXHR9XG59XG5cbi8qKlxuICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuXG5zbWFsbCB7XG5cdGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICovXG5cbnN1YixcbnN1cCB7XG5cdGZvbnQtc2l6ZTogNzUlO1xuXHRsaW5lLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG5cdHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuXHRib3R0b206IC0wLjI1ZW07XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBMaXN0c1xuICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHQvKlxuICAgICogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAgICAqL1xuXG5cdGRsLFxuXHRtZW51LFxuXHRvbCxcblx0dWwge1xuXHRcdCptYXJnaW46IDFlbSAwO1xuXHR9XG5cblx0ZGQge1xuXHRcdCptYXJnaW46IDAgMCAwIDQwcHg7XG5cdH1cblxuXHQvKlxuICAgICogQWRkcmVzc2VzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAgKi9cblxuXHRtZW51LFxuXHRvbCxcblx0dWwge1xuXHRcdCpwYWRkaW5nOiAwIDAgMCA0MHB4O1xuXHR9XG5cblx0LypcbiAgICAqIENvcnJlY3RzIGxpc3QgaW1hZ2VzIGhhbmRsZWQgaW5jb3JyZWN0bHkgaW4gSUUgNy5cbiAgICAqL1xuXG5cdG5hdiB1bCxcblx0bmF2IG9sIHtcblx0XHQqbGlzdC1zdHlsZTogbm9uZTtcblx0XHQqbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcblx0fVxufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICAqL1xuXG5pbWcge1xuXHRib3JkZXI6IDA7XG5cdEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cdFx0Ki1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cblx0fVxufVxuXG4vKipcbiAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICovXG5cbmZpZ3VyZSB7XG5cdG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgKi9cblxuaHIge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0aGVpZ2h0OiAwO1xufVxuXG4vKipcbiAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgKi9cblxucHJlIHtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0QGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcblx0XHRfZm9udC1mYW1pbHk6IFwiY291cmllciBuZXdcIiwgbW9ub3NwYWNlO1xuXHR9XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAqL1xuXG4vKipcbiAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICogIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuXHRmb250OiBpbmhlcml0OyAvKiAyICovXG5cdG1hcmdpbjogMDsgLyogMyAqL1xuXHRAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMyAqL1xuXHRcdCp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAzICovXG5cdH1cbn1cblxuLyoqXG4gICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICovXG5cbmJ1dHRvbiB7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICogIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAqICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICAqICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gICovXG5cbmJ1dHRvbixcbiBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG5cdGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuXHRAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXHRcdCpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xuXHR9XG59XG5cbi8qKlxuICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLyoqXG4gICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAqL1xuXG5pbnB1dCB7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgKiAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuXHRwYWRkaW5nOiAwOyAvKiAyICovXG5cdEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cdFx0KmhlaWdodDogMTNweDsgLyogMyAqL1xuXHRcdCp3aWR0aDogMTNweDsgLyogMyAqL1xuXHR9XG59XG5cbi8qKlxuICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cblx0Ym94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgKi9cblxuZmllbGRzZXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuXHRtYXJnaW46IDAgMnB4O1xuXHRwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICogMy4gQ29ycmVjdHMgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICAqIDQuIENvcnJlY3RzIGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICAqL1xuXG5sZWdlbmQge1xuXHRib3JkZXI6IDA7IC8qIDEgKi9cblx0cGFkZGluZzogMDsgLyogMiAqL1xuXHRAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDMgKi9cblx0XHQqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDQgKi9cblx0fVxufVxuXG4vKipcbiAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAqL1xuXG50ZXh0YXJlYSB7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICovXG5cbm9wdGdyb3VwIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgKi9cblxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCIkd2lkdGg6IDkwJTtcbiRtYXhfd2lkdGg6IDEyMDBweDtcblxuJGNvbnRlbnRfY29sOiA2NSU7XG4kc2lkZWJhcl9jb2w6IDMwJTtcblxuJG1lbnVfYnJlYWs6IDExOTBweDtcbiR0YWJsZXQ6IDEwNjVweDtcbiRwaG9uZTogOTAwcHg7XG4kc21hbGxfcGhvbmU6IDQ4MHB4O1xuXG4kZ3JleTogIzUwNTE0OTtcbiRibHVlOiAjMjU2NzhlO1xuXG4kcmFsZXdheTogXCJSYWxld2F5XCIsIHNhbnMtc2VyaWY7XG5cbiRmb290ZXJfaGVpZ2h0OiA1MHB4O1xuXG4vKiBGb250cyAqL1xuQGltcG9ydCB1cmwoXCJodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjQwMCwzMDAsNTAwLDYwMCw3MDBcIik7XG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwic29jaWNvblwiO1xuXHRzcmM6IHVybChcImFzc2V0cy9kaXN0L2ZvbnRzL3NvY2ljb24td2ViZm9udC5lb3RcIik7XG5cdHNyYzogdXJsKFwiYXNzZXRzL2Rpc3QvZm9udHMvc29jaWNvbi13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImFzc2V0cy9kaXN0L2ZvbnRzL3NvY2ljb24td2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImFzc2V0cy9kaXN0L2ZvbnRzL3NvY2ljb24td2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImFzc2V0cy9kaXN0L2ZvbnRzL3NvY2ljb24td2ViZm9udC5zdmcjc29jaWNvbnJlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCJAbWl4aW4gYm94LXNpemluZygkdmFsKSB7XG5cdGJveC1zaXppbmc6ICR2YWw7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR2YWwpIHtcblx0dHJhbnNpdGlvbjogJHZhbDtcbn1cblxuQG1peGluIHRyYW5zZm9ybSgkdmFsKSB7XG5cdHRyYW5zZm9ybTogJHZhbDtcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHZhbCkge1xuXHRib3gtc2hhZG93OiAkdmFsO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdmFsKSB7XG5cdGJvcmRlci1yYWRpdXM6ICR2YWw7XG59XG5cbkBtaXhpbiBvcGFjaXR5KCR2YWwpIHtcblx0b3BhY2l0eTogJHZhbDtcbn1cblxuQG1peGluIHRleHQtc2hhZG93KCR2YWwpIHtcblx0dGV4dC1zaGFkb3c6ICR2YWw7XG59XG4iLCIkbm9fb2ZfY29sdW1uczogMTI7XG4kZ3JpZF9wYWRkaW5nOiA1JTtcbiRzaW5nbGVfY29sOiAoMTAwIC0gKCRncmlkX3BhZGRpbmcgKiAoJG5vX29mX2NvbHVtbnMgLSAxKSkpIC8gJG5vX29mX2NvbHVtbnM7XG5cbkBtaXhpbiBnZXRfY29sdW1uX3dpZHRoKCRuOiAxKSB7XG5cdHdpZHRoOiAoJHNpbmdsZV9jb2wgKiAkbikgKyAoJGdyaWRfcGFkZGluZyAqICgkbiAtIDEpKTtcbn1cblxuW2NsYXNzKj0nY29sLSddIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdFxuXHQmICsgW2NsYXNzKj0nY29sLSddIHtcblx0XHRtYXJnaW4tbGVmdDogJGdyaWRfcGFkZGluZztcblx0fVxuXHRcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5jb2wtMy00IHtcblx0QGluY2x1ZGUgZ2V0X2NvbHVtbl93aWR0aCg5KTtcbn1cblxuLmNvbC0yLTMge1xuXHRAaW5jbHVkZSBnZXRfY29sdW1uX3dpZHRoKDgpO1xufVxuXG4uY29sLTEtMiB7XG5cdEBpbmNsdWRlIGdldF9jb2x1bW5fd2lkdGgoNik7XG59XG5cbi5jb2wtMS0zIHtcblx0QGluY2x1ZGUgZ2V0X2NvbHVtbl93aWR0aCg0KTtcbn1cblxuLmNvbC0xLTQge1xuXHRAaW5jbHVkZSBnZXRfY29sdW1uX3dpZHRoKDMpO1xufVxuXG4ucm93e1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59IiwiLyoqKiBHTE9CQUwuU0NTUyAqKiovXG5cbmh0bWwge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuXHRmb250LWZhbWlseTogJHJhbGV3YXk7XG5cdGhlaWdodDogMTAwJTtcblxuXHQqIHtcblx0XHRAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHR9XG5cblx0aHIge1xuXHRcdG1hcmdpbjogMDtcblx0XHRoZWlnaHQ6IDVweDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiYXNzZXRzL2Rpc3QvaW1hZ2VzL2hyLXdoaXRlLWJnLnBuZ1wiKSByZXBlYXQteDtcblxuXHRcdCYuYmx1ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvZGlzdC9pbWFnZXMvaHItYmx1ZS1iZy5wbmdcIik7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Ji5zb2NpY29uIHtcblx0XHRcdGZvbnQtZmFtaWx5OiBcInNvY2ljb25cIjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQubW9iaWxlLXRvZ2dsZS1ib3gge1xuXHRcdC5tb2JpbGUtdG9nZ2xlLWJ1dHRvbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5tb2JpbGUtdG9nZ2xlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdC5tb2JpbGUtdG9nZ2xlLWJ1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0XHQubW9iaWxlLXRvZ2dsZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lnpvb20ge1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMjVzIGVhc2UtaW4tb3V0KTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMDMpKTtcblx0XHR9XG5cdH1cblxuXHRoMSxcblx0aDIsXG5cdGgzLFxuXHRoNCxcblx0aDUge1xuXHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdH1cblxuXHR1bCB7XG5cdFx0Ji5wbGFpbiB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuYnRuLFxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cdFx0YmFja2dyb3VuZDogJGJsdWU7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRwYWRkaW5nOiAxMnB4IDUwcHggMTBweDtcblx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0Ji5zbWFsbCB7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0Lmljb24ge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMnB4O1xuXG5cdFx0Ji5pY29uLXByaW50IHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9kaXN0L2ltYWdlcy9pY29uLXdoaXRlLXByaW50ZXIucG5nXCIpO1xuXHRcdH1cblxuXHRcdCYuaWNvbi12Y2FyZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvZGlzdC9pbWFnZXMvaWNvbi13aGl0ZS12Y2FyZC5wbmdcIik7XG5cdFx0fVxuXHR9XG5cblx0I3BhZ2Utd3JhcCB7XG5cdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0LndyYXAge1xuXHRcdHdpZHRoOiAkd2lkdGg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG1heC13aWR0aDogJG1heF93aWR0aDtcblx0fVxuXG5cdC5mdWxsIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5ncm91cCxcblx0LndyYXAge1xuXHRcdHpvb206IDE7XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblx0fVxuXG5cdCNicmVhZGNydW1icyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMTBweDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRibHVlLCAwLjQpO1xuXHRcdGNvbG9yOiByZ2JhKCNmZmYsIDAuOCk7XG5cdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuYXV0aG9yLWltYWdlIGltZyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdHdpZHRoOiA2MHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdH1cbn1cbiIsIi8qKiogSEVBREVSLlNDU1MgKioqL1xuXG5oZWFkZXIubWFpbiB7XG5cdEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDhweCByZ2JhKCMwMDAsIDAuNCkpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0ei1pbmRleDogMTtcblx0ei1pbmRleDogMTAwMDtcblx0cGFkZGluZzogMTBweCAwO1xuXHRiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsIDAuODUpO1xuXG5cdCYuZml4ZWQge1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0fVxuXG5cdC5sb2dvIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXgtd2lkdGg6IDIzM3B4O1xuXHRcdHdpZHRoOiAxNSU7XG5cblx0XHRpbWcge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSwgKG1heC1kZXZpY2Utd2lkdGg6ICR0YWJsZXQpIHtcblx0XHRcdHdpZHRoOiAxOCU7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0d2lkdGg6IDE1NXB4O1xuXHRcdH1cblx0fVxuXG5cdG5hdiB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHdpZHRoOiA4NCU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdHVsIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGNvbG9yOiAkZ3JleTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQuc3ViLW1lbnUge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciBhLFxuXHRcdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIGEsXG5cdFx0XHRcdCYuYmx1ZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRibHVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5maXJzdCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5sYXN0IHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tZW51LXNlYXJjaCB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKFwiYXNzZXRzL2Rpc3QvaW1hZ2VzL2ljb24tZGFyay1tYWctZ2xhc3MucG5nXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGZvcm0ge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cblx0XHRcdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Zm9ybSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpLCAobWF4LWRldmljZS13aWR0aDogJHRhYmxldCkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc3ViLW1lbnUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDIwMHB4O1xuXG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji5kaXZpZGVyIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji5zcGFjZXIge1xuXHRcdFx0XHRcdFx0XHRociB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHJnYmEoMTM2LCAxODMsIDIxMywgMCk7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkYmx1ZTtcblx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogOHB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC04cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lbnVfYnJlYWspLCAobWF4LWRldmljZS13aWR0aDogJG1lbnVfYnJlYWspIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDAuOGVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCksIChtYXgtZGV2aWNlLXdpZHRoOiAkdGFibGV0KSB7XG5cdFx0XHR3aWR0aDogODAlO1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHQubW9iaWxlLXRvZ2dsZS1ib3gge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLXRvcDogN3B4O1xuXG5cdFx0XHQubW9iaWxlLXRvZ2dsZS1idXR0b24ge1xuXHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG5cdFx0XHRcdHBhZGRpbmc6IDEzcHggMTVweDtcblx0XHRcdFx0YmFja2dyb3VuZDogJGJsdWU7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTVweDtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQubW9iaWxlLXRvZ2dsZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4IDAgM3B4IDNweCk7XG5cdFx0XHRcdHRvcDogNDdweDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdFx0Ly93aWR0aDogMzcwJTtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLmRpdmlkZXIge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLm1lbnUtc2VhcmNoLFxuXHRcdFx0XHRcdFx0Ji5waG9uZS1udW1iZXIge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuc3ViLW1lbnUge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oJGJsdWUsIDEwKTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbm5hdiB7XG5cdHVsIHtcblx0XHRsaSB7XG5cdFx0XHQmLmRpdmlkZXIge1xuXHRcdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDdweDtcblx0XHRcdFx0d2lkdGg6IDdweDtcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKFwiYXNzZXRzL2Rpc3QvaW1hZ2VzL2ljb24tbmF2LWRpdmlkZXIucG5nXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpLCAobWF4LWRldmljZS13aWR0aDogJHRhYmxldCkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKiogSEVSTy5TQ1NTICoqKi9cblxuI2hlcm8ge1xuXHQmLnBhZ2Uge1xuXHRcdG1heC1oZWlnaHQ6IDMyNXB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDE0MHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtaW4taGVpZ2h0OiAxNDBweDtcblx0XHR9XG5cdH1cblxuXHQmLmhvbWUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5hcnJvdyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRtYXJnaW4tdG9wOiAtNTNweDtcblx0XHRcdEBpbmNsdWRlIG9wYWNpdHkoMC42KTtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRoZWlnaHQ6IDEwNnB4O1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdCYucHJldiB7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYubmV4dCB7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0QGluY2x1ZGUgb3BhY2l0eSgxKTtcblx0XHRcdH1cblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRoZWlnaHQ6IDcwcHg7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC0zNXB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5wYWdlciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRib3R0b206ICRmb290ZXJfaGVpZ2h0ICsgMTA7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0cGFkZGluZzogMCA1cHg7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MHB4KTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCNGRkYsMC40KTtcblx0XHRcdFx0XHR3aWR0aDogMTBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgjRkZGLDAuOCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0Ym90dG9tOiA0MHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCNzbGlkZXMge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHQuc2xpZGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRcdC5jYXB0aW9uLWJveCB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdFx0dG9wOiAzMCU7XG5cblx0XHRcdFx0XHQuY2FwdGlvbiB7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdGxlZnQ6IDM1JTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDE1cHggKDEwMCAtICR3aWR0aCkgLyAyO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSB0ZXh0LXNoYWRvdygwIDAgMTBweCByZ2JhKGRhcmtlbigkYmx1ZSwyMCksMC44KSk7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9kaXN0L2ltYWdlcy9zbGlkZXItY2FwdGlvbi1iZy5wbmcnKSBsZWZ0IGNlbnRlciByZXBlYXQteTtcblx0XHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0XHRcdGhncm91cCB7XG5cdFx0XHRcdFx0XHRcdGgyLGgzIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdGgyIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDIuNWVtO1xuXG5cdFx0XHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyLjJlbTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyZW07XG5cblx0XHRcdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuOGVtO1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxfcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHNtYWxsX3Bob25lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMTUlO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOWVtO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS40ZW07XG5cblx0XHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNtYWxsX3Bob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRzbWFsbF9waG9uZSkge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LmJ0biB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoI0ZGRiwwLjM1KTtcblxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCNGRkYsMC40NSk7XG5cdFx0XHRcdFx0XHRcdH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxfcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHNtYWxsX3Bob25lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSwgKG1heC1kZXZpY2Utd2lkdGg6ICR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgkYmx1ZSwwLjUpO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNsaWRlLWltZyB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHRcdHRvcDogLTUwJTtcblx0XHRcdFx0XHRsZWZ0OiAtNTAlO1xuXHRcdFx0XHRcdHdpZHRoOiAyMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMjAwJTtcblx0XHRcdFx0XHR6LWluZGV4OiAwO1xuXG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0XHRcdG1pbi13aWR0aDogNTAlO1xuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogNTAlO1xuXHRcdFx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkLCAmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKioqIENPTlRFTlQuU0NTUyAqKiovXG5cbiNjb250ZW50IHtcblx0cGFkZGluZzogNSUgMCAkZm9vdGVyX2hlaWdodCAqIDI7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdHBhZGRpbmc6IDNyZW0gMDtcblx0fVxuXG5cdGgxIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Y29sb3I6ICRibHVlO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Zm9udC1zaXplOiAzLjhlbTtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdGZvbnQtc2l6ZTogMi40cmVtO1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkYmx1ZTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG5cdC5yc3MtZmVlZCB7XG5cdFx0Y29sb3I6ICNmZjY2MDA7XG5cblx0XHRpIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0XHR9XG5cdH1cblxuXHQjcG9zdCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6ICRjb250ZW50X2NvbDtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRmb250LXNpemU6IDAuOWVtO1xuXHRcdH1cblxuXHRcdHAsXG5cdFx0dWwsXG5cdFx0b2wsXG5cdFx0YmxvY2txdW90ZSB7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0fVxuXG5cdFx0Lm5hdmlnYXRpb24ge1xuXHRcdFx0bWFyZ2luOiA0MHB4IDAgMjBweDtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmV5LCAzNSk7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5uZXh0LXBvc3RzIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR9XG5cblx0XHRcdC5wcmV2LXBvc3RzIHtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmLmNvbnRlbnQge1xuXHRcdFx0Ji0tcmlnaHQge1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I3NpZGViYXIge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHR3aWR0aDogJHNpZGViYXJfY29sO1xuXG5cdFx0aHIge1xuXHRcdFx0bWFyZ2luOiAyNXB4IDA7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmLnBhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdCYuY29udGFjdCB7XG5cdFx0XHQjbG9jYXRpb25zIHtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdHdpZHRoOiA0OSU7XG5cblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAwIDMlIDMlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDQ4LjUlO1xuXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgybiArIDEpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQjZ29vZ2xlLW1hcCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHRcdFx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyNTBweDtcblx0XHRcdFx0XHRib3JkZXI6IDVweCBzb2xpZCBsaWdodGVuKCRibHVlLCA2MCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bCxcblx0XHRcdFx0I2dvb2dsZS1tYXAge1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNzdGFmZi1saXN0cyB7XG5cdFx0XHRcdGNvbHVtbi1jb3VudDogNDtcblx0XHRcdFx0Y29sdW1uLWdhcDogMyU7XG5cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lbnVfYnJlYWspLCAobWF4LWRldmljZS13aWR0aDogJG1lbnVfYnJlYWspIHtcblx0XHRcdFx0XHRjb2x1bW4tY291bnQ6IDM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSwgKG1heC1kZXZpY2Utd2lkdGg6ICR0YWJsZXQpIHtcblx0XHRcdFx0XHRjb2x1bW4tY291bnQ6IDI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxfcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHNtYWxsX3Bob25lKSB7XG5cdFx0XHRcdFx0Y29sdW1uLWNvdW50OiAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDNweCAxMHB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogNjVweDtcblxuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0ZW0ge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzcHg7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5pY29ucyB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiAzcHg7XG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiA1cHg7XG5cblx0XHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4zZW07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji50aXRsZSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjEpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLXNwbGl0IHtcblx0XHRcdGJvcmRlci10b3A6IDAuNXJlbSBzb2xpZCAkYmx1ZTtcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblxuXHRcdFx0LnNwbGl0IHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0XHRoZWlnaHQ6IDUwdmg7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogM3JlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtLXJpZ2h0IHtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRsZWZ0OiA2Ni42NjYlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji0tbGVmdCB7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRyaWdodDogNjYuNjY2JTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuZnVsbC13aWR0aCB7XG5cdFx0I3Bvc3Qge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Ji5sYW5kaW5nIHtcblx0XHQuZ3JpZCB7XG5cdFx0XHRtYXJnaW46IDIwcHggMCAwO1xuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQkbTogMiU7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgJG0gJG07XG5cdFx0XHRcdFx0d2lkdGg6IDIzLjUlO1xuXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoNG4gKyAxKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMCAkbSAkbTtcblx0XHRcdFx0XHRcdHdpZHRoOiAzMiU7XG5cblx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDRuICsgMSkge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJG07XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDNuICsgMSkge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxfcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHNtYWxsX3Bob25lKSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNDklO1xuXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCg0biArIDEpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRtO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgzbiArIDEpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRtO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgybiArIDEpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hcmVhcy1vZi1wcmFjdGljZSB7XG5cdFx0XHQuZ3JpZCB7XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjI1cyBlYXNlLWluLW91dCk7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDZweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJGJsdWUsIDAuNyk7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjRlbTtcblx0XHRcdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgkYmx1ZSwgMC45KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnByb2Zlc3Npb25hbCB7XG5cdFx0XHQuZ3JpZCB7XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdGhncm91cCB7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjgpO1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0XHRcdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogM3B4IDAgMDtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLm5vLWltYWdlIHtcblx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTUwcHg7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2NjYztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuc2luZ2xlIHtcblx0XHRoZ3JvdXAge1xuXHRcdFx0bWFyZ2luOiAwIDAgNDBweDtcblxuXHRcdFx0aDIge1xuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCNzaWRlYmFyIHtcblx0XHRcdGhncm91cCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5wcm9mZXNzaW9uYWwge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cblx0XHRcdCNpbnRybyB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgkYmx1ZSwgMC43KSB1cmwoXCJhc3NldHMvZGlzdC9pbWFnZXMvcHJvZmVzc2lvbmFsLWJpby1iZy5qcGdcIikgY2VudGVyIHRvcCBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRcdGNvbG9yOiAkYmx1ZTtcblx0XHRcdFx0cGFkZGluZy10b3A6IDIwMHB4O1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDEwMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogYXV0byA2NiU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY29sdW1uLXBob3RvIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY29weSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0cGFkZGluZzogMjVweCAwO1xuXHRcdFx0XHRcdHdpZHRoOiA2MCU7XG5cblx0XHRcdFx0XHRoZ3JvdXAge1xuXHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdFx0XHRcdFx0LmpvYi10aXRsZSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA5MCU7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEuNWVtO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuN2VtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDExMiU7XG5cdFx0XHRcdFx0XHRsZWZ0OiAtNiU7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jdXRvdXQtcGhvdG8ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR6LWluZGV4OiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdGJvdHRvbTogLTUwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDQyJTtcblxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHJpZ2h0OiBpbml0aWFsO1xuXHRcdFx0XHRcdFx0Ym90dG9tOiBpbml0aWFsO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRcdFx0XHR3aWR0aDogNjYlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAzNTBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5saW5rcy13aXRoLWljb25zIHtcblx0XHRcdFx0XHR3aWR0aDogNzUlO1xuXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDkwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR3aWR0aDogNDglO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGJsdWU7XG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRcdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNvdmVydmlldyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM2NTk0YjE7XG5cdFx0XHRcdHBhZGRpbmc6IDUwcHggMDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdGgyLFxuXHRcdFx0XHRwLFxuXHRcdFx0XHRhLFxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQub3ZlcnZpZXcge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4zZW07XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jb2wtMi0zIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogNSU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZGl2aWRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHR3aWR0aDogNXB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybChcImFzc2V0cy9kaXN0L2ltYWdlcy92ci13aGl0ZS1iZy5wbmdcIikgcmVwZWF0LXk7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDM1JTtcblxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNiYWRnZXMge1xuXHRcdFx0XHRwYWRkaW5nOiAyNXB4IDA7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMGY0ZjY7XG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1JTtcblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMjVweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDI1cHg7XG5cdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDQ5JTtcblxuXHRcdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNkZXRhaWxzIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDUwcHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHQuY29sLTItMyB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDUlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmRpdmlkZXIge1xuXHRcdFx0XHRcdHdpZHRoOiA1cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKFwiYXNzZXRzL2Rpc3QvaW1hZ2VzL3ZyLWJsdWUtYmcucG5nXCIpIHJlcGVhdC15O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAzNSU7XG5cblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYucHJhY3RpY2Uge1xuXHRcdH1cblx0fVxuXG5cdCNyZXNwb25kIHtcblx0XHRib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYmEoJGJsdWUsIDAuNCk7XG5cblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdH1cblx0fVxuXG5cdCNibG9nLXBvc3RzLFxuXHQjc2VhcmNoLXJlc3VsdHMge1xuXHRcdG1hcmdpbjogNDBweCAwIDIwcHg7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKCRibHVlLCAwLjQpO1xuXG5cdFx0LmJsb2ctcG9zdCxcblx0XHQuc2VhcmNoLXJlc3VsdCB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHJnYmEoJGJsdWUsIDAuNCk7XG5cblx0XHRcdGgyIHtcblx0XHRcdFx0bWFyZ2luOiAwIDAgNXB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQubWV0YSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHR9XG5cblx0XHRcdC5lbnRyeSB7XG5cdFx0XHRcdG1hcmdpbjogMTBweCAwO1xuXHRcdFx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNlY3Rpb24ge1xuXHRcdHBhZGRpbmc6IDE1cHggMDtcblxuXHRcdGgyIHtcblx0XHRcdG1hcmdpbjogMCAwIDVweDtcblx0XHRcdGNvbG9yOiAkYmx1ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0fVxuXG5cdFx0dWwge1xuXHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjJlbSAhaW1wb3J0YW50O1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbjogMTBweCAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYjcHJvZmVzc2lvbmFscyB7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMyUgMyU7XG5cdFx0XHRcdFx0d2lkdGg6IDQ3JTtcblxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aGdyb3VwIHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjYpO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOGVtO1xuXG5cdFx0XHRcdFx0XHRcdGgzLFxuXHRcdFx0XHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0aDQge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDJuICsgMSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKioqIEZPT1RFUi5TQ1NTICoqKi9cblxuZm9vdGVyLm1haW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAxO1xuXHRtYXJnaW4tdG9wOiAyNXB4O1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cblx0YSB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdH1cblxuXHRuYXYge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHR1bCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHRcdFx0aGVpZ2h0OiAkZm9vdGVyX2hlaWdodDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjhlbTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6ICRmb290ZXJfaGVpZ2h0O1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuc29jaWFsLW1lZGlhLXNpdGVzIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0JGljb25fc2l6ZTogMjhweDtcblx0XHRcdFx0bWFyZ2luOiAxMnB4IDNweCAwO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ly9wYWRkaW5nOiA2cHg7XG5cdFx0XHRcdHdpZHRoOiAkaWNvbl9zaXplO1xuXHRcdFx0XHRoZWlnaHQ6ICRpY29uX3NpemU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAkaWNvbl9zaXplO1xuXHRcdFx0XHRmb250LXNpemU6IDEuMWVtO1xuXHRcdFx0XHRjb2xvcjogIzRmODRhMztcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDBweCk7XG5cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRwaG9uZSkge1xuXHRcdFx0XHRcdCRpY29uX3NpemU6IDIwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAkaWNvbl9zaXplO1xuXHRcdFx0XHRcdHdpZHRoOiAkaWNvbl9zaXplO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkaWNvbl9zaXplO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMC44ZW07XG5cdFx0XHRcdFx0bWFyZ2luOiA1cHggM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZSksIChtYXgtZGV2aWNlLXdpZHRoOiAkcGhvbmUpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7RUFRRTtBQ1JGOztnRkFFZ0Y7QUFDaEY7Ozs7R0FJRztBQUlIO2lGQUNpRjtBQUVqRjs7Ozs7O0lBTUk7QUNESixPQUFPLENBQUMseUVBQUk7QURHWixBQUFBLElBQUksQ0FBQztFQUNKLFdBQVcsRUFBRSxVQUFVO0VBQUUsT0FBTztFQUNoQyxvQkFBb0IsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUNuQyx3QkFBd0IsRUFBRSxJQUFJO0VBQUUsT0FBTztDQUl2Qzs7QUFFRDs7SUFFSTtBQUVKLEFBQUEsSUFBSSxDQUFDO0VBQ0osTUFBTSxFQUFFLENBQUM7Q0FDVDs7QUFFRDtpRkFDaUY7QUFFakY7Ozs7O0lBS0k7QUFFSixBQUFBLE9BQU87QUFDUCxLQUFL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 */
