/*!
    Theme Name: Obral, Silk Theme
    Theme URI: http://216lawyers.com/
    Description: A theme developed for Obral, Silk & Associates, LLC law firm website.
    Version: 1.0.0
    Text Domain: obral-silk-theme
    
    Template: genesis
    
    License: The MIT License (MIT)
    License URI: https://opensource.org/licenses/MIT
    Text Domain: obral-silk-theme
*/
html {
    box-sizing: border-box;
  }
  
  *, *::after, *::before {
    box-sizing: inherit;
  }
  
  /* # HTML5 Reset
  ---------------------------------------------------------------------------------------------------- */
  /* ## Baseline Normalize
  --------------------------------------------- */
  /*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
  /**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS text size adjust after orientation change, without disabling
   *    user zoom.
   */
  html {
    font-family: sans-serif;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
  }
  
  /**
   * Remove default margin.
   */
  body {
    margin: 0;
  }
  
  /* HTML5 display definitions
     ========================================================================== */
  /**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  main,
  menu,
  nav,
  section,
  summary {
    display: block;
  }
  
  /**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
  audio,
  canvas,
  progress,
  video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
  }
  
  /**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  
  /**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
   */
  [hidden],
  template {
    display: none;
  }
  
  /* Links
     ========================================================================== */
  /**
   * Remove the gray background color from active links in IE 10.
   */
  a {
    background-color: transparent;
  }
  
  /**
   * Improve readability when focused and also mouse hovered in all browsers.
   */
  a:active,
  a:hover {
    outline: 0;
  }
  
  /* Text-level semantics
     ========================================================================== */
  /**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
  abbr[title] {
    border-bottom: 1px dotted;
  }
  
  /**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
  b,
  strong {
    font-weight: bold;
  }
  
  /**
   * Address styling not present in Safari and Chrome.
   */
  dfn {
    font-style: italic;
  }
  
  /**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  /**
   * Address styling not present in IE 8/9.
   */
  mark {
    background: #ff0;
    color: #000;
  }
  
  /**
   * Address inconsistent and variable font size in all browsers.
   */
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sup {
    top: -0.5em;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  /* Embedded content
     ========================================================================== */
  /**
   * Remove border when inside `a` element in IE 8/9/10.
   */
  img {
    border: 0;
  }
  
  /**
   * Correct overflow not hidden in IE 9/10/11.
   */
  svg:not(:root) {
    overflow: hidden;
  }
  
  /* Grouping content
     ========================================================================== */
  /**
   * Address margin not present in IE 8/9 and Safari.
   */
  figure {
    margin: 1em 40px;
  }
  
  /**
   * Address differences between Firefox and other browsers.
   */
  hr {
    box-sizing: content-box;
    height: 0;
  }
  
  /**
   * Contain overflow in all browsers.
   */
  pre {
    overflow: auto;
  }
  
  /**
   * Address odd `em`-unit font size rendering in all browsers.
   */
  code,
  kbd,
  pre,
  samp {
    font-family: monospace, monospace;
    font-size: 1em;
  }
  
  /* Forms
     ========================================================================== */
  /**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
  /**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
  }
  
  /**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
  button {
    overflow: visible;
  }
  
  /**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
  button,
  select {
    text-transform: none;
  }
  
  /**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
  button,
  html input[type="button"],
  input[type="reset"],
  input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
  }
  
  /**
   * Re-set default cursor for disabled elements.
   */
  button[disabled],
  html input[disabled] {
    cursor: default;
  }
  
  /**
   * Remove inner padding and border in Firefox 4+.
   */
  button::-moz-focus-inner,
  input::-moz-focus-inner {
    border: 0;
    padding: 0;
  }
  
  /**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
  input {
    line-height: normal;
  }
  
  /**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
  input[type="checkbox"],
  input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
  }
  
  /**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
  input[type="number"]::-webkit-inner-spin-button,
  input[type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
   *    (include `-moz` to future-proof).
   */
  input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    /* 2 */
    box-sizing: content-box;
  }
  
  /**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * Define consistent border, margin, and padding.
   */
  fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  }
  
  /**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
  legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
  }
  
  /**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
  textarea {
    overflow: auto;
  }
  
  /**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
  optgroup {
    font-weight: bold;
  }
  
  /* Tables
     ========================================================================== */
  /**
   * Remove most spacing between table cells.
   */
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  
  td,
  th {
    padding: 0;
  }
  
  /* ## Box Sizing
  --------------------------------------------- */
  html,
  input[type="search"] {
    box-sizing: border-box;
  }
  
  *,
  *:before,
  *:after {
    box-sizing: inherit;
  }
  
  /* ## Float Clearing
  --------------------------------------------- */
  .author-box:before,
  .clearfix:before,
  .entry:before,
  .entry-content:before,
  .footer-widgets:before,
  .nav-primary:before,
  .nav-secondary:before,
  .pagination:before,
  .row:before,
  .site-container:before,
  .site-footer:before,
  .site-header:before,
  .site-inner:before,
  .wrap:before {
    content: " ";
    display: table;
  }
  
  .author-box:after,
  .clearfix:after,
  .entry:after,
  .entry-content:after,
  .footer-widgets:after,
  .nav-primary:after,
  .nav-secondary:after,
  .pagination:after,
  .row:after,
  .site-container:after,
  .site-footer:after,
  .site-header:after,
  .site-inner:after,
  .wrap:after {
    clear: both;
    content: " ";
    display: table;
  }
  
  /* # Defaults
  ---------------------------------------------------------------------------------------------------- */
  /* ## Typographical Elements
  --------------------------------------------- */
  html {
    font-size: 62.5%;
    /* 10px browser default */
  }
  
  body {
    background-color: #fdf2e5;
    color: #30130e;
    font-family: "Bitter", Georgia, serif;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    margin: 0;
  }
  
  a,
  button,
  input:focus,
  input[type="button"],
  input[type="reset"],
  input[type="submit"],
  textarea:focus,
  .button,
  .gallery img {
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  
  a {
    color: #ff5126;
    text-decoration: none;
  }
  
  a:hover,
  a:focus {
    color: #ff7958;
    text-decoration: none;
  }
  
  p {
    margin: 0 0 28px;
    padding: 0;
  }
  
  hr {
    border: 0;
    border-collapse: collapse;
    border-top: 1px solid #6f6260;
    clear: both;
    margin: 1em 0;
  }
  
  b,
  strong {
    font-weight: 700;
  }
  
  blockquote,
  cite,
  em,
  i {
    font-style: italic;
  }
  
  ol,
  ul {
    margin: 0;
    padding: 0;
  }
  
  li {
    list-style-type: none;
  }
  
  blockquote {
    font-size: 20px;
    font-size: 2rem;
    font-style: italic;
    font-weight: 300;
    line-height: 2;
    margin: 28px 0;
  }
  
  blockquote p:last-of-type {
    margin: 0;
  }
  
  blockquote::before {
    display: none;
  }
  
  /* ## Headings
  --------------------------------------------- */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: #30130e;
    font-family: "Libre Baskerville", "Times New Roman", Georgia, serif;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 10px;
    text-transform: initial;
  }
  
  h1 {
    font-size: 28px;
    font-size: 2.8rem;
  }
  
  h2 {
    font-family: "Libre Baskerville", "Times New Roman", Georgia, serif;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 200;
    text-transform: none;
  }
  
  h3 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  
  h4 {
    font-size: 20px;
    font-size: 2rem;
  }
  
  h5 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  
  h6 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  
  /* ## Objects
  --------------------------------------------- */
  embed,
  iframe,
  img,
  object,
  video,
  .wp-caption {
    max-width: 100%;
  }
  
  img {
    height: auto;
  }
  
  .featured-content img,
  .gallery img {
    width: auto;
  }
  
  /* ## Gallery
  --------------------------------------------- */
  .gallery {
    overflow: hidden;
  }
  
  .gallery-item {
    float: left;
    margin: 0 0 28px;
    text-align: center;
  }
  
  .gallery-columns-2 .gallery-item {
    width: 50%;
  }
  
  .gallery-columns-3 .gallery-item {
    width: 33%;
  }
  
  .gallery-columns-4 .gallery-item {
    width: 25%;
  }
  
  .gallery-columns-5 .gallery-item {
    width: 20%;
  }
  
  .gallery-columns-6 .gallery-item {
    width: 16.6666%;
  }
  
  .gallery-columns-7 .gallery-item {
    width: 14.2857%;
  }
  
  .gallery-columns-8 .gallery-item {
    width: 12.5%;
  }
  
  .gallery-columns-9 .gallery-item {
    width: 11.1111%;
  }
  
  .gallery img {
    border: 1px solid #b6d7de;
    height: auto;
    padding: 4px;
  }
  
  .gallery img:hover,
  .gallery img:focus {
    border: 1px solid #ff5126;
  }
  
  /* ## Forms
  --------------------------------------------- */
  input,
  select,
  textarea {
    background-color: #fff;
    border: 1px solid #6f6260;
    border-radius: 2px;
    color: #30130e;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 6px;
    padding: 10px 14px;
    width: 100%;
  }
  
  input:focus,
  textarea:focus {
    border: 1px solid #ff5126;
    outline: none;
  }
  
  input[type="checkbox"],
  input[type="image"],
  input[type="radio"] {
    width: auto;
  }
  
  ::-moz-placeholder {
    color: #6f6260;
    font-weight: 400;
    opacity: 1;
  }
  
  ::-webkit-input-placeholder {
    color: #6f6260;
    font-weight: 400;
  }
  
  /* ## Buttons
  --------------------------------------------- */
  button,
  input[type="button"],
  input[type="reset"],
  input[type="submit"],
  .button {
    background-color: #ff5126;
    border: 0;
    border-radius: 2px;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 400;
    padding: 12px 30px;
    text-transform: uppercase;
    width: auto;
  }
  
  button:hover,
  input:hover[type="button"],
  input:hover[type="reset"],
  input:hover[type="submit"],
  .button:hover {
    background-color: #ff7958;
    color: #fff;
  }
  
  .button {
    display: inline-block;
  }
  
  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-results-button {
    display: none;
  }
  
  /* ## Tables
  --------------------------------------------- */
  table {
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 2;
    margin-bottom: 40px;
    width: 100%;
  }
  
  tbody {
    border-bottom: 1px solid #6f6260;
  }
  
  td,
  th {
    text-align: left;
  }
  
  td {
    border-top: 1px solid #6f6260;
    padding: 6px 0;
  }
  
  th {
    font-weight: 400;
  }
  
  /* ## Screen Reader Text
  --------------------------------------------- */
  .screen-reader-text,
  .screen-reader-text span,
  .screen-reader-shortcut {
    position: absolute !important;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    width: 1px;
    border: 0;
    overflow: hidden;
  }
  
  .screen-reader-text:focus,
  .screen-reader-shortcut:focus,
  .genesis-nav-menu .search input[type="submit"]:focus,
  .widget_search input[type="submit"]:focus {
    clip: auto !important;
    height: auto;
    width: auto;
    display: block;
    font-size: 1em;
    font-weight: bold;
    padding: 15px 23px 14px;
    color: #333;
    background: #fff;
    z-index: 100000;
    /* Above WP toolbar. */
    text-decoration: none;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  }
  
  .more-link {
    position: relative;
  }
  
  /* # Skip Links
  ---------------------------------------------------------------------------------------------------- */
  .genesis-skip-link {
    margin: 0;
  }
  
  .genesis-skip-link li {
    height: 0;
    width: 0;
    list-style: none;
  }
  
  /* # Structure and Layout
  ---------------------------------------------------------------------------------------------------- */
  /* ## Site Containers
  --------------------------------------------- */
  .site-inner,
  .wrap {
    margin: 0 auto;
    max-width: 100%;
    padding-left: 2%;
    padding-right: 2%;
  }
  
  .site-inner {
    clear: both;
    padding-top: 5px;
  }
  
  /* ## Column Widths and Positions
  --------------------------------------------- */
  /* ### Wrapping div for .content and .sidebar-primary */
  .content-sidebar-sidebar .content-sidebar-wrap,
  .sidebar-content-sidebar .content-sidebar-wrap,
  .sidebar-sidebar-content .content-sidebar-wrap {
    width: 100%;
  }
  
  .content-sidebar-sidebar .content-sidebar-wrap {
    float: left;
  }
  
  .sidebar-content-sidebar .content-sidebar-wrap,
  .sidebar-sidebar-content .content-sidebar-wrap {
    float: right;
  }
  
  /* ### Content */
  .content {
    width: 100%;
  }
  
  .content-sidebar .content,
  .content-sidebar-sidebar .content,
  .sidebar-content-sidebar .content {
    float: left;
  }
  
  .content-sidebar-sidebar .content,
  .sidebar-content-sidebar .content,
  .sidebar-sidebar-content .content {
    width: 100%;
  }
  
  .full-width-content .content {
    width: 100%;
  }
  
  /* ### Primary Sidebar */
  .sidebar-primary {
    margin-top: 30px;
  }
  
  .sidebar-content .sidebar-primary,
  .sidebar-sidebar-content .sidebar-primary {
    float: left;
  }
  
  /* ### Secondary Sidebar */
  .sidebar-secondary {
    width: 100%;
  }
  
  .content-sidebar-sidebar .sidebar-secondary {
    float: right;
  }
  
  /* ## Column Classes
  --------------------------------------------- */
  .five-sixths,
  .four-sixths,
  .one-fourth,
  .one-half,
  .one-sixth,
  .one-third,
  .three-fourths,
  .three-sixths,
  .two-fourths,
  .two-sixths,
  .two-thirds,
  .footer-widgets-1,
  .footer-widgets-2,
  .footer-widgets-3 {
    margin: 0;
    width: 100%;
  }
  
  /* # Common Classes
  ---------------------------------------------------------------------------------------------------- */
  /* ## Avatar
  --------------------------------------------- */
  .avatar {
    float: left;
  }
  
  .alignleft .avatar,
  .author-box .avatar {
    margin-right: 24px;
  }
  
  .alignright .avatar {
    margin-left: 24px;
  }
  
  .comment .avatar {
    margin: 0 16px 24px 0;
  }
  
  /* ## Genesis
  --------------------------------------------- */
  .archive-description,
  .author-box {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 40px;
  }
  
  .author-box-title {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 4px;
  }
  
  .archive-description p:last-of-type,
  .author-box p:last-of-type {
    margin-bottom: 0;
  }
  
  /* ## Search Form
  --------------------------------------------- */
  .search-form {
    overflow: hidden;
  }
  
  .genesis-nav-menu .search input[type="submit"],
  .widget_search input[type="submit"] {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  /* ## Titles
  --------------------------------------------- */
  .archive-title {
    font-size: 28px;
    font-size: 2.8rem;
  }
  
  .entry-title {
    font-size: 28px;
    font-size: 2.8rem;
  }
  
  h1::after,
  .homepage h2::after,
  .homepage h3::after {
    content: "";
    background-color: #ff5126;
    display: block;
    height: 1px;
    width: 50%;
    margin: 10px 0 20px;
  }
  
  h2.entry-title {
    font-size: 24px;
    font-size: 2.4rem;
  }
  
  .entry-title a,
  .sidebar .widget-title a {
    color: #ff5126;
  }
  
  .entry-title a:hover,
  .entry-title a:focus {
    color: #ff7958;
  }
  
  .widget-title {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  
  .footer-widgets .widget-title {
    color: #fdf2e5;
  }
  
  /* ## WordPress
  --------------------------------------------- */
  a.aligncenter img {
    display: block;
    margin: 0 auto;
  }
  
  a.alignnone {
    display: inline-block;
  }
  
  .alignleft {
    float: left;
    text-align: left;
  }
  
  .alignright {
    float: right;
    text-align: right;
  }
  
  a.alignleft,
  a.alignnone,
  a.alignright {
    max-width: 100%;
  }
  
  img.centered,
  .aligncenter {
    display: block;
    margin: 0 auto 24px;
  }
  
  img.alignnone,
  .alignnone {
    margin-bottom: 12px;
  }
  
  a.alignleft,
  img.alignleft,
  .wp-caption.alignleft {
    margin: 0 24px 24px 0;
  }
  
  a.alignright,
  img.alignright,
  .wp-caption.alignright {
    margin: 0 0 24px 24px;
  }
  
  .wp-caption-text {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
  }
  
  .entry-content p.wp-caption-text {
    margin-bottom: 0;
  }
  
  .entry-content .wp-audio-shortcode,
  .entry-content .wp-playlist,
  .entry-content .wp-video {
    margin: 0 0 28px;
  }
  
  /* # Widgets
  ---------------------------------------------------------------------------------------------------- */
  .widget {
    word-wrap: break-word;
  }
  
  .widget ol > li {
    list-style-position: inside;
    list-style-type: decimal;
    padding-left: 20px;
    text-indent: -20px;
  }
  
  .widget li li {
    border: 0;
    margin: 0 0 0 30px;
    padding: 0;
  }
  
  /* # Sidebars
  ---------------------------------------------------------------------------------------------------- */
  .sidebar {
    font-size: 14px;
    font-size: 1.4rem;
  }
  
  .sidebar li {
    border-bottom: 1px dotted #6f6260;
    margin-bottom: 6px;
    padding-bottom: 6px;
  }
  
  .sidebar p:last-child,
  .sidebar ul > li:last-child {
    margin-bottom: 0;
  }
  
  .sidebar .widget {
    background-color: #daebee;
    margin-bottom: 40px;
    padding: 20px;
    clear: both;
    box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.4);
  }
  
  /* # Site Header
  ---------------------------------------------------------------------------------------------------- */
  .site-header {
    background-color: #30130e;
  }
  
  .site-header .wrap {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 14px 2%;
  }
  
  /* ## Title Area
  --------------------------------------------- */
  .title-area {
    float: left;
    padding: 0 10px 0 0;
    width: 50%;
  }
  
  .site-title {
    font-family: "Libre Baskerville", "Times New Roman", Georgia, serif;
    font-size: 30px;
    font-size: 3rem;
    font-weight: 200;
    line-height: 1.2;
    text-transform: none;
  }
  
  .site-title a,
  .site-title a:hover,
  .site-title a:focus {
    color: #30130e;
  }
  
  .header-image .site-title > a {
    background: var(--wpr-bg-0b522946-c5a4-4e5b-853c-6b4f8208af6d) no-repeat;
    /* background: url(../../../../../../themes/obral-silk-theme/assets/images/logo.svg) no-repeat; */
    background-position: left center;
    background-size: contain;
    float: left;
    min-height: 60px;
    width: 100%;
  }
  
  .site-description {
    color: #b6d7de;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
  }
  
  .site-description,
  .site-title {
    margin-bottom: 0;
  }
  
  .header-image .site-description,
  .header-image .site-title {
    display: block;
    text-indent: -9999px;
  }
  
  /* ## Widget Area
  --------------------------------------------- */
  .site-header .widget-area {
    float: right;
    text-align: right;
    width: 50%;
  }
  
  .phone-cta,
  .phone-num {
    display: block;
  }
  
  .phone-cta {
    display: none;
  }
  
  .phone-num {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
  }
  
  /* # Site Navigation
  ---------------------------------------------------------------------------------------------------- */
  .genesis-nav-menu {
    clear: both;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    width: 100%;
  }
  
  .genesis-nav-menu .menu-item {
    display: inline-block;
    text-align: left;
  }
  
  .genesis-nav-menu a {
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    padding: 17px 24px;
  }
  
  .genesis-nav-menu > .menu-item-has-children > a:after {
    font-family: FontAwesome;
    font-weight: 400;
    content: "\f107";
    margin-left: 6px;
  }
  
  .genesis-nav-menu a:hover,
  .genesis-nav-menu a:focus,
  .genesis-nav-menu .current-menu-item > a,
  .genesis-nav-menu .sub-menu .current-menu-item > a:hover,
  .genesis-nav-menu .sub-menu .current-menu-item > a:focus {
    color: #ff5126;
    text-decoration: none;
  }
  
  .genesis-nav-menu .sub-menu a {
    background-color: #30130e;
    border-bottom: 1px solid #6f6260;
    font-size: 12px;
    font-size: 1.2rem;
    padding: 10px 24px;
    word-wrap: break-word;
  }
  
  /* ## Accessible Menu
  --------------------------------------------- */
  .menu .menu-item:focus {
    position: static;
  }
  
  .menu .menu-item > a:focus + ul.sub-menu,
  .menu .menu-item.sfHover > ul.sub-menu {
    left: auto;
    opacity: 1;
  }
  
  /* ## Site Header Navigation
  --------------------------------------------- */
  .site-header .sub-menu {
    border-top: 1px solid #6f6260;
  }
  
  .site-header .sub-menu .sub-menu {
    margin-top: -56px;
  }
  
  .site-header .genesis-nav-menu li li {
    margin-left: 0;
  }
  
  /* ## Primary Navigation
  --------------------------------------------- */
  .nav-primary {
    background-color: #b6d7de;
    text-align: center;
    box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.6);
    position: relative;
  }
  
  .nav-primary .genesis-nav-menu a {
    color: #30130e;
    text-decoration: none;
  }
  
  .nav-primary .genesis-nav-menu a:hover,
  .nav-primary .genesis-nav-menu a:focus,
  .nav-primary .genesis-nav-menu .current-menu-item > a {
    color: #ff5126;
    text-decoration: none;
  }
  
  .nav-primary .genesis-nav-menu .sub-menu a {
    color: #fff;
  }
  
  .nav-primary .genesis-nav-menu .sub-menu a:hover,
  .nav-primary .genesis-nav-menu .sub-menu a:focus,
  .nav-primary .genesis-nav-menu .sub-menu .current-menu-item > a {
    color: #ff5126;
    text-decoration: none;
  }
  
  /* ## Secondary Navigation
  --------------------------------------------- */
  .nav-secondary {
    background-color: #daebee;
    text-align: center;
  }
  
  .nav-secondary .genesis-nav-menu a {
    padding: 12px 24px;
  }
  
  .nav-secondary .genesis-nav-menu .sub-menu a {
    padding: 10px 24px;
  }
  
  /* Responsive Menu
  --------------------------------------------- */
  .responsive-menu-icon {
    cursor: pointer;
    display: none;
    width: 40px;
    height: 40px;
    margin: 0 auto;
    position: relative;
  }
  
  .responsive-menu-icon:before {
    font-family: FontAwesome;
    content: "\f0c9";
    font-size: 28px;
    color: #30130e;
  }
  
  .responsive-menu-icon:after {
    content: "MENU";
    margin-left: 8px;
    font-size: 15px;
    font-size: 1.5rem;
    color: #30130e;
    position: relative;
    top: -4px;
  }
  
  /* # Responsive Menu Media Query
  ---------------------------------------------------------------------------------------------------- */
  
  .breadcrumbs {
    margin-bottom: 20px;
  }
  
  /* ## Pagination
  --------------------------------------------- */
  .pagination {
    clear: both;
    margin: 40px 0;
  }
  
  .adjacent-entry-pagination {
    margin-bottom: 0;
  }
  
  .archive-pagination li {
    display: inline;
  }
  
  .archive-pagination li a {
    background-color: #ff5126;
    border-radius: 2px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 4px;
    padding: 8px 12px;
    text-decoration: none;
  }
  
  .archive-pagination li a:hover,
  .archive-pagination li a:focus,
  .archive-pagination .active a {
    background-color: #ff7958;
    text-decoration: none;
  }
  
  /* # Content Area
  ---------------------------------------------------------------------------------------------------- */
  /* ## Entries
  --------------------------------------------- */
  .entry {
    padding: 5px;
    margin-bottom: 50px;
  }
  
  .content .entry {
    background-color: #fdf2e5;
  }
  
  .entry-content ol,
  .entry-content ul {
    margin-bottom: 28px;
    margin-left: 40px;
  }
  
  .entry-content ol > li {
    list-style-type: decimal;
  }
  
  .entry-content ul > li {
    list-style-type: disc;
  }
  
  .entry-content ol ol,
  .entry-content ul ul {
    margin-bottom: 0;
  }
  
  .entry-content code {
    background-color: #333;
    color: #ddd;
  }
  
  /* ## Entry Meta
  --------------------------------------------- */
  p.entry-meta {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 0;
  }
  
  .entry-header .entry-meta {
    margin-bottom: 20px;
  }
  
  .entry-footer .entry-meta {
    border-top: 2px solid #6f6260;
    padding-top: 24px;
  }
  
  .entry-categories,
  .entry-tags {
    display: block;
  }
  
  .entry-comments-link::before {
    content: "\2014";
    margin: 0 6px 0 2px;
  }
  
  /* ## Comments
  --------------------------------------------- */
  .comment-respond,
  .entry-comments,
  .entry-pings {
    background-color: #fff;
    margin-bottom: 40px;
  }
  
  .comment-header {
    font-size: 16px;
    font-size: 1.6rem;
  }
  
  li.comment {
    background-color: #fff;
    border: 2px solid #6f6260;
    border-right: 0;
  }
  
  .comment-content {
    clear: both;
    word-wrap: break-word;
  }
  
  .comment-list li {
    margin-top: 24px;
    padding: 32px;
  }
  
  .comment-list li li {
    margin-right: -32px;
  }
  
  .comment-respond input[type="email"],
  .comment-respond input[type="text"],
  .comment-respond input[type="url"] {
    width: 50%;
  }
  
  .comment-respond label {
    display: block;
    margin-right: 12px;
  }
  
  .entry-comments .comment-author {
    margin-bottom: 0;
  }
  
  .entry-pings .reply {
    display: none;
  }
  
  .form-allowed-tags {
    background-color: #f5f5f5;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 24px;
  }
  
  /* # Extra Footer and Badges
  ---------------------------------------------------------------------------------------------------- */
  .badge-wrap {
    margin: 30px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  
  .badge-img {
    padding: 5px;
    max-width: 20%;
  }
  
  .badge-img img:hover {
    opacity: 0.7;
  }
  
  .extra-footer {
    background: #daebee;
    color: #30130e;
    padding: 60px 0;
  }
  
  .extra-footer h2,
  .extra-footer h3,
  .extra-footer h4,
  .extra-footer h5,
  .extra-footer h6 {
    color: #30130e;
  }
  
  /* # Footer Widgets
  ---------------------------------------------------------------------------------------------------- */
  .footer-widgets {
    background-color: #30130e;
    border-top: 6px solid #b6d7de;
    clear: both;
    line-height: 2.4;
    padding-top: 40px;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
  }
  
  .footer-widgets {
    color: #fdf2e5;
  }
  
  .footer-widgets a {
    color: #ff5126;
  }
  
  .footer-widgets a:hover,
  .footer-widgets a:focus {
    color: #ff7958;
  }
  
  .footer-widgets .widget {
    margin-bottom: 40px;
  }
  
  .footer-widgets p:last-child {
    margin-bottom: 0;
  }
  
  .footer-widgets-1 {
    width: 100%;
  }
  
  /*
  .footer-widgets-1,
  .footer-widgets-2,
  .footer-widgets-3,
  .footer-widgets-4 {
    width: 100%;
  
    @include media($small-screen-up) {
      float: left;
      margin-left: $column_margin_left;
      width: $footer_column_width;
      
    }
  }
  
  .footer-widgets-1 {
  
    @include media($small-screen-up) {
      clear: both;
      margin-left: 0;
    }
  }
  */
  /* # Site Footer
  ---------------------------------------------------------------------------------------------------- */
  .site-footer {
    background-color: #30130e;
    color: #fdf2e5;
    font-size: 12px;
    font-size: 1.2rem;
    padding: 140px 0 40px;
    text-align: center;
  }
  
  .site-footer a {
    color: #fdf2e5;
  }
  
  .site-footer a:hover {
    color: #fdf2e5;
    text-decoration: underline;
  }
  
  .site-footer p {
    margin-bottom: 0;
  }
  
  /* # Plugins
  ---------------------------------------------------------------------------------------------------- */
  /* ## Contact Form 7 Styles
  --------------------------------------------- */
  div.wpcf7 {
    margin: 0;
    padding: 0;
  }
  
  div.wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
  }
  
  div.wpcf7 .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    width: 1px;
    margin: 0;
    padding: 0;
    border: 0;
  }
  
  div.wpcf7-mail-sent-ok {
    border: 2px solid #398f14;
  }
  
  div.wpcf7-mail-sent-ng {
    border: 2px solid #ff0000;
  }
  
  div.wpcf7-spam-blocked {
    border: 2px solid #ffa500;
  }
  
  div.wpcf7-validation-errors {
    border: 2px solid #f7e700;
  }
  
  span.wpcf7-form-control-wrap {
    position: relative;
  }
  
  span.wpcf7-not-valid-tip {
    color: #f00;
    font-size: 1em;
    display: block;
  }
  
  .use-floating-validation-tip span.wpcf7-not-valid-tip {
    position: absolute;
    top: 20%;
    left: 20%;
    z-index: 100;
    border: 1px solid #ff0000;
    background: #fff;
    padding: .2em .8em;
  }
  
  span.wpcf7-list-item {
    margin-left: 0.5em;
  }
  
  .wpcf7-display-none {
    display: none;
  }
  
  div.wpcf7 img.ajax-loader {
    border: none;
    vertical-align: middle;
    margin-left: 4px;
  }
  
  div.wpcf7 div.ajax-error {
    display: none;
  }
  
  div.wpcf7 .placeheld {
    color: #888;
  }
  
  /* # Extra Templates
  ---------------------------------------------------------------------------------------------------- */
  /* ### Full Width Content */
  .full .site-inner {
    max-width: none;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  
  .full .entry {
    margin-bottom: 60px;
    padding: 0;
  }
  
  .full h1::after {
    margin: 0 auto;
  }
  
  .head-margin {
    margin-top: 40px;
  }
  
  .hero {
    background-position: center;
    background-size: cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 200px;
    padding: 20px 0;
  }
  
  .centered {
    text-align: center;
  }
  
  /* Flex Layout */
  .stripe {
    padding: 10px;
  }
  
  .flex-plain {
    padding-left: 0;
    padding-right: 0;
  }
  
  /* Footer Social */
  .footer-social {
    background-color: #30130e;
    text-align: center;
  }
  
  .footer-social a {
    font-size: 30px;
    font-size: 3rem;
    display: inline-block;
    margin: 6px 12px;
  }
  
  /* Home Page Styles */
  .homepage .site-inner {
    max-width: none;
    padding: 0;
  }
  
  .homepage .entry {
    padding: 0;
    margin-bottom: 0;
  }
  
  .homepage .extra-footer {
    margin-top: 60px;
  }
  
  .skinny {
    margin: 0 auto;
    max-width: 720px;
  }
  
  .home-hero {
    background-image: var(--wpr-bg-98669cff-cafa-4c82-88ef-d1a1af146a06);
    background-position: center;
    background-size: cover;
    border-bottom: 6px solid #b6d7de;
  }
  
  .home-hero .fa-angle-down {
    color: #ff5126;
    font-size: 140px;
    font-size: 14rem;
    display: block;
    line-height: 0.8;
    text-align: center;
  }
  
  .big-tagline,
  .big-desc {
    display: block;
    text-align: center;
    line-height: 1.2;
  }
  
  .big-tagline {
    font-family: "Libre Baskerville", "Times New Roman", Georgia, serif;
    margin-top: 56px;
    font-size: 34px;
    font-size: 3.4rem;
  }
  
  .big-desc {
    margin-top: 20px;
    font-size: 20px;
    font-size: 2rem;
  }
  
  .home-about {
    background-color: #fff;
    background-color: rgba(218, 235, 238, 0.8);
    margin: 60px auto;
    padding: 20px 20px 0;
  }
  
  .home-about input[type="submit"] {
    width: 100%;
  }
  
  .homepage .services {
    text-align: center;
  }
  
  .serv-circ-wrap {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 24px 0 80px;
  }
  
  .serv-circ-contain h3 {
    text-transform: none;
    font-weight: 400;
    margin-bottom: 0;
    margin-top: 11px;
  }
  
  .homepage .services h2:after,
  .serv-circ-contain h3:after {
    margin: 10px auto 0;
  }
  
  .serv-circ-contain {
    padding: 16px;
  }
  
  .serv-circ-contain a,
  .serv-circ-contain a:visited,
  .serv-circ-contain a:hover {
    border-radius: 50%;
    display: block;
    height: 268px;
    width: 268px;
  }
  
  .serv-circ-contain a {
    border: 6px solid #b6d7de;
  }
  
  .serv-circ {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: rgba(255, 255, 255, 0.57);
    border-radius: 50%;
    height: 256px;
    width: 256px;
  }
  
  .serv-circ,
  .serv-circ-contain a {
    -webkit-transition: all 1s;
    transition: all 1s;
  }
  
  .serv-circ-contain a:hover {
    border-color: #ff5126;
  }
  
  .serv-circ-contain a:hover h3 {
    color: #fff;
  }
  
  .serv-circ-contain a:hover .serv-circ {
    background-color: rgba(0, 0, 0, 0.5);
  }
  
  .homepage .testimonial {
    background-image: var(--wpr-bg-67c6f23a-df44-4023-b78c-3014f8f001a3);
    background-position: 86% center;
    background-size: cover;
    border-bottom: 6px solid #b6d7de;
    border-top: 6px solid #b6d7de;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 80px;
    text-align: center;
  }
  
  .homepage .testimonial .overlay {
    background-color: rgba(182, 215, 222, 0.65);
    padding: 80px 0;
    width: 100%;
  }
  
  .homepage .big-testimonial {
    font-size: 24px;
    font-size: 2.4rem;
    font-style: italic;
    max-width: 980px;
    margin: 0 auto;
  }
  
  .homepage .testimonial-author {
    font-style: initial;
  }
  
  /* # Print Styles
  ---------------------------------------------------------------------------------------------------- */
  
  @media screen and (min-width: 800px) {
    h1 {
      font-size: 44px;
      font-size: 4.4rem;
    }
    h2 {
      font-size: 30px;
      font-size: 3rem;
    }
    .site-inner {
      padding-top: 40px;
    }
    .five-sixths,
    .four-sixths,
    .one-fourth,
    .one-half,
    .one-sixth,
    .one-third,
    .three-fourths,
    .three-sixths,
    .two-fourths,
    .two-sixths,
    .two-thirds {
      float: left;
      margin-left: 2.5641%;
    }
    .one-half,
    .three-sixths,
    .two-fourths {
      width: 48.71795%;
    }
    .one-third,
    .two-sixths {
      width: 31.62393%;
    }
    .four-sixths,
    .two-thirds {
      width: 65.81197%;
    }
    .one-fourth {
      width: 23.07692%;
    }
    .three-fourths {
      width: 74.35897%;
    }
    .one-sixth {
      width: 14.52991%;
    }
    .five-sixths {
      width: 82.90598%;
    }
    .first {
      clear: both;
      margin-left: 0;
    }
    .archive-title {
      font-size: 44px;
      font-size: 4.4rem;
    }
    .entry-title {
      font-size: 44px;
      font-size: 4.4rem;
    }
    h2.entry-title {
      font-size: 30px;
      font-size: 3rem;
    }
    .phone-cta {
      color: #fff;
      display: block;
      font-size: 16px;
      font-size: 1.6rem;
      font-weight: 400;
      margin-bottom: 8px;
      text-transform: none;
    }
    .phone-num {
      font-size: 32px;
      font-size: 3.2rem;
    }
    .archive-pagination li a {
      margin-bottom: 0;
    }
    .entry {
      padding: 20px;
    }
    .comment-respond,
    .entry-pings {
      padding: 40px 40px 16px;
    }
    .entry-comments {
      padding: 40px;
    }
    .stripe {
      padding: 40px 28px;
    }
    .home-hero {
      background-image: var(--wpr-bg-7c11bf42-39f1-447f-b63b-396d8fe5636d);
    }
    .big-tagline {
      font-size: 60px;
      font-size: 6rem;
    }
    .big-desc {
      font-size: 24px;
      font-size: 2.4rem;
    }
    .homepage .testimonial {
      background-image: var(--wpr-bg-61462b74-cfa0-480a-9745-6ce385add45a);
      background-position: right center;
    }
    .homepage .testimonial .overlay {
      padding: 160px 0;
    }
    .homepage .big-testimonial {
      font-size: 36px;
      font-size: 3.6rem;
    }
  }
  
  @media screen and (min-width: 1024px) {
    .content-sidebar-sidebar .content-sidebar-wrap,
    .sidebar-content-sidebar .content-sidebar-wrap,
    .sidebar-sidebar-content .content-sidebar-wrap {
      width: 80%;
    }
    .content {
      float: right;
      width: 66%;
    }
    .content-sidebar-sidebar .content,
    .sidebar-content-sidebar .content,
    .sidebar-sidebar-content .content {
      width: 66%;
    }
    .sidebar-primary {
      float: right;
      width: 30%;
    }
    .title-area {
      width: 50%;
    }
    .header-image .site-title > a {
      background-position: left center;
      min-height: 100px;
    }
    .genesis-nav-menu .sub-menu {
      left: -9999px;
      opacity: 0;
      position: absolute;
      -webkit-transition: opacity .4s ease-in-out;
      transition: opacity .4s ease-in-out;
      width: 200px;
      z-index: 99;
    }
    .genesis-nav-menu .sub-menu a {
      position: relative;
      width: 200px;
    }
    .genesis-nav-menu .sub-menu .sub-menu {
      margin: -34px 0 0 200px;
      border-left: 1px solid #fff;
      border-top: 1px solid #fff;
    }
    .genesis-nav-menu .menu-item:hover {
      position: static;
    }
    .genesis-nav-menu .menu-item:hover > .sub-menu {
      left: auto;
      opacity: 1;
    }
    .genesis-nav-menu > .first > a {
      padding-left: 0;
    }
    .genesis-nav-menu > .last > a {
      padding-right: 0;
    }
    .genesis-nav-menu > .right {
      color: #fff;
      float: right;
      list-style-type: none;
      padding: 30px 0;
    }
    .genesis-nav-menu > .right > a {
      display: inline;
      padding: 0;
    }
    .badge-wrap {
      -ms-flex-wrap: no-wrap;
      flex-wrap: no-wrap;
    }
    .badge-img {
      padding: 10px;
      max-width: none;
    }
    .hero {
      min-height: 300px;
      padding: 60px 2px;
    }
  }
  
  @media screen and (min-width: 1360px) {
    .site-inner,
    .wrap {
      max-width: 1200px;
      padding-left: 0;
      padding-right: 0;
    }
    .site-header .wrap {
      padding: 40px 0;
    }
  }
  
  @media only screen and (max-width: 960px) {
    .sidebar-secondary {
      float: left;
      width: 16%;
    }
  }
  
  @media screen and (max-width: 1024px) {
    .genesis-nav-menu.responsive-menu > .menu-item > .sub-menu,
    .genesis-nav-menu.responsive-menu,
    .genesis-nav-menu.responsive-menu > .menu-item-has-children > a:after {
      display: none;
    }
    .genesis-nav-menu.responsive-menu .menu-item,
    .responsive-menu-icon {
      display: block;
    }
    .genesis-nav-menu.responsive-menu .menu-item {
      margin: 0;
      border-top: 1px solid #30130e;
    }
    .genesis-nav-menu.responsive-menu .menu-item:hover {
      position: static;
    }
    .genesis-nav-menu.responsive-menu .current-menu-item > a,
    .genesis-nav-menu.responsive-menu .sub-menu .current-menu-item > a:hover,
    .genesis-nav-menu.responsive-menu a,
    .genesis-nav-menu.responsive-menu a:hover {
      background: none;
      line-height: 1;
      padding: 16px 20px;
    }
    .nav-primary .genesis-nav-menu.responsive-menu .current-menu-item > a,
    .nav-primary .genesis-nav-menu.responsive-menu .sub-menu .current-menu-item > a:hover,
    .nav-primary .genesis-nav-menu.responsive-menu a,
    .nav-primary .genesis-nav-menu.responsive-menu a:hover {
      color: #30130e;
    }
    .genesis-nav-menu.responsive-menu .menu-item-has-children {
      cursor: pointer;
    }
    .genesis-nav-menu.responsive-menu .menu-item-has-children > a {
      margin-right: 60px;
    }
    .genesis-nav-menu.responsive-menu > .menu-item-has-children:before {
      font-family: FontAwesome;
      content: "\f107";
      font-weight: 400;
      color: #30130e;
      text-align: right;
      font-size: 30px;
      padding: 10px;
      z-index: 9999;
      cursor: pointer;
      width: 60px;
      height: 46px;
      float: right;
    }
    .genesis-nav-menu.responsive-menu .menu-open.menu-item-has-children:before {
      font-family: FontAwesome;
      content: "\f106";
      font-weight: 400;
      color: #30130e;
      text-align: right;
      font-size: 30px;
      padding: 10px;
      z-index: 9999;
      cursor: pointer;
      width: 60px;
      height: 46px;
      float: right;
    }
    .genesis-nav-menu.responsive-menu .sub-menu {
      border: none;
      left: auto;
      opacity: 1;
      padding-left: 25px;
      position: relative;
      -webkit-transition: opacity .4s ease-in-out;
      transition: opacity .4s ease-in-out;
      width: 100%;
      z-index: 99;
    }
    .genesis-nav-menu.responsive-menu .sub-menu .sub-menu {
      margin: 0;
    }
    .genesis-nav-menu.responsive-menu .sub-menu .current-menu-item > a:hover,
    .genesis-nav-menu.responsive-menu .sub-menu li a,
    .genesis-nav-menu.responsive-menu .sub-menu li a:hover {
      background: none;
      border: none;
      padding: 12px 20px;
      position: relative;
      width: 100%;
    }
  }
  
  @media print {
    *,
    *:before,
    *:after {
      background: transparent !important;
      box-shadow: none !important;
      color: #000 !important;
      text-shadow: none !important;
    }
    a,
    a:visited {
      text-decoration: underline;
    }
    a[href]:after {
      content: " (" attr(href) ")";
    }
    abbr[title]:after {
      content: " (" attr(title) ")";
    }
    a[href^="javascript:"]:after,
    a[href^="#"]:after,
    .site-title > a:after {
      content: "";
    }
    thead {
      display: table-header-group;
    }
    img,
    tr {
      page-break-inside: avoid;
    }
    img {
      max-width: 100% !important;
    }
    @page {
      margin: 2cm 0.5cm;
    }
    p,
    h2,
    h3 {
      orphans: 3;
      widows: 3;
    }
    blockquote,
    pre {
      border: 1px solid #999;
      page-break-inside: avoid;
    }
    .content,
    .content-sidebar {
      width: 100%;
    }
    button,
    input,
    select,
    textarea,
    .breadcrumb,
    .comment-edit-link,
    .comment-form,
    .comment-list .reply a,
    .comment-reply-title,
    .edit-link,
    .entry-comments-link,
    .entry-footer,
    .genesis-box,
    .header-widget-area,
    .hidden-print,
    .home-top,
    .nav-primary,
    .nav-secondary,
    .post-edit-link,
    .sidebar {
      display: none !important;
    }
    .title-area {
      text-align: center;
      width: 100%;
    }
    .site-title > a {
      margin: 0;
      text-decoration: none;
      text-indent: 0;
    }
    .site-inner {
      padding-top: 0;
      position: relative;
      top: -100px;
    }
    .author-box {
      margin-bottom: 0;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      orphans: 3;
      page-break-after: avoid;
      page-break-inside: avoid;
      widows: 3;
    }
    img {
      page-break-after: avoid;
      page-break-inside: avoid;
    }
    blockquote,
    pre,
    table {
      page-break-inside: avoid;
    }
    dl,
    ol,
    ul {
      page-break-before: avoid;
    }
  }
  
  /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiYmFzZS9odG1sNS1yZXNldC9pbmRleC5zY3NzIiwiYmFzZS9odG1sNS1yZXNldC9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCJiYXNlL2h0bWw1LXJlc2V0L19ib3gtc2l6aW5nLnNjc3MiLCJiYXNlL2h0bWw1LXJlc2V0L19mbG9hdC1jbGVhcmluZy5zY3NzIiwiYmFzZS9lbGVtZW50cy9pbmRleC5zY3NzIiwiYmFzZS9lbGVtZW50cy9fZGVmYXVsdHMuc2NzcyIsInV0aWxpdGllcy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwidXRpbGl0aWVzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidXRpbGl0aWVzL21peGlucy9fZm9udC1zaXplLnNjc3MiLCJ1dGlsaXRpZXMvdmFyaWFibGVzL193aWR0aHMuc2NzcyIsImJhc2UvZWxlbWVudHMvX2xpc3RzLnNjc3MiLCJiYXNlL2VsZW1lbnRzL19ibG9ja3F1b3RlLnNjc3MiLCJiYXNlL2VsZW1lbnRzL19oZWFkaW5ncy5zY3NzIiwiYmFzZS9lbGVtZW50cy9fb2JqZWN0cy5zY3NzIiwiYmFzZS9lbGVtZW50cy9fZ2FsbGVyeS5zY3NzIiwiYmFzZS9lbGVtZW50cy9fZm9ybXMuc2NzcyIsImJhc2UvZWxlbWVudHMvX2J1dHRvbnMuc2NzcyIsImJhc2UvZWxlbWVudHMvX3RhYmxlcy5zY3NzIiwiYmFzZS9lbGVtZW50cy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwibGF5b3V0cy9pbmRleC5zY3NzIiwibGF5b3V0cy9fc2l0ZS1jb250YWluZXJzLnNjc3MiLCJsYXlvdXRzL19jb250ZW50LWxheW91dC5zY3NzIiwibGF5b3V0cy9fY29sdW1ucy5zY3NzIiwiY29tbW9uLWNsYXNzZXMvaW5kZXguc2NzcyIsImNvbW1vbi1jbGFzc2VzL19hdmF0YXIuc2NzcyIsImNvbW1vbi1jbGFzc2VzL19nZW5lc2lzLnNjc3MiLCJjb21tb24tY2xhc3Nlcy9fc2VhcmNoLWZvcm0uc2NzcyIsImNvbW1vbi1jbGFzc2VzL190aXRsZXMuc2NzcyIsImNvbW1vbi1jbGFzc2VzL193b3JkcHJlc3Muc2NzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9pbmRleC5zY3NzIiwiY29tcG9uZW50cy93aWRnZXRzL19iYXNlLnNjc3MiLCJjb21wb25lbnRzL3dpZGdldHMvX3NpZGViYXJzLnNjc3MiLCJjb21wb25lbnRzL2hlYWRlci9fYmFzZS5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX3NpdGUtdGl0bGUuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19oZWFkZXItcmlnaHQuc2NzcyIsImNvbXBvbmVudHMvbmF2aWdhdGlvbi9pbmRleC5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19iYXNlLnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vX2hlYWRlci1uYXYuc2NzcyIsImNvbXBvbmVudHMvbmF2aWdhdGlvbi9fcHJpbWFyeS5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19zZWNvbmRhcnkuc2NzcyIsImNvbXBvbmVudHMvbmF2aWdhdGlvbi9fcmVzcG9uc2l2ZS5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQvaW5kZXguc2NzcyIsImNvbXBvbmVudHMvY29udGVudC9fZW50cmllcy5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50L19tZXRhLnNjc3MiLCJjb21wb25lbnRzL2NvbW1lbnRzL2luZGV4LnNjc3MiLCJjb21wb25lbnRzL2NvbW1lbnRzL19iYXNlLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9fZXh0cmEtZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9fZm9vdGVyLXdpZGdldHMuc2NzcyIsImNvbXBvbmVudHMvZm9vdGVyL19zaXRlLWZvb3Rlci5zY3NzIiwicGx1Z2lucy9pbmRleC5zY3NzIiwicGx1Z2lucy9fY29udGFjdC1mb3JtNy5zY3NzIiwidGVtcGxhdGVzL2luZGV4LnNjc3MiLCJ0ZW1wbGF0ZXMvX2ZsZXgtY29udGVudC5zY3NzIiwidGVtcGxhdGVzL19ob21lLXBhZ2Uuc2NzcyIsIl9wcmludC1zdHlsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1RBO0VBQ0UsdUJBQXVCO0NBQ3hCOztBQUVEO0VBSUksb0JBQW9CO0NBQ3JCOztBQ1pMO3VHQUN1RztBQ0R2RztnREFDZ0Q7QUFDaEQsc0VBQXNFO0FBQ3RFOzs7O0dBSUc7QUFDSDtFQUNFLHdCQUF3QjtFQUN4QixPQUFPO0VBQ1AsMkJBQTJCO0VBQzNCLE9BQU87RUFDUCwrQkFBK0I7RUFDL0IsT0FBTztDQUFFOztBQUVYOztHQUVHO0FBQ0g7RUFDRSxVQUFVO0NBQUc7O0FBRWY7Z0ZBQ2dGO0FBQ2hGOzs7OztHQUtHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFlO0NBQUc7O0FBRXBCOzs7R0FHRztBQUNIOzs7O0VBSUUsc0JBQXNCO0VBQ3RCLE9BQU87RUFDUCx5QkFBeUI7RUFDekIsT0FBTztDQUFFOztBQUVYOzs7R0FHRztBQUNIO0VBQ0UsY0FBYztFQUNkLFVBQVU7Q0FBRzs7QUFFZjs7O0dBR0c7QUM2Qkg7O0VEMUJFLGNBQWM7Q0FBRzs7QUFFbkI7Z0ZBQ2dGO0FBQ2hGOztHQUVHO0FBQ0g7RUFDRSw4QkFBOEI7Q0FBRzs7QUFFbkM7O0dBRUc7QUFDSDs7RUFFRSxXQUFXO0NBQUc7O0FBRWhCO2dGQUNnRjtBQUNoRjs7R0FFRztBQUNIO0VBQ0UsMEJBQTBCO0NBQUc7O0FBRS9COztHQUVHO0FBQ0g7O0VBRUUsa0JBQWtCO0NBQUc7O0FBRXZCOztHQUVHO0FBQ0g7RUFDRSxtQkFBbUI7Q0FBRzs7QUFFeEI7OztHQUdHO0FBQ0g7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0NBQUc7O0FBRXRCOztHQUVHO0FBQ0g7RUFDRSxpQkFBaUI7RUFDakIsWUFBWTtDQUFHOztBQUVqQjs7R0FFRztBQUNIO0VBQ0UsZUFBZTtDQUFHOztBQUVwQjs7R0FFRztBQUNIOztFQUVFLGVBQWU7RUFDZixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHlCQUF5QjtDQUFHOztBQUU5QjtFQUNFLFlBQVk7Q0FBRzs7QUFFakI7RUFDRSxnQkFBZ0I7Q0FBRzs7QUFFckI7Z0ZBQ2dGO0FBQ2hGOztHQUVHO0FBQ0g7RUFDRSxVQUFVO0NBQUc7O0FBRWY7O0dBRUc7QUFDSDtFQUNFLGlCQUFpQjtDQUFHOztBQUV0QjtnRkFDZ0Y7QUFDaEY7O0dBRUc7QUFDSDtFQUNFLGlCQUFpQjtDQUFHOztBQUV0Qjs7R0FFRztBQUNIO0VBRUUsd0JBQXdCO0VBQ3hCLFVBQVU7Q0FBRzs7QUFFZjs7R0FFRztBQUNIO0VBQ0UsZUFBZTtDQUFHOztBQUVwQjs7R0FFRztBQUNIOzs7O0VBSUUsa0NBQWtDO0VBQ2xDLGVBQWU7Q0FBRzs7QUFFcEI7Z0ZBQ2dGO0FBQ2hGOzs7R0FHRztBQUNIOzs7OztHQUtHO0FBQ0g7Ozs7O0VBS0UsZUFBZTtFQUNmLE9BQU87RUFDUCxjQUFjO0VBQ2QsT0FBTztFQUNQLFVBQVU7RUFDVixPQUFPO0NBQUU7O0FBRVg7O0dBRUc7QUFDSDtFQUNFLGtCQUFrQjtDQUFHOztBQUV2Qjs7Ozs7R0FLRztBQUNIOztFQUVFLHFCQUFxQjtDQUFHOztBQUUxQjs7Ozs7O0dBTUc7QUFDSDs7OztFQUlFLDJCQUEyQjtFQUMzQixPQUFPO0VBQ1AsZ0JBQWdCO0VBQ2hCLE9BQU87Q0FBRTs7QUFFWDs7R0FFRztBQUNIOztFQUVFLGdCQUFnQjtDQUFHOztBQUVyQjs7R0FFRztBQUNIOztFQUVFLFVBQVU7RUFDVixXQUFXO0NBQUc7O0FBRWhCOzs7R0FHRztBQUNIO0VBQ0Usb0JBQW9CO0NBQUc7O0FBRXpCOzs7Ozs7R0FNRztBQUNIOztFQUVFLHVCQUF1QjtFQUN2QixPQUFPO0VBQ1AsV0FBVztFQUNYLE9BQU87Q0FBRTs7QUFFWDs7OztHQUlHO0FBQ0g7O0VBRUUsYUFBYTtDQUFHOztBQUVsQjs7OztHQUlHO0FBQ0g7RUFDRSw4QkFBOEI7RUFDOUIsT0FBTztFQUdQLE9BQU87RUFDUCx3QkFBd0I7Q0FBRzs7QUFFN0I7Ozs7R0FJRztBQUNIOztFQUVFLHlCQUF5QjtDQUFHOztBQUU5Qjs7R0FFRztBQUNIO0VBQ0UsMEJBQTBCO0VBQzFCLGNBQWM7RUFDZCwrQkFBK0I7Q0FBRzs7QUFFcEM7OztHQUdHO0FBQ0g7RUFDRSxVQUFVO0VBQ1YsT0FBTztFQUNQLFdBQVc7RUFDWCxPQUFPO0NBQUU7O0FBRVg7O0dBRUc7QUFDSDtFQUNFLGVBQWU7Q0FBRzs7QUFFcEI7OztHQUdHO0FBQ0g7RUFDRSxrQkFBa0I7Q0FBRzs7QUFFdkI7Z0ZBQ2dGO0FBQ2hGOztHQUVHO0FBQ0g7RUFDRSwwQkFBMEI7RUFDMUIsa0JBQWtCO0NBQUc7O0FBRXZCOztFQUVFLFdBQVc7Q0FBRzs7QUV0V2hCO2dEQUNnRDtBQUNoRDs7RUFFRSx1QkFBdUI7Q0FBRzs7QUFFNUI7OztFQUdFLG9CQUFvQjtDQUFHOztBQ1R6QjtnREFDZ0Q7QUFDaEQ7Ozs7Ozs7Ozs7Ozs7O0VBY0UsYUFBYTtFQUNiLGVBQWU7Q0FBRzs7QUFFcEI7Ozs7Ozs7Ozs7Ozs7O0VBY0UsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlO0NBQUc7O0FDbkNwQjt1R0FDdUc7QUNEdkc7Z0RBQ2dEO0FBQ2hEO0VBQ0UsaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjs7QUFFRDtFQUNFLDBCQ1FxQjtFRFByQixlQ0ZrQjtFREdsQixzQ0VSa0M7RUNDbEMsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtFSFF0QixpQkVSb0I7RUZTcEIsbUJFUnNCO0VGU3RCLFVBQVU7Q0FDWDs7QUFFRDs7Ozs7Ozs7O0VBU0UseUNBQXlDO0VBSXpDLGlDQUFpQztDQUNsQzs7QUFFRDtFQUNFLGVDeEJvQjtFRHlCcEIsc0JBQXNCO0NBQ3ZCOztBQUVEOztFQUVFLGVDN0IwQjtFRDhCMUIsc0JBQXNCO0NBQ3ZCOztBQUVEO0VBQ0UsaUJJbkNxQjtFSm9DckIsV0FBVztDQUNaOztBQUVEO0VBQ0UsVUFBVTtFQUNWLDBCQUEwQjtFQUMxQiw4QkN4Q29CO0VEeUNwQixZQUFZO0VBQ1osY0FBYztDQUNmOztBQUVEOztFQUVFLGlCRXBEb0I7Q0ZxRHJCOztBQUVEOzs7O0VBSUUsbUJBQW1CO0NBQ3BCOztBS25FRDs7RUFFRSxVQUFVO0VBQ1YsV0FBVztDQUFHOztBQUVoQjtFQUNFLHNCQUFzQjtDQUFHOztBQ0wzQjtFSEVFLGdCQUFzQjtFQUN0QixnQkFBc0I7RUdEdEIsbUJBQW1CO0VBQ25CLGlCSnVDMEI7RUl0QzFCLGVBQWU7RUFDZixlQUEyQjtDQUM1Qjs7QUFFRDtFQUNJLFVBQVU7Q0FDYjs7QUFFRDtFQUNFLGNBQWM7Q0FDZjs7QUNmRDtnREFDZ0Q7QUFDaEQ7Ozs7OztFQU1FLGVORGtCO0VNRWxCLG9FTEVpRTtFS0RqRSxpQkxFZ0I7RUtEaEIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQix3QkxBNEI7Q0tDN0I7O0FBRUQ7RUpiRSxnQkFBc0I7RUFDdEIsa0JBQXNCO0NJa0J2Qjs7QUFFRDtFQUNFLG9FTEg4RDtFQ25COUQsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtFSTBCdEIsaUJMUGtCO0VLUWxCLHFCTFBzQjtDS1F2Qjs7QUFFRDtFSi9CRSxnQkFBc0I7RUFDdEIsa0JBQXNCO0NJZ0N2Qjs7QUFFRDtFSm5DRSxnQkFBc0I7RUFDdEIsZ0JBQXNCO0NJb0N2Qjs7QUFFRDtFSnZDRSxnQkFBc0I7RUFDdEIsa0JBQXNCO0NJd0N2Qjs7QUFFRDtFSjNDRSxnQkFBc0I7RUFDdEIsa0JBQXNCO0NJNEN2Qjs7QUNoREQ7Z0RBQ2dEO0FBQ2hEOzs7Ozs7RUFNRSxnQkFBZ0I7Q0FBRzs7QUFFckI7RUFDRSxhQUFhO0NBQUc7O0FBRWxCOztFQUVFLFlBQVk7Q0FBRzs7QUNmakI7Z0RBQ2dEO0FBQ2hEO0VBQ0UsaUJBQWlCO0NBQUc7O0FBRXRCO0VBQ0UsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixtQkFBbUI7Q0FBRzs7QUFFeEI7RUFDRSxXQUFXO0NBQUc7O0FBRWhCO0VBQ0UsV0FBVztDQUFHOztBQUVoQjtFQUNFLFdBQVc7Q0FBRzs7QUFFaEI7RUFDRSxXQUFXO0NBQUc7O0FBRWhCO0VBQ0UsZ0JBQWdCO0NBQUc7O0FBRXJCO0VBQ0UsZ0JBQWdCO0NBQUc7O0FBRXJCO0VBQ0UsYUFBYTtDQUFHOztBQUVsQjtFQUNFLGdCQUFnQjtDQUFHOztBQUVyQjtFQUNFLDBCUjFCdUI7RVEyQnZCLGFBQWE7RUFDYixhQUFhO0NBQUc7O0FBRWxCOztFQUVFLDBCUi9Cb0I7Q1ErQmM7O0FDekNwQztnREFDZ0Q7QUFDaEQ7OztFQUdFLHVCVEhVO0VTSVYsMEJUTW9CO0VTTHBCLG1CQUFtQjtFQUNuQixlVERrQjtFRUpsQixnQkFBc0I7RUFDdEIsa0JBQXNCO0VPTXRCLGlCUk5vQjtFUU9wQixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLFlBQVk7Q0FBRzs7QUFFakI7O0VBRUUsMEJUUG9CO0VTUXBCLGNBQWM7Q0FBRzs7QUFFbkI7OztFQUdFLFlBQVk7Q0FBRzs7QUFFakI7RUFDRSxlQUFlO0VBQ2YsaUJSdkJvQjtFUXdCcEIsV0FBVztDQUFHOztBQUVoQjtFQUNFLGVBQWU7RUFDZixpQlI1Qm9CO0NRNEJhOztBQ2hDbkM7Z0RBQ2dEO0FBRWhEOzs7OztFQUtFLDBCVkVvQjtFVURwQixVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLFlWVFU7RVVVVixnQkFBZ0I7RVJUaEIsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtFUVV0QixpQlQrQ3NCO0VTOUN0QixtQkFBbUI7RUFDbkIsMEJUOEMrQjtFUzdDL0IsWUFBWTtDQUFHOztBQUVqQjs7Ozs7RUFLRSwwQlZiMEI7RVVjMUIsWVZ2QlU7Q1V1QndCOztBQUVwQztFQUNFLHNCQUFzQjtDQUFHOztBQUUzQjs7RUFFRSxjQUFjO0NBQUc7O0FDaENuQjtnREFDZ0Q7QUFDaEQ7RUFDRSwwQkFBMEI7RUFDMUIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsWUFBWTtDQUFHOztBQUVqQjtFQUNFLGlDWEVvQjtDV0ZxQjs7QUFFM0M7O0VBRUUsaUJBQWlCO0NBQUc7O0FBRXRCO0VBQ0UsOEJYTG9CO0VXTXBCLGVBQWU7Q0FBRzs7QUFFcEI7RUFDRSxpQkFBaUI7Q0FBRzs7QUNyQnRCO2dEQUNnRDtBQUNoRDs7O0VBR0UsOEJBQThCO0VBQzlCLHVCQUFVO0VBQ1YsWUFBWTtFQUNaLFdBQVc7RUFDWCxVQUFVO0VBQ1YsaUJBQWlCO0NBQUc7O0FBRXRCOzs7O0VBSUUsc0JBQXNCO0VBQ3RCLGFBQWE7RUFDYixZQUFZO0VBQ1osZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsd0JBQXdCO0VBQ3hCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixzQkFBc0I7RUFDdEIsMkNBQTRCO0NBQWlCOztBQUUvQztFQUNFLG1CQUFtQjtDQUFHOztBQUV4Qjt1R0FDdUc7QUFDdkc7RUFDRSxVQUFVO0NBQUc7O0FBRWY7RUFDRSxVQUFVO0VBQ1YsU0FBUztFQUNULGlCQUFpQjtDQUFHOztBQ3pDdEI7dUdBQ3VHO0FDRHZHO2dEQUNnRDtBQUNoRDs7RUFFSSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixrQkFBa0I7Q0FRckI7O0FBRUQ7RUFDSSxZQUFZO0VBQ1osaUJBQWlCO0NBSXBCOztBQ3ZCRDtnREFDZ0Q7QUFDaEQsd0RBQXdEO0FBQ3hEOzs7RUFHSSxZQUFZO0NBS2Y7O0FBRUQ7RUFDSSxZQUFZO0NBQ2Y7O0FBRUQ7O0VBRUksYUFBYTtDQUNoQjs7QUFFRCxpQkFBaUI7QUFDakI7RUFDSSxZQUFZO0NBT2Y7O0FBRUQ7OztFQUdJLFlBQVk7Q0FDZjs7QUFFRDs7O0VBR0ksWUFBWTtDQU1mOztBQUVEO0VBQ0ksWUFBWTtDQUFHOztBQUVuQix5QkFBeUI7QUFDekI7RUFDSSxpQkFBaUI7Q0FNcEI7O0FBRUQ7O0VBRUksWUFBWTtDQUFHOztBQUVuQiwyQkFBMkI7QUFDM0I7RUFDSSxZQUFZO0NBT2Y7O0FBRUQ7RUFDSSxhQUFhO0NBQ2hCOztBQ2hGRDtnREFDZ0Q7QUFFaEQ7Ozs7Ozs7Ozs7Ozs7O0VBY0ksVUFBVTtFQUNWLFlBQVk7Q0FDZjs7QUNuQkQ7dUdBQ3VHO0FDRHZHO2dEQUNnRDtBQUNoRDtFQUNFLFlBQVk7Q0FBRzs7QUFFakI7O0VBRUUsbUJBQW1CO0NBQUc7O0FBRXhCO0VBQ0Usa0JBQWtCO0NBQUc7O0FBRXZCO0VBQ0Usc0JBQXNCO0NBQUc7O0FDYjNCO2dEQUNnRDtBQUVoRDs7RWpCQUUsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtFaUJFdEIsb0JBQW9CO0NBQ3JCOztBQUVEO0VqQk5FLGdCQUFzQjtFQUN0QixrQkFBc0I7RWlCT3RCLGlCbEJKb0I7RWtCS3BCLG1CQUFtQjtDQUFHOztBQUV4Qjs7RUFFRSxpQkFBaUI7Q0FBRzs7QUNoQnRCO2dEQUNnRDtBQUNoRDtFQUNFLGlCQUFpQjtDQUFHOztBQUV0Qjs7RUFFRSxVQUFVO0VBQ1YsdUJBQVU7RUFDVixZQUFZO0VBQ1osYUFBYTtFQUNiLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsV0FBVztDQUFHOztBQ2JoQjtnREFDZ0Q7QUFDaEQ7RW5CQ0UsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtDbUJHdkI7O0FBRUQ7RW5CTkUsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtDbUJVdkI7O0FBRUQ7OztFQUdFLFlBQVk7RUFDWiwwQnJCVm9CO0VxQldwQixlQUFlO0VBQ2YsWUFBWTtFQUNaLFdBQVc7RUFDWCxvQkFBb0I7Q0FDckI7O0FBRUQ7RW5CeEJFLGdCQUFzQjtFQUN0QixrQkFBc0I7Q21CNEJ2Qjs7QUFFRDs7RUFFRSxlckIxQm9CO0NxQjJCckI7O0FBRUQ7O0VBRUUsZXJCOUIwQjtDcUIrQjNCOztBQUVEO0VuQnpDRSxnQkFBc0I7RUFDdEIsa0JBQXNCO0VtQjBDdEIsb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0UsZXJCTWdDO0NxQkxqQzs7QUNuREQ7Z0RBQ2dEO0FBQ2hEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSxzQkFBc0I7Q0FDdkI7O0FBRUQ7RUFDRSxZQUFZO0VBQ1osaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtDQUNuQjs7QUFFRDs7O0VBR0UsZ0JBQWdCO0NBQ2pCOztBQUVEOztFQUVFLGVBQWU7RUFDZixvQkFBb0I7Q0FBRzs7QUFFekI7O0VBRUUsb0JBQW9CO0NBQ3JCOztBQUVEOzs7RUFHRSxzQkFBc0I7Q0FDdkI7O0FBRUQ7OztFQUdFLHNCQUFzQjtDQUN2Qjs7QUFFRDtFcEI5Q0UsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtFb0IrQ3RCLGlCckIvQ29CO0VxQmdEcEIsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEOzs7RUFHRSxpQm5CcERxQjtDbUJxRHRCOztBQy9ERDt1R0FDdUc7QUNEdkc7RUFDRSxzQkFBc0I7Q0FDdkI7O0FBRUQ7RUFDRSw0QkFBNEI7RUFDNUIseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQUNuQixtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLFdBQVc7Q0FDWjs7QUNmRDt1R0FDdUc7QUFDdkc7RXZCQ0UsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtDdUJBdkI7O0FBRUQ7RUFDRSxrQ3pCS29CO0V5QkpwQixtQkFBbUI7RUFDbkIsb0JBQW9CO0NBQ3JCOztBQUVEOztFQUVFLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLDBCekJWdUI7RXlCV3ZCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsWUFBWTtFQUNaLDRDQUE2QjtDQUM5Qjs7QUN2QkQ7dUdBQ3VHO0FBQ3ZHO0VBQ0UsMEIxQklrQjtDMEJIbkI7O0FBRUQ7RUFDRSwwQkFBb0I7TUFBcEIsdUJBQW9CO1VBQXBCLG9CQUFvQjtFQUNwQiwwQkFBK0I7TUFBL0IsdUJBQStCO1VBQS9CLCtCQUErQjtFQUMvQixxQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYztFQUNkLGlCQUFpQjtDQUtsQjs7QUNmRDtnREFDZ0Q7QUFDaEQ7RUFDRSxZQUFZO0VBQ1osb0JBQW9CO0VBQ3BCLFdBQVc7Q0FLWjs7QUFFRDtFQUNFLG9FMUJTOEQ7RUNuQjlELGdCQUFzQjtFQUN0QixnQkFBc0I7RXlCV3RCLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIscUJBQXFCO0NBQ3RCOztBQUVEOzs7RUFHRSxlM0JoQmtCO0MyQmlCbkI7O0FBRUQ7RUFDRSxvREFBbUQ7RUFDbkQsb0RBQW1EO0VBQ25ELGlDQUFpQztFQUNqQyx5QkFBeUI7RUFDekIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixZQUFZO0NBTWI7O0FBRUQ7RUFDRSxlM0JqQ3VCO0VFTnZCLGdCQUFzQjtFQUN0QixrQkFBc0I7RXlCd0N0QixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjs7QUFFRDs7RUFFRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7O0VBRUUsZUFBZTtFQUNmLHFCQUFxQjtDQUN0Qjs7QUMxREQ7Z0RBQ2dEO0FBQ2hEO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixXQUFXO0NBQ1o7O0FBRUQ7O0VBRUksZUFBZTtDQUNsQjs7QUFFRDtFQUNJLGNBQWM7Q0FVakI7O0FBRUQ7RTFCdkJFLGdCQUFzQjtFQUN0QixnQkFBc0I7RTBCd0JwQixpQkFBaUI7RUFDakIsZUFBZTtDQUtsQjs7QUNsQ0Q7dUdBQ3VHO0FDQXZHO0VBQ0ksWUFBWTtFNUJDZCxnQkFBc0I7RUFDdEIsa0JBQXNCO0U0QkFwQixlQUFlO0VBQ2YsWUFBWTtDQUNmOztBQUVEO0VBQ0ksc0JBQXNCO0VBQ3RCLGlCQUFpQjtDQUNwQjs7QUFFRDtFQUNJLFk5QlpRO0U4QmFSLGlCQUFpQjtFQUNqQixzQkFBc0I7RUFDdEIsMEJBQTBCO0VBQzFCLGVBQWU7RUFDZixtQjNCcUJ3QjtDMkJwQjNCOztBQUVEO0VBQ0kseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsaUJBQWlCO0NBQ3BCOztBQUVEOzs7OztFQUtJLGU5QnhCa0I7RThCeUJsQixzQkFBc0I7Q0FDekI7O0FBRUQ7RUFDSSwwQjlCaENnQjtFOEJpQ2hCLGlDOUI1QmtCO0VFVHBCLGdCQUFzQjtFQUN0QixrQkFBc0I7RTRCc0NwQixtQjNCRDRCO0UyQkU1QixzQkFBc0I7Q0FDekI7O0FBMEREO2dEQUNnRDtBQUNoRDtFQUNFLGlCQUFpQjtDQUFHOztBQUV0Qjs7RUFFRSxXQUFXO0VBQ1gsV0FBVztDQUFHOztBQzlHaEI7Z0RBQ2dEO0FBQ2hEO0VBQ0UsOEIvQlNvQjtDK0JSckI7O0FBRUQ7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7RUFDRSxlQUFlO0NBQ2hCOztBQ1pEO2dEQUNnRDtBQUdoRDtFQUNJLDBCaENJcUI7RWdDSHJCLG1CQUFtQjtFQUNuQiw0Q0FBNkI7RUFDN0IsbUJBQW1CO0NBQ3RCOztBQUVEO0VBQ0ksZWhDTGdCO0VnQ01oQixzQkFBc0I7Q0FDekI7O0FBRUQ7OztFQUdJLGVoQ1RrQjtFZ0NVbEIsc0JBQXNCO0NBQ3pCOztBQUVEO0VBQ0ksWWhDdEJRO0NnQ3VCWDs7QUFFRDs7O0VBR0ksZWhDcEJrQjtFZ0NxQmxCLHNCQUFzQjtDQUN6Qjs7QUNoQ0Q7Z0RBQ2dEO0FBSWhEO0VBQ0ksMEJqQ0VxQjtFaUNEckIsbUJBQW1CO0NBQ3RCOztBQUVEO0VBQ0ksbUI5QitCa0M7QzhCOUJyQzs7QUFFRDtFQUNJLG1COUIwQjRCO0M4QnpCL0I7O0FDaEJEO2dEQUNnRDtBQUNoRDtFQUNJLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0NBQ3RCOztBQUVEO0VBQ0kseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZWxDUmdCO0NrQ1NuQjs7QUFFRDtFQUNJLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixlbENoQmdCO0VrQ2lCaEIsbUJBQW1CO0VBQ25CLFVBQVU7Q0FDYjs7QUFFRDt1R0FDdUc7O0FDN0J2RztFQUNFLG9CQUFvQjtDQUFHOztBQ0R6QjtnREFDZ0Q7QUFDaEQ7RUFDRSxZQUFZO0VBQ1osZUFBZTtDQUNoQjs7QUFFRDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGdCQUFnQjtDQUNqQjs7QUFFRDtFQUNFLDBCcENOb0I7RW9DT3BCLG1CQUFtQjtFQUNuQixZcENoQlU7RW9DaUJWLGdCQUFnQjtFQUNoQixzQkFBc0I7RWxDakJ0QixnQkFBc0I7RUFDdEIsa0JBQXNCO0VrQ2tCdEIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixzQkFBc0I7Q0FNdkI7O0FBRUQ7OztFQUdFLDBCcEN4QjBCO0VvQ3lCMUIsc0JBQXNCO0NBQ3ZCOztBQ3JDRDt1R0FDdUc7QUNEdkc7Z0RBQ2dEO0FBQ2hEO0VBQ0ksYUFBYTtFQUNiLG9CQUFvQjtDQUl2Qjs7QUFFRDtFQUNJLDBCdENNb0I7Q3NDTHZCOztBQUVEOztFQUVJLG9CbkNObUI7RW1DT25CLGtCQUFrQjtDQUNyQjs7QUFFRDtFQUNJLHlCQUF5QjtDQUM1Qjs7QUFFRDtFQUNJLHNCQUFzQjtDQUN6Qjs7QUFFRDs7RUFFSSxpQkFBaUI7Q0FDcEI7O0FBRUQ7RUFDSSx1QkFBdUI7RUFDdkIsWUFBWTtDQUNmOztBQ3BDRDtnREFDZ0Q7QUFDaEQ7RXJDQ0UsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtFcUNBdEIsaUJBQWlCO0NBQUc7O0FBRXRCO0VBQ0Usb0JBQW9CO0NBQUc7O0FBRXpCO0VBQ0UsOEJ2Q0VvQjtFdUNEcEIsa0JBQWtCO0NBQUc7O0FBRXZCOztFQUVFLGVBQWU7Q0FBRzs7QUFFcEI7RUFDRSxpQkFBaUI7RUFDakIsb0JBQW9CO0NBQUc7O0FDbkJ6QjtnREFDZ0Q7QUNBaEQ7OztFQUdFLHVCekNGVTtFeUNHVixvQkFBb0I7Q0FDckI7O0FBaUJEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtDQUFHOztBQUV2QjtFQUNFLHVCekMxQlU7RXlDMkJWLDBCekNqQm9CO0V5Q2tCcEIsZ0JBQWdCO0NBQUc7O0FBRXJCO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtDQUFHOztBQUUzQjtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0NBQUc7O0FBRW5CO0VBQ0Usb0JBQW9CO0NBQUc7O0FBRXpCOzs7RUFHRSxXQUFXO0NBQUc7O0FBRWhCO0VBQ0UsZUFBZTtFQUNmLG1CQUFtQjtDQUFHOztBQUV4QjtFQUNFLGlCQUFpQjtDQUFHOztBQUV0QjtFQUNFLGNBQWM7Q0FBRzs7QUFFbkI7RUFDRSwwQkFBMEI7RXZDeEQxQixnQkFBc0I7RUFDdEIsa0JBQXNCO0V1Q3lEdEIsY0FBYztDQUFHOztBQzdEbkI7dUdBQ3VHO0FBRXZHO0VBQ0ksa0JBQWtCO0VBQ2xCLHFCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsMEJBQThCO01BQTlCLDhCQUE4QjtFQUM5QiwwQkFBb0I7TUFBcEIsdUJBQW9CO1VBQXBCLG9CQUFvQjtFQUNwQixvQkFBZ0I7TUFBaEIsZ0JBQWdCO0NBTW5COztBQUVEO0VBQ0ksYUFBYTtFQUNiLGVBQWU7Q0FNbEI7O0FBRUQ7RUFDSSxhQUFhO0NBQ2hCOztBQUVEO0VBQ0ksb0IxQ3ZCcUI7RTBDd0JyQixlMUN6QmdCO0UwQzBCaEIsZ0JBQWdCO0NBQ25COztBQUVEOzs7OztFQU1RLGUxQ25DWTtDMENvQ2Y7O0FDM0NMO3VHQUN1RztBQUN2RztFQUNFLDBCM0NJa0I7RTJDSGxCLDhCM0NLdUI7RTJDSnZCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsa0JBQWtCO0V6Q0psQixnQkFBc0I7RUFDdEIsa0JBQXNCO0V5Q0t0QixtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxlM0MyQ2dDO0MyQzFDakM7O0FBRUQ7RUFDSSxlM0NQa0I7QzJDUXJCOztBQUVEOztFQUVFLGUzQ1gwQjtDMkNZM0I7O0FBRUQ7RUFDRSxvQkFBb0I7Q0FBRzs7QUFFekI7RUFDRSxpQkFBaUI7Q0FBRzs7QUFFdEI7RUFDRSxZQUFZO0NBQ2I7O0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzQkU7QUN6REY7dUdBQ3VHO0FBQ3ZHO0VBQ0UsMEI1Q0lrQjtFNENIbEIsZTVDMEQ2QjtFRTNEN0IsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtFMENFdEIsc0JBQXNCO0VBQ3RCLG1CQUFtQjtDQUFHOztBQUV4QjtFQUNFLGU1Q3FENkI7QzRDcEQ5Qjs7QUFFRDtFQUNFLGU1Q2tEOEI7RTRDakQ5QiwyQkFBMkI7Q0FDNUI7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FDcEJEO3VHQUN1RztBQ0R2RztnREFDZ0Q7QUFDaEQ7RUFDRSxVQUFVO0VBQ1YsV0FBVztDQUFHOztBQUVoQjtFQUNFLHNCQUFzQjtFQUN0QixtQkFBbUI7Q0FBRzs7QUFFeEI7RUFDRSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLCtCQUFVO0VBQ1YsWUFBWTtFQUNaLFdBQVc7RUFDWCxVQUFVO0VBQ1YsV0FBVztFQUNYLFVBQVU7Q0FBRzs7QUFFZjtFQUNFLDBCQUEwQjtDQUFHOztBQUUvQjtFQUNFLDBCQUEwQjtDQUFHOztBQUUvQjtFQUNFLDBCQUEwQjtDQUFHOztBQUUvQjtFQUNFLDBCQUEwQjtDQUFHOztBQUUvQjtFQUNFLG1CQUFtQjtDQUFHOztBQUV4QjtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsZUFBZTtDQUFHOztBQUVwQjtFQUNFLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGFBQWE7RUFDYiwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUFHOztBQUV4QjtFQUNFLG1CQUFtQjtDQUFHOztBQUV4QjtFQUNFLGNBQWM7Q0FBRzs7QUFFbkI7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLGlCQUFpQjtDQUFHOztBQUV0QjtFQUNFLGNBQWM7Q0FBRzs7QUFFbkI7RUFDRSxZQUFZO0NBQUc7O0FDaEVqQjt1R0FDdUc7QUNEdkcsNEJBQTRCO0FBQzVCO0VBQ0ksZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsaUJBQWlCO0NBQ3BCOztBQUVEO0VBQ0ksb0JBQW9CO0VBQ3BCLFdBQVc7Q0FDZDs7QUFFRDtFQUNJLGVBQWU7Q0FDbEI7O0FBRUQ7RUFDSSxpQkFBaUI7Q0FDcEI7O0FBRUQ7RUFDSSw0QkFBNEI7RUFDNUIsdUJBQXVCO0VBQ3ZCLHFCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7RUFDcEIseUJBQXdCO01BQXhCLHNCQUF3QjtVQUF4Qix3QkFBd0I7RUFDeEIsa0I3Q1QwQjtFNkNVMUIsZ0I3Q053QjtDNkNZM0I7O0FBRUQ7RUFDSSxtQkFBbUI7Q0FDdEI7O0FBRUQsaUJBQWlCO0FBQ2pCO0VBQ0ksYzdDNUJ3QjtDNkNnQzNCOztBQUVEO0VBQ0ksZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNwQjs7QUFFRCxtQkFBbUI7QUFFbkI7RUFDSSwwQmhEakRnQjtFZ0RrRGhCLG1CQUFtQjtDQUN0Qjs7QUFFRDtFOUN6REUsZ0JBQXNCO0VBQ3RCLGdCQUFzQjtFOEMwRHBCLHNCQUFzQjtFQUN0QixpQkFBaUI7Q0FDcEI7O0FDaEVELHNCQUFzQjtBQUV0QjtFQUNDLGdCQUFnQjtFQUNoQixXQUFXO0NBQ1g7O0FBRUQ7RUFDQyxXQUFXO0VBQ1gsaUJBQWlCO0NBQ2pCOztBQUVEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUVEO0VBQ0MsZUFBZTtFQUNmLGlCQUFpQjtDQUNqQjs7QUFFRDtFQUNDLHdFQUFxQjtFQUNyQiw0QkFBNEI7RUFDNUIsdUJBQXVCO0VBSXZCLGlDakRuQndCO0NpRG9CeEI7O0FBRUQ7RUFDQyxlakR0QnFCO0VFUHBCLGlCQUFzQjtFQUN0QixpQkFBc0I7RStDOEJ2QixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNuQjs7QUFFRDs7RUFFQyxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGlCQUFpQjtDQUNqQjs7QUFFRDtFQUNDLG9FaERwQ2tFO0VnRHFDbEUsaUJBQWlCO0UvQzdDaEIsZ0JBQXNCO0VBQ3RCLGtCQUFzQjtDK0NpRHZCOztBQUVEO0VBQ0MsaUJBQWlCO0UvQ3JEaEIsZ0JBQXNCO0VBQ3RCLGdCQUFzQjtDK0N5RHZCOztBQUVEO0VBQ0MsdUJBQXVCO0VBQ3ZCLDJDQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIscUJBQXFCO0NBQ3JCOztBQUVEO0VBQ0MsWUFBWTtDQUNaOztBQUVEO0VBQ0MsbUJBQW1CO0NBQ25COztBQUVEO0VBQ0MsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7RUFDcEIscUJBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxvQkFBZ0I7TUFBaEIsZ0JBQWdCO0VBQ2hCLHlCQUF3QjtNQUF4QixzQkFBd0I7VUFBeEIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtDQUNwQjs7QUFFRDtFQUNDLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtDQUNqQjs7QUFFRDs7RUFFQyxvQkFBb0I7Q0FDcEI7O0FBRUQ7RUFDQyxjQUFjO0NBQ2Q7O0FBRUQ7OztFQUdDLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsY0FBYztFQUNkLGFBQWE7Q0FDYjs7QUFFRDtFQUNDLDBCakR2R3dCO0NpRHdHeEI7O0FBRUQ7RUFDQyxxQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYztFQUNkLDBCQUFvQjtNQUFwQix1QkFBb0I7VUFBcEIsb0JBQW9CO0VBQ3BCLHlCQUF3QjtNQUF4QixzQkFBd0I7VUFBeEIsd0JBQXdCO0VBQ3hCLDRDQUFzQjtFQUV0QixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGFBQWE7Q0FDYjs7QUFFRDs7RUFFQywyQkFBbUI7RUFBbkIsbUJBQW1CO0NBQ25COztBQUVEO0VBQ0Msc0JqRDFIcUI7Q2lEMkhyQjs7QUFFRDtFQUNDLFlqRHRJVztDaUR1SVg7O0FBRUQ7RUFDQyxxQ0FBc0I7Q0FDdEI7O0FBRUQ7RUFDQyxvRUFBcUI7RUFLckIsZ0NBQWdDO0VBQ2hDLHVCQUF1QjtFQUN2QixpQ2pEOUl3QjtFaUQrSXhCLDhCakQvSXdCO0VpRGdKeEIscUJBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsbUJBQW1CO0NBQ25COztBQUVEO0VBQ0MsNENBQXNCO0VBQ3RCLGdCQUFnQjtFQUloQixZQUFZO0NBQ1o7O0FBRUQ7RS9DcEtFLGdCQUFzQjtFQUN0QixrQkFBc0I7RStDd0t2QixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGVBQWU7Q0FDZjs7QUFFRDtFQUNDLG9CQUFvQjtDQUNwQjs7QUNuTEQ7dUdBQ3VHOztBQ3FGbkc7RTdDdEVKO0lKYkUsZ0JBQXNCO0lBQ3RCLGtCQUFzQjtHSWtCdkI7RUFFRDtJSnJCRSxnQkFBc0I7SUFDdEIsZ0JBQXNCO0dJNEJ2QjtFUWZEO0lBSVEsa0JBQWtCO0dBRXpCO0VFREc7Ozs7Ozs7Ozs7O0lBV0UsWUFBWTtJQUNaLHFCYkFpQztHYUNsQztFQUVEOzs7SUFHRSxpQmJkd0I7R2FlekI7RUFFRDs7SUFFRSxpQmJsQnlCO0dhbUIxQjtFQUVEOztJQUVFLGlCYnBCeUI7R2FxQjFCO0VBRUQ7SUFDRSxpQmIxQjBCO0dhMkIzQjtFQUVEO0lBQ0UsaUJiM0I0QjtHYTRCN0I7RUFFRDtJQUNFLGlCYmpDd0I7R2FrQ3pCO0VBRUQ7SUFDRSxpQmJsQzBCO0dhbUMzQjtFQUVEO0lBQ0UsWUFBWTtJQUNaLGVBQWU7R0FDaEI7RUt0RUw7SW5CQ0UsZ0JBQXNCO0lBQ3RCLGtCQUFzQjtHbUJHdkI7RUFFRDtJbkJORSxnQkFBc0I7SUFDdEIsa0JBQXNCO0dtQlV2QjtFQWFEO0luQnhCRSxnQkFBc0I7SUFDdEIsZ0JBQXNCO0dtQjRCdkI7RU9uQkQ7SUFJUSxZNUJmSTtJNEJnQkosZUFBZTtJMUJmckIsZ0JBQXNCO0lBQ3RCLGtCQUFzQjtJMEJnQmhCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIscUJBQXFCO0dBRTVCO0VBRUQ7STFCdkJFLGdCQUFzQjtJQUN0QixrQkFBc0I7RzBCOEJ2QjtFUW5CRDtJQVlJLGlCQUFpQjtHQUdwQjtFRTVCRDtJQUlRLGNBQWM7R0FFckI7RUdBRDs7SUFJSSx3QkFBd0I7R0FFM0I7RUFFRDtJQUdJLGNBQWM7R0FFakI7RU9vQkQ7SUFHTSxtQjdDaENvQjtHNkNrQ3pCO0VDekJEO0lBS0Usa0VBQXFCO0dBR3RCO0VBaUJEO0kvQzNDRSxnQkFBc0I7SUFDdEIsZ0JBQXNCO0crQ2lEdkI7RUFFRDtJL0NwREUsZ0JBQXNCO0lBQ3RCLGtCQUFzQjtHK0N5RHZCO0VBa0ZEO0lBR0UsOERBQXFCO0lBQ3JCLGtDQUFrQztHQVNuQztFQUVEO0lBSUUsaUJBQWlCO0dBR2xCO0VBRUQ7SS9DcEtFLGdCQUFzQjtJQUN0QixrQkFBc0I7RytDMkt2QjtDdER5YUE7O0F3RGxnQkc7RXBDbkZKOzs7SUFNUSxXQUFXO0dBRWxCO0VBWUQ7SUFJUSxhQUFhO0lBQ2IsV0FBVztHQUdsQjtFQVFEOzs7SUFNUSxXQUFXO0dBR2xCO0VBTUQ7SUFJUSxhQUFhO0lBQ2IsV0FBVztHQUVsQjtFWTNERDtJQU1NLFd4QkZVO0d3QklmO0VBZ0JEO0lBVU0saUNBQWlDO0lBQ2pDLGtCeEI3QmE7R3dCK0JsQjtFR1NHO0lBQ0ksY0FBYztJQUNkLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsNENBQTRDO0lBSTVDLG9DQUFvQztJQUNwQyxhQUFhO0lBQ2IsWUFBWTtHQUNmO0VBRUQ7SUFDSSxtQkFBbUI7SUFDbkIsYUFBYTtHQUNoQjtFQUVEO0lBQ0ksd0JBQXdCO0lBQ3hCLDRCOUJsRUk7SThCbUVKLDJCOUJuRUk7RzhCb0VQO0VBRUQ7SUFDSSxpQkFBaUI7R0FDcEI7RUFFRDtJQUNJLFdBQVc7SUFDWCxXQUFXO0dBQ2Q7RUFFRDtJQUNJLGdCQUFnQjtHQUNuQjtFQUVEO0lBQ0ksaUJBQWlCO0dBQ3BCO0VBRUQ7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixnQkFBZ0I7R0FDbkI7RUFFRDtJQUNJLGdCQUFnQjtJQUNoQixXQUFXO0dBQ2Q7RVloR0w7SUFRUSx1QkFBbUI7SUFBbkIsbUJBQW1CO0dBRzFCO0VBRUQ7SUFLUSxjQUFjO0lBQ2QsZ0JBQWdCO0dBRXZCO0VNSEQ7SUFVUSxrQjdDZmU7STZDZ0JmLGtCN0NaZTtHNkNjdEI7Q3JEKzJCQTs7QXdEM3pCRztFckNwRko7O0lBUVEsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixpQkFBaUI7R0FHeEI7RVlURDtJQU9JLGdCQUFnQjtHQUVuQjtDL0JzMkJBOztBb0I5eUJHO0VBSEo7SUFJUSxZQUFZO0lBQ1osV0FBVztHQUdsQjtDcEIrNEJBOztBdUM3N0JEO0VBQ0k7OztJQUdJLGNBQWM7R0FDakI7RUFFRDs7SUFFSSxlQUFlO0dBQ2xCO0VBRUQ7SUFDSSxVQUFVO0lBQ1YsOEJsQ3JDWTtHa0NzQ2Y7RUFFRDtJQUNJLGlCQUFpQjtHQUFHO0VBRXhCOzs7O0lBSUksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixtQkFBbUI7R0FDdEI7RUFFRDs7OztJQUlJLGVsQ3hEWTtHa0N5RGY7RUFFRDtJQUNJLGdCQUFnQjtHQUNuQjtFQUVEO0lBQ0ksbUJBQW1CO0dBQ3RCO0VBRUQ7SUFDSSx5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixlbEN2RVk7SWtDd0VaLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGFBQWE7SUFDYixhQUFhO0dBQ2hCO0VBRUQ7SUFDSSx5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixlbEN0Rlk7SWtDdUZaLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGFBQWE7SUFDYixhQUFhO0dBQ2hCO0VBRUQ7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBSW5CLDRDQUE0QztJQUM1QyxvQ0FBb0M7SUFDcEMsWUFBWTtJQUNaLFlBQVk7R0FDZjtFQUVEO0lBQ0ksVUFBVTtHQUNiO0VBRUQ7OztJQUdJLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixZQUFZO0dBQ2Y7Q3ZDa2pESjs7QXVEbnJERDtFQUNFOzs7SUFHRSxtQ0FBbUM7SUFDbkMsNEJBQTRCO0lBQzVCLHVCQUF1QjtJQUN2Qiw2QkFBNkI7R0FBRztFQUVsQzs7SUFFRSwyQkFBMkI7R0FBRztFQUVoQztJQUNFLDZCQUE0QjtHQUFHO0VBRWpDO0lBQ0UsOEJBQTZCO0dBQUc7RUFFbEM7OztJQUdFLFlBQVk7R0FBRztFQUVqQjtJQUNFLDRCQUE0QjtHQUFHO0VBRWpDOztJQUVFLHlCQUF5QjtHQUFHO0VBRTlCO0lBQ0UsMkJBQTJCO0dBQUc7RUFFaEM7SUFDRSxrQkFBa0I7R3ZEKzFFbkI7RXVEOTFFRDs7O0lBR0UsV0FBVztJQUNYLFVBQVU7R0FBRztFQUVmOztJQUVFLHVCQUF1QjtJQUN2Qix5QkFBeUI7R0FBRztFQUU5Qjs7SUFFRSxZQUFZO0dBQUc7RUFFakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBb0JFLHlCQUF5QjtHQUFHO0VBRTlCO0lBQ0UsbUJBQW1CO0lBQ25CLFlBQVk7R0FBRztFQUVqQjtJQUNFLFVBQVU7SUFDVixzQkFBc0I7SUFDdEIsZUFBZTtHQUFHO0VBRXBCO0lBQ0UsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixZQUFZO0dBQUc7RUFFakI7SUFDRSxpQkFBaUI7R0FBRztFQUV0Qjs7Ozs7O0lBTUUsV0FBVztJQUNYLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsVUFBVTtHQUFHO0VBRWY7SUFDRSx3QkFBd0I7SUFDeEIseUJBQXlCO0dBQUc7RUFFOUI7OztJQUdFLHlCQUF5QjtHQUFHO0VBRTlCOzs7SUFHRSx5QkFBeUI7R0FBRztDdkRpMkUvQiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAgICBUaGVtZSBOYW1lOiBPYnJhbCwgU2lsayBUaGVtZVxuICAgIFRoZW1lIFVSSTogaHR0cDovLzIxNmxhd3llcnMuY29tL1xuICAgIERlc2NyaXB0aW9uOiBBIHRoZW1lIGRldmVsb3BlZCBmb3IgT2JyYWwsIFNpbGsgJiBBc3NvY2lhdGVzLCBMTEMgbGF3IGZpcm0gd2Vic2l0ZS5cbiAgICBWZXJzaW9uOiAxLjAuMFxuICAgIFRleHQgRG9tYWluOiBvYnJhbC1zaWxrLXRoZW1lXG4gICAgXG4gICAgVGVtcGxhdGU6IGdlbmVzaXNcbiAgICBcbiAgICBMaWNlbnNlOiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcbiAgICBMaWNlbnNlIFVSSTogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAgICBUZXh0IERvbWFpbjogb2JyYWwtc2lsay10aGVtZVxuKi9cblxuQGltcG9ydCAnYm91cmJvbic7XG5AaW1wb3J0ICduZWF0JztcblxuQGltcG9ydCAndXRpbGl0aWVzL2luZGV4JztcblxuQGltcG9ydCAnYmFzZS9pbmRleCc7XG5AaW1wb3J0ICdsYXlvdXRzL2luZGV4JztcbkBpbXBvcnQgJ2NvbW1vbi1jbGFzc2VzL2luZGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5kZXgnO1xuQGltcG9ydCAncGx1Z2lucy9pbmRleCc7XG5AaW1wb3J0ICd0ZW1wbGF0ZXMvaW5kZXgnO1xuQGltcG9ydCAncHJpbnQtc3R5bGVzJztcblxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiAjIEhUTUw1IFJlc2V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiZmxvYXQtY2xlYXJpbmdcIjtcbiIsIi8qICMjIEJhc2VsaW5lIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiEgbm9ybWFsaXplLnNjc3MgdjAuMS4wIHwgTUlUIExpY2Vuc2UgfCBiYXNlZCBvbiBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9IiwiLyohXG4gICAgVGhlbWUgTmFtZTogT2JyYWwsIFNpbGsgVGhlbWVcbiAgICBUaGVtZSBVUkk6IGh0dHA6Ly8yMTZsYXd5ZXJzLmNvbS9cbiAgICBEZXNjcmlwdGlvbjogQSB0aGVtZSBkZXZlbG9wZWQgZm9yIE9icmFsLCBTaWxrICYgQXNzb2NpYXRlcywgTExDIGxhdyBmaXJtIHdlYnNpdGUuXG4gICAgVmVyc2lvbjogMS4wLjBcbiAgICBUZXh0IERvbWFpbjogb2JyYWwtc2lsay10aGVtZVxuICAgIFxuICAgIFRlbXBsYXRlOiBnZW5lc2lzXG4gICAgXG4gICAgTGljZW5zZTogVGhlIE1JVCBMaWNlbnNlIChNSVQpXG4gICAgTGljZW5zZSBVUkk6IGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gICAgVGV4dCBEb21haW46IG9icmFsLXNpbGstdGhlbWVcbiovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qICMgSFRNTDUgUmVzZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICMjIEJhc2VsaW5lIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiEgbm9ybWFsaXplLnNjc3MgdjAuMS4wIHwgTUlUIExpY2Vuc2UgfCBiYXNlZCBvbiBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiAjIyBCb3ggU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qICMjIEZsb2F0IENsZWFyaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hdXRob3ItYm94OmJlZm9yZSxcbi5jbGVhcmZpeDpiZWZvcmUsXG4uZW50cnk6YmVmb3JlLFxuLmVudHJ5LWNvbnRlbnQ6YmVmb3JlLFxuLmZvb3Rlci13aWRnZXRzOmJlZm9yZSxcbi5uYXYtcHJpbWFyeTpiZWZvcmUsXG4ubmF2LXNlY29uZGFyeTpiZWZvcmUsXG4ucGFnaW5hdGlvbjpiZWZvcmUsXG4ucm93OmJlZm9yZSxcbi5zaXRlLWNvbnRhaW5lcjpiZWZvcmUsXG4uc2l0ZS1mb290ZXI6YmVmb3JlLFxuLnNpdGUtaGVhZGVyOmJlZm9yZSxcbi5zaXRlLWlubmVyOmJlZm9yZSxcbi53cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmF1dGhvci1ib3g6YWZ0ZXIsXG4uY2xlYXJmaXg6YWZ0ZXIsXG4uZW50cnk6YWZ0ZXIsXG4uZW50cnktY29udGVudDphZnRlcixcbi5mb290ZXItd2lkZ2V0czphZnRlcixcbi5uYXYtcHJpbWFyeTphZnRlcixcbi5uYXYtc2Vjb25kYXJ5OmFmdGVyLFxuLnBhZ2luYXRpb246YWZ0ZXIsXG4ucm93OmFmdGVyLFxuLnNpdGUtY29udGFpbmVyOmFmdGVyLFxuLnNpdGUtZm9vdGVyOmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtaW5uZXI6YWZ0ZXIsXG4ud3JhcDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi8qICMgRGVmYXVsdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICMjIFR5cG9ncmFwaGljYWwgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8qIDEwcHggYnJvd3NlciBkZWZhdWx0ICovXG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmMmU1O1xuICBjb2xvcjogIzMwMTMwZTtcbiAgZm9udC1mYW1pbHk6IFwiQml0dGVyXCIsIEdlb3JnaWEsIHNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42MjU7XG4gIG1hcmdpbjogMDtcbn1cblxuYSxcbmJ1dHRvbixcbmlucHV0OmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG50ZXh0YXJlYTpmb2N1cyxcbi5idXR0b24sXG4uZ2FsbGVyeSBpbWcge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuYSB7XG4gIGNvbG9yOiAjZmY1MTI2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIsXG5hOmZvY3VzIHtcbiAgY29sb3I6ICNmZjc5NTg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucCB7XG4gIG1hcmdpbjogMCAwIDI4cHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzZmNjI2MDtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMWVtIDA7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5ibG9ja3F1b3RlLFxuY2l0ZSxcbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxub2wsXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbWFyZ2luOiAyOHB4IDA7XG59XG5cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW46IDA7XG59XG5cbmJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qICMjIEhlYWRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiAjMzAxMzBlO1xuICBmb250LWZhbWlseTogXCJMaWJyZSBCYXNrZXJ2aWxsZVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBHZW9yZ2lhLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDIuOHJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBmb250LXNpemU6IDQuNHJlbTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkxpYnJlIEJhc2tlcnZpbGxlXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIEdlb3JnaWEsIHNlcmlmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuaDMge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuLyogIyMgT2JqZWN0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5lbWJlZCxcbmlmcmFtZSxcbmltZyxcbm9iamVjdCxcbnZpZGVvLFxuLndwLWNhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmZlYXR1cmVkLWNvbnRlbnQgaW1nLFxuLmdhbGxlcnkgaW1nIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qICMjIEdhbGxlcnlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdhbGxlcnkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FsbGVyeS1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAwIDI4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogNTAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAzMyU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMjAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxNi42NjY2JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMTQuMjg1NyU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxMS4xMTExJTtcbn1cblxuLmdhbGxlcnkgaW1nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2I2ZDdkZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiA0cHg7XG59XG5cbi5nYWxsZXJ5IGltZzpob3Zlcixcbi5nYWxsZXJ5IGltZzpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjUxMjY7XG59XG5cbi8qICMjIEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmY2MjYwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjMzAxMzBlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY1MTI2O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwiaW1hZ2VcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICB3aWR0aDogYXV0bztcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2ZjYyNjA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNmY2MjYwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiAjIyBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUxMjY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAxMnB4IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5idXR0b246aG92ZXIsXG5pbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXQ6aG92ZXJbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSxcbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3OTU4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogIyMgVGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxudGJvZHkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZmNjI2MDtcbn1cblxudGQsXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2ZjYyNjA7XG4gIHBhZGRpbmc6IDZweCAwO1xufVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qICMjIFNjcmVlbiBSZWFkZXIgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2NyZWVuLXJlYWRlci10ZXh0LFxuLnNjcmVlbi1yZWFkZXItdGV4dCBzcGFuLFxuLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIGJvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyxcbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0OmZvY3VzLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4ubW9yZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiAjIFNraXAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nZW5lc2lzLXNraXAtbGluayB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmdlbmVzaXMtc2tpcC1saW5rIGxpIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogIyBTdHJ1Y3R1cmUgYW5kIExheW91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIyMgU2l0ZSBDb250YWluZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWlubmVyLFxuLndyYXAge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDIlO1xuICBwYWRkaW5nLXJpZ2h0OiAyJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5zaXRlLWlubmVyLFxuICAud3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnNpdGUtaW5uZXIge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLnNpdGUtaW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5cbi8qICMjIENvbHVtbiBXaWR0aHMgYW5kIFBvc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAjIyMgV3JhcHBpbmcgZGl2IGZvciAuY29udGVudCBhbmQgLnNpZGViYXItcHJpbWFyeSAqL1xuLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbi5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4uc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG59XG5cbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbi5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qICMjIyBDb250ZW50ICovXG4uY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRlbnQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNjYlO1xuICB9XG59XG5cbi5jb250ZW50LXNpZGViYXIgLmNvbnRlbnQsXG4uY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQsXG4uc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LFxuLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQsXG4gIC5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudCxcbiAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50IHtcbiAgICB3aWR0aDogNjYlO1xuICB9XG59XG5cbi5mdWxsLXdpZHRoLWNvbnRlbnQgLmNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogIyMjIFByaW1hcnkgU2lkZWJhciAqL1xuLnNpZGViYXItcHJpbWFyeSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2lkZWJhci1wcmltYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxufVxuXG4uc2lkZWJhci1jb250ZW50IC5zaWRlYmFyLXByaW1hcnksXG4uc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLnNpZGViYXItcHJpbWFyeSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiAjIyMgU2Vjb25kYXJ5IFNpZGViYXIgKi9cbi5zaWRlYmFyLXNlY29uZGFyeSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5zaWRlYmFyLXNlY29uZGFyeSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2JTtcbiAgfVxufVxuXG4uY29udGVudC1zaWRlYmFyLXNpZGViYXIgLnNpZGViYXItc2Vjb25kYXJ5IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiAjIyBDb2x1bW4gQ2xhc3Nlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZml2ZS1zaXh0aHMsXG4uZm91ci1zaXh0aHMsXG4ub25lLWZvdXJ0aCxcbi5vbmUtaGFsZixcbi5vbmUtc2l4dGgsXG4ub25lLXRoaXJkLFxuLnRocmVlLWZvdXJ0aHMsXG4udGhyZWUtc2l4dGhzLFxuLnR3by1mb3VydGhzLFxuLnR3by1zaXh0aHMsXG4udHdvLXRoaXJkcyxcbi5mb290ZXItd2lkZ2V0cy0xLFxuLmZvb3Rlci13aWRnZXRzLTIsXG4uZm9vdGVyLXdpZGdldHMtMyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5maXZlLXNpeHRocyxcbiAgLmZvdXItc2l4dGhzLFxuICAub25lLWZvdXJ0aCxcbiAgLm9uZS1oYWxmLFxuICAub25lLXNpeHRoLFxuICAub25lLXRoaXJkLFxuICAudGhyZWUtZm91cnRocyxcbiAgLnRocmVlLXNpeHRocyxcbiAgLnR3by1mb3VydGhzLFxuICAudHdvLXNpeHRocyxcbiAgLnR3by10aGlyZHMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAyLjU2NDElO1xuICB9XG4gIC5vbmUtaGFsZixcbiAgLnRocmVlLXNpeHRocyxcbiAgLnR3by1mb3VydGhzIHtcbiAgICB3aWR0aDogNDguNzE3OTUlO1xuICB9XG4gIC5vbmUtdGhpcmQsXG4gIC50d28tc2l4dGhzIHtcbiAgICB3aWR0aDogMzEuNjIzOTMlO1xuICB9XG4gIC5mb3VyLXNpeHRocyxcbiAgLnR3by10aGlyZHMge1xuICAgIHdpZHRoOiA2NS44MTE5NyU7XG4gIH1cbiAgLm9uZS1mb3VydGgge1xuICAgIHdpZHRoOiAyMy4wNzY5MiU7XG4gIH1cbiAgLnRocmVlLWZvdXJ0aHMge1xuICAgIHdpZHRoOiA3NC4zNTg5NyU7XG4gIH1cbiAgLm9uZS1zaXh0aCB7XG4gICAgd2lkdGg6IDE0LjUyOTkxJTtcbiAgfVxuICAuZml2ZS1zaXh0aHMge1xuICAgIHdpZHRoOiA4Mi45MDU5OCU7XG4gIH1cbiAgLmZpcnN0IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vKiAjIENvbW1vbiBDbGFzc2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAjIyBBdmF0YXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmF2YXRhciB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uYWxpZ25sZWZ0IC5hdmF0YXIsXG4uYXV0aG9yLWJveCAuYXZhdGFyIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xufVxuXG4uYWxpZ25yaWdodCAuYXZhdGFyIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5jb21tZW50IC5hdmF0YXIge1xuICBtYXJnaW46IDAgMTZweCAyNHB4IDA7XG59XG5cbi8qICMjIEdlbmVzaXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFyY2hpdmUtZGVzY3JpcHRpb24sXG4uYXV0aG9yLWJveCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5hdXRob3ItYm94LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uYXJjaGl2ZS1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSxcbi5hdXRob3ItYm94IHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogIyMgU2VhcmNoIEZvcm1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlYXJjaC1mb3JtIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgLnNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4vKiAjIyBUaXRsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFyY2hpdmUtdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYXJjaGl2ZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGZvbnQtc2l6ZTogNC40cmVtO1xuICB9XG59XG5cbi5lbnRyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zaXplOiAyLjhyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5lbnRyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGZvbnQtc2l6ZTogNC40cmVtO1xuICB9XG59XG5cbmgxOjphZnRlcixcbi5ob21lcGFnZSBoMjo6YWZ0ZXIsXG4uaG9tZXBhZ2UgaDM6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTEyNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW46IDEwcHggMCAyMHB4O1xufVxuXG5oMi5lbnRyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIGgyLmVudHJ5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbi5lbnRyeS10aXRsZSBhLFxuLnNpZGViYXIgLndpZGdldC10aXRsZSBhIHtcbiAgY29sb3I6ICNmZjUxMjY7XG59XG5cbi5lbnRyeS10aXRsZSBhOmhvdmVyLFxuLmVudHJ5LXRpdGxlIGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmNzk1ODtcbn1cblxuLndpZGdldC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5mb290ZXItd2lkZ2V0cyAud2lkZ2V0LXRpdGxlIHtcbiAgY29sb3I6ICNmZGYyZTU7XG59XG5cbi8qICMjIFdvcmRQcmVzc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5hLmFsaWduY2VudGVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuYS5hbGlnbm5vbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5hLmFsaWdubGVmdCxcbmEuYWxpZ25ub25lLFxuYS5hbGlnbnJpZ2h0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcuY2VudGVyZWQsXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gMjRweDtcbn1cblxuaW1nLmFsaWdubm9uZSxcbi5hbGlnbm5vbmUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG5hLmFsaWdubGVmdCxcbmltZy5hbGlnbmxlZnQsXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW46IDAgMjRweCAyNHB4IDA7XG59XG5cbmEuYWxpZ25yaWdodCxcbmltZy5hbGlnbnJpZ2h0LFxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogMCAwIDI0cHggMjRweDtcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmVudHJ5LWNvbnRlbnQgcC53cC1jYXB0aW9uLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktY29udGVudCAud3AtYXVkaW8tc2hvcnRjb2RlLFxuLmVudHJ5LWNvbnRlbnQgLndwLXBsYXlsaXN0LFxuLmVudHJ5LWNvbnRlbnQgLndwLXZpZGVvIHtcbiAgbWFyZ2luOiAwIDAgMjhweDtcbn1cblxuLyogIyBXaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0IHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ud2lkZ2V0IG9sID4gbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0ZXh0LWluZGVudDogLTIwcHg7XG59XG5cbi53aWRnZXQgbGkgbGkge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogIyBTaWRlYmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpZGViYXIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4uc2lkZWJhciBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzZmNjI2MDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xufVxuXG4uc2lkZWJhciBwOmxhc3QtY2hpbGQsXG4uc2lkZWJhciB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2lkZWJhciAud2lkZ2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZWJlZTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi8qICMgU2l0ZSBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDEzMGU7XG59XG5cbi5zaXRlLWhlYWRlciAud3JhcCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTRweCAyJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5zaXRlLWhlYWRlciAud3JhcCB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICB9XG59XG5cbi8qICMjIFRpdGxlIEFyZWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRpdGxlLWFyZWEge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgd2lkdGg6IDUwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50aXRsZS1hcmVhIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5zaXRlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGlicmUgQmFza2VydmlsbGVcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgR2VvcmdpYSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnNpdGUtdGl0bGUgYSxcbi5zaXRlLXRpdGxlIGE6aG92ZXIsXG4uc2l0ZS10aXRsZSBhOmZvY3VzIHtcbiAgY29sb3I6ICMzMDEzMGU7XG59XG5cbi5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUgPiBhIHtcbiAgYmFja2dyb3VuZDogdXJsKC4vYXNzZXRzL2ltYWdlcy9sb2dvLnBuZykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgfVxufVxuXG4uc2l0ZS1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjYjZkN2RlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2l0ZS1kZXNjcmlwdGlvbixcbi5zaXRlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmhlYWRlci1pbWFnZSAuc2l0ZS1kZXNjcmlwdGlvbixcbi5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8qICMjIFdpZGdldCBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciAud2lkZ2V0LWFyZWEge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogNTAlO1xufVxuXG4ucGhvbmUtY3RhLFxuLnBob25lLW51bSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGhvbmUtY3RhIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLnBob25lLWN0YSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5waG9uZS1udW0ge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5waG9uZS1udW0ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgfVxufVxuXG4vKiAjIFNpdGUgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdlbmVzaXMtbmF2LW1lbnUge1xuICBjbGVhcjogYm90aDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE3cHggMjRweDtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IGE6aG92ZXIsXG4uZ2VuZXNpcy1uYXYtbWVudSBhOmZvY3VzLFxuLmdlbmVzaXMtbmF2LW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmNTEyNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDEzMGU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmY2MjYwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSB7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICB6LWluZGV4OiA5OTtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgICBtYXJnaW46IC0zNHB4IDAgMCAyMDBweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUgLm1lbnUtaXRlbTpob3ZlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtOmhvdmVyID4gLnN1Yi1tZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUgPiAuZmlyc3QgPiBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUgPiAubGFzdCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUgPiAucmlnaHQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51ID4gLnJpZ2h0ID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLyogIyMgQWNjZXNzaWJsZSBNZW51XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZW51IC5tZW51LWl0ZW06Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ubWVudSAubWVudS1pdGVtID4gYTpmb2N1cyArIHVsLnN1Yi1tZW51LFxuLm1lbnUgLm1lbnUtaXRlbS5zZkhvdmVyID4gdWwuc3ViLW1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiAjIyBTaXRlIEhlYWRlciBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciAuc3ViLW1lbnUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzZmNjI2MDtcbn1cblxuLnNpdGUtaGVhZGVyIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtNTZweDtcbn1cblxuLnNpdGUtaGVhZGVyIC5nZW5lc2lzLW5hdi1tZW51IGxpIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qICMjIFByaW1hcnkgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubmF2LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZkN2RlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IGEge1xuICBjb2xvcjogIzMwMTMwZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYTpob3Zlcixcbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSBhOmZvY3VzLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICBjb2xvcjogI2ZmNTEyNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhOmhvdmVyLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhOmZvY3VzLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgY29sb3I6ICNmZjUxMjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogIyMgU2Vjb25kYXJ5IE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5hdi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlYmVlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uYXYtc2Vjb25kYXJ5IC5nZW5lc2lzLW5hdi1tZW51IGEge1xuICBwYWRkaW5nOiAxMnB4IDI0cHg7XG59XG5cbi5uYXYtc2Vjb25kYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgcGFkZGluZzogMTBweCAyNHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIE1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnJlc3BvbnNpdmUtbWVudS1pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmVzcG9uc2l2ZS1tZW51LWljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICBjb250ZW50OiBcIlxcZjBjOVwiO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGNvbG9yOiAjMzAxMzBlO1xufVxuXG4ucmVzcG9uc2l2ZS1tZW51LWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIk1FTlVcIjtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgY29sb3I6ICMzMDEzMGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNHB4O1xufVxuXG4vKiAjIFJlc3BvbnNpdmUgTWVudSBNZWRpYSBRdWVyeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSA+IC5tZW51LWl0ZW0gPiAuc3ViLW1lbnUsXG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSxcbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAubWVudS1pdGVtLFxuICAucmVzcG9uc2l2ZS1tZW51LWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAubWVudS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMDEzMGU7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW06aG92ZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3ZlcixcbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IGEsXG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgfVxuICAubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4gIC5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIsXG4gIC5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgYSxcbiAgLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzMwMTMwZTtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMzAxMzBlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNDZweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LW9wZW4ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICBjb250ZW50OiBcIlxcZjEwNlwiO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMzMDEzMGU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA0NnB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbGVmdDogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3ZlcixcbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSBsaSBhLFxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyogIyMgUGFnaW5hdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFnaW5hdGlvbiB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDQwcHggMDtcbn1cblxuLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MTI2O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhOmhvdmVyLFxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhOmZvY3VzLFxuLmFyY2hpdmUtcGFnaW5hdGlvbiAuYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3OTU4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qICMgQ29udGVudCBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAjIyBFbnRyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeSB7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmVudHJ5IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbi5jb250ZW50IC5lbnRyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGYyZTU7XG59XG5cbi5lbnRyeS1jb250ZW50IG9sLFxuLmVudHJ5LWNvbnRlbnQgdWwge1xuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wgPiBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgdWwgPiBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wgb2wsXG4uZW50cnktY29udGVudCB1bCB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbnRyeS1jb250ZW50IGNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBjb2xvcjogI2RkZDtcbn1cblxuLyogIyMgRW50cnkgTWV0YVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5wLmVudHJ5LW1ldGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktaGVhZGVyIC5lbnRyeS1tZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmVudHJ5LWZvb3RlciAuZW50cnktbWV0YSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNmY2MjYwO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbn1cblxuLmVudHJ5LWNhdGVnb3JpZXMsXG4uZW50cnktdGFncyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZW50cnktY29tbWVudHMtbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTRcIjtcbiAgbWFyZ2luOiAwIDZweCAwIDJweDtcbn1cblxuLyogIyMgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbW1lbnQtcmVzcG9uZCxcbi5lbnRyeS1jb21tZW50cyxcbi5lbnRyeS1waW5ncyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50LXJlc3BvbmQsXG4gIC5lbnRyeS1waW5ncyB7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDE2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmVudHJ5LWNvbW1lbnRzIHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICB9XG59XG5cbi5jb21tZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbmxpLmNvbW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNmY2MjYwO1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG5cbi5jb21tZW50LWNvbnRlbnQge1xuICBjbGVhcjogYm90aDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uY29tbWVudC1saXN0IGxpIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgcGFkZGluZzogMzJweDtcbn1cblxuLmNvbW1lbnQtbGlzdCBsaSBsaSB7XG4gIG1hcmdpbi1yaWdodDogLTMycHg7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4uZW50cnktY29tbWVudHMgLmNvbW1lbnQtYXV0aG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LXBpbmdzIC5yZXBseSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3JtLWFsbG93ZWQtdGFncyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi8qICMgRXh0cmEgRm9vdGVyIGFuZCBCYWRnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iYWRnZS13cmFwIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYmFkZ2Utd3JhcCB7XG4gICAgZmxleC13cmFwOiBuby13cmFwO1xuICB9XG59XG5cbi5iYWRnZS1pbWcge1xuICBwYWRkaW5nOiA1cHg7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJhZGdlLWltZyB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLmJhZGdlLWltZyBpbWc6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi5leHRyYS1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjZGFlYmVlO1xuICBjb2xvcjogIzMwMTMwZTtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuXG4uZXh0cmEtZm9vdGVyIGgyLFxuLmV4dHJhLWZvb3RlciBoMyxcbi5leHRyYS1mb290ZXIgaDQsXG4uZXh0cmEtZm9vdGVyIGg1LFxuLmV4dHJhLWZvb3RlciBoNiB7XG4gIGNvbG9yOiAjMzAxMzBlO1xufVxuXG4vKiAjIEZvb3RlciBXaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZm9vdGVyLXdpZGdldHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAxMzBlO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgI2I2ZDdkZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGxpbmUtaGVpZ2h0OiAyLjQ7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXItd2lkZ2V0cyB7XG4gIGNvbG9yOiAjZmRmMmU1O1xufVxuXG4uZm9vdGVyLXdpZGdldHMgYSB7XG4gIGNvbG9yOiAjZmY1MTI2O1xufVxuXG4uZm9vdGVyLXdpZGdldHMgYTpob3Zlcixcbi5mb290ZXItd2lkZ2V0cyBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZjc5NTg7XG59XG5cbi5mb290ZXItd2lkZ2V0cyAud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmZvb3Rlci13aWRnZXRzIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mb290ZXItd2lkZ2V0cy0xIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG4uZm9vdGVyLXdpZGdldHMtMSxcbi5mb290ZXItd2lkZ2V0cy0yLFxuLmZvb3Rlci13aWRnZXRzLTMsXG4uZm9vdGVyLXdpZGdldHMtNCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGNvbHVtbl9tYXJnaW5fbGVmdDtcbiAgICB3aWR0aDogJGZvb3Rlcl9jb2x1bW5fd2lkdGg7XG4gICAgXG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuKi9cbi8qICMgU2l0ZSBGb290ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDEzMGU7XG4gIGNvbG9yOiAjZmRmMmU1O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBwYWRkaW5nOiAxNDBweCAwIDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuICBjb2xvcjogI2ZkZjJlNTtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuICBjb2xvcjogI2ZkZjJlNTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zaXRlLWZvb3RlciBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogIyBQbHVnaW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAjIyBDb250YWN0IEZvcm0gNyBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZGl2LndwY2Y3IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5kaXYud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgbWFyZ2luOiAyZW0gMC41ZW0gMWVtO1xuICBwYWRkaW5nOiAwLjJlbSAxZW07XG59XG5cbmRpdi53cGNmNyAuc2NyZWVuLXJlYWRlci1yZXNwb25zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmRpdi53cGNmNy1tYWlsLXNlbnQtb2sge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzk4ZjE0O1xufVxuXG5kaXYud3BjZjctbWFpbC1zZW50LW5nIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDtcbn1cblxuZGl2LndwY2Y3LXNwYW0tYmxvY2tlZCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmE1MDA7XG59XG5cbmRpdi53cGNmNy12YWxpZGF0aW9uLWVycm9ycyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmN2U3MDA7XG59XG5cbnNwYW4ud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbnNwYW4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gIGNvbG9yOiAjZjAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51c2UtZmxvYXRpbmctdmFsaWRhdGlvbi10aXAgc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwJTtcbiAgbGVmdDogMjAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjAwMDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IC4yZW0gLjhlbTtcbn1cblxuc3Bhbi53cGNmNy1saXN0LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi53cGNmNy1kaXNwbGF5LW5vbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5kaXYud3BjZjcgaW1nLmFqYXgtbG9hZGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG5kaXYud3BjZjcgZGl2LmFqYXgtZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5kaXYud3BjZjcgLnBsYWNlaGVsZCB7XG4gIGNvbG9yOiAjODg4O1xufVxuXG4vKiAjIEV4dHJhIFRlbXBsYXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIyMjIEZ1bGwgV2lkdGggQ29udGVudCAqL1xuLmZ1bGwgLnNpdGUtaW5uZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5mdWxsIC5lbnRyeSB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5mdWxsIGgxOjphZnRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaGVhZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVybyB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgcGFkZGluZzogNjBweCAycHg7XG4gIH1cbn1cblxuLmNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBGbGV4IExheW91dCAqL1xuLnN0cmlwZSB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5zdHJpcGUge1xuICAgIHBhZGRpbmc6IDQwcHggMjhweDtcbiAgfVxufVxuXG4uZmxleC1wbGFpbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLyogRm9vdGVyIFNvY2lhbCAqL1xuLmZvb3Rlci1zb2NpYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAxMzBlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXItc29jaWFsIGEge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDZweCAxMnB4O1xufVxuXG4vKiBIb21lIFBhZ2UgU3R5bGVzICovXG4uaG9tZXBhZ2UgLnNpdGUtaW5uZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5ob21lcGFnZSAuZW50cnkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaG9tZXBhZ2UgLmV4dHJhLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG5cbi5za2lubnkge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA3MjBweDtcbn1cblxuLmhvbWUtaGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vYXNzZXRzL2ltYWdlcy9jbGV2ZWxhbmQtYmFja2dyb3VuZC1zbWFsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNiNmQ3ZGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5ob21lLWhlcm8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vYXNzZXRzL2ltYWdlcy9jbGV2ZWxhbmQtYmFja2dyb3VuZC5qcGdcIik7XG4gIH1cbn1cblxuLmhvbWUtaGVybyAuZmEtYW5nbGUtZG93biB7XG4gIGNvbG9yOiAjZmY1MTI2O1xuICBmb250LXNpemU6IDE0MHB4O1xuICBmb250LXNpemU6IDE0cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDAuODtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmlnLXRhZ2xpbmUsXG4uYmlnLWRlc2Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uYmlnLXRhZ2xpbmUge1xuICBmb250LWZhbWlseTogXCJMaWJyZSBCYXNrZXJ2aWxsZVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBHZW9yZ2lhLCBzZXJpZjtcbiAgbWFyZ2luLXRvcDogNTZweDtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBmb250LXNpemU6IDMuNHJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmJpZy10YWdsaW5lIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG59XG5cbi5iaWctZGVzYyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYmlnLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxufVxuXG4uaG9tZS1hYm91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE4LCAyMzUsIDIzOCwgMC44KTtcbiAgbWFyZ2luOiA2MHB4IGF1dG87XG4gIHBhZGRpbmc6IDIwcHggMjBweCAwO1xufVxuXG4uaG9tZS1hYm91dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ob21lcGFnZSAuc2VydmljZXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZXJ2LWNpcmMtd3JhcCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMjRweCAwIDgwcHg7XG59XG5cbi5zZXJ2LWNpcmMtY29udGFpbiBoMyB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAxMXB4O1xufVxuXG4uaG9tZXBhZ2UgLnNlcnZpY2VzIGgyOmFmdGVyLFxuLnNlcnYtY2lyYy1jb250YWluIGgzOmFmdGVyIHtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbn1cblxuLnNlcnYtY2lyYy1jb250YWluIHtcbiAgcGFkZGluZzogMTZweDtcbn1cblxuLnNlcnYtY2lyYy1jb250YWluIGEsXG4uc2Vydi1jaXJjLWNvbnRhaW4gYTp2aXNpdGVkLFxuLnNlcnYtY2lyYy1jb250YWluIGE6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDI2OHB4O1xuICB3aWR0aDogMjY4cHg7XG59XG5cbi5zZXJ2LWNpcmMtY29udGFpbiBhIHtcbiAgYm9yZGVyOiA2cHggc29saWQgI2I2ZDdkZTtcbn1cblxuLnNlcnYtY2lyYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTcpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMjU2cHg7XG4gIHdpZHRoOiAyNTZweDtcbn1cblxuLnNlcnYtY2lyYyxcbi5zZXJ2LWNpcmMtY29udGFpbiBhIHtcbiAgdHJhbnNpdGlvbjogYWxsIDFzO1xufVxuXG4uc2Vydi1jaXJjLWNvbnRhaW4gYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNTEyNjtcbn1cblxuLnNlcnYtY2lyYy1jb250YWluIGE6aG92ZXIgaDMge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNlcnYtY2lyYy1jb250YWluIGE6aG92ZXIgLnNlcnYtY2lyYyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLmhvbWVwYWdlIC50ZXN0aW1vbmlhbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vYXNzZXRzL2ltYWdlcy9yZXZpZXctcGVvcGxlLWJnLXNtYWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogODYlIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNiNmQ3ZGU7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjYjZkN2RlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5ob21lcGFnZSAudGVzdGltb25pYWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vYXNzZXRzL2ltYWdlcy9yZXZpZXctcGVvcGxlLWJnLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuLmhvbWVwYWdlIC50ZXN0aW1vbmlhbCAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgyLCAyMTUsIDIyMiwgMC42NSk7XG4gIHBhZGRpbmc6IDgwcHggMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5ob21lcGFnZSAudGVzdGltb25pYWwgLm92ZXJsYXkge1xuICAgIHBhZGRpbmc6IDE2MHB4IDA7XG4gIH1cbn1cblxuLmhvbWVwYWdlIC5iaWctdGVzdGltb25pYWwge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1heC13aWR0aDogOTgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaG9tZXBhZ2UgLmJpZy10ZXN0aW1vbmlhbCB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICB9XG59XG5cbi5ob21lcGFnZSAudGVzdGltb25pYWwtYXV0aG9yIHtcbiAgZm9udC1zdHlsZTogaW5pdGlhbDtcbn1cblxuLyogIyBQcmludCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gIC5zaXRlLXRpdGxlID4gYTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIGltZyxcbiAgdHIge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDJjbSAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGJsb2NrcXVvdGUsXG4gIHByZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgLmNvbnRlbnQsXG4gIC5jb250ZW50LXNpZGViYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEsXG4gIC5icmVhZGNydW1iLFxuICAuY29tbWVudC1lZGl0LWxpbmssXG4gIC5jb21tZW50LWZvcm0sXG4gIC5jb21tZW50LWxpc3QgLnJlcGx5IGEsXG4gIC5jb21tZW50LXJlcGx5LXRpdGxlLFxuICAuZWRpdC1saW5rLFxuICAuZW50cnktY29tbWVudHMtbGluayxcbiAgLmVudHJ5LWZvb3RlcixcbiAgLmdlbmVzaXMtYm94LFxuICAuaGVhZGVyLXdpZGdldC1hcmVhLFxuICAuaGlkZGVuLXByaW50LFxuICAuaG9tZS10b3AsXG4gIC5uYXYtcHJpbWFyeSxcbiAgLm5hdi1zZWNvbmRhcnksXG4gIC5wb3N0LWVkaXQtbGluayxcbiAgLnNpZGViYXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudGl0bGUtYXJlYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zaXRlLXRpdGxlID4gYSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgfVxuICAuc2l0ZS1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEwMHB4O1xuICB9XG4gIC5hdXRob3ItYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIHdpZG93czogMztcbiAgfVxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBibG9ja3F1b3RlLFxuICBwcmUsXG4gIHRhYmxlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgZGwsXG4gIG9sLFxuICB1bCB7XG4gICAgcGFnZS1icmVhay1iZWZvcmU6IGF2b2lkO1xuICB9XG59XG4iLCIvKiAjIyBCb3ggU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuIiwiLyogIyMgRmxvYXQgQ2xlYXJpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmF1dGhvci1ib3g6YmVmb3JlLFxuLmNsZWFyZml4OmJlZm9yZSxcbi5lbnRyeTpiZWZvcmUsXG4uZW50cnktY29udGVudDpiZWZvcmUsXG4uZm9vdGVyLXdpZGdldHM6YmVmb3JlLFxuLm5hdi1wcmltYXJ5OmJlZm9yZSxcbi5uYXYtc2Vjb25kYXJ5OmJlZm9yZSxcbi5wYWdpbmF0aW9uOmJlZm9yZSxcbi5yb3c6YmVmb3JlLFxuLnNpdGUtY29udGFpbmVyOmJlZm9yZSxcbi5zaXRlLWZvb3RlcjpiZWZvcmUsXG4uc2l0ZS1oZWFkZXI6YmVmb3JlLFxuLnNpdGUtaW5uZXI6YmVmb3JlLFxuLndyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5hdXRob3ItYm94OmFmdGVyLFxuLmNsZWFyZml4OmFmdGVyLFxuLmVudHJ5OmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uZm9vdGVyLXdpZGdldHM6YWZ0ZXIsXG4ubmF2LXByaW1hcnk6YWZ0ZXIsXG4ubmF2LXNlY29uZGFyeTphZnRlcixcbi5wYWdpbmF0aW9uOmFmdGVyLFxuLnJvdzphZnRlcixcbi5zaXRlLWNvbnRhaW5lcjphZnRlcixcbi5zaXRlLWZvb3RlcjphZnRlcixcbi5zaXRlLWhlYWRlcjphZnRlcixcbi5zaXRlLWlubmVyOmFmdGVyLFxuLndyYXA6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG4iLCIvKiAjIERlZmF1bHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJkZWZhdWx0c1wiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9hbmltYXRlL2luZGV4XCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJibG9ja3F1b3RlXCI7XG5AaW1wb3J0IFwiaGVhZGluZ3NcIjtcbkBpbXBvcnQgXCJvYmplY3RzXCI7XG5AaW1wb3J0IFwiZ2FsbGVyeVwiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImFjY2Vzc2liaWxpdHlcIjsiLCIvKiAjIyBUeXBvZ3JhcGhpY2FsIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xuICAvKiAxMHB4IGJyb3dzZXIgZGVmYXVsdCAqLyBcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5X2JnX2NvbG9yO1xuICBjb2xvcjogJGZvbnRfY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZV9mb250O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhc2VfZm9udF9zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYXNlX2ZvbnRfd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGJhc2VfbGluZV9oZWlnaHQ7XG4gIG1hcmdpbjogMDsgXG59XG5cbmEsXG5idXR0b24sXG5pbnB1dDpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxudGV4dGFyZWE6Zm9jdXMsXG4uYnV0dG9uLFxuLmdhbGxlcnkgaW1nIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7IFxufVxuXG5hIHtcbiAgY29sb3I6ICRhY2NlbnRfY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG59XG5cbmE6aG92ZXIsXG5hOmZvY3VzIHtcbiAgY29sb3I6ICRhY2NlbnRfbGlnaHRfY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoX21hcmdpbjtcbiAgcGFkZGluZzogMDsgXG59XG5cbmhyIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHN1YnRsZV9jb2xvcjtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMWVtIDA7IFxufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRib2xkX2ZvbnRfd2VpZ2h0OyBcbn1cblxuYmxvY2txdW90ZSxcbmNpdGUsXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IFxufVxuIiwiXG4vLyBJbml0aWFsIENvbG9yc1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuXG4vLyBNYWluIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kbWFpbl9jb2xvcjogIzMwMTMwZTtcbiRzZWNvbmRhcnlfY29sb3I6ICNkYWViZWU7XG4kYWx0ZXJuYXRlX2NvbG9yOiAjYjZkN2RlO1xuJGFjY2VudF9jb2xvcjogI2ZmNTEyNjtcbiRhY2NlbnRfbGlnaHRfY29sb3I6ICNmZjc5NTg7XG4kc3VidGxlX2NvbG9yOiAjNmY2MjYwO1xuXG4vLyBCRyBDb2xvcnNcbiRoZWFkZXJfYmdfY29sb3I6ICRtYWluX2NvbG9yO1xuJGJvZHlfYmdfY29sb3I6ICNmZGYyZTU7XG4kZW50cnlfYmdfY29sb3I6ICNmZGYyZTU7XG5cbi8vIFRleHQgQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRmb250X2NvbG9yOiAkbWFpbl9jb2xvcjtcbiR0aXRsZV9jb2xvcjogJG1haW5fY29sb3I7XG5cbi8vIENvbnRlbnQgQ29sb3JzXG4kY29udGVudF9saW5rc19jb2xvcjogJGFjY2VudF9jb2xvcjtcbiRjb250ZW50X2xpbmtzX2hvdmVyX2NvbG9yOiAkYWNjZW50X2xpZ2h0X2NvbG9yO1xuXG4kY29udGVudF9mb250X2NvbG9yOiAkZm9udF9jb2xvcjtcbiRjb250ZW50X3RpdGxlX2NvbG9yOiAkdGl0bGVfY29sb3I7XG5cbi8vIEJ1dHRvbiBDb2xvcnNcbiRidXR0b25fdGV4dF9jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbl90ZXh0X2hvdmVyX2NvbG9yOiAkd2hpdGU7XG4kYnV0dG9uX2JnX2NvbG9yOiAkYWNjZW50X2NvbG9yO1xuJGJ1dHRvbl9iZ19ob3Zlcl9jb2xvcjogJGFjY2VudF9saWdodF9jb2xvcjtcblxuLy8gTmF2IENvbG9yc1xuJG5hdl9iZ19jb2xvcjogJG1haW5fY29sb3I7XG4kbmF2X2xpbmtfY29sb3I6ICR3aGl0ZTtcbiRuYXZfaG92ZXJfY29sb3I6ICRhY2NlbnRfY29sb3I7XG5cbiRwcmltYXJ5bmF2X2JnX2NvbG9yOiAkYWx0ZXJuYXRlX2NvbG9yO1xuJHByaW1hcnluYXZfbGlua19jb2xvcjogJG1haW5fY29sb3I7XG4kcHJpbWFyeW5hdl9ob3Zlcl9jb2xvcjogJGFjY2VudF9jb2xvcjtcblxuJHNlY29uZGFyeW5hdl9iZ19jb2xvcjogJHNlY29uZGFyeV9jb2xvcjtcbiRzZWNvbmRhcnluYXZfbGlua19jb2xvcjogJG1haW5fY29sb3I7XG4kc2Vjb25kYXJ5bmF2X2hvdmVyX2NvbG9yOiAkYWNjZW50X2NvbG9yO1xuXG4vLyBGb290ZXIgQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRleHRyYWZvb3Rlcl9iZ19jb2xvcjogJHNlY29uZGFyeV9jb2xvcjtcbiRleHRyYWZvb3Rlcl90ZXh0X2NvbG9yOiAkbWFpbl9jb2xvcjtcblxuJGZvb3RlcndpZGdldHNfYmdfY29sb3I6ICRtYWluX2NvbG9yO1xuJGZvb3RlcndpZGdldHNfdGV4dF9jb2xvcjogI2ZkZjJlNTtcbiRmb290ZXJ3aWRnZXRzX3RpdGxlX2NvbG9yOiAkZm9vdGVyd2lkZ2V0c190ZXh0X2NvbG9yO1xuJGZvb3RlcndpZGdldHNfbGlua19jb2xvcjogJGFjY2VudF9jb2xvcjtcbiRmb290ZXJ3aWRnZXRzX2hvdmVyX2NvbG9yOiAkYWNjZW50X2xpZ2h0X2NvbG9yO1xuXG4kc2l0ZWZvb3Rlcl9iZ19jb2xvcjogJG1haW5fY29sb3I7XG4kc2l0ZWZvb3Rlcl90ZXh0X2NvbG9yOiAjZmRmMmU1O1xuJHNpdGVmb290ZXJfbGlua19jb2xvcjogI2ZkZjJlNTtcbiRzaXRlZm9vdGVyX2hvdmVyX2NvbG9yOiAjZmRmMmU1O1xuXG5cblxuIiwiXG4vLyBCYXNlIFR5cG9ncmFwaHlcbiRiYXNlX2ZvbnQ6ICdCaXR0ZXInLCBHZW9yZ2lhLCBzZXJpZjtcbiRiYXNlX2ZvbnRfc2l6ZTogMTY7XG4kYmFzZV9mb250X3dlaWdodDogNDAwO1xuJGJhc2VfbGluZV9oZWlnaHQ6IDEuNjI1O1xuXG4kYm9sZF9mb250X3dlaWdodDogNzAwO1xuXG5cbi8vIFRpdGxlc1xuJHRpdGxlX2ZvbnQ6ICdMaWJyZSBCYXNrZXJ2aWxsZScsICdUaW1lcyBOZXcgUm9tYW4nLCBHZW9yZ2lhLCBzZXJpZjtcbiR0aXRsZV93ZWlnaHQ6IDcwMDtcbiR0aXRsZV90ZXh0X3RyYW5zZm9ybTogaW5pdGlhbDtcblxuJHdpZGdldF90aXRsZV9zaXplOiAxODtcblxuJGgxX2ZvbnRfc2l6ZTogMjg7XG4kaDFfbGFyZ2VfZm9udF9zaXplOiA0NDtcblxuJGgyX2ZvbnRfc2l6ZTogMjQ7XG4kaDJfbGFyZ2VfZm9udF9zaXplOiAzMDtcbiRoMl9mb250OiAnTGlicmUgQmFza2VydmlsbGUnLCAnVGltZXMgTmV3IFJvbWFuJywgR2VvcmdpYSwgc2VyaWY7XG4kaDJfZm9udF93ZWlnaHQ6IDIwMDtcbiRoMl90ZXh0X3RyYW5zZm9ybTogbm9uZTtcblxuJGgzX2ZvbnRfc2l6ZTogMjI7XG5cbiRoNF9mb250X3NpemU6IDIwO1xuXG4kaDVfZm9udF9zaXplOiAxODtcblxuJGg2X2ZvbnRfc2l6ZTogMTY7XG5cbi8vIENvbnRlbnQgSXRlbXNcbiRzaWRlYmFyX2ZvbnRfc2l6ZTogMTQ7XG5cbiRjYXB0aW9uX2ZvbnRfc2l6ZTogMTQ7XG4kY2FwdGlvbl9mb250X3dlaWdodDogJGJhc2VfZm9udF93ZWlnaHQ7XG5cbiRtZXRhX2ZvbnRfc2l6ZTogMTQ7XG5cbiRibG9ja3F1b3RlX2ZvbnRfc2l6ZTogMjA7XG4kYmxvY2txdW90ZV9mb250X3dlaWdodDogMzAwO1xuXG5cbi8vIE5hdmlnYXRpb25cbiRuYXZfZm9udDogJGJhc2VfZm9udDtcbiRuYXZfZm9udF9zaXplOiAxNDtcbiRuYXZfc3VibWVudV9mb250X3NpemU6IDEyO1xuJHByaW1hcnluYXZfZm9udDogJGJhc2VfZm9udDtcbiRwcmltYXJ5bmF2X2ZvbnRfc2l6ZTogJG5hdl9mb250X3NpemU7XG4kcHJpbWFyeW5hdl9zdWJtZW51X2ZvbnRfc2l6ZTogJG5hdl9zdWJtZW51X2ZvbnRfc2l6ZTtcbiRzZWNvbmRhcnluYXZfZm9udDogJGJhc2VfZm9udDtcbiRzZWNvbmRhcnluYXZfZm9udF9zaXplOiAkbmF2X2ZvbnRfc2l6ZTtcbiRzZWNvbmRhcnluYXZfc3VibWVudV9mb250OiAkbmF2X3N1Ym1lbnVfZm9udF9zaXplO1xuXG5cbi8vIEJ1dHRvbnNcbiRidXR0b25fZm9udDogJGJhc2VfZm9udDtcbiRidXR0b25fZm9udF9zaXplOiAxNDtcbiRidXR0b25fZm9udF93ZWlnaHQ6IDQwMDtcbiRidXR0b25fdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuLy8gRm9vdGVyXG4kZm9vdGVyX3dpZGdldHNfZm9udF9zaXplOiAxNDtcbiRzaXRlZm9vdGVyX2ZvbnRfc2l6ZTogMTI7XG4iLCJcbi8vIGV4OiAgQGluY2x1ZGUgZm9udC1zaXplKDEzKTtcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZTogMS42KSB7XG4gIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxKSArIHB4O1xuICBmb250LXNpemU6ICgkc2l6ZVZhbHVlIC8gMTApICsgcmVtO1xufVxuIiwiLy9cbi8vIFdpZHRoc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXgtd2lkdGg6IDEyMDBweDtcblxuJGxvZ29fd2lkdGg6IDUwJTtcblxuJGxvZ29faGVpZ2h0OiAxMDBweDtcblxuJHBhcmFncmFwaF9tYXJnaW46IDI4cHg7XG5cbiRzdHJpcGVfcGFkZGluZzogNDBweCAyOHB4O1xuXG4kc3RyaXBlX3BhZGRpbmdfbW9iaWxlOiAxMHB4O1xuXG4kaGVyb19pbWdfaGVpZ2h0OiAzMDBweDtcblxuJGhlcm9faW1nX2hlaWdodF9tb2JpbGU6IDIwMHB4O1xuXG4kaGVyb19wYWRkaW5nOiA2MHB4IDJweDtcblxuJGhlcm9fcGFkZGluZ19tb2JpbGU6IDIwcHggMDtcblxuXG4vLyBDb2x1bW5zXG4kb25lX2hhbGY6IDQ4LjcxNzk0ODcxNzk0ODcxNSU7XG4kb25lX3RoaXJkOiAzMS42MjM5MzE2MjM5MzE2MjUlO1xuJG9uZV9mb3VydGg6IDIzLjA3NjkyMzA3NjkyMzA3NyU7XG4kb25lX3NpeHRoOiAxNC41Mjk5MTQ1Mjk5MTQ1MyU7XG4kdHdvX3RoaXJkczogNjUuODExOTY1ODExOTY1ODIlO1xuJHRocmVlX2ZvdXJ0aHM6IDc0LjM1ODk3NDM1ODk3NDM2JTtcbiRmaXZlX3NpeHRoczogODIuOTA1OTgyOTA1OTgyOTElO1xuXG4kY29sdW1uX21hcmdpbl9sZWZ0OiAyLjU2NDEwMjU2NDEwMjU2NCU7XG5cbiRmb290ZXJfY29sdW1uX3dpZHRoOiAkb25lX3RoaXJkOyAvLyBTZXQgZGVwZW5kaW5nIG9uIGhvdyBtYW55IGZvb3RlciB3aWRnZXRzIGFyZSBiZWluZyB1c2VkXG5cblxuLy8gTmF2aWdhdGlvblxuJG5hdl9pdGVtX3BhZGRpbmc6IDE3cHggMjRweDtcbiRuYXZfc3ViX2l0ZW1fcGFkZGluZzogMTBweCAyNHB4O1xuJHNlY29uZGFyeV9uYXZfaXRlbV9wYWRkaW5nOiAxMnB4IDI0cHg7XG4kc2Vjb25kYXJ5X25hdl9zdWJfaXRlbV9wYWRkaW5nOiAkbmF2X3N1Yl9pdGVtX3BhZGRpbmc7Iiwib2wsXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5saSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuIiwiXG5ibG9ja3F1b3RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlX2ZvbnRfc2l6ZSk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6ICRibG9ja3F1b3RlX2ZvbnRfd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMjtcbiAgbWFyZ2luOiAkcGFyYWdyYXBoX21hcmdpbiAwO1xufVxuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbmJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLyogIyMgSGVhZGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgY29sb3I6ICR0aXRsZV9jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZV9mb250O1xuICBmb250LXdlaWdodDogJHRpdGxlX3dlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06ICR0aXRsZV90ZXh0X3RyYW5zZm9ybTtcbn1cblxuaDEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxX2ZvbnRfc2l6ZSk7XG4gIFxuICBAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgxX2xhcmdlX2ZvbnRfc2l6ZSk7XG4gIH1cbn1cblxuaDIge1xuICBmb250LWZhbWlseTogJGgyX2ZvbnQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDJfZm9udF9zaXplKTtcbiAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMl9sYXJnZV9mb250X3NpemUpO1xuICB9XG4gIGZvbnQtd2VpZ2h0OiAkaDJfZm9udF93ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkaDJfdGV4dF90cmFuc2Zvcm07XG59XG5cbmgzIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoM19mb250X3NpemUpOyBcbn1cblxuaDQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg0X2ZvbnRfc2l6ZSk7XG59XG5cbmg1IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNV9mb250X3NpemUpO1xufVxuXG5oNiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDZfZm9udF9zaXplKTtcbn1cbiIsIi8qICMjIE9iamVjdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZW1iZWQsXG5pZnJhbWUsXG5pbWcsXG5vYmplY3QsXG52aWRlbyxcbi53cC1jYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZmVhdHVyZWQtY29udGVudCBpbWcsXG4uZ2FsbGVyeSBpbWcge1xuICB3aWR0aDogYXV0bzsgfVxuIiwiLyogIyMgR2FsbGVyeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZ2FsbGVyeSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmdhbGxlcnktaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogNTAlOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDMzJTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMjAlOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDE2LjY2NjYlOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDE0LjI4NTclOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDExLjExMTElOyB9XG5cbi5nYWxsZXJ5IGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhbHRlcm5hdGVfY29sb3I7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogNHB4OyB9XG5cbi5nYWxsZXJ5IGltZzpob3Zlcixcbi5nYWxsZXJ5IGltZzpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnRfY29sb3I7IH1cbiIsIi8qICMjIEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRzdWJ0bGVfY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICRmb250X2NvbG9yO1xuICBAaW5jbHVkZSBmb250LXNpemUoJG1ldGFfZm9udF9zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYXNlX2ZvbnRfd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnRfY29sb3I7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cImltYWdlXCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2ZjYyNjA7XG4gIGZvbnQtd2VpZ2h0OiAkYmFzZV9mb250X3dlaWdodDtcbiAgb3BhY2l0eTogMTsgfVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZmNjI2MDtcbiAgZm9udC13ZWlnaHQ6ICRiYXNlX2ZvbnRfd2VpZ2h0OyB9XG4iLCIvKiAjIyBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9iZ19jb2xvcjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAkYnV0dG9uX3RleHRfY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRidXR0b25fZm9udF9zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udF93ZWlnaHQ7XG4gIHBhZGRpbmc6IDEycHggMzBweDtcbiAgdGV4dC10cmFuc2Zvcm06ICRidXR0b25fdGV4dF90cmFuc2Zvcm07XG4gIHdpZHRoOiBhdXRvOyB9XG5cbmJ1dHRvbjpob3ZlcixcbmlucHV0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dDpob3Zlclt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dDpob3Zlclt0eXBlPVwic3VibWl0XCJdLFxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYmdfaG92ZXJfY29sb3I7XG4gIGNvbG9yOiAkYnV0dG9uX3RleHRfaG92ZXJfY29sb3I7IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4iLCIvKiAjIyBUYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbnRib2R5IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzdWJ0bGVfY29sb3I7IH1cblxudGQsXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHN1YnRsZV9jb2xvcjtcbiAgcGFkZGluZzogNnB4IDA7IH1cblxudGgge1xuICBmb250LXdlaWdodDogNDAwOyB9XG4iLCIvKiAjIyBTY3JlZW4gUmVhZGVyIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCxcbi5zY3JlZW4tcmVhZGVyLXRleHQgc3Bhbixcbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBib3JkZXI6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyxcbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0OmZvY3VzLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5tb3JlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogIyBTa2lwIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZ2VuZXNpcy1za2lwLWxpbmsge1xuICBtYXJnaW46IDA7IH1cblxuLmdlbmVzaXMtc2tpcC1saW5rIGxpIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5cbiIsIi8qICMgU3RydWN0dXJlIGFuZCBMYXlvdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcInNpdGUtY29udGFpbmVyc1wiO1xuQGltcG9ydCBcImNvbnRlbnQtbGF5b3V0XCI7XG5AaW1wb3J0IFwiY29sdW1uc1wiO1xuIiwiLyogIyMgU2l0ZSBDb250YWluZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWlubmVyLFxuLndyYXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTsgXG4gICAgcGFkZGluZy1sZWZ0OiAyJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7IFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cbi5zaXRlLWlubmVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nLXRvcDogNXB4OyBcbiAgICBAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyBcbiAgICB9XG59XG4iLCIvKiAjIyBDb2x1bW4gV2lkdGhzIGFuZCBQb3NpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIyMjIFdyYXBwaW5nIGRpdiBmb3IgLmNvbnRlbnQgYW5kIC5zaWRlYmFyLXByaW1hcnkgKi9cbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4uc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7IFxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG59XG5cbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIGZsb2F0OiBsZWZ0OyBcbn1cblxuLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbi5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIGZsb2F0OiByaWdodDsgXG59XG5cbi8qICMjIyBDb250ZW50ICovXG4uY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7IFxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogNjYlOyBcbiAgICB9XG5cbn1cblxuLmNvbnRlbnQtc2lkZWJhciAuY29udGVudCxcbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudCxcbi5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudCB7XG4gICAgZmxvYXQ6IGxlZnQ7IFxufVxuXG4uY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQsXG4uc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQsXG4uc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlOyBcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgICAgIHdpZHRoOiA2NiU7XG4gICAgfVxuXG59XG5cbi5mdWxsLXdpZHRoLWNvbnRlbnQgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qICMjIyBQcmltYXJ5IFNpZGViYXIgKi9cbi5zaWRlYmFyLXByaW1hcnkge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAzMCU7IFxuICAgIH1cbn1cblxuLnNpZGViYXItY29udGVudCAuc2lkZWJhci1wcmltYXJ5LFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5zaWRlYmFyLXByaW1hcnkge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qICMjIyBTZWNvbmRhcnkgU2lkZWJhciAqL1xuLnNpZGViYXItc2Vjb25kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxNiU7IFxuICAgIH1cblxufVxuXG4uY29udGVudC1zaWRlYmFyLXNpZGViYXIgLnNpZGViYXItc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7IFxufVxuXG4iLCIvKiAjIyBDb2x1bW4gQ2xhc3Nlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5maXZlLXNpeHRocyxcbi5mb3VyLXNpeHRocyxcbi5vbmUtZm91cnRoLFxuLm9uZS1oYWxmLFxuLm9uZS1zaXh0aCxcbi5vbmUtdGhpcmQsXG4udGhyZWUtZm91cnRocyxcbi50aHJlZS1zaXh0aHMsXG4udHdvLWZvdXJ0aHMsXG4udHdvLXNpeHRocyxcbi50d28tdGhpcmRzLFxuLmZvb3Rlci13aWRnZXRzLTEsXG4uZm9vdGVyLXdpZGdldHMtMixcbi5mb290ZXItd2lkZ2V0cy0zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IFxufVxuXG5AaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG4gICAgLmZpdmUtc2l4dGhzLFxuICAgIC5mb3VyLXNpeHRocyxcbiAgICAub25lLWZvdXJ0aCxcbiAgICAub25lLWhhbGYsXG4gICAgLm9uZS1zaXh0aCxcbiAgICAub25lLXRoaXJkLFxuICAgIC50aHJlZS1mb3VydGhzLFxuICAgIC50aHJlZS1zaXh0aHMsXG4gICAgLnR3by1mb3VydGhzLFxuICAgIC50d28tc2l4dGhzLFxuICAgIC50d28tdGhpcmRzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjb2x1bW5fbWFyZ2luX2xlZnQ7XG4gICAgfVxuXG4gICAgLm9uZS1oYWxmLFxuICAgIC50aHJlZS1zaXh0aHMsXG4gICAgLnR3by1mb3VydGhzIHtcbiAgICAgIHdpZHRoOiAkb25lX2hhbGY7XG4gICAgfVxuXG4gICAgLm9uZS10aGlyZCxcbiAgICAudHdvLXNpeHRocyB7XG4gICAgICB3aWR0aDogJG9uZV90aGlyZDtcbiAgICB9XG5cbiAgICAuZm91ci1zaXh0aHMsXG4gICAgLnR3by10aGlyZHMge1xuICAgICAgd2lkdGg6ICR0d29fdGhpcmRzO1xuICAgIH1cblxuICAgIC5vbmUtZm91cnRoIHtcbiAgICAgIHdpZHRoOiAkb25lX2ZvdXJ0aDtcbiAgICB9XG5cbiAgICAudGhyZWUtZm91cnRocyB7XG4gICAgICB3aWR0aDogJHRocmVlX2ZvdXJ0aHM7XG4gICAgfVxuXG4gICAgLm9uZS1zaXh0aCB7XG4gICAgICB3aWR0aDogJG9uZV9zaXh0aDtcbiAgICB9XG5cbiAgICAuZml2ZS1zaXh0aHMge1xuICAgICAgd2lkdGg6ICRmaXZlX3NpeHRocztcbiAgICB9XG5cbiAgICAuZmlyc3Qge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG4iLCIvKiAjIENvbW1vbiBDbGFzc2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJhdmF0YXJcIjtcbkBpbXBvcnQgXCJnZW5lc2lzXCI7XG5AaW1wb3J0IFwic2VhcmNoLWZvcm1cIjtcbkBpbXBvcnQgXCJ0aXRsZXNcIjtcbkBpbXBvcnQgXCJ3b3JkcHJlc3NcIjsiLCIvKiAjIyBBdmF0YXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmF2YXRhciB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5hbGlnbmxlZnQgLmF2YXRhcixcbi5hdXRob3ItYm94IC5hdmF0YXIge1xuICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cblxuLmFsaWducmlnaHQgLmF2YXRhciB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG5cbi5jb21tZW50IC5hdmF0YXIge1xuICBtYXJnaW46IDAgMTZweCAyNHB4IDA7IH1cblxuIiwiLyogIyMgR2VuZXNpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hcmNoaXZlLWRlc2NyaXB0aW9uLFxuLmF1dGhvci1ib3gge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhc2VfZm9udF9zaXplKVxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uYXV0aG9yLWJveC10aXRsZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDVfZm9udF9zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRib2xkX2ZvbnRfd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cblxuLmFyY2hpdmUtZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUsXG4uYXV0aG9yLWJveCBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiIsIi8qICMjIFNlYXJjaCBGb3JtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWFyY2gtZm9ybSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmdlbmVzaXMtbmF2LW1lbnUgLnNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG4iLCIvKiAjIyBUaXRsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFyY2hpdmUtdGl0bGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxX2ZvbnRfc2l6ZSk7XG4gIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDFfbGFyZ2VfZm9udF9zaXplKTtcbiAgfVxufVxuXG4uZW50cnktdGl0bGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxX2ZvbnRfc2l6ZSk7XG4gIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDFfbGFyZ2VfZm9udF9zaXplKTtcbiAgfVxufVxuXG5oMTo6YWZ0ZXIsXG4uaG9tZXBhZ2UgaDI6OmFmdGVyLFxuLmhvbWVwYWdlIGgzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnRfY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDtcbn1cblxuaDIuZW50cnktdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDJfZm9udF9zaXplKTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgyX2xhcmdlX2ZvbnRfc2l6ZSk7XG4gIH1cbn1cblxuLmVudHJ5LXRpdGxlIGEsXG4uc2lkZWJhciAud2lkZ2V0LXRpdGxlIGEge1xuICBjb2xvcjogJGNvbnRlbnRfbGlua3NfY29sb3I7IFxufVxuXG4uZW50cnktdGl0bGUgYTpob3Zlcixcbi5lbnRyeS10aXRsZSBhOmZvY3VzIHtcbiAgY29sb3I6ICRjb250ZW50X2xpbmtzX2hvdmVyX2NvbG9yOyBcbn1cblxuLndpZGdldC10aXRsZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkd2lkZ2V0X3RpdGxlX3NpemUpO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyBcbn1cblxuLmZvb3Rlci13aWRnZXRzIC53aWRnZXQtdGl0bGUge1xuICBjb2xvcjogJGZvb3RlcndpZGdldHNfdGl0bGVfY29sb3I7IFxufVxuIiwiLyogIyMgV29yZFByZXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmEuYWxpZ25jZW50ZXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvOyBcbn1cblxuYS5hbGlnbm5vbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7IFxufVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IFxufVxuXG5hLmFsaWdubGVmdCxcbmEuYWxpZ25ub25lLFxuYS5hbGlnbnJpZ2h0IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyBcbn1cblxuaW1nLmNlbnRlcmVkLFxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDI0cHg7IH1cblxuaW1nLmFsaWdubm9uZSxcbi5hbGlnbm5vbmUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4OyBcbn1cblxuYS5hbGlnbmxlZnQsXG5pbWcuYWxpZ25sZWZ0LFxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgbWFyZ2luOiAwIDI0cHggMjRweCAwOyBcbn1cblxuYS5hbGlnbnJpZ2h0LFxuaW1nLmFsaWducmlnaHQsXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgMjRweCAyNHB4OyBcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2FwdGlvbl9mb250X3NpemUpO1xuICBmb250LXdlaWdodDogJGNhcHRpb25fZm9udF93ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgXG59XG5cbi5lbnRyeS1jb250ZW50IHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgXG59XG5cbi5lbnRyeS1jb250ZW50IC53cC1hdWRpby1zaG9ydGNvZGUsXG4uZW50cnktY29udGVudCAud3AtcGxheWxpc3QsXG4uZW50cnktY29udGVudCAud3AtdmlkZW8ge1xuICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoX21hcmdpbjsgXG59XG4iLCIvKiAjIFdpZGdldHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJhc2VcIjtcbkBpbXBvcnQgXCJzaWRlYmFyc1wiOyIsIi53aWRnZXQge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IFxufVxuXG4ud2lkZ2V0IG9sID4gbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0ZXh0LWluZGVudDogLTIwcHg7IFxufVxuXG4ud2lkZ2V0IGxpIGxpIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDA7IFxufVxuXG4iLCIvKiAjIFNpZGViYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2lkZWJhciB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc2lkZWJhcl9mb250X3NpemUpO1xufVxuXG4uc2lkZWJhciBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJHN1YnRsZV9jb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4OyBcbn1cblxuLnNpZGViYXIgcDpsYXN0LWNoaWxkLFxuLnNpZGViYXIgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgXG59XG5cbi5zaWRlYmFyIC53aWRnZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5X2NvbG9yO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBjbGVhcjogYm90aDtcbiAgYm94LXNoYWRvdzogMCAzcHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbiIsIi8qICMgU2l0ZSBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXJfYmdfY29sb3I7XG59XG5cbi5zaXRlLWhlYWRlciAud3JhcCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTRweCAyJTsgXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIHBhZGRpbmc6IDQwcHggMDsgXG4gIH1cbn1cbiIsIi8qICMjIFRpdGxlIEFyZWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRpdGxlLWFyZWEge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgd2lkdGg6IDUwJTtcbiAgXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgICB3aWR0aDogJGxvZ29fd2lkdGg7XG4gIH1cbn1cblxuLnNpdGUtdGl0bGUge1xuICBmb250LWZhbWlseTogJGgyX2ZvbnQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnNpdGUtdGl0bGUgYSxcbi5zaXRlLXRpdGxlIGE6aG92ZXIsXG4uc2l0ZS10aXRsZSBhOmZvY3VzIHtcbiAgY29sb3I6ICRtYWluX2NvbG9yOyBcbn1cblxuLmhlYWRlci1pbWFnZSAuc2l0ZS10aXRsZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQ6IHVybCguL2Fzc2V0cy9pbWFnZXMvbG9nby5zdmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgbWluLWhlaWdodDogJGxvZ29faGVpZ2h0O1xuICB9XG59XG5cbi5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICRhbHRlcm5hdGVfY29sb3I7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2l0ZS1kZXNjcmlwdGlvbixcbi5zaXRlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgXG59XG5cbi5oZWFkZXItaW1hZ2UgLnNpdGUtZGVzY3JpcHRpb24sXG4uaGVhZGVyLWltYWdlIC5zaXRlLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyBcbn1cbiIsIi8qICMjIFdpZGdldCBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciAud2lkZ2V0LWFyZWEge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyBcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnBob25lLWN0YSxcbi5waG9uZS1udW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGhvbmUtY3RhIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4ucGhvbmUtbnVtIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzIpO1xuICAgIH1cbn1cbiIsIi8qICMgU2l0ZSBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJiYXNlXCI7XG5AaW1wb3J0IFwiaGVhZGVyLW5hdlwiO1xuQGltcG9ydCBcInByaW1hcnlcIjtcbkBpbXBvcnQgXCJzZWNvbmRhcnlcIjtcbkBpbXBvcnQgXCJyZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7IiwiXG4uZ2VuZXNpcy1uYXYtbWVudSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZfZm9udF9zaXplKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB3aWR0aDogMTAwJTsgXG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyBcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgYSB7XG4gICAgY29sb3I6ICRuYXZfbGlua19jb2xvcjtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRuYXZfaXRlbV9wYWRkaW5nOyBcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDsgXG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IGE6aG92ZXIsXG4uZ2VuZXNpcy1uYXYtbWVudSBhOmZvY3VzLFxuLmdlbmVzaXMtbmF2LW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2X2hvdmVyX2NvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2X2JnX2NvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VidGxlX2NvbG9yO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2X3N1Ym1lbnVfZm9udF9zaXplKTtcbiAgICBwYWRkaW5nOiAkbmF2X3N1Yl9pdGVtX3BhZGRpbmc7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyBcbn1cblxuQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblxuICAgIC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSB7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgei1pbmRleDogOTk7IFxuICAgIH1cblxuICAgIC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gICAgICAgIG1hcmdpbjogLTM0cHggMCAwIDIwMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtOmhvdmVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsgXG4gICAgfVxuXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUgLm1lbnUtaXRlbTpob3ZlciA+IC5zdWItbWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH1cblxuICAgIC5nZW5lc2lzLW5hdi1tZW51ID4gLmZpcnN0ID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgXG4gICAgfVxuXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUgPiAubGFzdCA+IGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyBcbiAgICB9XG5cbiAgICAuZ2VuZXNpcy1uYXYtbWVudSA+IC5yaWdodCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMzBweCAwOyBcbiAgICB9XG5cbiAgICAuZ2VuZXNpcy1uYXYtbWVudSA+IC5yaWdodCA+IGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7IFxuICAgIH1cbn1cblxuLyogIyMgQWNjZXNzaWJsZSBNZW51XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZW51IC5tZW51LWl0ZW06Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5tZW51IC5tZW51LWl0ZW0gPiBhOmZvY3VzICsgdWwuc3ViLW1lbnUsXG4ubWVudSAubWVudS1pdGVtLnNmSG92ZXIgPiB1bC5zdWItbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7IH1cbiIsIi8qICMjIFNpdGUgSGVhZGVyIE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtaGVhZGVyIC5zdWItbWVudSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc3VidGxlLWNvbG9yOyBcbn1cblxuLnNpdGUtaGVhZGVyIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtNTZweDsgXG59XG5cbi5zaXRlLWhlYWRlciAuZ2VuZXNpcy1uYXYtbWVudSBsaSBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyBcbn1cbiIsIi8qICMjIFByaW1hcnkgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLm5hdi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeW5hdl9iZ19jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMjBweCAwIHJnYmEoMCwwLDAsMC42KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSBhIHtcbiAgICBjb2xvcjogJHByaW1hcnluYXZfbGlua19jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYTpob3Zlcixcbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSBhOmZvY3VzLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgIGNvbG9yOiAkcHJpbWFyeW5hdl9ob3Zlcl9jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGEge1xuICAgIGNvbG9yOiAkd2hpdGU7IFxufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGE6aG92ZXIsXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGE6Zm9jdXMsXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG59XG4iLCIvKiAjIyBTZWNvbmRhcnkgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG4ubmF2LXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeW5hdl9iZ19jb2xvcjsgXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LXNlY29uZGFyeSAuZ2VuZXNpcy1uYXYtbWVudSBhIHtcbiAgICBwYWRkaW5nOiAkc2Vjb25kYXJ5X25hdl9pdGVtX3BhZGRpbmc7XG59XG5cbi5uYXYtc2Vjb25kYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgICBwYWRkaW5nOiAkc2Vjb25kYXJ5X25hdl9zdWJfaXRlbV9wYWRkaW5nO1xufVxuICAgIFxuXG4iLCIvKiBSZXNwb25zaXZlIE1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnJlc3BvbnNpdmUtbWVudS1pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBcbn1cblxuLnJlc3BvbnNpdmUtbWVudS1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGNvbG9yOiAkbWFpbl9jb2xvcjsgXG59XG5cbi5yZXNwb25zaXZlLW1lbnUtaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCJNRU5VXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICRtYWluX2NvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7IFxufVxuXG4vKiAjIFJlc3BvbnNpdmUgTWVudSBNZWRpYSBRdWVyeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51LFxuICAgIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSxcbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICB9XG5cbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLm1lbnUtaXRlbSxcbiAgICAucmVzcG9uc2l2ZS1tZW51LWljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgfVxuXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWFpbl9jb2xvcjtcbiAgICB9XG5cbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLm1lbnUtaXRlbTpob3ZlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuICAgIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuICAgIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3ZlcixcbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgYSxcbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7IFxuICAgIH1cblxuICAgIC5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgICAubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyLFxuICAgIC5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgYSxcbiAgICAubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG1haW5fY29sb3I7IFxuICAgIH1cblxuICAgIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgXG4gICAgfVxuXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDsgXG4gICAgfVxuXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJG1haW5fY29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyBcbiAgICB9XG5cbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLm1lbnUtb3Blbi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgY29udGVudDogXCJcXGYxMDZcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRtYWluX2NvbG9yO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDsgXG4gICAgfVxuXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogOTk7IFxuICAgIH1cblxuICAgIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwOyBcbiAgICB9XG5cbiAgICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIsXG4gICAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSBsaSBhLFxuICAgIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICB9XG59XG4iLCIuYnJlYWRjcnVtYnMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4iLCIvKiAjIyBQYWdpbmF0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWdpbmF0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogNDBweCAwOyBcbn1cblxuLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwOyBcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTsgXG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYmdfY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZV9mb250X3NpemUpO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7IFxuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBcblxuICBAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgXG4gIH1cblxufVxuXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIGE6aG92ZXIsXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIGE6Zm9jdXMsXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIC5hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYmdfaG92ZXJfY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG59XG4iLCIvKiAjIENvbnRlbnQgQXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiZW50cmllc1wiO1xuQGltcG9ydCBcIm1ldGFcIjsiLCIvKiAjIyBFbnRyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeSB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbn1cblxuLmNvbnRlbnQgLmVudHJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZW50cnlfYmdfY29sb3I7IFxufVxuXG4uZW50cnktY29udGVudCBvbCxcbi5lbnRyeS1jb250ZW50IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoX21hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogNDBweDsgXG59XG5cbi5lbnRyeS1jb250ZW50IG9sID4gbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgXG59XG5cbi5lbnRyeS1jb250ZW50IHVsID4gbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgXG59XG5cbi5lbnRyeS1jb250ZW50IG9sIG9sLFxuLmVudHJ5LWNvbnRlbnQgdWwgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IFxufVxuXG4uZW50cnktY29udGVudCBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgIGNvbG9yOiAjZGRkOyBcbn1cbiIsIi8qICMjIEVudHJ5IE1ldGFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xucC5lbnRyeS1tZXRhIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRtZXRhX2ZvbnRfc2l6ZSk7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmVudHJ5LWhlYWRlciAuZW50cnktbWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmVudHJ5LWZvb3RlciAuZW50cnktbWV0YSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkc3VidGxlLWNvbG9yO1xuICBwYWRkaW5nLXRvcDogMjRweDsgfVxuXG4uZW50cnktY2F0ZWdvcmllcyxcbi5lbnRyeS10YWdzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVudHJ5LWNvbW1lbnRzLWxpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE0XCI7XG4gIG1hcmdpbjogMCA2cHggMCAycHg7IH1cbiIsIi8qICMjIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJhc2VcIjtcbiIsIlxuLmNvbW1lbnQtcmVzcG9uZCxcbi5lbnRyeS1jb21tZW50cyxcbi5lbnRyeS1waW5ncyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgXG59XG5cbi5jb21tZW50LXJlc3BvbmQsXG4uZW50cnktcGluZ3Mge1xuICBcbiAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuICAgIHBhZGRpbmc6IDQwcHggNDBweCAxNnB4OyBcbiAgfVxufVxuXG4uZW50cnktY29tbWVudHMge1xuICBcbiAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuICAgIHBhZGRpbmc6IDQwcHg7IFxuICB9XG59XG5cbi5jb21tZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07IH1cblxubGkuY29tbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgJHN1YnRsZV9jb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5jb21tZW50LWNvbnRlbnQge1xuICBjbGVhcjogYm90aDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5jb21tZW50LWxpc3QgbGkge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBwYWRkaW5nOiAzMnB4OyB9XG5cbi5jb21tZW50LWxpc3QgbGkgbGkge1xuICBtYXJnaW4tcmlnaHQ6IC0zMnB4OyB9XG5cbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmNvbW1lbnQtcmVzcG9uZCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cblxuLmVudHJ5LWNvbW1lbnRzIC5jb21tZW50LWF1dGhvciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmVudHJ5LXBpbmdzIC5yZXBseSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tYWxsb3dlZC10YWdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYXNlX2ZvbnRfc2l6ZSk7XG4gIHBhZGRpbmc6IDI0cHg7IH1cbiIsIi8qICMgRXh0cmEgRm9vdGVyIGFuZCBCYWRnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJhZGdlLXdyYXAge1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgZmxleC13cmFwOiBuby13cmFwO1xuICAgIH1cbiAgICBcbn1cblxuLmJhZGdlLWltZyB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1heC13aWR0aDogMjAlO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG5cbi5iYWRnZS1pbWcgaW1nOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi5leHRyYS1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICRleHRyYWZvb3Rlcl9iZ19jb2xvcjtcbiAgICBjb2xvcjogJGV4dHJhZm9vdGVyX3RleHRfY29sb3I7XG4gICAgcGFkZGluZzogNjBweCAwO1xufVxuXG4uZXh0cmEtZm9vdGVyIHtcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIGNvbG9yOiAkZXh0cmFmb290ZXJfdGV4dF9jb2xvcjsgXG4gICAgfVxufVxuICAgICIsIi8qICMgRm9vdGVyIFdpZGdldHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mb290ZXItd2lkZ2V0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXJ3aWRnZXRzX2JnX2NvbG9yO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgJGFsdGVybmF0ZV9jb2xvcjtcbiAgY2xlYXI6IGJvdGg7XG4gIGxpbmUtaGVpZ2h0OiAyLjQ7XG4gIHBhZGRpbmctdG9wOiA0MHB4OyBcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb290ZXJfd2lkZ2V0c19mb250X3NpemUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXItd2lkZ2V0cyB7XG4gIGNvbG9yOiAkZm9vdGVyd2lkZ2V0c190ZXh0X2NvbG9yOyBcbn1cblxuLmZvb3Rlci13aWRnZXRzIGEge1xuICAgIGNvbG9yOiAkZm9vdGVyd2lkZ2V0c19saW5rX2NvbG9yO1xufVxuXG4uZm9vdGVyLXdpZGdldHMgYTpob3Zlcixcbi5mb290ZXItd2lkZ2V0cyBhOmZvY3VzIHtcbiAgY29sb3I6ICRmb290ZXJ3aWRnZXRzX2hvdmVyX2NvbG9yO1xufVxuXG4uZm9vdGVyLXdpZGdldHMgLndpZGdldCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLmZvb3Rlci13aWRnZXRzIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLypcbi5mb290ZXItd2lkZ2V0cy0xLFxuLmZvb3Rlci13aWRnZXRzLTIsXG4uZm9vdGVyLXdpZGdldHMtMyxcbi5mb290ZXItd2lkZ2V0cy00IHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkY29sdW1uX21hcmdpbl9sZWZ0O1xuICAgIHdpZHRoOiAkZm9vdGVyX2NvbHVtbl93aWR0aDtcbiAgICBcbiAgfVxufVxuXG4uZm9vdGVyLXdpZGdldHMtMSB7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4qL1xuIiwiLyogIyBTaXRlIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpdGVmb290ZXJfYmdfY29sb3I7XG4gIGNvbG9yOiAkc2l0ZWZvb3Rlcl90ZXh0X2NvbG9yO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNpdGVmb290ZXJfZm9udF9zaXplKTtcbiAgcGFkZGluZzogMTQwcHggMCA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNpdGUtZm9vdGVyIGEge1xuICBjb2xvcjogJHNpdGVmb290ZXJfbGlua19jb2xvcjtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuICBjb2xvcjogJHNpdGVmb290ZXJfaG92ZXJfY29sb3I7IFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpdGUtZm9vdGVyIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyBcbn1cbiIsIi8qICMgUGx1Z2luc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiY29udGFjdC1mb3JtN1wiO1xuIiwiLyogIyMgQ29udGFjdCBGb3JtIDcgU3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmRpdi53cGNmNyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5kaXYud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgbWFyZ2luOiAyZW0gMC41ZW0gMWVtO1xuICBwYWRkaW5nOiAwLjJlbSAxZW07IH1cblxuZGl2LndwY2Y3IC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5kaXYud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzM5OGYxNDsgfVxuXG5kaXYud3BjZjctbWFpbC1zZW50LW5nIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDsgfVxuXG5kaXYud3BjZjctc3BhbS1ibG9ja2VkIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmYTUwMDsgfVxuXG5kaXYud3BjZjctdmFsaWRhdGlvbi1lcnJvcnMge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZjdlNzAwOyB9XG5cbnNwYW4ud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udXNlLWZsb2F0aW5nLXZhbGlkYXRpb24tdGlwIHNwYW4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMCU7XG4gIGxlZnQ6IDIwJTtcbiAgei1pbmRleDogMTAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmYwMDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAuMmVtIC44ZW07IH1cblxuc3Bhbi53cGNmNy1saXN0LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogMC41ZW07IH1cblxuLndwY2Y3LWRpc3BsYXktbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuZGl2LndwY2Y3IGltZy5hamF4LWxvYWRlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWxlZnQ6IDRweDsgfVxuXG5kaXYud3BjZjcgZGl2LmFqYXgtZXJyb3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmRpdi53cGNmNyAucGxhY2VoZWxkIHtcbiAgY29sb3I6ICM4ODg7IH1cblxuIiwiLyogIyBFeHRyYSBUZW1wbGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImZsZXgtY29udGVudFwiO1xuQGltcG9ydCBcImhvbWUtcGFnZVwiO1xuXG4iLCIvKiAjIyMgRnVsbCBXaWR0aCBDb250ZW50ICovXG4uZnVsbCAuc2l0ZS1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyBcbn1cblxuLmZ1bGwgLmVudHJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIHBhZGRpbmc6IDA7IFxufVxuXG4uZnVsbCBoMTo6YWZ0ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaGVhZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogJGhlcm9faW1nX2hlaWdodF9tb2JpbGU7XG4gICAgcGFkZGluZzogJGhlcm9fcGFkZGluZ19tb2JpbGU7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgbWluLWhlaWdodDogJGhlcm9faW1nX2hlaWdodDtcbiAgICAgICAgcGFkZGluZzogJGhlcm9fcGFkZGluZztcbiAgICB9XG59XG5cbi5jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBGbGV4IExheW91dCAqL1xuLnN0cmlwZSB7XG4gICAgcGFkZGluZzogJHN0cmlwZV9wYWRkaW5nX21vYmlsZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG4gICAgICBwYWRkaW5nOiAkc3RyaXBlX3BhZGRpbmc7XG4gIH1cbn1cblxuLmZsZXgtcGxhaW4ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vKiBGb290ZXIgU29jaWFsICovXG5cbi5mb290ZXItc29jaWFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbl9jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXItc29jaWFsIGEge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogNnB4IDEycHg7XG59IiwiLyogSG9tZSBQYWdlIFN0eWxlcyAqL1xyXG5cclxuLmhvbWVwYWdlIC5zaXRlLWlubmVyIHtcclxuXHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLmhvbWVwYWdlIC5lbnRyeSB7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uaG9tZXBhZ2UgLmV4dHJhLWZvb3RlciB7XHJcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG59XHJcblxyXG4uc2tpbm55IHtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRtYXgtd2lkdGg6IDcyMHB4O1xyXG59XHJcblxyXG4uaG9tZS1oZXJvIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4vYXNzZXRzL2ltYWdlcy9jbGV2ZWxhbmQtYmFja2dyb3VuZC1zbWFsbC5qcGcnKTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4vYXNzZXRzL2ltYWdlcy9jbGV2ZWxhbmQtYmFja2dyb3VuZC5qcGcnKTtcclxuXHR9XHJcblx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRhbHRlcm5hdGVfY29sb3I7XHJcbn1cclxuXHJcbi5ob21lLWhlcm8gLmZhLWFuZ2xlLWRvd24ge1xyXG5cdGNvbG9yOiAkYWNjZW50X2NvbG9yO1xyXG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNDApO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGxpbmUtaGVpZ2h0OiAwLjg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uYmlnLXRhZ2xpbmUsXHJcbi5iaWctZGVzYyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuXHJcbi5iaWctdGFnbGluZSB7XHJcblx0Zm9udC1mYW1pbHk6ICR0aXRsZV9mb250O1xyXG5cdG1hcmdpbi10b3A6IDU2cHg7XHJcblx0QGluY2x1ZGUgZm9udC1zaXplKDM0KTtcclxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XHJcblx0XHRAaW5jbHVkZSBmb250LXNpemUoNjApO1xyXG5cdH1cclxufVxyXG5cclxuLmJpZy1kZXNjIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XHJcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xyXG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDI0KTtcclxuXHR9XHJcbn1cclxuXHJcbi5ob21lLWFib3V0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE4LDIzNSwyMzgsMC44KTtcclxuXHRtYXJnaW46IDYwcHggYXV0bztcclxuXHRwYWRkaW5nOiAyMHB4IDIwcHggMDtcclxufVxyXG5cclxuLmhvbWUtYWJvdXQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5ob21lcGFnZSAuc2VydmljZXMge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNlcnYtY2lyYy13cmFwIHtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbjogMjRweCAwIDgwcHg7XHJcbn1cclxuXHJcbi5zZXJ2LWNpcmMtY29udGFpbiBoMyB7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdG1hcmdpbi10b3A6IDExcHg7XHJcbn1cclxuXHJcbi5ob21lcGFnZSAuc2VydmljZXMgaDI6YWZ0ZXIsXHJcbi5zZXJ2LWNpcmMtY29udGFpbiBoMzphZnRlciB7XHJcblx0bWFyZ2luOiAxMHB4IGF1dG8gMDtcclxufVxyXG5cclxuLnNlcnYtY2lyYy1jb250YWluIHtcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG59XHJcblxyXG4uc2Vydi1jaXJjLWNvbnRhaW4gYSxcclxuLnNlcnYtY2lyYy1jb250YWluIGE6dmlzaXRlZCxcclxuLnNlcnYtY2lyYy1jb250YWluIGE6aG92ZXIge1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRoZWlnaHQ6IDI2OHB4O1xyXG5cdHdpZHRoOiAyNjhweDtcclxufVxyXG5cclxuLnNlcnYtY2lyYy1jb250YWluIGEge1xyXG5cdGJvcmRlcjogNnB4IHNvbGlkICRhbHRlcm5hdGVfY29sb3I7XHJcbn1cclxuXHJcbi5zZXJ2LWNpcmMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNTcpO1xyXG5cclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0aGVpZ2h0OiAyNTZweDtcclxuXHR3aWR0aDogMjU2cHg7XHJcbn1cclxuXHJcbi5zZXJ2LWNpcmMsXHJcbi5zZXJ2LWNpcmMtY29udGFpbiBhIHtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMXM7XHJcbn1cclxuXHJcbi5zZXJ2LWNpcmMtY29udGFpbiBhOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6ICRhY2NlbnRfY29sb3JcclxufVxyXG5cclxuLnNlcnYtY2lyYy1jb250YWluIGE6aG92ZXIgaDMge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5zZXJ2LWNpcmMtY29udGFpbiBhOmhvdmVyIC5zZXJ2LWNpcmMge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC41KTtcclxufVxyXG5cclxuLmhvbWVwYWdlIC50ZXN0aW1vbmlhbCB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuL2Fzc2V0cy9pbWFnZXMvcmV2aWV3LXBlb3BsZS1iZy1zbWFsbC5qcGcnKTtcclxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4vYXNzZXRzL2ltYWdlcy9yZXZpZXctcGVvcGxlLWJnLmpwZycpO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xyXG5cdH1cclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4NiUgY2VudGVyO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRhbHRlcm5hdGVfY29sb3I7XHJcblx0Ym9yZGVyLXRvcDogNnB4IHNvbGlkICRhbHRlcm5hdGVfY29sb3I7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmhvbWVwYWdlIC50ZXN0aW1vbmlhbCAub3ZlcmxheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODIsMjE1LDIyMiwwLjY1KTtcclxuXHRwYWRkaW5nOiA4MHB4IDA7XHJcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xyXG5cdFx0cGFkZGluZzogMTYwcHggMDtcclxuXHR9XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5ob21lcGFnZSAuYmlnLXRlc3RpbW9uaWFsIHtcclxuXHRAaW5jbHVkZSBmb250LXNpemUoMjQpO1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgzNik7XHJcblx0fVxyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRtYXgtd2lkdGg6IDk4MHB4O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uaG9tZXBhZ2UgLnRlc3RpbW9uaWFsLWF1dGhvciB7XHJcblx0Zm9udC1zdHlsZTogaW5pdGlhbDtcclxufVxyXG4iLCIvKiAjIFByaW50IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuXG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cblxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICAuc2l0ZS10aXRsZSA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgaW1nLFxuICB0ciB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDJjbSAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG5cbiAgYmxvY2txdW90ZSxcbiAgcHJlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gIC5jb250ZW50LFxuICAuY29udGVudC1zaWRlYmFyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEsXG4gIC5icmVhZGNydW1iLFxuICAuY29tbWVudC1lZGl0LWxpbmssXG4gIC5jb21tZW50LWZvcm0sXG4gIC5jb21tZW50LWxpc3QgLnJlcGx5IGEsXG4gIC5jb21tZW50LXJlcGx5LXRpdGxlLFxuICAuZWRpdC1saW5rLFxuICAuZW50cnktY29tbWVudHMtbGluayxcbiAgLmVudHJ5LWZvb3RlcixcbiAgLmdlbmVzaXMtYm94LFxuICAuaGVhZGVyLXdpZGdldC1hcmVhLFxuICAuaGlkZGVuLXByaW50LFxuICAuaG9tZS10b3AsXG4gIC5uYXYtcHJpbWFyeSxcbiAgLm5hdi1zZWNvbmRhcnksXG4gIC5wb3N0LWVkaXQtbGluayxcbiAgLnNpZGViYXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC50aXRsZS1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuICAuc2l0ZS10aXRsZSA+IGEge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1pbmRlbnQ6IDA7IH1cblxuICAuc2l0ZS1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEwMHB4OyB9XG5cbiAgLmF1dGhvci1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB3aWRvd3M6IDM7IH1cblxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gIGJsb2NrcXVvdGUsXG4gIHByZSxcbiAgdGFibGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gIGRsLFxuICBvbCxcbiAgdWwge1xuICAgIHBhZ2UtYnJlYWstYmVmb3JlOiBhdm9pZDsgfSB9XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIl19 */
  
  .mt-5 {
      margin-top: 50px;
  }
  .mb-5 {
      margin-bottom: 50px !important;
  }
 