@charset "UTF-8";
/**
 * AT&T About Us for AEM
 * by FleishmanHillard, c. 2018
 *
 * NOTE: ATTN DEVS!
 * Please use this stylesheet for importing SASS partials only. Do not author any SASS or CSS directly in this file.
 * Also, please first refer to the _abstracts partials to review the existing global style settings and utilities before creating new variables, mixins, etc.
 *
 * For style guidelines and coding conventions for this project,
 * please consult the README.md in the root of the project.
 */
/*====
  MAIN
  ====*/
/*=========
  Abstracts
  =========*/
/*=========
  VARIABLES
  =========*/
/*===========
  Breakpoints
  ===========*/
/* we switch from mobile to tablet here */
/* we switch from tablet to desktop here */
/* max width of standard 15" laptop viewport */
/*============
  Global Sizes
  ============*/
/* Section Left/Right Spacing */
/* Component Margin/Padding */
/* Line Heights */
/* Misc */
/*==================
  Responsive Columns
  ==================*/
/*
   * The following column sizing map is used to determine how different sized columns will adjust their widths at different breakpoints.
   * For each column size (12, 9, 8, 6, 4, 3, 2), the subsequent responsive widths are listed in parentheses, going in order from mobile, to tablet, to small desktop, to full desktop.
   * ex: colSize:(mobileWidth, tabletWidth, smDesktopWidth, lgDesktopWidth), where the width values refer to the number of parts-per-12 that the column should occupy at each screen size.
   * Note that all column widths are 12-based, so a 12 represents a full-width appearance.
   * Since all column sizes should appear full-width at mobile viewport size, the first number in each sequence is 12.
   * The settings from this map get applied by the columnSizer loop statement found in the "Columns" section of the _layout partial (see the styles under ".col").
   */
/*=============
  Color Palette
  =============*/
/* Global Colors */
/* Specific Use Colors */
/* call-to-action elements (links, buttons) */
/* call-to-action hover state */
/* transparent header link highlight */
/* standard links inside of text blocks */
/* general page body copy */
/* Color Maps */
/* Category Themes - theme names below are based on theme-- category classes that get applied to the body element by AEM */
/*

  Communications: ("blue", $attBlue),
  company: ("silver", "silver")

  */
/*=============
  Font Families
  =============*/
/* Aleck Sans - Base Font Variants */
@font-face {
  font-family: 'Aleck Sans';
  /* Aleck Sans */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Rg.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Rg.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Rg.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Rg.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Rg.svg#webfont") format("svg");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Aleck Sans';
  /* Aleck Sans Italic */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_It.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_It.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_It.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_It.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_It.svg#webfont") format("svg");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'Aleck Sans';
  /* Aleck Sans Light */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Lt.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Lt.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Lt.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Lt.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Lt.svg#webfont") format("svg");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'Aleck Sans';
  /* Aleck Sans Light Italic */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_LtIt.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_LtIt.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_LtIt.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_LtIt.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_LtIt.svg#webfont") format("svg");
  font-weight: 300;
  font-style: italic; }

@font-face {
  font-family: 'Aleck Sans';
  /* Aleck Sans Bold */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Bd.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Bd.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Bd.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Bd.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Bd.svg#webfont") format("svg");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Aleck Sans';
  /* Aleck Sans Bold Italic */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BdIt.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BdIt.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BdIt.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BdIt.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BdIt.svg#webfont") format("svg");
  font-weight: 700;
  font-style: italic; }

/* Aleck Sans - Additional Font Variants */
@font-face {
  font-family: 'Aleck Sans Medium';
  /* Aleck Sans Medium */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Md.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Md.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Md.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Md.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Md.svg#webfont") format("svg");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Aleck Sans Medium';
  /* Aleck Sans Medium Italic */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_MdIt.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_MdIt.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_MdIt.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_MdIt.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_MdIt.svg#webfont") format("svg");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'Aleck Sans Black';
  /* Aleck Sans Black */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Blk.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Blk.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Blk.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Blk.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_Blk.svg#webfont") format("svg");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Aleck Sans Black';
  /* Aleck Sans Black Italic */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BlkIt.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BlkIt.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BlkIt.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BlkIt.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSans_W_BlkIt.svg#webfont") format("svg");
  font-weight: 400;
  font-style: italic; }

/* Aleck Slab */
@font-face {
  font-family: 'Aleck Slab';
  /* Aleck Slab */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_Rg.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_Rg.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_Rg.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_Rg.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_Rg.svg#webfont") format("svg");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Aleck Slab';
  /* Aleck Slab Italic */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_It.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_It.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_It.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_It.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/Aleck/ATTAleckSlab_W_It.svg#webfont") format("svg");
  font-weight: 400;
  font-style: italic; }

/* AT&T Icon Font */
@font-face {
  font-family: 'ATT_Icons';
  /* AT&T Icon Font */
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/ATT_Icons/att-icons.eot");
  src: url("/ui/corpcomm_internet_attus/1.0.0/fonts/ATT_Icons/att-icons.eot?#iefix") format("embedded-opentype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/ATT_Icons/att-icons.woff") format("woff"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/ATT_Icons/att-icons.ttf") format("truetype"), url("/ui/corpcomm_internet_attus/1.0.0/fonts/ATT_Icons/att-icons.svg#webfont") format("svg");
  font-weight: 400;
  font-style: normal; }

/*==============
  Font Variables
  ==============*/
/* AT&T Icon Font Maps */
/*================
  Nav Highlighting
  ================*/
/*
   * The following map sets the nav highlighting default for different body classes
   * ex: bodyClassName: "nav-item-class-name"
   * Note that if a nav item with class of "nav-company" exists and you're on a page with a body class of "nav-company", that will highlight as well
   */
/*======
  MIXINS
  ======*/
/*=======
  Accents
  =======*/
/*==========
  Animations
  ==========*/
/*=================
  Container Queries
  =================*/
/*===========
  Positioning
  ===========*/
/*====
  Misc
  ====*/
/* Silver style */
/* Default button style for white, gray or black backgrounds */
/* Horizontal/Vertical Rules */
/*==========
  Typography
  ==========*/
/*====
  Base
  ====*/
/*=====
  RESET
  =====*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
main, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button {
  cursor: pointer;
  border: 0;
  padding: 0; }
  button:focus {
    outline: 0; }

/*====
  BASE
  ====*/
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  html *,
  html *:before,
  html *:after {
    -webkit-box-sizing: inherit;
            box-sizing: inherit; }

body.compensate-for-scrollbar {
  margin-right: 0;
  overflow: auto !important; }

/* Helper Classes */
.hidden {
  display: none; }

.hidden-spoken {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }
  .hidden-spoken:focus {
    clip: auto !important;
    -webkit-clip-path: none;
            clip-path: none;
    z-index: 100000; }

@media (min-width: 1024px) {
  .hidden-desktop {
    display: none; } }

@media (max-width: 1023px) {
  .hidden-mobile {
    display: none; } }

.editor,
.editor-title {
  display: none; }
  .cq-Editable-dom .editor, .cq-Editable-dom
  .editor-title {
    display: block; }
  .editor sup,
  .editor-title sup {
    font-style: italic; }

.no-results {
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center; }

/* Icons */
[class^="icon--"] {
  display: block;
  position: relative;
  height: 100%;
  width: 100%;
  font-family: "ATT_Icons", "Arial", "Helvetica", sans-serif; }
  [class^="icon--"]:after {
    font-family: inherit;
    color: inherit;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

[class="icon--alert"]:after {
  content: ""; }

[class="icon--att-logo"]:after {
  content: ""; }

[class="icon--att-logo-text"]:after {
  content: ""; }

[class="icon--comment"]:after {
  content: ""; }

[class="icon--download"]:after {
  content: ""; }

[class="icon--email"]:after {
  content: ""; }

[class="icon--facebook"]:after {
  content: ""; }

[class="icon--faq"]:after {
  content: ""; }

[class="icon--file"]:after {
  content: ""; }

[class="icon--info"]:after {
  content: ""; }

[class="icon--info2"]:after {
  content: ""; }

[class="icon--instagram"]:after {
  content: ""; }

[class="icon--link"]:after {
  content: ""; }

[class="icon--linkedin"]:after {
  content: ""; }

[class="icon--notification"]:after {
  content: ""; }

[class="icon--minus"]:after {
  content: ""; }

[class="icon--play"]:after {
  content: ""; }

[class="icon--plus"]:after {
  content: ""; }

[class="icon--quote"]:after {
  content: ""; }

[class="icon--search"]:after {
  content: ""; }

[class="icon--twitter"]:after {
  content: ""; }

[class="icon--youtube"]:after {
  content: ""; }

/* ============== */
/* YouTube Embeds */
/* ============== */
.embed--youtube,
.asset--youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  clear: both; }
  .embed--youtube:after,
  .asset--youtube:after {
    content: "";
    display: table;
    clear: both; }
  .embed--youtube iframe,
  .asset--youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important; }

/* ========== */
/* GVP Embeds */
/* ========== */
/* preview/player wrappers */
body > div[role="dialog"] {
  z-index: 999999999 !important; }

att-gvp > div {
  border-radius: 0 !important; }

[class^="gvp_player__view_"],
[class^="gvp_cta__ctaContainer"] {
  border-radius: 0 !important; }

.embed--gvp [class^="gvp_player__view_"], .embed--gvp
[class^="gvp_player__viewport"] {
  display: block !important;
  -webkit-box-flex: 0 !important;
      -ms-flex: none !important;
          flex: none !important;
  background: transparent !important;
  padding: 0 !important; }

[class^="gvp_player__player"] {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }
  [class^="gvp_player__player"][class*="gvp_player__modal"] {
    background-color: transparent !important;
    max-width: 946px !important;
    width: 100% !important;
    padding: 0 !important; }
    @media (max-width: 479px) {
      [class^="gvp_player__player"][class*="gvp_player__modal"] {
        max-height: 300px !important; } }

[class^="gvp_player__viewport"] {
  position: relative;
  max-width: 100% !important;
  width: 100% !important; }

[class^="gvp_player__video"] {
  max-width: 100% !important; }

/* playback controls */
[class^="gvp_player__controller"] {
  background: #000;
  padding: 0 10px !important; }

/* play button */
[class^="gvp_cta__ctaPlayButton"] {
  position: relative;
  max-width: none !important;
  max-height: none !important;
  fill: none !important; }
  [class^="gvp_cta__ctaPlayButton"]:after {
    content: "";
    position: absolute;
    width: 100%;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    font-family: "ATT_Icons", "Arial", "Helvetica", sans-serif;
    font-size: 10rem;
    text-align: center;
    color: #FFF;
    opacity: 0.85; }
    @media (max-width: 480px) {
      [class^="gvp_cta__ctaPlayButton"]:after {
        font-size: 8rem; } }
    @media (min-width: 768px) {
      .col-2 [class^="gvp_cta__ctaPlayButton"]:after {
        font-size: 8rem; } }
    @media (min-width: 1024px) {
      .col-3 [class^="gvp_cta__ctaPlayButton"]:after {
        font-size: 8rem; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .col-4 [class^="gvp_cta__ctaPlayButton"]:after {
        font-size: 8rem; } }
  [class^="gvp_cta__ctaPlayButton"] circle {
    display: none !important; }

[class^="gvp_player__title"],
[class^="gvp_player__closeButton"] {
  -webkit-transition: opacity 300ms ease !important;
  -o-transition: opacity 300ms ease !important;
  transition: opacity 300ms ease !important; }
  @media (min-width: 1024px) {
    [class^="gvp_player__title"],
    [class^="gvp_player__closeButton"] {
      opacity: 0 !important; }
      .embed--gvp:hover [class^="gvp_player__title"],
      [class^="gvp_player__view_"]:hover [class^="gvp_player__title"], .embed--gvp:hover
      [class^="gvp_player__closeButton"],
      [class^="gvp_player__view_"]:hover
      [class^="gvp_player__closeButton"] {
        opacity: 1 !important; } }

/* close button */
[class^="gvp_player__closeButton"] {
  margin: 0 !important;
  fill: #000 !important;
  z-index: 99 !important; }
  .component [class^="gvp_player__closeButton"] {
    width: 35px !important;
    height: 35px !important; }
  [class^="gvp_player__closeButton"]:hover path {
    fill: #000 !important; }
  [class^="gvp_player__closeButton"]:focus {
    -webkit-box-shadow: 0 !important;
            box-shadow: 0 !important; }
  [class^="gvp_player__closeButton"] circle {
    fill: #FFF; }

/* video title */
[class^="gvp_player__title"] {
  position: absolute !important;
  top: 0;
  font-size: 16px !important;
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif !important;
  font-weight: 300 !important;
  text-shadow: 1px 1px 5px #333 !important;
  color: #FFF !important;
  padding: 10px !important;
  min-height: 20% !important;
  width: 100% !important;
  z-index: 9;
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.55) 0%, rgba(31, 104, 164, 0) 76%, rgba(41, 137, 216, 0) 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.55)), color-stop(76%, rgba(31, 104, 164, 0)), to(rgba(41, 137, 216, 0)));
  background: -o-linear-gradient(top, rgba(0, 0, 0, 0.55) 0%, rgba(31, 104, 164, 0) 76%, rgba(41, 137, 216, 0) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(31, 104, 164, 0) 76%, rgba(41, 137, 216, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8c000000', endColorstr='#00000000',GradientType=0 ); }
  @media (min-width: 1024px) {
    [class^="gvp_player__title"] {
      font-size: 18px !important;
      padding: 15px 20px !important; } }

[class^="gvp_cta__ctaTitle"] {
  display: none; }

/* video duration */
[class^="gvp_cta__ctaDuration"] {
  display: none; }

/*==========
  TYPOGRAPHY
  ==========*/
html {
  font-family: "Arial", "Helvetica", sans-serif;
  font-size: 62.5%; }

body {
  font-size: 16px;
  font-size: 1.6rem;
  color: #191919; }

strong, b {
  font-weight: 700; }

em, i:not([class*="icon--"]) {
  font-style: italic; }

sup {
  position: relative;
  vertical-align: top;
  font-size: .7em;
  top: 2px; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }
  .region--dark-blue a {
    color: #FFF; }

.content {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .content h1, .content h2 {
    font-weight: 300;
    line-height: 1.15; }
  .content h3, .content h4, .content h5, .content h6 {
    font-weight: normal;
    line-height: 1.25; }
  .content h1 {
    font-size: 35px;
    font-size: 3.5rem; }
    @media (min-width: 1220px) {
      .content h1 {
        font-size: 45px;
        font-size: 4.5rem; } }
    @media (min-width: 1440px) {
      .content h1 {
        font-size: 60px;
        font-size: 6rem; } }
  .content h2 {
    font-size: 25px;
    font-size: 2.5rem; }
    @media (min-width: 768px) {
      .content h2 {
        font-size: 30px;
        font-size: 3rem; } }
  .content h3 {
    font-size: 18px;
    font-size: 1.8rem;
    font-family: "Aleck Sans Black", "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
    @media (min-width: 1220px) {
      .content h3 {
        font-size: 21px;
        font-size: 2.1rem; } }
  .content h4 {
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
    @media (min-width: 1220px) {
      .content h4 {
        font-size: 20px;
        font-size: 2rem; } }
  .content h5 {
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .content h6 {
    font-size: 15px;
    font-size: 1.5rem;
    font-family: "Aleck Sans Medium"; }
  .content .featured-item,
  .content .text {
    /* Lists */ }
    .content .featured-item ul,
    .content .featured-item ol,
    .content .text ul,
    .content .text ol {
      margin: 25px 0 25px 20px; }
      .content .featured-item ul ul,
      .content .featured-item ul ol,
      .content .featured-item ol ul,
      .content .featured-item ol ol,
      .content .text ul ul,
      .content .text ul ol,
      .content .text ol ul,
      .content .text ol ol {
        margin: 15px 0 15px 15px; }
        @media (min-width: 1220px) {
          .content .featured-item ul ul,
          .content .featured-item ul ol,
          .content .featured-item ol ul,
          .content .featured-item ol ol,
          .content .text ul ul,
          .content .text ul ol,
          .content .text ol ul,
          .content .text ol ol {
            margin: 25px 0 25px 20px; } }
        .content .featured-item ul ul > li,
        .content .featured-item ul ol > li,
        .content .featured-item ol ul > li,
        .content .featured-item ol ol > li,
        .content .text ul ul > li,
        .content .text ul ol > li,
        .content .text ol ul > li,
        .content .text ol ol > li {
          margin-left: 15px; }
          @media (min-width: 1220px) {
            .content .featured-item ul ul > li,
            .content .featured-item ul ol > li,
            .content .featured-item ol ul > li,
            .content .featured-item ol ol > li,
            .content .text ul ul > li,
            .content .text ul ol > li,
            .content .text ol ul > li,
            .content .text ol ol > li {
              margin-left: 25px; } }
    .content .featured-item ul > li:before,
    .content .text ul > li:before {
      content: "";
      display: block;
      position: absolute;
      top: 15px;
      left: -15px;
      background-color: #000;
      height: 4px;
      width: 4px;
      border-radius: 50%; }
      .region--dark-blue .content .featured-item ul > li:before,
      .region[class*="-black"] .content .featured-item ul > li:before, .region--dark-blue
      .content .text ul > li:before,
      .region[class*="-black"]
      .content .text ul > li:before {
        background-color: #FFF; }
    .content .featured-item ol,
    .content .text ol {
      list-style-type: decimal; }
    .content .featured-item li,
    .content .text li {
      position: relative;
      margin-bottom: 10px; }

/*=======================
  CALL-TO-ACTION ELEMENTS
  =======================*/
button {
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif; }

/* Base CTA Wrappers */
[class$="__cta"] {
  margin: 40px 0 20px; }

/* Base CTA */
.cta--button,
.cta--social {
  text-decoration: none; }

/* Button-style CTAs */
.cta--button {
  background-color: #009FDB;
  color: #FFF;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
  display: inline-block;
  min-width: 150px;
  padding: 15px 30px 17px;
  text-decoration: none;
  text-align: center;
  border-radius: 45px;
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
  font-weight: 700;
  line-height: 1; }
  .cta--button:hover {
    background-color: #0090c7;
    color: #FFF; }
  @media (min-width: 1024px) {
    .cta--button {
      font-size: 19px;
      font-size: 1.9rem;
      min-width: 170px; } }
  .cta--button:hover {
    text-decoration: none; }
  .region[class*="-blue"] .cta--button {
    background-color: #000;
    color: #FFF; }
    .region[class*="-blue"] .cta--button:hover {
      background-color: #FFF;
      color: #000; }
  @media (min-width: 1024px) {
    .col-2 .cta--button {
      min-width: 100%; } }
  @media (min-width: 1024px) and (max-width: 1439px) {
    .col-3 .cta--button {
      min-width: 100%; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .col-4 .cta--button {
      min-width: 100%; } }

/* Link-style CTAs */
.cta--link {
  font-size: 16px;
  font-size: 1.6rem;
  position: relative;
  position: relative;
  color: #0568AE;
  text-decoration: none;
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
  font-weight: 700; }
  .cta--link:after {
    content: "\2192";
    position: absolute;
    color: inherit;
    left: 105%;
    top: 50%;
    font-weight: 400;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
  .cta--link:hover {
    text-decoration: underline; }
  .region--blue .cta--link {
    color: #191919; }
  .region--dark-blue .cta--link {
    color: #FFF; }

/* Social-style CTAs */
.cta--social {
  background-color: #009FDB;
  color: #FFF;
  font-size: 30px;
  font-size: 3rem;
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  height: 45px;
  width: 45px;
  border-radius: 100%; }
  .cta--social:hover {
    background-color: #0090c7;
    color: #FFF; }
  @media (min-width: 768px) {
    .cta--social {
      font-size: 45px;
      font-size: 4.5rem;
      height: 64px;
      width: 64px; } }
  .region[class*="-blue"] .cta--social {
    background-color: #000;
    color: #FFF; }
    .region[class*="-blue"] .cta--social:hover {
      background-color: #FFF;
      color: #000; }

/*======
  Layout
  ======*/
/*======
  LAYOUT
  ======*/
.content,
.region,
.region__wrap,
.row {
  width: 100%;
  margin: 0 auto; }

.region,
.region__wrap,
.row,
.col {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative; }

.region__wrap,
.row__wrap,
.col {
  min-height: 20px;
  /* for empty parsys containers that might otherwise collapse */ }

/* Page */
.content {
  position: relative; }

/* Sections (note that the class name had to be changed from "section" to "region") */
.region {
  overflow: hidden;
  padding: 30px 0;
  /* Make sure sections inside of the equal-height rows are full height sections */
  /* Remove padding from vertically flush sections */
  /* Apply any bottom borders to sections, as long as they aren't vertically flush sections */
  /* Loop through possible section background colors */ }
  @media (min-width: 768px) {
    .region {
      padding: 40px 0; } }
  @media (min-width: 1220px) {
    .region {
      padding: 80px 0; } }
  @media (min-width: 768px) {
    .row--equal-heights .region {
      height: 100%; } }
  .region.region--flush-vertical {
    padding: 0; }
    .region.region--flush-vertical .section:last-of-type > .row:last-of-type > .col:last-of-type > .component:last-of-type,
    .region.region--flush-vertical .section:last-of-type > .component:last-of-type,
    .region.region--flush-vertical .region__wrap > .component:last-of-type {
      margin-bottom: 0; }
  .region.region--border-bottom:after {
    content: "";
    display: block;
    position: absolute;
    background-color: #009FDB;
    border-radius: 30px;
    z-index: 2;
    max-width: 300px;
    width: 60%;
    height: 4px;
    margin: 0 auto;
    bottom: -2px;
    right: 0;
    left: 0;
    background-color: #C9C9C9;
    max-width: 1220px;
    bottom: 0;
    width: calc(100% - 40px);
    height: 1px; }
    .region--blue .region.region--border-bottom:after {
      background-color: #000; }
    .region--dark-blue .region.region--border-bottom:after {
      background-color: #FFF; }
    @media (min-width: 768px) {
      .region.region--border-bottom:after {
        width: calc(100% - 110px); } }
    @media (min-width: 1220px) {
      .region.region--border-bottom:after {
        width: auto; } }
  .region.region--border-bottom.region--flush-vertical:after {
    max-width: none; }
  .region.region--blue {
    background-color: #009FDB; }
  .region.region--near-black, .region.region--black, .region.region--dark-blue {
    color: #FFF; }
  .region.region--dark-blue {
    background-color: #0568AE; }
  .region.region--near-black, .region.region--black, .region.region--dark-blue {
    color: #FFF; }
  .region.region--gray {
    background-color: #F2F2F2; }
  .region.region--near-black, .region.region--black, .region.region--dark-blue {
    color: #FFF; }
  .region.region--near-black {
    background-color: #191919; }
  .region.region--near-black, .region.region--black, .region.region--dark-blue {
    color: #FFF; }
  .region.region--black {
    background-color: #000; }
  .region.region--near-black, .region.region--black, .region.region--dark-blue {
    color: #FFF; }
  .region.region--white {
    background-color: #FFF; }
  .region.region--near-black, .region.region--black, .region.region--dark-blue {
    color: #FFF; }

/* Constrain the width of the section wrapper to the maximum page width */
.region__wrap {
  max-width: 1600px; }

/* Rows */
.row {
  max-width: 1220px;
  margin: 0 auto;
  /* Remove top margin from first row in section */
  /* Remove all side margins from horizontally flushed rows */
  /* Remove top margin from top-flushed rows */
  /* Remove gutters from columns inside no-gutter rows */
  /* Add gutter borders to columns inside gutter-border rows */
  /* Rows inside of other rows/columns */ }
  @media (min-width: 768px) {
    .row {
      margin-top: 20px;
      padding: 0 55px; } }
  @media (min-width: 1440px) {
    .row {
      padding: 0; } }
  .region .row:first-of-type {
    margin-top: 0; }
  .row.row--flush-horizontal {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden; }
  .row.row--flush-top {
    margin-top: 0; }
  .row.row--no-gutters .row__wrap {
    margin-left: 0;
    margin-right: 0; }
  .row.row--no-gutters .col {
    padding-left: 0;
    padding-right: 0; }
  .row.row--gutter-borders .col {
    position: relative;
    /* Start all gutter borders as horizontal borders */
    /* At larger viewport size, switch them to the vertical format */
    /* Prevent gutter borders from appearing next to left-most columns when the columns start to wrap responsively */ }
    @media (max-width: 767px) {
      .row.row--gutter-borders .col {
        margin-bottom: 60px;
        padding-bottom: 60px; }
        .row.row--gutter-borders .col:not(:last-child):before {
          content: "";
          display: block;
          position: absolute;
          background-color: #009FDB;
          border-radius: 30px;
          z-index: 2;
          max-width: 300px;
          width: 60%;
          height: 4px;
          margin: 0 auto;
          bottom: -2px;
          right: 0;
          left: 0; }
          .region--blue .row.row--gutter-borders .col:not(:last-child):before {
            background-color: #000; }
          .region--dark-blue .row.row--gutter-borders .col:not(:last-child):before {
            background-color: #FFF; } }
    @media (min-width: 768px) {
      .row.row--gutter-borders .col.col-6:not(:first-child):before {
        content: "";
        display: block;
        position: absolute;
        background-color: #009FDB;
        border-radius: 30px;
        z-index: 2;
        max-height: 300px;
        height: 60%;
        width: 4px;
        margin: auto 0;
        left: -2px;
        bottom: 0;
        top: 0; }
        .region--blue .row.row--gutter-borders .col.col-6:not(:first-child):before {
          background-color: #000; }
        .region--dark-blue .row.row--gutter-borders .col.col-6:not(:first-child):before {
          background-color: #FFF; } }
    @media (min-width: 1024px) {
      .row.row--gutter-borders .col {
        /* 1/3 width columns */
        /* 1/4 width columns */ }
        .row.row--gutter-borders .col.col-4:not(:first-child):before, .row.row--gutter-borders .col.col-3:not(:first-child):before {
          content: "";
          display: block;
          position: absolute;
          background-color: #009FDB;
          border-radius: 30px;
          z-index: 2;
          max-height: 300px;
          height: 60%;
          width: 4px;
          margin: auto 0;
          left: -2px;
          bottom: 0;
          top: 0;
          background-color: #C9C9C9;
          max-height: none;
          width: 1px;
          height: 100%; }
          .region--blue .row.row--gutter-borders .col.col-4:not(:first-child):before, .region--blue .row.row--gutter-borders .col.col-3:not(:first-child):before {
            background-color: #000; }
          .region--dark-blue .row.row--gutter-borders .col.col-4:not(:first-child):before, .region--dark-blue .row.row--gutter-borders .col.col-3:not(:first-child):before {
            background-color: #FFF; }
        .row.row--gutter-borders .col.col-4 {
          -ms-flex-preferred-size: 31%;
              flex-basis: 31%;
          max-width: 31%; }
        .row.row--gutter-borders .col.col-4 + .col-4:before {
          left: -6%; }
        .row.row--gutter-borders .col.col-8 + .col-4:before {
          left: -8%; }
        .row.row--gutter-borders .col.col-3 {
          -ms-flex-preferred-size: 23%;
              flex-basis: 23%;
          max-width: 23%; }
        .row.row--gutter-borders .col.col-3 + .col-3:before {
          left: -6%; }
        .row.row--gutter-borders .col.col-9 + .col-3:before {
          left: -12%; } }
    @media (min-width: 1220px) {
      .row.row--gutter-borders .col {
        /* 1/5 width columns */ }
        .row.row--gutter-borders .col.col-2:not(:first-child):before {
          content: "";
          display: block;
          position: absolute;
          background-color: #009FDB;
          border-radius: 30px;
          z-index: 2;
          max-height: 300px;
          height: 60%;
          width: 4px;
          margin: auto 0;
          left: -2px;
          bottom: 0;
          top: 0;
          background-color: #C9C9C9;
          max-height: none;
          width: 1px;
          height: 100%; }
          .region--blue .row.row--gutter-borders .col.col-2:not(:first-child):before {
            background-color: #000; }
          .region--dark-blue .row.row--gutter-borders .col.col-2:not(:first-child):before {
            background-color: #FFF; }
        .row.row--gutter-borders .col.col-2 + .col-2:before {
          left: -13%; } }
  .col .row {
    padding: 0; }

.row__wrap {
  margin: 0;
  /* If we have 5 columns in a row or gutter borders, justify the columns */
  /* If row is horizontally flush, apply additional negative margin to bring the row to full-width */
  /* Row wraps inside of other rows/columns (Featured/Latest Stories) */ }
  @media (min-width: 768px) {
    .row__wrap {
      /* Apply negative margin to negate inner padding of columns */
      margin: 0 -10px;
      /* Begin flexbox/flexbox fallback */
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      /* End flexbox stuff */ }
      .no-flexbox.no-flexboxtweener.no-flexboxlegacy .row__wrap {
        display: block; }
        .no-flexbox.no-flexboxtweener.no-flexboxlegacy .row__wrap:after {
          content: "";
          display: table;
          clear: both; } }
  @media (min-width: 1024px) {
    .row--justified .row__wrap,
    .row--gutter-borders .row__wrap {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .row--flush-horizontal .row__wrap {
    margin-right: -20px;
    margin-left: -20px; }
    @media (min-width: 1024px) {
      .row--flush-horizontal .row__wrap {
        margin-right: -10px;
        margin-left: -10px; } }
  .col .row__wrap {
    margin: 0 -20px; }
    @media (min-width: 768px) {
      .col .row__wrap {
        margin: 0 -10px; } }

/* Columns */
.col {
  width: 100%;
  max-width: 100%;
  /* All components are full-width at mobile viewports */
  padding: 0 20px;
  /* Loop through the column sizer map to size the columns */
  /* Tablet Widths */
  /* Small Desktop Widths */
  /* Large Desktop Widths */
  /* Tablet Widths */
  /* Small Desktop Widths */
  /* Large Desktop Widths */
  /* Tablet Widths */
  /* Small Desktop Widths */
  /* Large Desktop Widths */
  /* Tablet Widths */
  /* Small Desktop Widths */
  /* Large Desktop Widths */
  /* Tablet Widths */
  /* Small Desktop Widths */
  /* Large Desktop Widths */
  /* Tablet Widths */
  /* Small Desktop Widths */
  /* Large Desktop Widths */
  /* Tablet Widths */
  /* Small Desktop Widths */
  /* Large Desktop Widths */
  /* Make sure columns inside of the equal-height rows are full height components */ }
  @media (min-width: 768px) {
    .col {
      padding-right: 10px;
      padding-left: 10px;
      /* Apply flexbox fallback */ }
      .no-flexbox.no-flexboxtweener.no-flexboxlegacy .col {
        float: left; } }
  @media (min-width: 768px) {
    .col.col-12 {
      max-width: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; } }
  @media (min-width: 1024px) {
    .col.col-12 {
      max-width: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; } }
  @media (min-width: 1220px) {
    .col.col-12 {
      max-width: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; } }
  @media (min-width: 768px) {
    .col.col-9 {
      max-width: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; } }
  @media (min-width: 1024px) {
    .col.col-9 {
      max-width: 75%;
      -ms-flex-preferred-size: 75%;
          flex-basis: 75%; } }
  @media (min-width: 1220px) {
    .col.col-9 {
      max-width: 75%;
      -ms-flex-preferred-size: 75%;
          flex-basis: 75%; } }
  @media (min-width: 768px) {
    .col.col-8 {
      max-width: 66.66667%;
      -ms-flex-preferred-size: 66.66667%;
          flex-basis: 66.66667%; } }
  @media (min-width: 1024px) {
    .col.col-8 {
      max-width: 66.66667%;
      -ms-flex-preferred-size: 66.66667%;
          flex-basis: 66.66667%; } }
  @media (min-width: 1220px) {
    .col.col-8 {
      max-width: 66.66667%;
      -ms-flex-preferred-size: 66.66667%;
          flex-basis: 66.66667%; } }
  @media (min-width: 768px) {
    .col.col-6 {
      max-width: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; } }
  @media (min-width: 1024px) {
    .col.col-6 {
      max-width: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; } }
  @media (min-width: 1220px) {
    .col.col-6 {
      max-width: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; } }
  @media (min-width: 768px) {
    .col.col-4 {
      max-width: 33.33333%;
      -ms-flex-preferred-size: 33.33333%;
          flex-basis: 33.33333%; } }
  @media (min-width: 1024px) {
    .col.col-4 {
      max-width: 33.33333%;
      -ms-flex-preferred-size: 33.33333%;
          flex-basis: 33.33333%; } }
  @media (min-width: 1220px) {
    .col.col-4 {
      max-width: 33.33333%;
      -ms-flex-preferred-size: 33.33333%;
          flex-basis: 33.33333%; } }
  @media (min-width: 768px) {
    .col.col-3 {
      max-width: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; } }
  @media (min-width: 1024px) {
    .col.col-3 {
      max-width: 25%;
      -ms-flex-preferred-size: 25%;
          flex-basis: 25%; } }
  @media (min-width: 1220px) {
    .col.col-3 {
      max-width: 25%;
      -ms-flex-preferred-size: 25%;
          flex-basis: 25%; } }
  @media (min-width: 768px) {
    .col.col-2 {
      max-width: 33.33333%;
      -ms-flex-preferred-size: 33.33333%;
          flex-basis: 33.33333%; } }
  @media (min-width: 1024px) {
    .col.col-2 {
      max-width: 20%;
      -ms-flex-preferred-size: 20%;
          flex-basis: 20%; } }
  @media (min-width: 1220px) {
    .col.col-2 {
      max-width: 16.66667%;
      -ms-flex-preferred-size: 16.66667%;
          flex-basis: 16.66667%; } }
  @media (min-width: 768px) {
    .row--equal-heights .col > div {
      height: 100%; } }
  @media (min-width: 768px) {
    .aem-AuthorLayer-Edit .row--equal-heights .col > div {
      min-height: 45px;
      height: auto; } }

/* Components */
.component {
  width: 100%;
  margin-bottom: 20px;
  /* Make sure components inside of the equal-height rows are full height components */ }
  .component:after {
    content: "";
    display: table;
    clear: both; }
  .component.component--no-margin-bottom, .component.component--border-bottom,
  .row--gutter-borders .component,
  .row--no-gutters .component {
    margin-bottom: 0; }
  .component.component--border-bottom > div {
    position: relative;
    margin-bottom: 60px;
    padding-bottom: 60px; }
    @media (min-width: 768px) {
      .component.component--border-bottom > div {
        margin-bottom: 80px;
        padding-bottom: 80px; } }
    @media (min-width: 1220px) {
      .component.component--border-bottom > div {
        margin-bottom: 100px;
        padding-bottom: 100px; } }
    .marquee .component.component--border-bottom > div {
      margin-bottom: 0;
      padding-bottom: 0; }
    .component.component--border-bottom > div:after {
      content: "";
      display: block;
      position: absolute;
      background-color: #009FDB;
      border-radius: 30px;
      z-index: 2;
      max-width: 300px;
      width: 60%;
      height: 4px;
      margin: 0 auto;
      bottom: -2px;
      right: 0;
      left: 0; }
      .region--blue .component.component--border-bottom > div:after {
        background-color: #000; }
      .region--dark-blue .component.component--border-bottom > div:after {
        background-color: #FFF; }
    .marquee .component.component--border-bottom > div:after {
      content: none; }
  @media (min-width: 768px) {
    .row--equal-heights .component {
      height: 100%; }
      .row--equal-heights .component .component {
        margin-bottom: 0; } }
  @media (min-width: 768px) {
    .aem-AuthorLayer-Edit .row--equal-heights .component {
      height: auto; } }
  .component [class*="__heading"] {
    max-width: 1220px;
    margin: 0 auto 25px;
    padding: 0 20px; }
    @media (min-width: 768px) {
      .component [class*="__heading"] {
        padding: 0 55px; } }
    @media (min-width: 1440px) {
      .component [class*="__heading"] {
        padding: 0; } }
    .col .component [class*="__heading"] {
      padding: 0; }

/*======
  HEADER
  ======*/
body > .wrapper {
  width: 100%;
  overflow: hidden;
  position: relative; }

body > .wrapper .canvas {
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
  position: relative;
  width: 100%;
  min-height: 100vh; }
  @media (max-width: 767px) {
    body > .wrapper .canvas {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0);
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
      body > .wrapper .canvas.canvas--on {
        -webkit-transform: translateX(-80%);
            -ms-transform: translateX(-80%);
                transform: translateX(-80%); } }
    @media (max-width: 767px) and (min-width: 360px) {
      body > .wrapper .canvas.canvas--on {
        -webkit-transform: translateX(-320px);
            -ms-transform: translateX(-320px);
                transform: translateX(-320px); } }
    @media (max-width: 767px) and (min-width: 768px) {
      body > .wrapper .canvas.canvas--on {
        -webkit-transform: translateX(-400px);
            -ms-transform: translateX(-400px);
                transform: translateX(-400px); } }
  @media (min-width: 768px) {
    body > .wrapper .canvas {
      overflow: auto; } }

/* Skip Navigation */
.skip-navigation {
  background-color: #414141; }
  @media (min-width: 768px) {
    .skip-navigation {
      background-color: #000; } }

.skip-navigation a {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  color: transparent;
  width: calc(100vw - 10px);
  padding: 5px;
  top: 5px; }
  .skip-navigation a:focus {
    clip: auto !important;
    -webkit-clip-path: none;
            clip-path: none;
    z-index: 100000; }
  @media (min-width: 768px) {
    .skip-navigation a {
      top: -30px; } }
  .skip-navigation a:focus {
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    font-size: 12px;
    display: block;
    position: relative !important;
    text-decoration: underline;
    text-align: center;
    padding: 5px 5px 10px;
    height: auto;
    margin: 0 auto;
    top: 5px;
    -webkit-clip-path: none;
            clip-path: none;
    clip: initial;
    color: #C9C9C9;
    z-index: 9999999999; }
    @media (min-width: 768px) {
      .skip-navigation a:focus {
        position: absolute !important;
        padding-bottom: 5px;
        width: auto;
        text-align: left;
        left: 5px; } }

/* Standard and Microsite Headers */
#att-about-header > div,
#att-microsite-header .microsite-nav {
  background-color: #000;
  border-bottom: 1px solid #5A5A5A; }

@media (min-width: 1220px) {
  #att-about-header.header--transparent > div,
  #att-microsite-header.header--transparent .microsite-nav {
    background-color: rgba(0, 0, 0, 0.65); } }

@media (min-width: 1220px) {
  #att-about-header.header--fixed > div,
  #att-microsite-header.header--fixed .microsite-nav {
    background-color: #000; } }

header {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  header *,
  header *:before,
  header *:after {
    -webkit-box-sizing: inherit;
            box-sizing: inherit; }
  .touch header,
  .touchevents header {
    cursor: pointer; }

@media (min-width: 768px) {
  .header--secondary + * {
    margin-top: 105px; } }

@media (min-width: 768px) {
  .header--secondary.active + * {
    margin-top: 72px; } }

@media (min-width: 1440px) {
  .header--secondary.active + * {
    margin-top: 105px; } }

@media (min-width: 1440px) {
  .header--secondary.active--wGlobal + * {
    margin-top: 155px; } }

@media (min-width: 768px) {
  .header + *,
  .header + .header--secondary + * {
    margin-top: 105px;
    top: 0; } }

@media (min-width: 768px) {
  .header.header--transparent + * {
    margin-top: 105px; } }

@media (min-width: 1220px) {
  .header.header--transparent + * {
    margin-top: 0;
    min-height: auto; } }

@media (min-width: 1220px) {
  .header.header--transparent + .header--secondary.header--transparent + * {
    margin-top: 0;
    z-index: 0; } }

@media (min-width: 1220px) {
  .header--secondary.header--transparent {
    position: fixed;
    width: 100%;
    top: 0; } }

@media (min-width: 1220px) {
  .header--secondary.header--transparent + * {
    margin-top: 0; } }

@media (min-width: 1220px) {
  .header--secondary.header--transparent.active--wGlobal + * {
    margin-top: 50px; } }

.att-about-header__wrap {
  z-index: 10; }
  @media (min-width: 768px) {
    .att-about-header__wrap {
      -webkit-transition: all 450ms ease;
      -o-transition: all 450ms ease;
      transition: all 450ms ease;
      position: fixed;
      height: 105px;
      width: 100%;
      margin-top: 0; }
      #att-about-header.header--fixed .att-about-header__wrap {
        height: 72px; } }

.header--secondary > * {
  z-index: 10; }
  @media (min-width: 768px) {
    .header--secondary > * {
      -webkit-transition: all 450ms ease;
      -o-transition: all 450ms ease;
      transition: all 450ms ease;
      position: fixed;
      width: 100%;
      margin-top: 0;
      top: 0; } }

@media (min-width: 1220px) {
  #att-about-header {
    position: relative;
    z-index: 999999999; } }

#att-microsite-header {
  z-index: 5; }
  #att-microsite-header .component {
    margin-bottom: 0; }
  #att-microsite-header .microsite-nav {
    -webkit-transition: all 450ms ease;
    -o-transition: all 450ms ease;
    transition: all 450ms ease;
    margin: 0;
    padding: 0; }
    @media (min-width: 1440px) {
      #att-microsite-header .microsite-nav {
        height: 105px; } }
  @media (min-width: 1440px) {
    #att-microsite-header .microsite-nav.microsite-nav--plusGlobal {
      height: 155px; } }
  @media (min-width: 1440px) {
    #att-microsite-header.header--fixed .microsite-nav {
      height: 72px; } }
  @media (min-width: 1440px) {
    #att-microsite-header.header--fixed .microsite-nav.microsite-nav--plusGlobal {
      height: calc(155px - 40px); } }

/* Author Instance Display Fixes */
.aem-AuthorLayer-Edit #att-about-header {
  min-height: 72px; }
  @media (min-width: 768px) {
    .aem-AuthorLayer-Edit #att-about-header {
      min-height: 105px; } }

.aem-AuthorLayer-Edit #att-about-header + *,
.aem-AuthorLayer-Edit #att-about-header + .header--secondary + *,
.aem-AuthorLayer-Edit #att-microsite-header + * {
  margin-top: 0; }

.aem-AuthorLayer-Edit #att-microsite-header.active + *,
.aem-AuthorLayer-Edit #att-microsite-header.active--wGlobal + * {
  min-height: 100px; }

.aem-AuthorLayer-Edit #att-microsite-header.active + * {
  margin-top: 130px; }

.aem-AuthorLayer-Edit #att-microsite-header.active--wGlobal + * {
  margin-top: 180px; }

/*===
  NAV
  ===*/
/* Nav-specific settings */
/* Helper mixins */
/*=====================*/
#att-about-header .nav {
  max-width: 1220px;
  margin: 0 auto;
  height: 100%;
  -webkit-font-smoothing: subpixel-antialiased; }
  #att-about-header .nav:after {
    content: "";
    display: table;
    clear: both; }

#att-about-header .nav__utils {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 20px;
  height: 72px; }
  #att-about-header .nav__utils:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 768px) {
    #att-about-header .nav__utils {
      padding: 0 55px;
      float: left;
      width: 15%; } }
  @media (min-width: 1440px) {
    #att-about-header .nav__utils {
      padding: 0; } }

/* Nav Logo */
.nav__logo {
  position: relative;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  display: block;
  float: left; }
  .nav__logo .logo__icon {
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    height: 38px;
    min-width: 95px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    display: block;
    /* NOTE: Logo color can vary based on the theme. Default treatment is silver. */
    background-image: url("/ui/corpcomm_internet_attus/1.0.0/images/logo_att-white-text.png"); }
    @media (min-width: 1220px) {
      .nav__logo .logo__icon {
        height: 50px;
        min-width: 125px; }
        .header--fixed .nav__logo .logo__icon {
          height: 38px;
          min-width: 95px; } }

/* Hamburger Toggle */
#att-about-header .nav__toggle,
.microsite-nav--plusGlobal .nav__toggle {
  height: 24px;
  width: 24px;
  background-color: transparent;
  padding: 0;
  border: 0; }
  #att-about-header .nav__toggle:focus,
  .microsite-nav--plusGlobal .nav__toggle:focus {
    outline: 0; }
  @media (min-width: 768px) {
    #att-about-header .nav__toggle,
    .microsite-nav--plusGlobal .nav__toggle {
      display: none; } }

#att-about-header .nav__toggle .bar,
.microsite-nav--plusGlobal .nav__toggle .bar {
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
  display: block;
  background: #FFF;
  width: 100%;
  height: 3px;
  margin-bottom: 4px; }

.nav__toggle--open {
  position: relative;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  float: right; }
  .nav--open .nav__toggle--open {
    display: none; }

.nav__toggle--close {
  display: none; }
  .nav--open .nav__toggle--close {
    display: block;
    position: absolute;
    top: 22px;
    right: 20px; }
    @media (min-width: 768px) {
      .nav--open .nav__toggle--close {
        display: none; } }
  .nav--open .nav__toggle--close .bar {
    position: absolute;
    background: none;
    top: 8px; }
    .nav--open .nav__toggle--close .bar:first-child, .nav--open .nav__toggle--close .bar:last-child {
      background: #FFF; }
    .nav--open .nav__toggle--close .bar:first-child {
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .nav--open .nav__toggle--close .bar:last-child {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }

@media (min-width: 768px) {
  #att-about-header .nav__utils,
  #att-about-header .nav__menu--primary {
    height: 100%; } }

/* Nav Menus */
.nav__menu {
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #000; }
  @media (min-width: 768px) {
    .nav__menu {
      padding-right: 55px; } }
  @media (min-width: 1220px) {
    .nav__menu {
      padding-right: 55px; } }
  .nav__menu li {
    position: relative;
    list-style-type: none;
    margin: 0;
    z-index: 10;
    text-align: left; }
    .nav__menu li.expanded > .nav__menu-parent:after {
      content: '';
      background-color: #FFF;
      padding: 0;
      height: 2px;
      width: 12px;
      top: 19px;
      left: 14px; }
  .nav__menu .nav__menu-item {
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    height: 100%;
    width: 100%;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.25;
    text-decoration: none;
    color: #FFF; }
    @media (min-width: 768px) {
      .nav__menu .nav__menu-item {
        font-size: 14px; } }
    .nav__menu .nav__menu-item span {
      display: inline-block;
      position: relative; }
      @media (max-width: 360px) {
        .nav__menu .nav__menu-item span {
          font-size: 14px; } }
  .nav__menu .nav__menu-parent {
    position: absolute;
    display: block;
    height: 40px;
    width: 40px;
    padding: 10px 0;
    right: 0;
    top: 0;
    line-height: 1;
    text-decoration: none; }
    .nav__menu .nav__menu-parent:after {
      content: '+';
      display: inline-block;
      position: absolute;
      right: 10px;
      top: 10%;
      float: right;
      padding: 3px;
      color: #FFF;
      font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
      font-size: 25px;
      font-weight: 300;
      cursor: pointer; }
    @media (min-width: 768px) {
      .nav__menu .nav__menu-parent {
        height: 37px; } }
    .nav__menu .nav__menu-parent:hover {
      text-decoration: none; }

/* Primary Menus */
.nav__menu--primary {
  width: 320px;
  padding-left: 0;
  margin: 0; }
  @media (min-width: 768px) {
    .nav__menu--primary {
      width: 400px; }
      .nav__menu--primary:focus {
        outline: none; } }
  @media (max-width: 767px) {
    .nav__menu--primary {
      -webkit-transition: width 300ms ease;
      -o-transition: width 300ms ease;
      transition: width 300ms ease;
      max-width: 80%;
      left: 100%;
      top: 0;
      height: 100%;
      padding-top: 72px;
      border-left: 1px solid #5A5A5A; } }
  @media (max-width: 767px) and (min-width: 360px) {
    .nav__menu--primary {
      max-width: none; } }
  @media (min-width: 768px) {
    .nav__menu--primary {
      position: relative;
      float: right;
      width: 85%;
      background-color: transparent;
      text-align: right; } }
  @media (min-width: 1440px) {
    .nav__menu--primary {
      padding-right: 0; } }
  .nav__menu--primary > li {
    /* NOTE: Apply highlighting to nav items based on the body class name. */ }
    .story:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item {
      color: #009FDB; }
      @media (min-width: 768px) {
        .story:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item:before,
        .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item:before {
          opacity: 1; } }
    .story:not([class*="nav-"]) .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item {
      text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); }
    .blog:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item {
      color: #009FDB; }
      @media (min-width: 768px) {
        .blog:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item:before,
        .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item:before {
          opacity: 1; } }
    .blog:not([class*="nav-"]) .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item {
      text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); }
    .all-posts:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item {
      color: #009FDB; }
      @media (min-width: 768px) {
        .all-posts:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item:before,
        .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item:before {
          opacity: 1; } }
    .all-posts:not([class*="nav-"]) .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item {
      text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); }
    .media-gallery:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item {
      color: #009FDB; }
      @media (min-width: 768px) {
        .media-gallery:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item:before,
        .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item:before {
          opacity: 1; } }
    .media-gallery:not([class*="nav-"]) .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item {
      text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); }
    .media-kit:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item {
      color: #009FDB; }
      @media (min-width: 768px) {
        .media-kit:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item:before,
        .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item:before {
          opacity: 1; } }
    .media-kit:not([class*="nav-"]) .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item {
      text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); }
    .media-kit-landing:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item {
      color: #009FDB; }
      @media (min-width: 768px) {
        .media-kit-landing:not([class*="nav-"]) .nav__menu--primary > li.nav-news > .nav__menu-item:before,
        .nav-news .nav__menu--primary > li.nav-news > .nav__menu-item:before {
          opacity: 1; } }
    .media-kit-landing:not([class*="nav-"]) .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item,
    .nav-news .header--transparent .nav__menu--primary > li.nav-news > .nav__menu-item {
      text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); }
    .nav__menu--primary > li.active > .nav__menu-item {
      color: #009FDB; }
      @media (min-width: 768px) {
        .nav__menu--primary > li.active > .nav__menu-item:before {
          opacity: 1; } }
    .header--transparent .nav__menu--primary > li.active > .nav__menu-item {
      text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); }
    @media (max-width: 767px) {
      .nav__menu--primary > li {
        border-bottom: 1px solid #5A5A5A; }
        .nav__menu--primary > li.expanded > .nav__menu-item:after {
          -webkit-transform: translate(1px, -2px) rotate(45deg);
              -ms-transform: translate(1px, -2px) rotate(45deg);
                  transform: translate(1px, -2px) rotate(45deg); }
        .nav__menu--primary > li.expanded > .nav__menu-item span {
          border-bottom: 2px solid #009FDB;
          padding-bottom: 9px; } }
    @media (min-width: 768px) {
      .nav__menu--primary > li {
        display: inline-block;
        height: 100%;
        margin: 0 0 0 40px; }
        .nav__menu--primary > li:first-child {
          margin-left: 0; }
        .nav__menu--primary > li:nth-last-child(-n+2) > .nav__menu--nested {
          right: 0; }
        .nav__menu--primary > li:hover > .nav__menu-item:before,
        .nav__menu--primary > li.expanded > .nav__menu-item:before {
          opacity: 1; }
        .nav__menu--primary > li:hover > .nav__menu-item:after,
        .nav__menu--primary > li.expanded > .nav__menu-item:after {
          -webkit-transform: translate(1px, -2px) rotate(45deg);
              -ms-transform: translate(1px, -2px) rotate(45deg);
                  transform: translate(1px, -2px) rotate(45deg); } }
    @media (min-width: 1024px) {
      .nav__menu--primary > li {
        margin-left: 65px; } }
    @media (min-width: 1220px) {
      .nav__menu--primary > li {
        margin-left: 80px; } }
    @media (min-width: 1440px) {
      .nav__menu--primary > li.last-item {
        padding-right: 0;
        margin-right: 0; } }
    @media (min-width: 1600px) {
      .nav__menu--primary > li:nth-last-child(-n+2) > .nav__menu--nested {
        right: auto; }
      .nav__menu--primary > li:last-child > .nav__menu--nested {
        right: 0; } }
    @media (max-width: 767px) {
      .nav__menu--primary > li > .nav__menu-item {
        width: calc(100% - 100px);
        padding: 10px 0 10px 20px; } }
    @media (min-width: 768px) {
      .nav__menu--primary > li > .nav__menu-item {
        text-transform: uppercase;
        font-weight: 400; }
        .nav__menu--primary > li > .nav__menu-item:before {
          -webkit-transition: all 300ms ease;
          -o-transition: all 300ms ease;
          transition: all 300ms ease;
          content: "";
          display: block;
          position: absolute;
          bottom: -1px;
          height: 5px;
          width: 100%;
          background-color: #009FDB;
          opacity: 0; }
        .nav__menu--primary > li > .nav__menu-item:focus:before {
          opacity: 1; } }
    @media (min-width: 768px) {
      .nav__menu--primary > li > .nav__menu-item span {
        display: block;
        top: 50%;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%); } }
    @media (min-width: 768px) {
      .nav__menu--primary > li > .nav__menu-parent {
        height: 0;
        width: 0;
        padding: 0; }
        .nav__menu--primary > li > .nav__menu-parent:after {
          content: none; } }
    @media (min-width: 768px) {
      .nav__menu--primary > li.expanded > .nav__menu-parent:after {
        content: none; } }

/* Subnavs */
.nav__menu--secondary,
.nav__menu--tertiary {
  display: none;
  position: relative; }
  @media (min-width: 768px) {
    .nav__menu--secondary,
    .nav__menu--tertiary {
      position: absolute;
      width: 260px;
      margin-top: 1px;
      padding: 10px 0; }
      .nav__menu--secondary .nav__menu--nested,
      .nav__menu--tertiary .nav__menu--nested {
        position: relative;
        background-color: #000;
        margin-top: 0;
        padding: 5px 10px; } }
  @media (min-width: 1220px) {
    .nav__menu--secondary,
    .nav__menu--tertiary {
      width: 300px; } }
  @media (min-width: 1440px) {
    .nav__menu--secondary,
    .nav__menu--tertiary {
      width: 340px; } }
  @media (max-width: 767px) {
    .nav__menu--secondary li,
    .nav__menu--tertiary li {
      border-bottom: 1px solid #5A5A5A; } }
  @media (min-width: 768px) {
    .nav__menu--secondary li:hover,
    .nav__menu--tertiary li:hover {
      background-color: #5A5A5A; } }
  @media (min-width: 768px) {
    .nav__menu--secondary li:hover .nav__menu-parent,
    .nav__menu--tertiary li:hover .nav__menu-parent {
      background-color: #676767; } }
  .nav__menu--secondary li:last-child,
  .nav__menu--tertiary li:last-child {
    border-bottom: 0; }
  .nav__menu--secondary .nav__menu-item,
  .nav__menu--tertiary .nav__menu-item {
    width: calc(100% - 100px);
    padding: 10px 0 10px 0; }
    @media (min-width: 768px) {
      .nav__menu--secondary .nav__menu-item,
      .nav__menu--tertiary .nav__menu-item {
        padding-left: 20px;
        width: calc(100% - 40px); } }
    @media (min-width: 768px) {
      .nav__menu--secondary .nav__menu-item:focus,
      .nav__menu--tertiary .nav__menu-item:focus {
        background-color: #5A5A5A; } }
    .nav__menu--secondary .nav__menu-item:last-child,
    .nav__menu--tertiary .nav__menu-item:last-child {
      width: 100%;
      padding-right: 20px; }

/* Secondary Subnavs */
.nav__menu--secondary {
  /* When in desktop, rely on the hover or focused state of the parent element to show secondary navs */ }
  @media (max-width: 767px) {
    .nav__menu--secondary {
      padding-left: 40px;
      /* When in mobile, rely on the .expanded class of the parent element to show secondary navs */ }
      .expanded > .nav__menu-parent + .nav__menu--secondary {
        display: block; } }
  @media (min-width: 768px) {
    .nav__menu--primary > li:hover > .nav__menu-parent + .nav__menu--secondary,
    .nav__menu--primary > li.expanded > .nav__menu-parent + .nav__menu--secondary {
      display: block; } }

/* Tertiary Subnavs */
.nav__menu--tertiary {
  /* Always rely on the .expanded class of the parent element to show tertiary navs */ }
  @media (max-width: 767px) {
    .nav__menu--tertiary {
      padding-left: 25px; } }
  @media (min-width: 768px) {
    .nav__menu--tertiary {
      position: relative;
      background-color: #000;
      margin-top: 0;
      padding: 5px 10px; } }
  @media (min-width: 768px) {
    .nav__menu--tertiary li .nav__menu-item {
      padding-left: 30px; } }
  .expanded > .nav__menu-parent + .nav__menu--tertiary {
    display: block; }

/*======
  FOOTER
  ======*/
#att-about-footer {
  background-color: #191919; }

#att-about-footer .footer__wrap {
  font-family: "Arial", "Helvetica", sans-serif;
  font-size: 11px;
  line-height: 1;
  max-width: 1220px;
  margin: 0 auto;
  padding: 20px;
  color: #959595; }
  @media (min-width: 768px) and (max-width: 1439px) {
    #att-about-footer .footer__wrap {
      padding-left: 55px;
      padding-right: 55px; } }
  @media (min-width: 1024px) {
    #att-about-footer .footer__wrap {
      padding-bottom: 50px; } }
  @media (min-width: 1440px) {
    #att-about-footer .footer__wrap {
      padding-right: 0;
      padding-left: 0; } }
  #att-about-footer .footer__wrap a {
    color: inherit; }

#att-about-footer .footer__menu {
  margin: 10px 0 20px;
  padding: 0; }
  #att-about-footer .footer__menu li {
    display: inline-block;
    margin-right: 16px;
    margin-bottom: .5rem; }
  #att-about-footer .footer__menu a {
    font-weight: 300;
    text-decoration: none; }
    #att-about-footer .footer__menu a:hover {
      text-decoration: underline; }

#att-about-footer .footer__copyright {
  margin: 20px 0; }
  #att-about-footer .footer__copyright p {
    margin: 0; }
  #att-about-footer .footer__copyright a {
    text-decoration: underline; }

/*========
  ARTICLES
  ========*/
/* Featured Headline */
.featured-headline {
  padding: 0 0 30px; }
  .story__header .featured-headline {
    padding: 30px 20px; }
    @media (min-width: 768px) {
      .story__header .featured-headline {
        padding-left: 55px;
        padding-right: 55px; } }
    @media (min-width: 1024px) {
      .story__header .featured-headline {
        position: relative;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        left: 50%;
        position: absolute;
        bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        margin: 0 auto;
        max-width: 1220px;
        width: 100%;
        height: 100%; } }
    @media (min-width: 1220px) {
      .story__header .featured-headline {
        padding-left: calc(105px - 10px);
        padding-right: calc(105px - 10px); }
        .header--transparent + .content .story__header .featured-headline {
          height: calc(100% - 105px); } }
  .article__content[data-ftImg="true"] .featured-headline {
    display: none; }

.featured-headline h1,
.meta__info h1,
.meta__info h2 {
  font-family: "Aleck Sans Black", "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
  line-height: 1.25; }

@media (min-width: 1024px) {
  .story__header .featured-headline h1 {
    position: relative;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    max-width: 50%;
    color: #FFF; }
  .story__header--light .featured-headline h1 {
    color: #000; } }

@media (min-width: 1220px) {
  .story .featured-headline h1,
  .blog-post .featured-headline h1, .story
  .meta__info h1,
  .blog-post
  .meta__info h1 {
    font-size: 40px;
    font-size: 4rem; } }

@media (min-width: 1220px) {
  .media-kit-post .meta__info h2 {
    font-size: 40px;
    font-size: 4rem;
    max-width: 95%; } }

.featured-asset [class*="asset"] {
  margin: 10px 0 40px; }

.featured-asset img {
  max-width: 100%; }

/* Article */
.article__header {
  padding-bottom: 15px;
  border-bottom: 1px solid #C9C9C9; }
  .article__header:after {
    content: "";
    display: table;
    clear: both; }

.article__meta,
.author__meta {
  margin-bottom: 40px; }
  .article__meta:after,
  .author__meta:after {
    content: "";
    display: table;
    clear: both; }
  .article__meta .meta__img,
  .author__meta .meta__img {
    float: left;
    margin-right: 15px;
    min-height: 85px;
    width: 85px;
    overflow: hidden; }
    @media (min-width: 640px) {
      .article__meta .meta__img,
      .author__meta .meta__img {
        margin-right: 20px; } }
    .article__meta .meta__img img,
    .author__meta .meta__img img {
      max-width: 100%; }
  .article__meta .meta__info,
  .author__meta .meta__info {
    float: left;
    max-width: calc(100% - 108px); }
    .article__meta .meta__info span,
    .author__meta .meta__info span {
      display: block;
      margin-bottom: 8px; }
    .article__meta .meta__info .author,
    .author__meta .meta__info .author {
      font-weight: 700; }

@media (min-width: 480px) {
  .article__share {
    float: left; } }

.article__assets {
  margin-top: 10px; }
  @media (min-width: 480px) {
    .article__assets {
      margin-top: 0;
      margin-right: 15px;
      float: right; } }
  .article__assets .cta--link {
    position: relative; }
    .article__assets .cta--link:after {
      content: "\2193";
      position: absolute;
      color: inherit;
      left: 105%;
      top: 50%;
      font-weight: 400;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }

/* Article Body Content */
.article__content {
  padding-top: 40px;
  /* Components */ }
  .article__content .section:first-child > .region:first-child {
    margin-top: 0;
    padding-top: 0; }
  .article__content h1, .article__content h2 {
    font-family: "Aleck Sans Black", "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
    line-height: 1.25; }
  .article__content .region h1,
  .article__content .region h2 {
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .article__content .component.component--border-bottom > div {
    margin-bottom: calc(40px + 10px);
    padding-bottom: 40px; }
    @media (min-width: 1220px) {
      .article__content .component.component--border-bottom > div {
        margin-bottom: calc(60px + 10px);
        padding-bottom: 60px; } }

.blog-post .blog__wrap,
.media-kit-page .media-kit__wrap {
  /* Sections */
  /* Components */
  /* Text Components */
  /* Media Components */ }
  .blog-post .blog__wrap .row,
  .media-kit-page .media-kit__wrap .row {
    margin-top: 0; }
    @media (min-width: 768px) {
      .blog-post .blog__wrap .row,
      .media-kit-page .media-kit__wrap .row {
        padding: 0; } }
    @media (min-width: 1024px) {
      .blog-post .blog__wrap .row,
      .media-kit-page .media-kit__wrap .row {
        max-width: 1600px; } }
  @media (min-width: 768px) {
    .blog-post .blog__wrap .row__wrap,
    .media-kit-page .media-kit__wrap .row__wrap {
      margin-left: 0;
      margin-right: 0; } }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .article__content,
    .media-kit-page .media-kit__wrap .article__content {
      width: 100%; } }
  .blog-post .blog__wrap .region,
  .media-kit-page .media-kit__wrap .region {
    border-top: 1px solid #C9C9C9;
    border-bottom: 1px solid #C9C9C9;
    margin: 0 0 20px; }
    .blog-post .blog__wrap .region[class*="region--"]:not(.region--white),
    .media-kit-page .media-kit__wrap .region[class*="region--"]:not(.region--white) {
      border-top: 0;
      border-bottom: 0; }
    .blog-post .blog__wrap .region.region--flush-vertical,
    .media-kit-page .media-kit__wrap .region.region--flush-vertical {
      border-top: 0;
      border-bottom: 0;
      padding: 0; }
    @media (min-width: 768px) {
      .blog-post .blog__wrap .region,
      .media-kit-page .media-kit__wrap .region {
        margin-bottom: 40px;
        padding: 80px 0; } }
    @media (min-width: 1024px) {
      .blog-post .blog__wrap .region,
      .media-kit-page .media-kit__wrap .region {
        margin-bottom: 50px; } }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .component,
    .media-kit-page .media-kit__wrap .component {
      max-width: 1220px;
      margin-left: auto;
      margin-right: auto; } }
  .blog-post .blog__wrap .component > div,
  .media-kit-page .media-kit__wrap .component > div {
    padding-left: 20px;
    padding-right: 20px; }
    @media (min-width: 768px) {
      .blog-post .blog__wrap .component > div,
      .media-kit-page .media-kit__wrap .component > div {
        padding: 0 55px 20px; } }
    @media (min-width: 1024px) {
      .blog-post .blog__wrap .component > div,
      .media-kit-page .media-kit__wrap .component > div {
        max-width: 66.66667%;
        -ms-flex-preferred-size: 66.66667%;
            flex-basis: 66.66667%;
        margin: 0 auto;
        padding: 0 0 20px; } }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .component [class*="__heading"],
    .media-kit-page .media-kit__wrap .component [class*="__heading"] {
      padding: 0; } }
  .blog-post .blog__wrap .region .component,
  .media-kit-page .media-kit__wrap .region .component {
    margin-bottom: 0; }
    @media (min-width: 1024px) {
      .blog-post .blog__wrap .region .component,
      .media-kit-page .media-kit__wrap .region .component {
        max-width: none; } }
    .blog-post .blog__wrap .region .component > div,
    .media-kit-page .media-kit__wrap .region .component > div {
      padding: 0; }
      @media (min-width: 1024px) {
        .blog-post .blog__wrap .region .component > div,
        .media-kit-page .media-kit__wrap .region .component > div {
          max-width: none; } }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .region .component [class*="__heading"],
    .media-kit-page .media-kit__wrap .region .component [class*="__heading"] {
      padding: 0 55px; } }
  @media (min-width: 1440px) {
    .blog-post .blog__wrap .region .component [class*="__heading"],
    .media-kit-page .media-kit__wrap .region .component [class*="__heading"] {
      padding: 0; } }
  .blog-post .blog__wrap .region .component .text,
  .blog-post .blog__wrap .region .component .media__caption,
  .media-kit-page .media-kit__wrap .region .component .text,
  .media-kit-page .media-kit__wrap .region .component .media__caption {
    padding: 0 20px; }
    @media (min-width: 768px) {
      .blog-post .blog__wrap .region .component .text,
      .blog-post .blog__wrap .region .component .media__caption,
      .media-kit-page .media-kit__wrap .region .component .text,
      .media-kit-page .media-kit__wrap .region .component .media__caption {
        padding: 0 55px; } }
    @media (min-width: 1440px) {
      .blog-post .blog__wrap .region .component .text,
      .blog-post .blog__wrap .region .component .media__caption,
      .media-kit-page .media-kit__wrap .region .component .text,
      .media-kit-page .media-kit__wrap .region .component .media__caption {
        padding-left: 0;
        padding-right: 0; } }
  .blog-post .blog__wrap .region .component .text,
  .media-kit-page .media-kit__wrap .region .component .text {
    max-width: 1220px; }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .region .component .text.text--featured,
    .media-kit-page .media-kit__wrap .region .component .text.text--featured {
      padding-top: 20px;
      padding-bottom: 20px; } }
  @media (min-width: 1440px) {
    .blog-post .blog__wrap .region .component .text.text--featured,
    .media-kit-page .media-kit__wrap .region .component .text.text--featured {
      padding-top: 70px;
      padding-bottom: 70px; } }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .region .component .media__caption,
    .media-kit-page .media-kit__wrap .region .component .media__caption {
      padding: 0; } }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .region .component .media__caption p,
    .media-kit-page .media-kit__wrap .region .component .media__caption p {
      max-width: 66.66667%;
      -ms-flex-preferred-size: 66.66667%;
          flex-basis: 66.66667%;
      margin-left: auto;
      margin-right: auto; } }
  .blog-post .blog__wrap .text.text--featured h2,
  .media-kit-page .media-kit__wrap .text.text--featured h2 {
    font-size: 30px;
    font-size: 3rem; }
    @media (min-width: 1440px) {
      .blog-post .blog__wrap .text.text--featured h2,
      .media-kit-page .media-kit__wrap .text.text--featured h2 {
        font-size: 38px;
        font-size: 3.8rem; } }
  .blog-post .blog__wrap .media,
  .media-kit-page .media-kit__wrap .media {
    float: none; }
  .blog-post .blog__wrap .region .component .media__img,
  .media-kit-page .media-kit__wrap .region .component .media__img {
    max-width: none; }
  .blog-post .blog__wrap .media__img img,
  .media-kit-page .media-kit__wrap .media__img img {
    margin: 0 auto; }
  .blog-post .blog__wrap .media__caption,
  .media-kit-page .media-kit__wrap .media__caption {
    padding: 0; }
  .blog-post .blog__wrap .component > .media-library,
  .blog-post .blog__wrap .component > .media-carousel,
  .blog-post .blog__wrap .component > .media-library .component > div,
  .blog-post .blog__wrap .component > .media-carousel .component > div,
  .media-kit-page .media-kit__wrap .component > .media-library,
  .media-kit-page .media-kit__wrap .component > .media-carousel,
  .media-kit-page .media-kit__wrap .component > .media-library .component > div,
  .media-kit-page .media-kit__wrap .component > .media-carousel .component > div {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0; }
  @media (min-width: 1024px) {
    .blog-post .blog__wrap .component > .media-library .component > div,
    .blog-post .blog__wrap .component > .media-carousel .component > div,
    .media-kit-page .media-kit__wrap .component > .media-library .component > div,
    .media-kit-page .media-kit__wrap .component > .media-carousel .component > div {
      max-width: none; } }
  .blog-post .blog__wrap .component > .media-carousel .component > div,
  .media-kit-page .media-kit__wrap .component > .media-carousel .component > div {
    padding: 0 20px; }
    @media (min-width: 768px) {
      .blog-post .blog__wrap .component > .media-carousel .component > div,
      .media-kit-page .media-kit__wrap .component > .media-carousel .component > div {
        padding: 0 10px; } }

@media (min-width: 1024px) {
  .blog__header .row .row__wrap .col-12,
  .blog__authors .row .row__wrap .col-12,
  .media-kit__header .row .row__wrap .col-12,
  .media-kit__authors .row .row__wrap .col-12 {
    max-width: 75%;
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%; } }

@media (min-width: 1440px) {
  .blog__header .row .row__wrap .col-12,
  .blog__authors .row .row__wrap .col-12,
  .media-kit__header .row .row__wrap .col-12,
  .media-kit__authors .row .row__wrap .col-12 {
    max-width: 66.66667%;
    -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%; } }

/* Sidebar */
@media (min-width: 1024px) {
  .sidebar {
    padding-left: 40px; } }

@media (min-width: 1220px) {
  .sidebar {
    padding-left: 60px;
    padding-right: 60px; } }

.sidebar .sidebar__widget {
  margin-bottom: 40px; }

.sidebar .search-field fieldset {
  margin: 0; }
  @media (min-width: 1024px) {
    .sidebar .search-field fieldset {
      max-width: 245px; } }

/* Related Articles */
[class*="__related"] .featured-item .item__info {
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
  margin: 15px 0 30px; }

@media (max-width: 1023px) {
  [class*="__related"] .featured-item .item__description {
    display: none; } }

[class*="__related"] .featured-item .item__img[data-placeholder="true"] a:after {
  content: ""; }

/*=====
  SHARE
  =====*/
.share,
[class*="__share"] {
  position: relative;
  max-width: 1220px;
  overflow: hidden;
  margin: 0 20px; }
  .share:after,
  [class*="__share"]:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 768px) {
    .share,
    [class*="__share"] {
      margin-left: 55px;
      margin-right: 55px; } }
  @media (min-width: 1220px) {
    .share,
    [class*="__share"] {
      margin-left: auto;
      margin-right: auto;
      padding-left: 55px;
      padding-right: 55px; } }
  @media (min-width: 1440px) {
    .share,
    [class*="__share"] {
      padding-left: 0;
      padding-right: 0; } }
  .col .share, .col
  [class*="__share"] {
    margin-left: 0;
    margin-right: 0; }
    @media (min-width: 768px) {
      .col .share, .col
      [class*="__share"] {
        margin-left: 0;
        margin-right: 0; } }
    @media (min-width: 1220px) {
      .col .share, .col
      [class*="__share"] {
        padding-left: 0;
        padding-right: 0; } }
  .component > .share, .component >
  [class*="__share"] {
    padding-bottom: 10px;
    float: none; }
    .component > .share:before, .component >
    [class*="__share"]:before {
      content: "";
      position: absolute;
      height: 1px;
      width: 100%;
      background-color: #C9C9C9;
      bottom: 0; }
      @media (min-width: 1220px) and (max-width: 1439px) {
        .component > .share:before, .component >
        [class*="__share"]:before {
          width: calc(100% - (55px * 2)); } }
      .region--blue .component > .share:before, .region--blue .component >
      [class*="__share"]:before {
        background-color: #000; }
      .region--dark-blue .component > .share:before, .region--dark-blue .component >
      [class*="__share"]:before {
        background-color: #FFF; }
  .component--border-bottom .share, .component--border-bottom
  [class*="__share"] {
    text-align: center; }
  .share h4,
  .share ul,
  [class*="__share"] h4,
  [class*="__share"] ul {
    float: left; }
  .share.share--right h4, .share.share--right ul,
  [class*="__share"].share--right h4,
  [class*="__share"].share--right ul {
    float: right; }
  .share h4,
  [class*="__share"] h4 {
    height: 20px;
    line-height: 20px;
    text-transform: lowercase;
    font-family: inherit;
    font-size: inherit; }
  .share ul,
  [class*="__share"] ul {
    margin: 0 10px; }
    .share ul li,
    [class*="__share"] ul li {
      display: inline-block;
      width: 20px;
      height: 20px;
      margin: 0 5px; }
    .share ul a:hover,
    [class*="__share"] ul a:hover {
      text-decoration: none; }
    .share ul i,
    [class*="__share"] ul i {
      font-size: 25px;
      font-size: 2.5rem;
      color: #5A5A5A; }
      .region--blue .share ul i, .region--blue
      [class*="__share"] ul i {
        color: #000; }
      .region--dark-blue .share ul i,
      .region[class*="-black"] .share ul i, .region--dark-blue
      [class*="__share"] ul i,
      .region[class*="-black"]
      [class*="__share"] ul i {
        color: #FFF; }
      .share ul i:hover,
      .region[class*="-black"] .share ul i:hover,
      [class*="__share"] ul i:hover,
      .region[class*="-black"]
      [class*="__share"] ul i:hover {
        color: #009FDB; }
      .region--blue .share ul i:hover, .region--blue
      [class*="__share"] ul i:hover {
        color: #FFF; }
      .region--dark-blue .share ul i:hover, .region--dark-blue
      [class*="__share"] ul i:hover {
        color: #000; }

/*=====
  FORMS
  =====*/
input {
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
  color: #5A5A5A;
  line-height: 1; }
  @media (min-width: 1024px) {
    input {
      font-size: 18px;
      font-size: 1.8rem; } }
  input:focus {
    outline: 0; }
  input::placeholder, input::-moz-placeholder {
    color: #C9C9C9; }

input:focus,
textarea:focus,
select:focus {
  outline-offset: 0; }

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  background-color: #FFF;
  -webkit-box-shadow: 0 0 0px 1000px #FFF inset; }

input:-webkit-text-fill-color,
textarea:-webkit-text-fill-color,
select:-webkit-text-fill-color {
  color: #191919 !important; }

/*======================
    Submission Form Styles
    ======================*/
.section form[method=POST] {
  max-width: 500px;
  margin: 0 auto;
  padding: 0 20px; }
  .col:not(.col-12) .section form[method=POST] {
    margin: 0; }
  @media (min-width: 640px) {
    .section form[method=POST] {
      padding: 0; } }
  .section form[method=POST] .form_leftcol {
    height: 0;
    line-height: inherit; }
  .section form[method=POST] .form_leftcolmark {
    color: #b30a3c;
    font-weight: 700;
    padding-left: 2px; }
  .section form[method=POST] .form_leftcollabel {
    float: left;
    margin-bottom: 10px; }
  .section form[method=POST] .form_leftcolnobr {
    float: left;
    margin-bottom: 15px; }
  .section form[method=POST] .form_rightcol {
    clear: both; }
  .section form[method=POST] .form_rightcolnobr {
    clear: none;
    float: right;
    margin-bottom: 15px; }
  .section form[method=POST] .form_rightcolnooverflow {
    overflow: hidden; }
  .section form[method=POST] .title {
    padding-top: 10px; }
  .section form[method=POST] .form_row {
    font-size: 16px;
    font-size: 1.6rem;
    clear: both;
    display: block;
    padding-bottom: 5px; }
  .section form[method=POST] label, .section form[method=POST] .form_row_description {
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .section form[method=POST] .form_row_description {
    font-size: 14px;
    font-size: 1.4rem;
    clear: both;
    color: #5A5A5A;
    line-height: 16px; }
  .section form[method=POST] .form_field_checkbox,
  .section form[method=POST] .form_field_radio {
    border: none;
    margin-left: 20px; }
  .section form[method=POST] .form_field_text,
  .section form[method=POST] .form_field_textarea {
    background: #f9f9f9;
    border-radius: 3px;
    border-color: #C9C9C9;
    border-style: solid;
    border-width: 1px;
    color: #5A5A5A;
    font-size: 100%;
    line-height: 34px;
    margin: 0;
    max-width: 500px;
    padding: 0 5px;
    width: 100%; }
  .section form[method=POST] .form_field_select {
    font-size: 16px;
    font-size: 1.6rem;
    max-width: 500px;
    width: 100%; }
  .section form[method=POST] .form_button_submit {
    font-size: 16px;
    font-size: 1.6rem;
    background-color: #009FDB;
    color: #FFF;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    display: inline-block;
    min-width: 150px;
    padding: 15px 30px 17px;
    text-decoration: none;
    text-align: center;
    border: 0;
    border-radius: 45px;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 700;
    line-height: 1; }
    @media (min-width: 1024px) {
      .section form[method=POST] .form_button_submit {
        font-size: 19px;
        font-size: 1.9rem;
        min-width: 170px; } }
  .section form[method=POST] .customer_survey_submit {
    float: right;
    margin-top: 28px; }
  .section form[method=POST] .form_field_text.form_field_multivalued {
    width: 314px; }
  .section form[method=POST] .form_error {
    font-size: 15px;
    font-size: 1.5rem;
    color: #f00;
    display: inline-block;
    padding: 5px 0; }
  .section form[method=POST] p.form_error {
    padding: 0 0 10px; }
  .section form[method=POST] div.section {
    margin-bottom: 30px; }
  .section form[method=POST] div.colctrl.section {
    padding-bottom: 0 !important; }
  .section form[method=POST] span.mr_write {
    display: inline-block;
    text-align: right;
    vertical-align: top;
    width: 16px; }

/* Submission Form Captcha */
.section form[method=POST] .form_captcha_input {
  float: left;
  width: 170px; }
  .section form[method=POST] .form_captcha_input input {
    width: 170px; }
  .section form[method=POST] .form_captcha_input .form_captcha_img {
    float: left;
    padding-left: 16px; }
  .section form[method=POST] .form_captcha_input .form_captchatimer {
    border: 1px solid #C9C9C9;
    float: left; }
  .section form[method=POST] .form_captcha_input .form_captchatimer_bar {
    background-color: #C9C9C9;
    float: left;
    height: 8px; }

/*======
  Vendor
  ======*/
/*! Flickity v1.2.1
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: white;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.flickity-prev-next-button:hover {
  background: white; }

.flickity-prev-next-button:focus {
  outline: none;
  -webkit-box-shadow: 0 0 0 5px #09F;
          box-shadow: 0 0 0 5px #09F; }

.flickity-prev-next-button:active {
  filter: alpha(opacity=60);
  /* IE8 */
  opacity: 0.6; }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button:disabled {
  filter: alpha(opacity=30);
  /* IE8 */
  opacity: 0.3;
  cursor: auto; }

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

.flickity-prev-next-button .arrow {
  fill: #333; }

/* color & size if no SVG - IE8 and Android 2.3 */
.flickity-prev-next-button.no-svg {
  color: #333;
  font-size: 26px; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  filter: alpha(opacity=25);
  /* IE8 */
  opacity: 0.25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  filter: alpha(opacity=100);
  /* IE8 */
  opacity: 1; }

body.compensate-for-scrollbar {
  overflow: hidden; }

.fancybox-active {
  height: auto; }

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden; }

.fancybox-container {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji',
 'Segoe UI Emoji', 'Segoe UI Symbol';
  height: 100%;
  left: 0;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  width: 100%;
  z-index: 99992; }

.fancybox-container * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  -webkit-transition-duration: inherit;
       -o-transition-duration: inherit;
          transition-duration: inherit;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
       -o-transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
          transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: .87;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
       -o-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
          transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity .25s, visibility 0s linear .25s;
  -o-transition: opacity .25s, visibility 0s linear .25s;
  transition: opacity .25s, visibility 0s linear .25s;
  visibility: hidden;
  z-index: 99997; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  -webkit-transition: opacity .25s, visibility 0s;
  -o-transition: opacity .25s, visibility 0s;
  transition: opacity .25s, visibility 0s;
  visibility: visible; }

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  text-align: center;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-toolbar {
  right: 0;
  top: 0; }

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  -webkit-transform: translate3d(0, 0, 0);
  z-index: 99994; }

.fancybox-is-open .fancybox-stage {
  overflow: hidden; }

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  -o-transition-property: transform, opacity;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  white-space: normal;
  width: 100%;
  z-index: 99994; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  height: 100%;
  margin-right: -.25em;
  vertical-align: middle;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--next {
  z-index: 99995; }

.fancybox-slide--image {
  overflow: visible;
  padding: 44px 0; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--html {
  padding: 6px 6px 0 6px; }

.fancybox-slide--iframe {
  padding: 44px 44px 0; }

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0 0 6px 0;
  max-width: 100%;
  overflow: auto;
  padding: 0;
  padding: 24px;
  position: relative;
  text-align: left;
  vertical-align: middle; }

.fancybox-slide--image .fancybox-content {
  -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  margin: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  -o-transition-property: transform, opacity;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995; }

.fancybox-can-zoomOut .fancybox-content {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-content {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-can-drag .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-dragging .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-container [data-selectable='true'] {
  cursor: text; }

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--html .fancybox-content {
  margin-bottom: 6px; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  width: 100%; }

.fancybox-slide--video .fancybox-content {
  background: #000; }

.fancybox-slide--map .fancybox-content {
  background: #e5e3df; }

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
  height: calc(100% - 44px);
  margin-bottom: 44px; }

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%; }

.fancybox-iframe {
  vertical-align: top; }

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%; }

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0; }

/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  outline: none;
  padding: 10px;
  -webkit-transition: color .2s;
  -o-transition: color .2s;
  transition: color .2s;
  vertical-align: top;
  width: 44px; }

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc; }

.fancybox-button:focus,
.fancybox-button:hover {
  color: #fff; }

.fancybox-button.disabled,
.fancybox-button.disabled:hover,
.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default; }

.fancybox-button svg {
  display: block;
  overflow: visible;
  position: relative;
  shape-rendering: geometricPrecision; }

.fancybox-button svg path {
  fill: transparent;
  stroke: currentColor;
  stroke-linejoin: round;
  stroke-width: 3; }

.fancybox-button--play svg path:nth-child(2) {
  display: none; }

.fancybox-button--pause svg path:nth-child(1) {
  display: none; }

.fancybox-button--play svg path,
.fancybox-button--share svg path,
.fancybox-button--thumbs svg path {
  fill: currentColor; }

.fancybox-button--share svg path {
  stroke-width: 1; }

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  height: 38px;
  opacity: 0;
  padding: 6px;
  position: absolute;
  top: 50%;
  width: 38px; }

.fancybox-show-nav .fancybox-navigation .fancybox-button {
  -webkit-transition: opacity .25s, visibility 0s, color .25s;
  -o-transition: opacity .25s, visibility 0s, color .25s;
  transition: opacity .25s, visibility 0s, color .25s; }

.fancybox-navigation .fancybox-button::after {
  content: '';
  left: -25px;
  padding: 50px;
  position: absolute;
  top: -25px; }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 6px; }

.fancybox-navigation .fancybox-button--arrow_right {
  right: 6px; }

/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #555;
  cursor: pointer;
  height: 44px;
  margin: 0;
  padding: 6px;
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  z-index: 10; }

.fancybox-close-small svg {
  fill: transparent;
  opacity: .8;
  stroke: currentColor;
  stroke-width: 1.5;
  -webkit-transition: stroke .1s;
  -o-transition: stroke .1s;
  transition: stroke .1s; }

.fancybox-close-small:focus {
  outline: none; }

.fancybox-close-small:hover svg {
  opacity: 1; }

.fancybox-slide--image .fancybox-close-small,
.fancybox-slide--video .fancybox-close-small,
.fancybox-slide--iframe .fancybox-close-small {
  color: #ccc;
  padding: 5px;
  right: -12px;
  top: -44px; }

.fancybox-slide--image .fancybox-close-small:hover svg,
.fancybox-slide--video .fancybox-close-small:hover svg,
.fancybox-slide--iframe .fancybox-close-small:hover svg {
  background: transparent;
  color: #fff; }

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small {
  display: none; }

/* Caption */
.fancybox-caption {
  bottom: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 25px 44px 25px 44px;
  right: 0; }

.fancybox-caption::before {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAEtCAQAAABjBcL7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUKM+Vk8EOgDAIQ0vj/3+xBw8qIZZueFnIKC90MCAI8DlrkHGeqqGIU6lVigrBtpCWqeRWoHDNqs0F7VNVBVxmHRlvoVqjaYkdnDIaivH2HqZ5+oZj3JUzWB+cOz4G48Bg+tsJ/tqu4dLC/4Xb+0GcF5BwBC0AA53qAAAAAElFTkSuQmCC);
  background-repeat: repeat-x;
  background-size: contain;
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: -25px;
  z-index: -1; }

.fancybox-caption::after {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  content: '';
  display: block;
  left: 44px;
  position: absolute;
  right: 44px;
  top: 0; }

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none; }

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline; }

/* Loading indicator */
.fancybox-loading {
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  border: 6px solid rgba(100, 100, 100, 0.5);
  border-radius: 100%;
  border-top-color: #fff;
  height: 60px;
  left: 50%;
  margin: -30px 0 0 -30px;
  opacity: .6;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 60px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Transition effects */
.fancybox-animated {
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
       -o-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
          transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1); }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: rotate(-360deg);
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg); }

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg); }

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg); }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1); }

/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center; }

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0; }

.fancybox-share p {
  margin: 0;
  padding: 0; }

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap; }

.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff; }

.fancybox-share__button:hover {
  text-decoration: none; }

.fancybox-share__button--fb {
  background: #3b5998; }

.fancybox-share__button--fb:hover {
  background: #344e86; }

.fancybox-share__button--pt {
  background: #bd081d; }

.fancybox-share__button--pt:hover {
  background: #aa0719; }

.fancybox-share__button--tw {
  background: #1da1f2; }

.fancybox-share__button--tw:hover {
  background: #0d95e8; }

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px; }

.fancybox-share__button svg path {
  fill: #fff; }

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%; }

/* Thumbs */
.fancybox-thumbs {
  background: #fff;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  width: 212px;
  z-index: 99995; }

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden; }

.fancybox-show-thumbs .fancybox-thumbs {
  display: block; }

.fancybox-show-thumbs .fancybox-inner {
  right: 212px; }

.fancybox-thumbs > ul {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%; }

.fancybox-thumbs-x > ul {
  overflow: hidden; }

.fancybox-thumbs-y > ul::-webkit-scrollbar {
  width: 7px; }

.fancybox-thumbs-y > ul::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

.fancybox-thumbs-y > ul::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px; }

.fancybox-thumbs > ul > li {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px; }

.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1); }

.fancybox-thumbs > ul > li {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

.fancybox-thumbs > ul > li:before {
  border: 4px solid #4ea7f9;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991; }

.fancybox-thumbs .fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    width: 110px; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px; }
  .fancybox-thumbs > ul > li {
    max-width: calc(100% - 10px); } }

/*==========
  Components
  ==========*/
/*=====
  ALERT
  =====*/
.alert {
  padding: 20px;
  /* Loop through possible section background colors. */
  /* Special handling for bottom border */ }
  .alert.alert--centered {
    text-align: center; }
  .row--equal-heights .alert {
    height: 100%; }
  .alert.alert--blue {
    background-color: #009FDB; }
  .alert.alert--silver {
    background: #EDECEC;
    background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
    background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
    .no-cssgradients .alert.alert--silver {
      -webkit-filter: none;
              filter: none; }
    .alert.alert--silver .cta--link {
      color: #0568AE; }
  .alert.alert--blue, .alert.alert--gray, .alert.alert--silver {
    color: #000; }
  .alert.alert--gray a, .alert.alert--silver a {
    color: #0568AE !important; }
  .alert.alert--near-black, .alert.alert--black, .alert.alert--dark-blue {
    color: #FFF; }
  .alert.alert--dark-blue {
    background-color: #0568AE; }
  .alert.alert--silver {
    background: #EDECEC;
    background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
    background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
    .no-cssgradients .alert.alert--silver {
      -webkit-filter: none;
              filter: none; }
    .alert.alert--silver .cta--link {
      color: #0568AE; }
  .alert.alert--blue, .alert.alert--gray, .alert.alert--silver {
    color: #000; }
  .alert.alert--gray a, .alert.alert--silver a {
    color: #0568AE !important; }
  .alert.alert--near-black, .alert.alert--black, .alert.alert--dark-blue {
    color: #FFF; }
  .alert.alert--gray {
    background-color: #F2F2F2; }
  .alert.alert--silver {
    background: #EDECEC;
    background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
    background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
    .no-cssgradients .alert.alert--silver {
      -webkit-filter: none;
              filter: none; }
    .alert.alert--silver .cta--link {
      color: #0568AE; }
  .alert.alert--blue, .alert.alert--gray, .alert.alert--silver {
    color: #000; }
  .alert.alert--gray a, .alert.alert--silver a {
    color: #0568AE !important; }
  .alert.alert--near-black, .alert.alert--black, .alert.alert--dark-blue {
    color: #FFF; }
  .alert.alert--near-black {
    background-color: #191919; }
  .alert.alert--silver {
    background: #EDECEC;
    background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
    background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
    .no-cssgradients .alert.alert--silver {
      -webkit-filter: none;
              filter: none; }
    .alert.alert--silver .cta--link {
      color: #0568AE; }
  .alert.alert--blue, .alert.alert--gray, .alert.alert--silver {
    color: #000; }
  .alert.alert--gray a, .alert.alert--silver a {
    color: #0568AE !important; }
  .alert.alert--near-black, .alert.alert--black, .alert.alert--dark-blue {
    color: #FFF; }
  .alert.alert--black {
    background-color: #000; }
  .alert.alert--silver {
    background: #EDECEC;
    background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
    background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
    .no-cssgradients .alert.alert--silver {
      -webkit-filter: none;
              filter: none; }
    .alert.alert--silver .cta--link {
      color: #0568AE; }
  .alert.alert--blue, .alert.alert--gray, .alert.alert--silver {
    color: #000; }
  .alert.alert--gray a, .alert.alert--silver a {
    color: #0568AE !important; }
  .alert.alert--near-black, .alert.alert--black, .alert.alert--dark-blue {
    color: #FFF; }
  .alert.alert--white {
    background-color: #FFF; }
  .alert.alert--silver {
    background: #EDECEC;
    background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
    background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
    .no-cssgradients .alert.alert--silver {
      -webkit-filter: none;
              filter: none; }
    .alert.alert--silver .cta--link {
      color: #0568AE; }
  .alert.alert--blue, .alert.alert--gray, .alert.alert--silver {
    color: #000; }
  .alert.alert--gray a, .alert.alert--silver a {
    color: #0568AE !important; }
  .alert.alert--near-black, .alert.alert--black, .alert.alert--dark-blue {
    color: #FFF; }
  .component.component--border-bottom .alert {
    padding-bottom: 20px; }
    .component.component--border-bottom .alert:after {
      bottom: -60px; }
      @media (min-width: 768px) {
        .component.component--border-bottom .alert:after {
          bottom: -80px; } }
      @media (min-width: 1220px) {
        .component.component--border-bottom .alert:after {
          bottom: -100px; } }

.alert__message {
  -webkit-transition: opacity 600ms ease;
  -o-transition: opacity 600ms ease;
  transition: opacity 600ms ease;
  font-family: "Aleck Sans Black", "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
  max-width: 1220px;
  max-height: 52px;
  overflow: hidden;
  width: 100%;
  opacity: 0; }
  .col:not(.col-12) .alert__message {
    max-height: none; }
  .row--equal-heights .alert__message {
    position: relative;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%; }
  @media (min-width: 1220px) {
    .alert__message {
      margin: 0 auto; } }
  .alert__message.alert__message--revealed {
    opacity: 1; }
  .alert__message .message--mobile {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.35; }
    @media (min-width: 768px) {
      .alert__message .message--mobile {
        display: none; } }
  .alert__message .message--desktop {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25;
    display: none; }
    @media (min-width: 768px) {
      .alert__message .message--desktop {
        display: block; } }
  .alert__message a {
    display: inline-block;
    color: #009FDB;
    text-decoration: underline;
    margin: 0;
    zoom: 1; }
    .region--gray .alert__message a {
      color: #0568AE; }
    .region--dark-blue .alert__message a {
      color: #FFF; }
    .alert--blue .alert__message a,
    .region--blue .alert__message a {
      color: #191919; }
    .alert--black .alert__message a {
      color: #009FDB; }

/*======
  BANNER
  ======*/
.banner {
  position: relative;
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .banner.banner--featured {
    overflow: hidden; }
    @media (max-width: 767px) {
      .col .banner.banner--featured {
        border-bottom: 1px solid #5A5A5A;
        max-height: 250px; }
      .col:last-child .banner.banner--featured {
        border-bottom: 0; } }
    @media (min-width: 768px) {
      .col .banner.banner--featured {
        border-left: 1px solid #5A5A5A;
        max-height: 450px;
        min-height: 325px; }
      .col:first-child .banner.banner--featured {
        border-left: 0; } }
    @media (min-width: 1024px) {
      .col .banner.banner--featured {
        max-height: 530px; } }
  .row--equal-heights .banner {
    height: 100%; }
  @media (min-width: 1220px) {
    .banner {
      overflow: hidden; } }
  .banner .banner__img,
  .banner .banner__video {
    display: none; }

/* Banner Image */
.banner__img {
  /* If we're loading an image banner, make sure the image container displays in the page */
  /* Homepage Featured Banners */
  /* Gradient overlay */ }
  .banner[data-type="image"] .banner__img {
    display: block; }
  @media (max-width: 767px) {
    .banner--featured .banner__img {
      position: relative; }
      .banner--featured .banner__img:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.4); } }
  @media (min-width: 768px) and (max-width: 1219px) {
    .col-4 .banner--featured .banner__img img,
    .col-6 .banner--featured .banner__img img {
      min-height: 100%;
      max-width: none;
      width: auto; } }
  @media (min-width: 768px) {
    .banner--overlaid .banner__img {
      position: relative; }
      .banner--overlaid .banner__img:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 5%, black 100%);
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(5%, rgba(0, 0, 0, 0)), to(black));
        background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 5%, black 100%);
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 5%, black 100%); }
        .no-cssgradients .banner--overlaid .banner__img:after {
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#330000', endColorstr='#000000',GradientType=1 );
          -ms-filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#330000', endColorstr='#000000',GradientType=1 ); } }
  @media (min-width: 1220px) {
    .banner--overlaid .banner__img {
      position: relative; }
      .banner--overlaid .banner__img:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, black 100%);
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(30%, rgba(0, 0, 0, 0)), to(black));
        background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, black 100%);
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, black 100%); }
        .no-cssgradients .banner--overlaid .banner__img:after {
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#330000', endColorstr='#000000',GradientType=1 );
          -ms-filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#330000', endColorstr='#000000',GradientType=1 ); } }
  .banner__img img {
    display: block;
    max-width: 100%;
    width: 100%; }
    @media (min-width: 768px) {
      .banner__img img {
        position: relative;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        left: 50%; } }

/* Banner Video */
.banner__video {
  /* If we're loading a video banner, make sure the video container displays in the page */
  /* Gradient overlay */ }
  .banner[data-type="video"] .banner__video {
    display: block; }
  .no-touchevents.videoautoplay .banner--overlaid .banner__video {
    position: relative; }
    .no-touchevents.videoautoplay .banner--overlaid .banner__video:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6); }
  @media (min-width: 768px) {
    .touchevents.no-videoautoplay .banner--overlaid .banner__video {
      position: relative; }
      .touchevents.no-videoautoplay .banner--overlaid .banner__video:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6); } }
  .banner__video [class^="embed--"] {
    display: none; }
    .banner__video [class^="embed--"]:first-child {
      display: block; }
  .banner__video .embed--youtube {
    background-position: center;
    background-size: cover; }
  .banner__video .embed--gvp gvp-data img {
    display: none;
    width: 100%; }
    .touchevents.no-videoautoplay .banner__video .embed--gvp gvp-data img {
      display: block; }
  .touchevents.no-videoautoplay .banner__video iframe,
  .touchevents.no-videoautoplay .banner__video gvp-background {
    display: none !important; }

/* Banner Content */
.banner__content {
  max-width: 1220px;
  padding: 20px;
  margin: 0 auto;
  color: inherit;
  /* Left-aligned or Right-aligned */
  /* Right-aligned */
  /* Homepage Featured Banners */ }
  @media (min-width: 768px) {
    .banner__content {
      position: absolute;
      padding: 0 55px;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%; } }
  @media (min-width: 1440px) {
    .banner__content {
      padding: 0; }
      .col .banner__content {
        padding: 0 55px; }
      .row--flush-horizontal .col .banner__content {
        padding: 0; } }
  .banner__content.banner__content--left .content__wrap, .banner__content.banner__content--right .content__wrap {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left !important; }
    @media (min-width: 768px) {
      .banner__content.banner__content--left .content__wrap .banner__text,
      .banner__content.banner__content--left .content__wrap .banner__cta, .banner__content.banner__content--right .content__wrap .banner__text,
      .banner__content.banner__content--right .content__wrap .banner__cta {
        position: relative; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .banner__content.banner__content--left .content__wrap .banner__text, .banner__content.banner__content--right .content__wrap .banner__text {
        max-width: 60%; } }
  @media (min-width: 768px) {
    .banner__content.banner__content--right .content__wrap .banner__text,
    .banner__content.banner__content--right .content__wrap .banner__cta {
      left: 40%; } }
  @media (min-width: 1440px) {
    .banner__content.banner__content--right .content__wrap .banner__text,
    .banner__content.banner__content--right .content__wrap .banner__cta {
      left: 50%; } }
  @media (max-width: 767px) {
    .banner--featured .banner__content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%; } }
  @media (min-width: 768px) {
    .banner--featured .banner__content {
      padding: 0; } }
  .banner__content .content__wrap {
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    height: 100%;
    /* Flexbox fallback */
    /* Homepage Featured Banners */ }
    .no-flexbox.no-flexboxtweener.no-flexboxlegacy .banner__content .content__wrap {
      position: relative;
      height: auto;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      top: 50%; }
    @media (max-width: 767px) {
      .banner--featured .banner__content .content__wrap {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media (min-width: 768px) {
      .banner--featured .banner__content .content__wrap {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        padding-bottom: 6%; } }
    @media (min-width: 1220px) {
      .banner--featured .banner__content .content__wrap {
        padding-bottom: 5%; } }

/* Banner Text */
.banner__text {
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
  /* Dark text */
  /* Homepage Featured Banners */
  /* Bump banner text down if the banner component is the first component in the page after a transparent header */
  /* */
  /* Banner Headline - Text Format */
  /* Banner Headline - Image Format */
  /* Banner Text - Level 2 */
  /* Banner Text - Level 3 */
  /* Banner Text - Level 4 */ }
  @media (min-width: 768px) {
    .banner__text {
      color: #FFF !important;
      max-width: none; } }
  @media (min-width: 1024px) {
    .banner__text {
      max-width: 50%; } }
  @media (min-width: 768px) {
    .banner__text.banner__text--dark {
      color: #000 !important; } }
  .banner--featured .banner__text {
    width: 100%;
    max-width: 65%;
    padding: 0 10px; }
    @media (min-width: 640px) {
      .banner--featured .banner__text {
        padding: 0 50px 0 0; } }
    @media (min-width: 768px) {
      .banner--featured .banner__text {
        padding: 0;
        max-width: 60%; } }
  @media (min-width: 768px) {
    .col-4 .banner--featured .banner__text,
    .col-6 .banner--featured .banner__text {
      max-width: 80%; } }
  @media (min-width: 1220px) {
    .header--transparent + .content .banner__text.banner__text--adjusted,
    .header--transparent + header + .content .banner__text.banner__text--adjusted {
      margin-top: 105px; } }
  @media (min-width: 1220px) {
    .header--transparent + .content .banner__text.banner__text--adjusted-lg,
    .header--transparent + header + .content .banner__text.banner__text--adjusted-lg {
      margin-top: calc(105px - 40px); } }
  .banner__text .banner__level2,
  .banner__text .banner__level3,
  .banner__text .banner__level4 {
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    margin-top: 15px;
    /* Tighten up the mobile spacing between headlines for banners used in marquees */
    /* Homepage Featured Banners */ }
    .banner__text .banner__level2:first-child,
    .banner__text .banner__level3:first-child,
    .banner__text .banner__level4:first-child {
      margin-top: 0; }
    @media (max-width: 767px) {
      .marquee .banner__text .banner__level2, .marquee
      .banner__text .banner__level3, .marquee
      .banner__text .banner__level4 {
        margin-top: 10px; } }
    @media (min-width: 768px) and (max-width: 1219px) {
      .banner--featured .banner__text .banner__level2, .banner--featured
      .banner__text .banner__level3, .banner--featured
      .banner__text .banner__level4 {
        margin-top: 15px; } }
    .banner__text .banner__level2 p,
    .banner__text .banner__level3 p,
    .banner__text .banner__level4 p {
      margin: 0;
      padding: 0; }
  .banner__text .banner__headline--text {
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    font-weight: 300;
    /* Featured Banners (thicker text) */
    /* Homepage Featured Banners */ }
    @media (min-width: 1220px) {
      .banner__text .banner__headline--text {
        line-height: 1.15; } }
    @media (min-width: 768px) {
      .banner__text .banner__headline--text:not(:only-child), .banner__text .banner__headline--text:not(:last-child) {
        display: none; } }
    .banner__content--featured .banner__text .banner__headline--text {
      font-weight: 700; }
    .banner--featured .banner__text .banner__headline--text {
      font-size: 27px;
      font-size: 2.7rem;
      line-height: 1; }
      @media (max-width: 767px) {
        .banner--featured .banner__text .banner__headline--text {
          color: #FFF; } }
      @media (min-width: 768px) {
        .banner--featured .banner__text .banner__headline--text {
          font-size: 35px;
          font-size: 3.5rem;
          line-height: 1.15; } }
      @media (min-width: 1024px) {
        .banner--featured .banner__text .banner__headline--text {
          font-size: 38px;
          font-size: 3.8rem; } }
      @media (min-width: 1440px) {
        .banner--featured .banner__text .banner__headline--text {
          font-size: 45px;
          font-size: 4.5rem; } }
  .banner__text .banner__headline--img {
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    display: none;
    margin: 0 auto;
    /* Homepage Featured Banners */ }
    @media (min-width: 768px) {
      .banner__text .banner__headline--img {
        display: inline-block;
        max-width: 55%;
        margin-bottom: 5px; }
        .banner__text .banner__headline--img:not(:first-child), .banner__text .banner__headline--img:not(:only-child) {
          display: inline-block; } }
    @media (min-width: 1220px) {
      .banner__text .banner__headline--img {
        max-width: 65%; } }
    @media (min-width: 1440px) {
      .banner__text .banner__headline--img {
        max-width: 45%; } }
    @media (min-width: 1600px) {
      .banner__text .banner__headline--img {
        max-width: 75%; } }
    @media (min-width: 768px) {
      .banner--featured .banner__text .banner__headline--img {
        max-width: 60%; } }
    @media (min-width: 1440px) {
      .banner--featured .banner__text .banner__headline--img {
        max-width: 85%; } }
  .banner__text .banner__level2 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.15;
    /* Marquee Banners */
    /* Featured Banners (thicker text) */
    /* Homepage Featured Banners */
    /* Reduce mobile subheadline size for banners used in marquees */ }
    @media (min-width: 1024px) {
      .banner__text .banner__level2 {
        font-size: 34px;
        font-size: 3.4rem; } }
    @media (min-width: 1220px) {
      .banner__text .banner__level2 {
        font-size: 36px;
        font-size: 3.6rem; } }
    @media (min-width: 1440px) {
      .banner__text .banner__level2 {
        font-size: 40px;
        font-size: 4rem; } }
    .marquee .banner__text .banner__level2 {
      font-size: 26px;
      font-size: 2.6rem; }
      @media (min-width: 1024px) {
        .marquee .banner__text .banner__level2 {
          font-size: 30px;
          font-size: 3rem; } }
    .banner__content--featured .banner__text .banner__level2 {
      font-weight: 700; }
    .banner--featured .banner__text .banner__level2 {
      font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
      @media (max-width: 767px) {
        .banner--featured .banner__text .banner__level2 {
          margin-top: 5px;
          color: #FFF; }
          .banner--featured .banner__text .banner__level2:last-child {
            margin-bottom: 5px; } }
      @media (max-width: 1023px) {
        .banner--featured .banner__text .banner__level2 {
          font-size: 17px;
          font-size: 1.7rem; } }
      @media (min-width: 1024px) {
        .banner--featured .banner__text .banner__level2 {
          font-size: 20px;
          font-size: 2rem; } }
    @media (max-width: 767px) {
      .marquee .banner__text .banner__level2 {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 400; } }
  .banner__text .banner__level3,
  .banner__text .banner__level4 {
    line-height: 1.5;
    /* Homepage Featured Banners */ }
    .banner__text .banner__level3 a,
    .banner__text .banner__level4 a {
      text-decoration: underline; }
    @media (max-width: 767px) {
      .banner--featured .banner__text .banner__level3, .banner--featured
      .banner__text .banner__level4 {
        display: none; } }
    @media (min-width: 1220px) {
      .banner--featured .banner__text .banner__level3, .banner--featured
      .banner__text .banner__level4 {
        line-height: 1.25; } }
    @media (min-width: 1600px) {
      .banner--featured .banner__text .banner__level3, .banner--featured
      .banner__text .banner__level4 {
        line-height: 1.35; } }
    @media (min-width: 768px) and (max-width: 1219px) {
      .col-4 .banner--featured .banner__text .banner__level3,
      .col-6 .banner--featured .banner__text .banner__level3, .col-4 .banner--featured
      .banner__text .banner__level4,
      .col-6 .banner--featured
      .banner__text .banner__level4 {
        line-height: 1.25; } }
  .banner__text .banner__level3 {
    font-size: 18px;
    font-size: 1.8rem; }
    @media (min-width: 1220px) {
      .banner__text .banner__level3 {
        font-size: 21px;
        font-size: 2.1rem; } }
  .banner__text .banner__level4 {
    font-size: 12px;
    font-size: 1.2rem;
    font-family: "Arial", "Helvetica", sans-serif; }
  .banner__text a {
    color: inherit; }

/* Banner Call-to-Action */
.banner__cta {
  /* Homepage Featured Banners */ }
  @media (min-width: 768px) {
    .banner__cta {
      margin-bottom: 0; } }
  .banner__cta .cta--link {
    font-size: 21px;
    font-size: 2.1rem;
    display: inline-block;
    margin-top: 10px;
    font-weight: 400; }
  .banner--featured .banner__cta {
    margin-top: 20px; }
    @media (min-width: 768px) {
      .banner--featured .banner__cta {
        margin-bottom: 20px; } }
    @media (min-width: 768px) and (max-width: 1219px) {
      .banner--featured .banner__cta {
        margin: 25px 0; } }
    @media (min-width: 1220px) {
      .banner--featured .banner__cta {
        margin-top: 50px; } }
    @media (min-width: 1600px) {
      .banner--featured .banner__cta {
        margin-top: 70px; } }
    @media (max-width: 1599px) {
      .col .banner--featured .banner__cta .cta--button {
        font-size: 15px;
        font-size: 1.5rem;
        min-width: 135px;
        padding: 12px; } }

/*============
  BRAND ASSETS
  ============*/
.brand-assets {
  max-width: 1220px;
  margin: 0 auto;
  padding-bottom: 40px; }
  .brand-assets .assets__filter-nav {
    font-size: 15px;
    font-size: 1.5rem;
    position: relative;
    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;
    margin: 0 auto 40px;
    padding: 0 20px;
    z-index: 9; }
    .no-flexbox.no-flexboxtweener.no-flexboxlegacy .brand-assets .assets__filter-nav:after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 768px) {
      .brand-assets .assets__filter-nav {
        margin-bottom: 80px;
        padding: 0 55px;
        max-width: 690px; } }
    @media (min-width: 1440px) {
      .brand-assets .assets__filter-nav {
        padding: 0; } }
    .no-flexbox.no-flexboxtweener.no-flexboxlegacy .brand-assets .assets__filter-nav .asset-type, .no-flexbox.no-flexboxtweener.no-flexboxlegacy
    .brand-assets .assets__filter-nav .asset-search {
      float: left; }
    .brand-assets .assets__filter-nav .asset-type {
      position: relative;
      width: 100px; }
      @media (min-width: 768px) {
        .brand-assets .assets__filter-nav .asset-type {
          width: 135px; } }
    .brand-assets .assets__filter-nav .type-toggle {
      display: block;
      position: relative;
      padding: 0 25px 0 15px;
      border-radius: 30px 0 0 30px;
      background-color: #009FDB;
      color: #FFF;
      height: 37px;
      line-height: 37px; }
      .brand-assets .assets__filter-nav .type-toggle:hover {
        text-decoration: none; }
      .brand-assets .assets__filter-nav .type-toggle:after {
        position: relative;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        top: 50%;
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        top: 55%;
        right: 10px;
        border-style: solid;
        border-width: 7px 4px 0 4px;
        border-color: #FFF transparent transparent transparent; }
    .brand-assets .assets__filter-nav .type-select {
      display: none;
      position: absolute;
      background-color: #FFF;
      border: 1px solid #C9C9C9;
      border-radius: 3px;
      min-width: 135px;
      top: 40px;
      left: 0; }
      @media (min-width: 768px) {
        .brand-assets .assets__filter-nav .type-select {
          left: auto;
          right: 0; } }
      .brand-assets .assets__filter-nav .type-select a {
        display: block;
        padding: 10px 18px;
        color: #000; }
        .brand-assets .assets__filter-nav .type-select a:hover {
          background-color: #009FDB;
          text-decoration: none;
          color: #FFF; }
        .brand-assets .assets__filter-nav .type-select a.active {
          display: none; }
    .brand-assets .assets__filter-nav.assets__filter-nav--open .type-select {
      display: block; }
    .brand-assets .assets__filter-nav.assets__filter-nav--open .type-toggle:after {
      -webkit-transform: rotateX(180deg);
              transform: rotateX(180deg);
      top: 45%; }
    .brand-assets .assets__filter-nav .asset-search {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .brand-assets .assets__filter-nav .search-field {
      padding: 0; }
    .brand-assets .assets__filter-nav .search-field fieldset {
      background-color: #009FDB;
      border-radius: 0 30px 30px 0;
      border-width: 0;
      max-width: none;
      margin: 0; }
    .brand-assets .assets__filter-nav .search-field .search__input {
      font-size: 16px;
      font-size: 1.6rem;
      position: relative;
      width: calc(100% - 35px);
      background-color: #FFF;
      border-top: 2px solid #eaeaea;
      border-bottom: 2px solid #eaeaea;
      border-radius: 0;
      -webkit-appearance: none; }
      @media (max-width: 639px) {
        .brand-assets .assets__filter-nav .search-field .search__input {
          padding-left: 7px; } }
      @media (min-width: 640px) and (max-width: 767px) {
        .brand-assets .assets__filter-nav .search-field .search__input {
          padding-left: 10px; } }
      @media (min-width: 768px) {
        .brand-assets .assets__filter-nav .search-field .search__input {
          width: calc(100% - 45px); } }
      .brand-assets .assets__filter-nav .search-field .search__input::-ms-clear, .brand-assets .assets__filter-nav .search-field .search__input::-webkit-search-cancel-button {
        display: none; }
    .brand-assets .assets__filter-nav .search-field .search__clear {
      position: relative;
      display: none;
      margin: 0 0 0 -28px;
      padding-right: 6px; }
      .brand-assets .assets__filter-nav .search-field .search__clear:after {
        position: relative;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        top: 50%;
        position: absolute;
        content: "";
        width: 50px;
        height: calc(100% - 4px);
        right: 0;
        /* FF3.6-15 */
        background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 32%, white 99%);
        /* Chrome10-25,Safari5.1-6 */
        background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(32%, white), color-stop(99%, white));
        background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 32%, white 99%);
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 32%, white 99%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
        /* IE6-9 */
        z-index: 1; }
      .brand-assets .assets__filter-nav .search-field .search__clear .icon--clear {
        display: block;
        position: relative;
        background-color: #d2d2d2;
        border-radius: 50%;
        width: 22px;
        height: 22px;
        z-index: 2; }
      .brand-assets .assets__filter-nav .search-field .search__clear .icon--clear:after {
        font-size: 27px;
        font-size: 2.7rem;
        position: absolute;
        display: inline-block;
        content: "+";
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
            -ms-transform: translate(-50%, -50%) rotate(45deg);
                transform: translate(-50%, -50%) rotate(45deg);
        top: 48%;
        left: 55%;
        font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
        font-weight: 300;
        color: #FFF; }
    .brand-assets .assets__filter-nav .search-field .search__submit span:after {
      color: #FFF; }
  .brand-assets .assets__feed .row + .row {
    margin-top: 0; }
  @media (max-width: 767px) {
    .brand-assets .assets__feed .col {
      max-width: 400px;
      margin-left: auto;
      margin-right: auto; } }
  @media (min-width: 768px) {
    .brand-assets .assets__feed .col {
      max-width: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; } }
  @media (min-width: 1024px) {
    .brand-assets .assets__feed .col {
      max-width: 33.33333%;
      -ms-flex-preferred-size: 33.33333%;
          flex-basis: 33.33333%;
      margin-bottom: 30px; } }
  @media (min-width: 768px) {
    .brand-assets .assets__feed .component {
      padding-bottom: 20px;
      margin-bottom: 10px; } }
  .brand-assets .assets__feed .item__media {
    position: relative;
    overflow: hidden; }
    @media (min-width: 1024px) {
      .brand-assets .assets__feed .item__media {
        height: 240px; } }
    @media (min-width: 1220px) {
      .brand-assets .assets__feed .item__media {
        height: 295px; } }
  @media (min-width: 1024px) {
    .brand-assets .assets__feed .item__media > div {
      position: absolute;
      overflow: hidden;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; } }
  .brand-assets .assets__feed .item__media a {
    display: block;
    height: 100%;
    width: 100%; }
  @media (min-width: 1024px) {
    .brand-assets .assets__feed .item__media .item__video > * {
      height: 100%; } }
  @media (min-width: 1024px) {
    .brand-assets .assets__feed .item__media .item__video .item__preview img {
      max-width: none; } }
  @media (min-width: 1220px) {
    .brand-assets .assets__feed .item__media .item__video .item__preview img {
      height: auto;
      width: 100%; } }
  .brand-assets .assets__feed .item__media .item__video .item__thumbnail:after,
  .brand-assets .assets__feed .item__media .item__img--b-roll .item__thumbnail:after {
    text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.05); }
  .brand-assets .assets__feed .item__media .item__img--b-roll .item__thumbnail {
    position: relative; }
    .brand-assets .assets__feed .item__media .item__img--b-roll .item__thumbnail:after {
      content: "";
      position: absolute;
      width: 100%;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      font-family: "ATT_Icons", "Arial", "Helvetica", sans-serif;
      font-size: 10rem;
      text-align: center;
      color: #FFF;
      opacity: 0.85; }
      @media (max-width: 480px) {
        .brand-assets .assets__feed .item__media .item__img--b-roll .item__thumbnail:after {
          font-size: 8rem; } }
      @media (min-width: 768px) {
        .col-2 .brand-assets .assets__feed .item__media .item__img--b-roll .item__thumbnail:after {
          font-size: 8rem; } }
      @media (min-width: 1024px) {
        .col-3 .brand-assets .assets__feed .item__media .item__img--b-roll .item__thumbnail:after {
          font-size: 8rem; } }
      @media (min-width: 768px) and (max-width: 1023px) {
        .col-4 .brand-assets .assets__feed .item__media .item__img--b-roll .item__thumbnail:after {
          font-size: 8rem; } }
  .brand-assets .assets__feed .item__media .item__img .item__thumbnail {
    height: 100%; }
  .brand-assets .assets__feed .item__media .item__img .item__thumbnail img {
    width: auto; }
    @media (max-width: 1023px) {
      .brand-assets .assets__feed .item__media .item__img .item__thumbnail img {
        margin-left: auto;
        margin-right: auto; } }
    @media (min-width: 1024px) {
      .brand-assets .assets__feed .item__media .item__img .item__thumbnail img {
        position: relative;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        top: 50%;
        left: 50%; } }
  @media (min-width: 1024px) {
    .brand-assets .assets__feed .item__title {
      min-height: 45px; } }
  .brand-assets .assets__feed .item__title a {
    color: inherit; }
    .brand-assets .assets__feed .item__title a:hover {
      text-decoration: none; }
  .brand-assets .assets__feed .item__description {
    max-width: 500px;
    margin-top: 30px; }
  .brand-assets .assets__feed .item__cta {
    margin: 15px 0 0;
    /* Fixes for GVP watch links */ }
    .brand-assets .assets__feed .item__cta:first-child {
      margin-top: 0; }
    .brand-assets .assets__feed .item__cta a {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      display: inline-block;
      font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
      padding-bottom: 2px;
      color: #0568AE; }
    .brand-assets .assets__feed .item__cta .read-more {
      margin-left: 6px;
      padding-left: 10px;
      border-left: 1px solid #191919; }
    .brand-assets .assets__feed .item__cta att-gvp {
      display: inline-block !important;
      width: auto !important; }
      .brand-assets .assets__feed .item__cta att-gvp > div {
        overflow: initial !important; }
  .brand-assets .assets__cta {
    display: none;
    text-align: center;
    margin: 20px 0 0; }
    @media (min-width: 1024px) {
      .brand-assets .assets__cta {
        margin: 40px auto 0; } }

/*=============
  FEATURED ITEM
  =============*/
.featured-item {
  padding: 0 20px; }
  .featured-item:after {
    content: "";
    display: table;
    clear: both; }
  .col .featured-item {
    padding: 0; }
  @media (min-width: 768px) {
    .row--equal-heights .featured-item {
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media (min-width: 1024px) {
    .featured-item {
      padding: 0; }
      .row--equal-heights .featured-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  @media (min-width: 768px) {
    .col-12 .featured-item.featured-item--left,
    .col-12 .featured-item.featured-item--right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      max-width: 1000px;
      margin-left: auto;
      margin-right: auto; } }
  @media (min-width: 768px) {
    .col-12 .featured-item.featured-item--right {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media (min-width: 640px) {
    .featured-item.featured-item--alternate {
      padding-left: 10%;
      padding-right: 10%; }
      .col-4 .featured-item.featured-item--alternate {
        padding-left: 0;
        padding-right: 0; } }
  @media (min-width: 1220px) {
    .featured-item.featured-item--alternate {
      padding-left: 105px;
      padding-right: 105px; }
      .col-2 .featured-item.featured-item--alternate,
      .col-3 .featured-item.featured-item--alternate {
        padding-left: 10%;
        padding-right: 10%; } }

/* Featured Item Media */
.item__media {
  overflow: hidden;
  /* General Preview Images */
  /* Image */
  /* Video */ }
  .featured-item--alternate .item__media {
    background-color: transparent; }
  .featured-item--border .item__media {
    border: 1px solid #5A5A5A; }
  @media (min-width: 768px) {
    .col-12 .featured-item--left .item__media,
    .col-12 .featured-item--right .item__media {
      width: 50%;
      max-width: 470px; } }
  @media (min-width: 768px) {
    .no-flexbox.no-flexboxtweener.no-flexboxlegacy .col-12 .featured-item--left .item__media {
      float: left; } }
  @media (min-width: 768px) {
    .no-flexbox.no-flexboxtweener.no-flexboxlegacy .col-12 .featured-item--right .item__media {
      float: right; } }
  .item__media .item__preview:hover {
    text-decoration: none; }
  .item__media .item__preview:focus {
    outline: 0; }
  .item__media .item__img {
    position: relative;
    background-color: #FFF; }
    .featured-item--alternate .item__media .item__img {
      background-color: transparent; }
    @media (min-width: 768px) {
      .col-2 .item__media .item__img {
        background-color: transparent; } }
    .item__media .item__img a {
      display: block;
      width: 100%;
      height: 100%; }
      .item__media .item__img a:not(.item__preview) {
        -webkit-transition: opacity 200ms ease;
        -o-transition: opacity 200ms ease;
        transition: opacity 200ms ease; }
        .featured-item .item__media .item__img a:not(.item__preview):hover,
        .featured-item .item__media .item__img a:not(.item__preview):focus {
          opacity: 0.9; }
    .item__media .item__img[data-placeholder="true"] {
      height: 35px;
      background-color: #000; }
      .region[class*="-black"] .item__media .item__img[data-placeholder="true"] {
        background-color: #191919; }
      .item__media .item__img[data-placeholder="true"] img {
        display: none; }
      .item__media .item__img[data-placeholder="true"] a:hover {
        text-decoration: none; }
    .item__media .item__img img {
      display: block;
      max-width: 100%; }
      @media (max-width: 767px) {
        .item__media .item__img img {
          width: 100%; } }
      .featured-item--alternate .item__media .item__img img {
        margin: 0 auto;
        width: auto; }
  .item__media .item__video[data-type="youtube"] .item__video--gvp {
    display: none; }
  .item__media .item__video[data-type="gvp"] .item__video--youtube {
    display: none; }
  .item__media .item__video .item__preview img {
    display: block;
    max-width: 100%;
    width: 100%; }
  .item__media .item__video .item__thumbnail {
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    .item__media .item__video .item__thumbnail:after {
      content: "";
      position: absolute;
      width: 100%;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      font-family: "ATT_Icons", "Arial", "Helvetica", sans-serif;
      font-size: 10rem;
      text-align: center;
      color: #FFF;
      opacity: 0.85; }
      @media (max-width: 480px) {
        .item__media .item__video .item__thumbnail:after {
          font-size: 8rem; } }
      @media (min-width: 768px) {
        .col-2 .item__media .item__video .item__thumbnail:after {
          font-size: 8rem; } }
      @media (min-width: 1024px) {
        .col-3 .item__media .item__video .item__thumbnail:after {
          font-size: 8rem; } }
      @media (min-width: 768px) and (max-width: 1023px) {
        .col-4 .item__media .item__video .item__thumbnail:after {
          font-size: 8rem; } }
  .item__media [class*="embed--"] {
    display: none; }
    .item__media [class*="embed--"]:first-child {
      display: block; }

/* Item Text Content */
.item__content {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  padding: 20px;
  background-color: #FFF; }
  .region--white .item__content {
    padding-left: 0;
    padding-right: 0; }
  .region--white .row--no-gutters .item__content,
  .region--white .row--flush-horizontal .item__content {
    padding-left: 20px; }
  .region[class*="-blue"] .item__content .item__title,
  .region[class*="-blue"] .item__content .item__info,
  .region[class*="-blue"] .item__content .item__description,
  .region[class*="-black"] .item__content .item__title,
  .region[class*="-black"] .item__content .item__info,
  .region[class*="-black"] .item__content .item__description {
    color: #191919; }
  @media (min-width: 768px) {
    .region--dark-blue .col-12 .featured-item--left .item__content .item__title,
    .region--dark-blue .col-12 .featured-item--left .item__content .item__info,
    .region--dark-blue .col-12 .featured-item--left .item__content .item__description,
    .region[class*="-black"] .col-12 .featured-item--left .item__content .item__title,
    .region[class*="-black"] .col-12 .featured-item--left .item__content .item__info,
    .region[class*="-black"] .col-12 .featured-item--left .item__content .item__description, .region--dark-blue
    .col-12 .featured-item--right .item__content .item__title,
    .region--dark-blue
    .col-12 .featured-item--right .item__content .item__info,
    .region--dark-blue
    .col-12 .featured-item--right .item__content .item__description,
    .region[class*="-black"]
    .col-12 .featured-item--right .item__content .item__title,
    .region[class*="-black"]
    .col-12 .featured-item--right .item__content .item__info,
    .region[class*="-black"]
    .col-12 .featured-item--right .item__content .item__description, .region--dark-blue
    .col-2 .item__content .item__title,
    .region--dark-blue
    .col-2 .item__content .item__info,
    .region--dark-blue
    .col-2 .item__content .item__description,
    .region[class*="-black"]
    .col-2 .item__content .item__title,
    .region[class*="-black"]
    .col-2 .item__content .item__info,
    .region[class*="-black"]
    .col-2 .item__content .item__description, .region--dark-blue
    .col-2 .item__content .item__title,
    .region--dark-blue
    .col-2 .item__content .item__info,
    .region--dark-blue
    .col-2 .item__content .item__description,
    .region[class*="-black"]
    .col-2 .item__content .item__title,
    .region[class*="-black"]
    .col-2 .item__content .item__info,
    .region[class*="-black"]
    .col-2 .item__content .item__description {
      color: #FFF; } }
  @media (min-width: 768px) {
    .col-12 .featured-item--left .item__content,
    .col-12 .featured-item--right .item__content {
      padding: 0;
      width: 50%;
      background-color: transparent; }
      .no-flexbox.no-flexboxtweener.no-flexboxlegacy .col-12 .featured-item--left .item__content, .no-flexbox.no-flexboxtweener.no-flexboxlegacy
      .col-12 .featured-item--right .item__content {
        float: left; } }
  @media (min-width: 768px) {
    .col-12 .featured-item--left .item__content {
      padding-left: 45px; } }
  @media (min-width: 768px) {
    .col-12 .featured-item--right .item__content {
      padding-right: 45px; } }
  .featured-item--alternate .item__content {
    background-color: transparent;
    padding-left: 0; }
  @media (min-width: 768px) {
    .col-2 .item__content {
      /* Tiny orientation for smallest columns */
      background-color: transparent;
      padding: 10px 0 20px !important; } }
  @media (min-width: 1600px) {
    .item__content .content__wrap {
      max-width: 95%; } }
  .featured-item--alternate .item__content .content__wrap {
    max-width: none; }
  @media (min-width: 768px) {
    .col-12 .featured-item--left .item__content .content__wrap,
    .col-12 .featured-item--right .item__content .content__wrap {
      max-width: none; } }
  @media (min-width: 1024px) {
    .col-2 .item__content .content__wrap {
      max-width: none; } }
  .featured-item--alternate .item__content .item__title, .featured-item--alternate
  .item__content .item__info, .featured-item--alternate
  .item__content .item__description {
    color: inherit !important; }
  .item__content .item__title {
    font-size: 20px;
    font-size: 2rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    @media (min-width: 768px) {
      .col-12 .featured-item--left .item__content .item__title,
      .col-12 .featured-item--right .item__content .item__title {
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.3; } }
    .featured-item--alternate .item__content .item__title {
      max-width: 90%; }
      @media (min-width: 768px) {
        .featured-item--alternate .item__content .item__title {
          font-size: 25px;
          font-size: 2.5rem; } }
      @media (min-width: 1024px) {
        .featured-item--alternate .item__content .item__title {
          font-size: 30px;
          font-size: 3rem; } }
      .col-4 .featured-item--alternate .item__content .item__title {
        font-size: 20px;
        font-size: 2rem;
        max-width: none; }
    .col-2 .featured-item:not(.featured-item--alternate) .item__content .item__title {
      /* Tiny orientation for smallest columns */
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.25; }
  .item__content .item__info {
    font-size: 13px;
    font-size: 1.3rem;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    margin: 10px 0 15px; }
    .item__content .item__info:first-child {
      margin-top: 0; }
    .featured-item--alternate .item__content .item__info {
      font-size: 16px;
      font-size: 1.6rem; }
    @media (min-width: 768px) {
      .col-12 .featured-item--left .item__content .item__info,
      .col-12 .featured-item--right .item__content .item__info,
      .featured-item--alternate .item__content .item__info {
        font-size: 18px;
        font-size: 1.8rem; } }
  .item__content .item__description {
    line-height: 1.45; }
    @media (min-width: 768px) {
      .col-12 .featured-item--left .item__content .item__description,
      .col-12 .featured-item--right .item__content .item__description {
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 1.6; } }
    .featured-item--alternate .item__content .item__description {
      font-size: 18px;
      font-size: 1.8rem; }
      @media (min-width: 1024px) {
        .featured-item--alternate .item__content .item__description {
          font-size: 21px;
          font-size: 2.1rem;
          line-height: 1.6; } }
    .item__content .item__description p {
      margin-top: 10px; }
    .item__content .item__description ul,
    .item__content .item__description ol {
      margin: 15px 0 15px 20px; }
      .item__content .item__description ul ul,
      .item__content .item__description ul ol,
      .item__content .item__description ol ul,
      .item__content .item__description ol ol {
        margin: 15px 0 15px 15px; }
        .item__content .item__description ul ul > li,
        .item__content .item__description ul ol > li,
        .item__content .item__description ol ul > li,
        .item__content .item__description ol ol > li {
          margin-left: 15px; }
          @media (min-width: 1220px) {
            .item__content .item__description ul ul > li,
            .item__content .item__description ul ol > li,
            .item__content .item__description ol ul > li,
            .item__content .item__description ol ol > li {
              margin-left: 25px; } }
    .item__content .item__description ul > li:before {
      top: 12px; }
    .item__content .item__description li {
      margin-bottom: 5px; }
    .item__content .item__description:first-child p:first-child {
      margin-top: 0; }
    .item__content .item__description a {
      color: #0568AE; }
  .item__content .item__cta {
    margin: 20px 0 0;
    /* Links on black backgrounds */
    /* Links on blue backgrounds */ }
    .featured-item--alternate .item__content .item__cta {
      margin-top: 50px;
      text-align: center; }
    @media (min-width: 768px) {
      .region[class*="-black"] .col-2 .item__content .item__cta .cta--link,
      .region[class*="-black"] .col-12 .featured-item--left .item__content .item__cta .cta--link,
      .region[class*="-black"] .col-12 .featured-item--right .item__content .item__cta .cta--link {
        color: #009FDB; } }
    .region[class*="-blue"] .item__content .item__cta .cta--link {
      color: #0568AE; }
    @media (min-width: 768px) {
      .region--blue .col-2 .item__content .item__cta .cta--link,
      .region--blue .col-12 .featured-item--left .item__content .item__cta .cta--link,
      .region--blue .col-12 .featured-item--right .item__content .item__cta .cta--link {
        color: #191919;
        text-decoration: underline; } }
    @media (min-width: 768px) {
      .region--dark-blue .col-2 .item__content .item__cta .cta--link,
      .region--dark-blue .col-12 .featured-item--left .item__content .item__cta .cta--link,
      .region--dark-blue .col-12 .featured-item--right .item__content .item__cta .cta--link {
        color: #FFF;
        text-decoration: underline; } }
    @media (min-width: 1024px) {
      .col-12 .featured-item--left .item__content .item__cta .cta--link,
      .col-12 .featured-item--right .item__content .item__cta .cta--link {
        font-size: 21px;
        font-size: 2.1rem;
        font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
        font-weight: 400; } }

/*================
  FEATURED STORIES
  ================*/
.featured-stories {
  padding-top: 20px; }
  @media (min-width: 768px) {
    .featured-stories {
      padding-top: 40px; } }
  .featured-stories.featured-stories--expanded .row:nth-of-type(3) .featured-item, .featured-stories.featured-stories--expanded .row:nth-of-type(4) .featured-item {
    opacity: 1; }
  .featured-stories .row {
    margin-top: 0; }
    @media (min-width: 768px) {
      .featured-stories .row + .row {
        margin-top: 20px; } }
    @media (min-width: 1220px) {
      .featured-stories .row + .row {
        margin-top: 40px; } }
    .featured-stories .row:nth-of-type(3), .featured-stories .row:nth-of-type(4) {
      display: none; }
      .featured-stories .row:nth-of-type(3) .featured-item, .featured-stories .row:nth-of-type(4) .featured-item {
        opacity: 0;
        -webkit-transition: opacity 300ms ease;
        -o-transition: opacity 300ms ease;
        transition: opacity 300ms ease; }
  .featured-stories .component {
    margin-bottom: 20px; }
    @media (min-width: 768px) {
      .featured-stories .component {
        margin-bottom: 0; } }
  .featured-stories .stories__cta {
    display: none;
    /* JavaScript will display this cta only if a mininum number of items are present in the set */
    text-align: center;
    margin: 0; }
    @media (min-width: 768px) {
      .featured-stories .stories__cta {
        margin-top: 40px; } }
    @media (min-width: 1024px) {
      .featured-stories .stories__cta {
        margin-top: 60px; } }

/*===============
  EXPANDABLE TEXT
  ===============*/
.expandable-text {
  margin-top: -20px;
  padding: 0 20px; }
  .col .expandable-text {
    padding: 0; }
  .expandable-text .text__wrap {
    display: none;
    margin-top: 40px; }
  .expandable-text .text__cta {
    margin: 0 0 20px;
    padding-top: 20px; }
    .expandable-text .text__cta .cta--link {
      font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
      font-weight: 400;
      color: #0568AE; }
      .region--blue .expandable-text .text__cta .cta--link {
        color: #191919; }
      .region--dark-blue .expandable-text .text__cta .cta--link {
        color: #FFF; }
      .region[class*="-blue"] .expandable-text .text__cta .cta--link {
        text-decoration: underline; }
      .region[class*="-black"] .expandable-text .text__cta .cta--link {
        color: #009FDB; }
      .expandable-text .text__cta .cta--link:after {
        content: none; }
  .expandable-text.text--footer .text__wrap {
    border-top: 1px solid #C9C9C9;
    padding-top: 45px; }
    .region--blue .expandable-text.text--footer .text__wrap {
      border-color: #000; }
    .region--dark-blue .expandable-text.text--footer .text__wrap {
      border-color: #F2F2F2; }
  .expandable-text.text--footer .cta--link {
    font-size: 15px;
    font-size: 1.5rem; }
  .expandable-text p:last-child {
    margin-bottom: 0; }

/* Author Instance Display Fixes */
.aem-AuthorLayer-Edit .expandable-content {
  margin-top: 0; }

/*==============
  LATEST STORIES
  ==============*/
.latest-stories {
  max-width: 1220px;
  margin: 0 auto;
  padding-bottom: 40px; }
  .latest-stories .stories__filter-nav {
    display: none;
    margin-bottom: 20px; }
    .latest-stories .stories__filter-nav:after {
      content: "";
      display: table;
      clear: both; }
    @media (max-width: 767px) {
      .latest-stories .stories__filter-nav {
        background-color: #009FDB; }
        .region[class*="blue"] .latest-stories .stories__filter-nav,
        .region[class*="black"] .latest-stories .stories__filter-nav {
          background-color: transparent;
          border-bottom: 1px solid #FFF; } }
    @media (min-width: 768px) {
      .latest-stories .stories__filter-nav {
        padding: 0 55px; } }
    @media (min-width: 1440px) {
      .latest-stories .stories__filter-nav {
        padding: 0; } }
    @media (min-width: 768px) {
      .latest-stories .stories__filter-nav .filter-toggle,
      .latest-stories .stories__filter-nav .filter-tags {
        float: left; } }
    @media (min-width: 768px) {
      .latest-stories .stories__filter-nav .filter-toggle h4,
      .latest-stories .stories__filter-nav li a {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 7px 0; } }
    .latest-stories .stories__filter-nav .filter-toggle {
      text-decoration: none;
      color: #FFF;
      cursor: pointer; }
      @media (min-width: 768px) {
        .latest-stories .stories__filter-nav .filter-toggle {
          cursor: default;
          color: inherit; } }
      @media (max-width: 767px) {
        .latest-stories .stories__filter-nav .filter-toggle h4 {
          position: relative;
          padding: 20px;
          font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
          .latest-stories .stories__filter-nav .filter-toggle h4:after {
            content: "";
            position: absolute;
            top: 25%;
            right: 25px;
            width: 19px;
            height: 19px;
            border-top: 2px solid #FFF;
            border-left: 2px solid #FFF;
            border-radius: 3px;
            -webkit-transform: rotate(-135deg);
                -ms-transform: rotate(-135deg);
                    transform: rotate(-135deg); } }
      @media (min-width: 768px) {
        .region[class*="blue"] .latest-stories .stories__filter-nav .filter-toggle h4,
        .region[class*="black"] .latest-stories .stories__filter-nav .filter-toggle h4 {
          font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; } }
    .latest-stories .stories__filter-nav .filter-tags {
      display: none; }
      @media (min-width: 768px) {
        .latest-stories .stories__filter-nav .filter-tags {
          display: block !important;
          margin-left: 15px; }
          .col-6 .latest-stories .stories__filter-nav .filter-tags,
          .col-4 .latest-stories .stories__filter-nav .filter-tags,
          .col-3 .latest-stories .stories__filter-nav .filter-tags,
          .col-2 .latest-stories .stories__filter-nav .filter-tags {
            margin-left: 0; } }
      @media (min-width: 768px) and (max-width: 1023px) {
        .col-9 .latest-stories .stories__filter-nav .filter-tags {
          margin-left: 0; } }
      @media (min-width: 768px) and (max-width: 1219px) {
        .col-8 .latest-stories .stories__filter-nav .filter-tags {
          margin-left: 0; } }
      @media (max-width: 767px) {
        .latest-stories .stories__filter-nav .filter-tags li {
          border-top: 1px solid #FFF; } }
      @media (min-width: 768px) {
        .latest-stories .stories__filter-nav .filter-tags li {
          display: inline-block;
          margin: 0 10px; }
          .col-6 .latest-stories .stories__filter-nav .filter-tags li,
          .col-4 .latest-stories .stories__filter-nav .filter-tags li,
          .col-3 .latest-stories .stories__filter-nav .filter-tags li,
          .col-2 .latest-stories .stories__filter-nav .filter-tags li {
            margin-left: 0; } }
      @media (min-width: 1024px) {
        .latest-stories .stories__filter-nav .filter-tags li {
          margin: 0 15px; } }
      @media (min-width: 768px) and (max-width: 1219px) {
        .col-9 .latest-stories .stories__filter-nav .filter-tags li,
        .col-8 .latest-stories .stories__filter-nav .filter-tags li {
          margin-left: 0; } }
      .latest-stories .stories__filter-nav .filter-tags li a {
        font-size: 14px;
        font-size: 1.4rem;
        display: inline-block;
        font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
        color: #FFF; }
        .latest-stories .stories__filter-nav .filter-tags li a:hover {
          text-decoration: none; }
        @media (max-width: 767px) {
          .latest-stories .stories__filter-nav .filter-tags li a {
            width: 100%;
            padding: 20px; }
            .latest-stories .stories__filter-nav .filter-tags li a.active, .latest-stories .stories__filter-nav .filter-tags li a:hover {
              background-color: #0090c7; } }
        @media (min-width: 768px) {
          .latest-stories .stories__filter-nav .filter-tags li a {
            padding-bottom: 5px;
            color: inherit; }
            .latest-stories .stories__filter-nav .filter-tags li a.active, .latest-stories .stories__filter-nav .filter-tags li a:hover {
              color: #009FDB;
              border-bottom: 2px solid #009FDB; }
              .region--gray .latest-stories .stories__filter-nav .filter-tags li a.active, .region--gray .latest-stories .stories__filter-nav .filter-tags li a:hover {
                color: #0568AE;
                border-bottom-color: #0568AE; }
              .region[class*="blue"] .latest-stories .stories__filter-nav .filter-tags li a.active, .region[class*="blue"] .latest-stories .stories__filter-nav .filter-tags li a:hover {
                color: #FFF;
                border-bottom-color: #FFF; } }
    .latest-stories .stories__filter-nav.stories__filter-nav--open .filter-toggle h4:after {
      -webkit-transform: rotate(-315deg);
          -ms-transform: rotate(-315deg);
              transform: rotate(-315deg);
      top: 40%; }
    .latest-stories .stories__filter-nav.stories__filter-nav--open .filter-tags {
      display: block; }
  .latest-stories .stories__feed .row + .row {
    margin-top: 0; }
  @media (min-width: 768px) {
    .latest-stories .stories__feed .col {
      max-width: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; }
      .col-6 .latest-stories .stories__feed .col,
      .col-4 .latest-stories .stories__feed .col,
      .col-3 .latest-stories .stories__feed .col,
      .col-2 .latest-stories .stories__feed .col {
        max-width: none; } }
  @media (min-width: 768px) and (max-width: 1219px) {
    .col-9 .latest-stories .stories__feed .col,
    .col-8 .latest-stories .stories__feed .col {
      max-width: none; } }
  @media (min-width: 768px) {
    .latest-stories .stories__feed .component {
      padding-bottom: 20px;
      margin-bottom: 10px; } }
  .latest-stories .stories__feed .item__media {
    max-height: 450px; }
  .latest-stories .stories__feed .item__media .item__img[data-placeholder="true"] {
    height: 100%; }
    .latest-stories .stories__feed .item__media .item__img[data-placeholder="true"] img {
      display: block; }
  .latest-stories .stories__feed .item__media .item__img[data-placeholder="true"] a:after {
    text-align: center;
    font-size: 12rem; }
    @media (min-width: 640px) {
      .latest-stories .stories__feed .item__media .item__img[data-placeholder="true"] a:after {
        font-size: 16rem; } }
  .latest-stories .stories__feed .item__title a {
    color: inherit; }
    .latest-stories .stories__feed .item__title a:hover {
      text-decoration: none; }
  .latest-stories .stories__feed .item__info {
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .latest-stories .stories__feed .item__description {
    max-width: 500px;
    margin-top: 30px; }
  .latest-stories .stories__cta {
    display: none;
    text-align: center;
    margin: 20px 0 60px; }
    @media (min-width: 1024px) {
      .latest-stories .stories__cta {
        margin: 40px auto 80px; } }
  .latest-stories.latest-stories--list .stories__heading {
    text-align: left; }
  .latest-stories.latest-stories--list .stories__feed .col {
    padding-bottom: 5px;
    max-width: none;
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  .latest-stories.latest-stories--list .stories__feed .component {
    height: auto; }
    @media (min-width: 768px) {
      .latest-stories.latest-stories--list .stories__feed .component {
        padding-bottom: 0;
        margin-bottom: 10px; } }
  .latest-stories.latest-stories--list .stories__feed .item__media,
  .latest-stories.latest-stories--list .stories__feed .item__description,
  .latest-stories.latest-stories--list .stories__feed .item__cta {
    display: none; }
  .latest-stories.latest-stories--list .stories__feed .item__content,
  .col-2 .latest-stories.latest-stories--list .stories__feed .item__content {
    background-color: transparent;
    padding: 0 !important; }
  .latest-stories.latest-stories--list .stories__feed .item__content .content__wrap {
    max-width: 85%; }
  .latest-stories.latest-stories--list .stories__feed .item__info {
    color: inherit !important; }
  .latest-stories.latest-stories--list .stories__feed .item__title a {
    color: #009FDB; }
    .region--white .latest-stories.latest-stories--list .stories__feed .item__title a,
    .region--gray .latest-stories.latest-stories--list .stories__feed .item__title a {
      color: #0568AE; }
    .region[class*="blue"] .latest-stories.latest-stories--list .stories__feed .item__title a {
      color: #FFF; }
    .latest-stories.latest-stories--list .stories__feed .item__title a:hover {
      text-decoration: underline; }
  .latest-stories.latest-stories--list .stories__feed .item__info {
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .latest-stories.latest-stories--list .stories__cta {
    margin: 10px 0;
    padding: 0 20px;
    text-align: left; }
    @media (min-width: 768px) {
      .latest-stories.latest-stories--list .stories__cta {
        margin: 30px 0;
        padding: 0 55px; } }
    @media (min-width: 1440px) {
      .latest-stories.latest-stories--list .stories__cta {
        padding: 0; } }

/*========
  LIGHTBOX
  ========*/
/* Fancybox modals */
.fancybox-container {
  height: 100vh;
  width: 100vw;
  bottom: 0;
  right: 0;
  z-index: 999999999; }

.fancybox-bg {
  background: #000; }
  .fancybox-is-open .fancybox-bg {
    opacity: 0.85; }

.fancybox-content {
  max-width: 100% !important;
  background-color: #000;
  width: 100%; }

.fancybox-slide--image,
.fancybox-slide--video {
  padding: 35px 20px 20px; }
  @media (min-width: 768px) {
    .fancybox-slide--image,
    .fancybox-slide--video {
      padding: 60px 65px 30px 55px; } }
  @media (min-width: 1024px) {
    .fancybox-slide--image,
    .fancybox-slide--video {
      padding: 90px 0 45px; } }

.fancybox-slide--image {
  position: relative !important; }

.fancybox-toolbar,
.fancybox-button--close {
  display: none; }

/* GVP modals */
[class^="gvp_player__closeButton"][class*="gvp_player__modal"],
.fancybox-custom-close {
  display: block;
  position: absolute;
  height: 19px;
  right: 0 !important;
  top: -35px !important;
  width: 77px;
  color: #FFF; }
  [class^="gvp_player__closeButton"][class*="gvp_player__modal"]:hover,
  .fancybox-custom-close:hover {
    text-decoration: none; }
  [class^="gvp_player__closeButton"][class*="gvp_player__modal"]:before, [class^="gvp_player__closeButton"][class*="gvp_player__modal"]:after,
  .fancybox-custom-close:before,
  .fancybox-custom-close:after {
    position: absolute;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  [class^="gvp_player__closeButton"][class*="gvp_player__modal"]:before,
  .fancybox-custom-close:before {
    content: "+";
    font-size: 3.75rem;
    -webkit-transform: translate(5px, -8px) rotate(45deg);
        -ms-transform: translate(5px, -8px) rotate(45deg);
            transform: translate(5px, -8px) rotate(45deg); }
  [class^="gvp_player__closeButton"][class*="gvp_player__modal"]:after,
  .fancybox-custom-close:after {
    content: "close";
    font-size: 2rem;
    font-weight: 300;
    right: 0; }

[class^="gvp_player__closeButton"][class*="gvp_player__modal"]:before {
  top: -8px;
  left: 0; }

[class^="gvp_player__closeButton"][class*="gvp_player__modal"]:after {
  top: -5px; }

[class^="gvp_player__view_"][class*="gvp_player__modal"] {
  background: rgba(0, 0, 0, 0.85) !important;
  padding: 0 20px; }

[class^="gvp_player__closeButton"][class*="gvp_player__modal"] {
  max-width: none !important;
  max-height: none !important; }
  [class^="gvp_player__closeButton"][class*="gvp_player__modal"] svg {
    display: none; }

/*=======
  MARQUEE
  =======*/
.marquee {
  /* Anchor banner content to bottom */
  /* Adjust banner headline size */
  /* Make sure any video banners are tall enough */
  /* Tighten mobile spacing above cta for banners used in marquees */
  /* Make sure any video banner content overlays its video */ }
  .marquee .marquee__wrap {
    position: relative;
    overflow: hidden; }
  .marquee .marquee__slides {
    -webkit-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
    height: 0;
    opacity: 0; }
    .marquee .marquee__slides.flickity-enabled {
      height: auto;
      opacity: 1; }
  .marquee .slide {
    width: 100%; }
  .marquee .component {
    margin-bottom: 0; }
  @media (max-width: 767px) {
    .marquee .banner__content {
      padding-bottom: 0; } }
  @media (max-width: 1023px) {
    .marquee .banner__content {
      max-width: 800px; } }
  @media (min-width: 768px) {
    .marquee .banner__content .content__wrap {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding-bottom: 10%; } }
  @media (min-width: 1024px) {
    .marquee .banner__content .content__wrap {
      padding-bottom: 8%; } }
  @media (min-width: 1024px) and (max-width: 1439px) {
    .marquee .banner__text {
      max-width: 65%; } }
  @media (min-width: 768px) {
    .marquee .banner__text .banner__headline--text {
      font-size: 40px;
      font-size: 4rem; } }
  @media (min-width: 1024px) {
    .marquee .banner__text .banner__headline--text {
      font-size: 50px;
      font-size: 5rem; } }
  @media (min-width: 1440px) {
    .marquee .banner__text .banner__headline--text {
      font-size: 60px;
      font-size: 6rem; } }
  @media (min-width: 1600px) {
    .marquee .banner__text .banner__headline--text {
      font-size: 65px;
      font-size: 6.5rem; } }
  .marquee .banner__video {
    min-height: 215px; }
    @media (min-width: 768px) {
      .marquee .banner__video {
        min-height: 425px; } }
    @media (min-width: 1024px) {
      .marquee .banner__video {
        height: 565px; } }
    @media (min-width: 1601px) {
      .marquee .banner__video {
        min-height: 632px; } }
  .marquee .banner__cta {
    margin: 20px 0 0; }
    @media (min-width: 1440px) {
      .marquee .banner__cta {
        margin-top: 25px; } }
  .marquee .banner__cta .cta--button {
    margin-top: 5px; }
    @media (min-width: 768px) and (max-width: 1219px) {
      .marquee .banner__cta .cta--button {
        margin-top: 0; } }
  @media (max-width: 767px) {
    .marquee .banner--featured .banner__cta {
      margin: 0; } }
  @media (min-width: 768px) {
    .marquee .banner--featured .banner__cta {
      margin: 20px 0 0; } }
  .marquee [class*="gvp_gvp-background__"] {
    z-index: -1 !important; }

/* Marquee Controls */
.marquee__controls {
  position: relative;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%; }
  @media (min-width: 768px) {
    .marquee__controls {
      position: absolute;
      min-height: auto;
      padding: 0 20px;
      bottom: 0; } }
  @media (min-width: 1440px) {
    .marquee__controls {
      padding: 0; } }
  .marquee__controls ul {
    max-width: calc(1220px + 20px);
    margin: 5px auto;
    /* Begin flexbox and flexbox fallback */
    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;
    /* End flexbox stuff */ }
    @media (min-width: 768px) {
      .marquee__controls ul {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; }
        .no-flexbox.no-flexboxtweener.no-flexboxlegacy .marquee__controls ul {
          display: table;
          table-layout: fixed;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          left: 50%; } }
    @media (min-width: 768px) {
      .marquee__controls ul {
        position: absolute;
        margin: 0 auto;
        width: 100%;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 0 55px; } }
    @media (min-width: 1440px) {
      .marquee__controls ul {
        padding: 0; } }
  .marquee__controls li {
    margin: 20px 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* Add flexbox and flexbox fallback */ }
    @media (min-width: 768px) {
      .marquee__controls li {
        margin: 0;
        padding: 0 1%;
        width: 100%; } }
    @media (min-width: 1440px) {
      .marquee__controls li {
        padding: 0;
        margin: 0 10px; } }
    @media (max-width: 767px) {
      .no-flexbox.no-flexboxtweener.no-flexboxlegacy .marquee__controls li {
        float: left; } }
    @media (min-width: 768px) {
      .no-flexbox.no-flexboxtweener.no-flexboxlegacy .marquee__controls li {
        display: table-cell;
        vertical-align: bottom;
        width: auto;
        max-width: 100%;
        margin: 0;
        padding: 0 10px; } }
    .marquee__controls li.control--active button {
      background-color: #009FDB; }
      @media (max-width: 767px) {
        .marquee__controls li.control--active button {
          height: 22px;
          width: 22px; } }
      .region--blue .marquee__controls li.control--active button {
        background-color: #FFF; }
    @media (min-width: 768px) {
      .marquee__controls li.control--active button, .marquee__controls li:hover button {
        width: 100%;
        background-color: transparent;
        border-color: #009FDB;
        color: #009FDB; } }
  .marquee__controls button {
    -webkit-transition: all 150ms ease;
    -o-transition: all 150ms ease;
    transition: all 150ms ease;
    display: block;
    width: 20px;
    padding: 0;
    margin: 0;
    text-align: left;
    border-radius: 100%;
    background-color: #C9C9C9; }
    @media (max-width: 767px) {
      .marquee__controls button {
        height: 20px; } }
    @media (min-width: 768px) {
      .marquee__controls button {
        font-size: 14px;
        font-size: 1.4rem;
        width: 100%;
        border-radius: 0;
        background-color: transparent !important;
        border-bottom: 6px solid #F2F2F2;
        -webkit-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;
        color: #F2F2F2; }
        .region--near-black .marquee__controls button,
        .region--black .marquee__controls button {
          background-color: transparent; } }
    @media (min-width: 1220px) {
      .marquee__controls button {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media (min-width: 1440px) {
      .marquee__controls button {
        font-size: 17px;
        font-size: 1.7rem;
        border-width: 8px; } }
    .marquee__controls button span {
      display: none;
      font-weight: 700; }
      @media (min-width: 768px) {
        .marquee__controls button span {
          display: block;
          max-width: 85%;
          padding-bottom: 10px; } }

/* Carousel Vendor Style Overrides */
.flickity-viewport {
  -webkit-transition: height 700ms ease-in-out;
  -o-transition: height 700ms ease-in-out;
  transition: height 700ms ease-in-out; }

/*=====
  MEDIA
  =====*/
.media {
  width: 100%; }

/* Media Items */
.media__img,
.media__video {
  display: none;
  max-width: 100%;
  width: 100%; }
  .media__img .frame,
  .media__video .frame {
    position: relative; }
    .media--letterboxed .media__img .frame, .media--letterboxed
    .media__video .frame {
      background-color: #000; }

/* Media Item - Image */
.media__img {
  max-width: 1220px;
  margin: 0 auto; }
  .media--letterboxed .media__img {
    max-width: none; }
  .media[data-type="image"] .media__img {
    display: block; }
  .media__img img {
    display: block;
    max-width: 100%; }
    .media--centered .media__img img,
    .media--letterboxed .media__img img {
      margin: 0 auto; }

/* Media Item - Video */
.media[data-type="video"] .media__video {
  display: block; }

.media__video [class*="embed--"] {
  display: none; }
  .media__video [class*="embed--"]:after {
    content: "";
    display: table;
    clear: both; }
  .media__video [class*="embed--"]:first-child {
    display: block; }
  .media--centered .media__video [class*="embed--"],
  .media--constrained .media__video [class*="embed--"],
  .media--letterboxed .media__video [class*="embed--"] {
    max-width: 800px;
    margin: 0 auto; }

.media__video iframe,
.media__video att-gvp {
  display: inline-block;
  margin: 0; }

/* Media Item Caption */
.media__caption {
  font-size: 15px;
  font-size: 1.5rem;
  margin: 10px auto;
  padding: 0 20px;
  line-height: 1.5;
  max-width: 1220px;
  width: 100%; }
  @media (min-width: 768px) {
    .media__caption {
      padding: 0 55px; } }
  @media (max-width: 1219px) {
    .row .media__caption {
      padding: 0; } }
  @media (min-width: 1220px) {
    .media__caption {
      padding: 0; } }
  .media--centered .media__caption,
  .media--letterboxed .media__caption {
    text-align: center; }
    .sidebar .media--centered .media__caption, .sidebar
    .media--letterboxed .media__caption {
      text-align: initial; }
  .region[class*="-blue"] .media__caption,
  .region[class*="-black"] .media__caption {
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif; }
  .media__caption p {
    margin-bottom: 10px; }
    .media__caption p:last-child {
      margin-bottom: 0; }
  .media__caption a,
  .media__caption a:visited {
    color: #0568AE; }

/*==============
  MEDIA CAROUSEL
  ==============*/
.media-carousel {
  position: relative;
  min-height: 150px;
  /* Prev/Next Buttons */ }
  .media-carousel .carousel__wrap {
    position: relative;
    max-width: 1220px;
    margin: 0 auto;
    padding-bottom: 70px; }
    @media (min-width: 768px) {
      .media-carousel .carousel__wrap {
        padding-left: 55px;
        padding-right: 55px; }
        .col .media-carousel .carousel__wrap {
          padding-left: 0;
          padding-right: 0; } }
    @media (min-width: 1440px) {
      .media-carousel .carousel__wrap {
        padding: 0; } }
  .media-carousel .carousel__slides {
    /* Apply negative margin to negate inner padding of columns */ }
    @media (min-width: 768px) {
      .media-carousel .carousel__slides {
        margin: 0 -10px; } }
    .media-carousel .carousel__slides .slide {
      width: 100%; }
      @media (min-width: 768px) {
        .media-carousel .carousel__slides .slide {
          max-width: 50%;
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
      @media (min-width: 1024px) {
        .media-carousel .carousel__slides .slide {
          max-width: 33.33333%;
          -ms-flex-preferred-size: 33.33333%;
              flex-basis: 33.33333%; } }
  .media-carousel .component {
    margin-bottom: 0; }
  @media (min-width: 768px) {
    .media-carousel .featured-item {
      padding: 0 10px; } }
  .media-carousel .item__media,
  .media-carousel .item__img {
    background-color: transparent; }
  .media-carousel .item__preview {
    color: #009FDB; }
    .media-carousel .item__preview:hover {
      text-decoration: none; }
    .media-carousel .item__preview .item__thumbnail {
      overflow: hidden; }
      @media (min-width: 1024px) {
        .media-carousel .item__preview .item__thumbnail {
          height: 240px; }
          .media-carousel .item__preview .item__thumbnail img {
            position: relative;
            -webkit-transform: translate(-50%, -50%);
                -ms-transform: translate(-50%, -50%);
                    transform: translate(-50%, -50%);
            top: 50%;
            left: 50%; } }
      @media (min-width: 1220px) {
        .media-carousel .item__preview .item__thumbnail {
          height: 267px; } }
      @media (min-width: 1440px) {
        .media-carousel .item__preview .item__thumbnail {
          height: 295px; } }
    .media-carousel .item__preview .item__content {
      background-color: transparent;
      padding: 10px 0 20px; }
      .region--dark-blue .media-carousel .item__preview .item__content .item__title {
        color: #FFF !important; }
      .region--blue .media-carousel .item__preview .item__content .item__title {
        color: #191919 !important; }
      .region--gray .media-carousel .item__preview .item__content .item__title {
        color: #0568AE !important; }
      .region[class*="-black"] .media-carousel .item__preview .item__content .item__title {
        color: inherit !important; }
  .media-carousel .carousel__button {
    font-size: 60px;
    font-size: 6rem;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    position: absolute;
    bottom: 10px;
    width: 50px;
    height: 50px;
    line-height: 36px;
    border-radius: 50%;
    border: 1px solid #959595;
    background-color: transparent;
    color: #959595; }
    @media (min-width: 1440px) {
      .media-carousel .carousel__button {
        top: 121px; }
        .col:not(.col-12) .media-carousel .carousel__button {
          top: auto; } }
    @media (min-width: 1600px) {
      .media-carousel .carousel__button {
        width: 60px;
        height: 60px;
        line-height: 46px; }
        .col:not(.col-12) .media-carousel .carousel__button {
          width: 50px;
          height: 50px;
          line-height: 36px; } }
    .region--blue .media-carousel .carousel__button {
      border-color: #000;
      color: #000; }
      .region--blue .media-carousel .carousel__button:hover {
        border-color: #FFF;
        color: #FFF; }
    .region--dark-blue .media-carousel .carousel__button {
      border-color: #FFF;
      color: #FFF; }
      .region--dark-blue .media-carousel .carousel__button:hover {
        border-color: #000;
        color: #000; }
    .media-carousel .carousel__button span {
      display: block;
      width: 100%;
      height: 100%; }
    .media-carousel .carousel__button:hover {
      border-color: #0568AE;
      color: #0568AE; }
      .region[class*="-black"] .media-carousel .carousel__button:hover {
        border-color: #FFF;
        color: #FFF; }
  .media-carousel .carousel__button--prev {
    left: calc(50% - 58px); }
    @media (min-width: 1440px) {
      .media-carousel .carousel__button--prev {
        left: -75px; }
        .col:not(.col-12) .media-carousel .carousel__button--prev {
          left: calc(50% - 58px); } }
    @media (min-width: 1600px) {
      .media-carousel .carousel__button--prev {
        left: -85px; } }
  .media-carousel .carousel__button--next {
    right: calc(50% - 58px); }
    @media (min-width: 1440px) {
      .media-carousel .carousel__button--next {
        right: -75px; }
        .col:not(.col-12) .media-carousel .carousel__button--next {
          right: calc(50% - 58px); } }
    @media (min-width: 1600px) {
      .media-carousel .carousel__button--next {
        right: -85px; } }

@media (min-width: 1440px) {
  .story .col:not(.col-12) .media-carousel .carousel__wrap {
    margin-bottom: 80px; } }

@media (min-width: 1440px) {
  .story .col:not(.col-12) .media-carousel .carousel__button {
    top: 100%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .blog-post .blog__wrap .media-carousel > .row,
  .media-kit-page .media-kit__wrap .media-carousel > .row {
    padding: 0 55px; } }

@media (min-width: 768px) {
  .blog-post .blog__wrap .media-carousel > .row .row__wrap,
  .media-kit-page .media-kit__wrap .media-carousel > .row .row__wrap {
    margin: 0 -10px; } }

@media (min-width: 1024px) {
  .blog-post .blog__wrap .media-carousel .carousel__wrap,
  .media-kit-page .media-kit__wrap .media-carousel .carousel__wrap {
    padding-left: 0;
    padding-right: 0; } }

@media (min-width: 1024px) {
  .blog-post .blog__wrap .region .media-carousel,
  .media-kit-page .media-kit__wrap .region .media-carousel {
    max-width: 1220px !important; } }

@media (min-width: 768px) and (max-width: 1439px) {
  .blog-post .blog__wrap .region .media-carousel > .row,
  .media-kit-page .media-kit__wrap .region .media-carousel > .row {
    padding: 0 55px; } }

@media (min-width: 1024px) {
  .blog-post .blog__wrap .region .media-carousel .carousel__wrap,
  .media-kit-page .media-kit__wrap .region .media-carousel .carousel__wrap {
    padding-left: 55px;
    padding-right: 55px; } }

@media (min-width: 1440px) {
  .blog-post .blog__wrap .region .media-carousel .carousel__wrap,
  .media-kit-page .media-kit__wrap .region .media-carousel .carousel__wrap {
    padding-left: 0;
    padding-right: 0; } }

/*=============
  MEDIA LIBRARY
  =============*/
.media-library .row {
  margin-top: 0; }

@media (min-width: 1220px) {
  .media-library .col-2 {
    max-width: 20%;
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%; } }

.media-library .component {
  margin-bottom: 0; }

.media-library .item__media .item__img img {
  margin: 0 auto; }

.media-library .item__media,
.media-library .item__img {
  background-color: transparent; }

.media-library .item__preview {
  color: #009FDB; }
  .media-library .item__preview:hover {
    text-decoration: none; }
  .media-library .item__preview .item__thumbnail:last-child {
    margin-bottom: 20px; }
  .media-library .item__preview .item__content {
    background-color: transparent;
    padding: 10px 0 20px; }
    @media (min-width: 768px) {
      .media-library .item__preview .item__content {
        padding-bottom: 40px; } }
    .region--dark-blue .media-library .item__preview .item__content .item__title {
      color: #FFF !important; }
    .region--blue .media-library .item__preview .item__content .item__title {
      color: #191919 !important; }
    .region--gray .media-library .item__preview .item__content .item__title,
    .region[class*="-black"] .media-library .item__preview .item__content .item__title {
      color: inherit !important; }

.media-library .library__cta {
  text-align: center;
  margin: 40px 0; }

@media (min-width: 768px) and (max-width: 1023px) {
  .story .story__wrap .media-library .row__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .blog-post .blog__wrap .media-library > .row,
  .media-kit-page .media-kit__wrap .media-library > .row {
    padding: 0 55px; } }

@media (min-width: 768px) {
  .blog-post .blog__wrap .media-library > .row .row__wrap,
  .media-kit-page .media-kit__wrap .media-library > .row .row__wrap {
    margin: 0 -10px; } }

@media (min-width: 1024px) {
  .blog-post .blog__wrap .region .media-library,
  .media-kit-page .media-kit__wrap .region .media-library {
    max-width: 1220px !important; } }

@media (min-width: 768px) and (max-width: 1439px) {
  .blog-post .blog__wrap .region .media-library > .row,
  .media-kit-page .media-kit__wrap .region .media-library > .row {
    padding: 0 55px; } }

/*=============
  MICROSITE NAV
  =============*/
.microsite-nav,
.microsite-nav__wrap {
  height: 100%; }

.microsite-nav__wrap {
  background-color: #000; }
  @media (max-width: 1023px) {
    .microsite-nav__wrap {
      border-top: 1px solid #5A5A5A;
      border-bottom: 1px solid #5A5A5A; } }
  .header--secondary .microsite-nav__wrap {
    background-color: transparent; }
    @media (max-width: 1023px) {
      .header--secondary .microsite-nav__wrap {
        border-top: 0;
        border-bottom: 0; } }

/* MICRO GLOBAL NAV */
/* ================ */
.microsite-nav__global-nav {
  display: none;
  position: relative;
  background-color: #000; }
  @media (max-width: 1023px) {
    .microsite-nav__global-nav {
      border-bottom: 1px solid #5A5A5A; } }
  .header--secondary .microsite-nav--plusGlobal .microsite-nav__global-nav {
    display: block; }

.microsite-nav__global-nav__utils {
  height: 50px; }
  @media (min-width: 1024px) {
    .microsite-nav__global-nav__utils {
      border-bottom: 1px solid #5A5A5A; } }
  .microsite-nav__global-nav__utils .wrap {
    max-width: 1220px;
    height: 100%;
    margin: 0 auto;
    padding: 0 20px; }
    .microsite-nav__global-nav__utils .wrap:after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 768px) {
      .microsite-nav__global-nav__utils .wrap {
        padding: 0 55px; } }
    @media (min-width: 1440px) {
      .microsite-nav__global-nav__utils .wrap {
        padding: 0; } }
  .microsite-nav__global-nav__utils .nav__logo .logo__icon {
    height: 30px;
    min-width: 75px; }
  .microsite-nav__global-nav__utils .nav__toggle {
    display: inline-block;
    margin-left: 15px;
    height: 14px;
    float: left; }
    .microsite-nav__global-nav__utils .nav__toggle .bar {
      height: 2px;
      width: 17px;
      margin-bottom: 3px; }
    .microsite-nav__global-nav--open .microsite-nav__global-nav__utils .nav__toggle .bar {
      position: absolute;
      background: none; }
      .microsite-nav__global-nav--open .microsite-nav__global-nav__utils .nav__toggle .bar:first-child, .microsite-nav__global-nav--open .microsite-nav__global-nav__utils .nav__toggle .bar:last-child {
        background: #FFF; }
      .microsite-nav__global-nav--open .microsite-nav__global-nav__utils .nav__toggle .bar:first-child {
        -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
                transform: rotate(-45deg); }
      .microsite-nav__global-nav--open .microsite-nav__global-nav__utils .nav__toggle .bar:last-child {
        -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
                transform: rotate(45deg); }

.microsite-nav__global-nav__wrap {
  display: none; }
  .header--secondary .microsite-nav--plusGlobal .microsite-nav__global-nav--open .microsite-nav__global-nav__wrap {
    display: block;
    position: absolute;
    width: 100%;
    background-color: #000;
    z-index: 99; }

.micro-global-nav__menu:not(.nav__menu--nested) {
  max-width: 1220px;
  margin: 0 auto;
  padding: 20px; }
  @media (min-width: 640px) {
    .micro-global-nav__menu:not(.nav__menu--nested) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: distribute;
          justify-content: space-around; } }
  @media (min-width: 768px) {
    .micro-global-nav__menu:not(.nav__menu--nested) {
      padding-left: 55px;
      padding-right: 55px; } }
  @media (min-width: 1440px) {
    .micro-global-nav__menu:not(.nav__menu--nested) {
      padding: 20px 0 50px; } }

.micro-global-nav__menu:not(.nav__menu--nested) > li {
  font-weight: 700; }
  @media (min-width: 640px) {
    .micro-global-nav__menu:not(.nav__menu--nested) > li {
      -ms-flex-preferred-size: 20%;
          flex-basis: 20%; } }
  @media (min-width: 1024px) {
    .micro-global-nav__menu:not(.nav__menu--nested) > li {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  @media (min-width: 640px) {
    .no-flexbox.no-flexboxtweener.no-flexboxlegacy .micro-global-nav__menu:not(.nav__menu--nested) > li {
      float: left;
      width: 20%; } }
  @media (max-width: 639px) {
    .micro-global-nav__menu:not(.nav__menu--nested) > li > .nav__menu-item {
      display: block;
      border-top: 1px solid #5A5A5A;
      padding-top: 15px; } }

.micro-global-nav__menu li {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Arial", "Helvetica", sans-serif;
  text-transform: uppercase;
  color: #959595; }
  .micro-global-nav__menu li .nav__menu-item {
    -webkit-font-smoothing: auto;
    display: inline-block;
    margin-bottom: 17px;
    line-height: 1.25;
    color: #959595; }
    .micro-global-nav__menu li .nav__menu-item:hover {
      text-decoration: none; }

.micro-global-nav__menu .nav__menu--nested {
  position: relative;
  width: auto;
  margin: 0;
  padding: 0; }

.micro-global-nav__menu .nav__menu--nested li {
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: 400; }

.micro-global-nav__menu .micro-global-nav__menu--tertiary {
  margin-left: 15px; }

/* MICROSITE-SPECIFIC NAV */
/* ====================== */
.microsite-nav__site-nav {
  height: 100%;
  max-width: 1220px;
  margin: 0 auto; }
  @media (min-width: 1024px) {
    .header--secondary .microsite-nav__site-nav {
      height: 100%; }
      .header--secondary .microsite-nav__site-nav:after {
        content: "";
        display: table;
        clear: both; }
    .header--secondary .microsite-nav--plusGlobal .microsite-nav__site-nav {
      height: calc(100% - 50px); } }

.microsite-nav__utils {
  height: 68px;
  padding: 0 20px; }
  .microsite-nav__utils:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 768px) {
    .microsite-nav__utils {
      padding: 0 55px; } }
  @media (min-width: 1024px) {
    .microsite-nav__utils {
      display: none; } }
  @media (min-width: 1440px) {
    .microsite-nav__utils {
      padding: 0; } }
  @media (min-width: 1024px) {
    .header--secondary .microsite-nav__utils {
      display: block;
      float: left; } }
  @media (min-width: 1440px) {
    .header--secondary .microsite-nav__utils {
      height: 100%; } }
  .microsite-nav__utils .microsite-nav__logo,
  .microsite-nav__utils .microsite-nav__title {
    position: relative;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    display: block;
    float: left; }
  .microsite-nav__utils .microsite-nav__logo {
    max-width: 100%; }
    .microsite-nav__utils .microsite-nav__logo img {
      position: relative;
      max-width: 100%;
      top: 4px; }
  .microsite-nav__utils .microsite-nav__title {
    font-size: 24px;
    font-size: 2.4rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: 85%;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 700;
    color: #FFF; }
    @media (min-width: 640px) {
      .microsite-nav__utils .microsite-nav__title {
        font-size: 26px;
        font-size: 2.6rem;
        max-width: none; } }
    .microsite-nav__utils .microsite-nav__title:hover {
      text-decoration: none; }
    .microsite-nav__utils .microsite-nav__title:not(:first-child) {
      display: none; }
  .microsite-nav__utils .microsite-nav__toggle {
    position: relative;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    position: relative;
    float: right;
    width: 26px;
    height: 26px; }
    @media (min-width: 1024px) {
      .microsite-nav__utils .microsite-nav__toggle {
        display: none; } }
    .microsite-nav__utils .microsite-nav__toggle:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 19px;
      height: 19px;
      border-top: 2px solid #FFF;
      border-left: 2px solid #FFF;
      border-radius: 3px;
      -webkit-transform: rotate(-135deg);
          -ms-transform: rotate(-135deg);
              transform: rotate(-135deg); }
      .microsite-nav--open .microsite-nav__utils .microsite-nav__toggle:after {
        -webkit-transform: rotate(-315deg);
            -ms-transform: rotate(-315deg);
                transform: rotate(-315deg);
        top: 10px; }

.microsite-nav__menu {
  display: none; }
  .microsite-nav--open .microsite-nav__menu {
    display: block; }
  @media (min-width: 1024px) {
    .microsite-nav__menu {
      display: block; } }
  @media (min-width: 1024px) {
    .header--secondary .microsite-nav__menu {
      padding-right: 55px;
      float: right; } }
  @media (min-width: 1440px) {
    .header--secondary .microsite-nav__menu {
      position: relative;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      top: 50%;
      padding-right: 0;
      margin-top: 0;
      height: 100%; } }
  .microsite-nav__menu ul {
    max-width: 1220px;
    margin: 0 auto; }
    @media (min-width: 1024px) {
      .microsite-nav__menu ul {
        text-align: center; } }
    .header--secondary .microsite-nav__menu ul {
      text-align: left; }
      @media (min-width: 1024px) {
        .header--secondary .microsite-nav__menu ul {
          max-width: none;
          height: 100%; } }
  .microsite-nav__menu li {
    border-top: 1px solid #5A5A5A;
    padding: 0 20px; }
    @media (min-width: 768px) {
      .microsite-nav__menu li {
        padding: 0 55px; } }
    @media (min-width: 1024px) {
      .microsite-nav__menu li {
        display: inline-block;
        padding: 0 28px;
        border-top: 0; } }
    @media (min-width: 1024px) {
      .header--secondary .microsite-nav__menu li {
        padding: 0 0 0 25px; }
        .header--secondary .microsite-nav__menu li:first-child {
          padding-left: 0; } }
    @media (min-width: 1220px) {
      .header--secondary .microsite-nav__menu li {
        padding-left: 40px;
        height: 100%; } }
    @media (min-width: 1440px) {
      .header--secondary .microsite-nav__menu li {
        padding-left: 55px; } }
  .microsite-nav__menu a {
    font-size: 14px;
    font-size: 1.4rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    display: block;
    padding: 28px 0;
    font-weight: 700;
    text-transform: uppercase;
    color: #FFF; }
    .microsite-nav__menu a:hover, .microsite-nav__menu a.active {
      text-decoration: none;
      color: #009FDB; }
    @media (min-width: 1024px) {
      .microsite-nav__menu a:before {
        -webkit-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;
        content: "";
        display: block;
        position: absolute;
        bottom: -1px;
        height: 5px;
        width: 100%;
        background-color: #009FDB;
        opacity: 0; }
      .microsite-nav__menu a:before {
        bottom: 0; }
      .microsite-nav__menu a:hover:before, .microsite-nav__menu a:focus:before, .microsite-nav__menu a.active:before {
        opacity: 1; } }
    .header--secondary .microsite-nav__menu a {
      font-size: 12px;
      font-size: 1.2rem; }
      @media (min-width: 1024px) {
        .header--secondary .microsite-nav__menu a:before {
          bottom: -1px; } }
      @media (min-width: 1440px) {
        .header--secondary .microsite-nav__menu a {
          position: relative;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%);
          top: 50%;
          padding-top: 45px;
          padding-bottom: 45px; } }
      @media (min-width: 1600px) {
        .header--secondary .microsite-nav__menu a {
          font-size: 14px;
          font-size: 1.4rem; } }
    @media (min-width: 1440px) {
      .header--fixed .microsite-nav__menu a {
        padding-top: 25px;
        padding-bottom: 25px; } }

/*============
  RELATED NEWS
  ============*/
.related-news .news__feed {
  max-width: 1220px;
  padding: 0 20px;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .related-news .news__feed {
      padding: 0 55px; } }
  @media (min-width: 1440px) {
    .related-news .news__feed {
      padding: 0; } }
  .related-news .news__feed li {
    margin-bottom: 30px; }
  .related-news .news__feed a {
    font-size: 20px;
    font-size: 2rem;
    display: block;
    font-family: "Aleck Sans Black", "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
    color: #0568AE;
    margin-bottom: 10px;
    line-height: 1.25; }
    .region--blue .related-news .news__feed a {
      color: #191919; }
    .region--dark-blue .related-news .news__feed a {
      color: #FFF; }
    .region.region[class*="-black"] .related-news .news__feed a {
      color: #009FDB; }
  .related-news .news__feed p {
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
    margin-bottom: 0;
    line-height: 1.35; }

/*============
  SEARCH FIELD
  ============*/
.search-field {
  padding: 0 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* Search Input Field */
  /* Search Submit Button */ }
  .col .search-field {
    padding: 0; }
  @media (min-width: 768px) {
    .search-field {
      padding: 0; } }
  .search-field fieldset {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
    border-radius: 30px;
    border: 2px solid #eaeaea;
    background-color: #FFF;
    overflow: hidden; }
    .search-field fieldset:after {
      content: "";
      display: table;
      clear: both; }
    .region[class*="black"] .search-field fieldset {
      border-color: #F2F2F2;
      background-color: transparent;
      border-width: 1px; }
  .search-field label {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important; }
    .search-field label:focus {
      clip: auto !important;
      -webkit-clip-path: none;
              clip-path: none;
      z-index: 100000; }
  .search-field input,
  .search-field button {
    float: left;
    height: 37px;
    background-color: transparent;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 0; }
    @media (min-width: 1024px) {
      .col-2 .search-field input,
      .col-3 .search-field input,
      .col-4 .search-field input, .col-2
      .search-field button,
      .col-3
      .search-field button,
      .col-4
      .search-field button {
        height: 33px; } }
  .region[class*="black"] .search-field input {
    color: #C9C9C9; }
  .search-field .search__input {
    padding: 6px 0 8px 15px;
    width: calc(100% - 30px); }
    @media (min-width: 768px) {
      .search-field .search__input {
        width: calc(100% - 40px); } }
    @media (min-width: 1024px) {
      .col-2 .search-field .search__input,
      .col-3 .search-field .search__input,
      .col-4 .search-field .search__input {
        padding: 4px 0 6px 15px; } }
  .search-field .search__submit {
    position: absolute;
    min-width: 25px;
    right: 5px; }
    @media (min-width: 768px) {
      .search-field .search__submit {
        right: 10px; } }
    @media (min-width: 1024px) {
      .col-2 .search-field .search__submit,
      .col-3 .search-field .search__submit,
      .col-4 .search-field .search__submit {
        right: 8px; } }
    .search-field .search__submit span {
      height: 100%;
      width: 100%; }
      .search-field .search__submit span:after {
        font-size: 30px;
        font-size: 3rem;
        color: #009FDB;
        top: 52%; }
        @media (min-width: 768px) {
          .search-field .search__submit span:after {
            font-size: 40px;
            font-size: 4rem; } }
        @media (min-width: 1024px) {
          .col-2 .search-field .search__submit span:after,
          .col-3 .search-field .search__submit span:after,
          .col-4 .search-field .search__submit span:after {
            font-size: 34px;
            font-size: 3.4rem; } }
        .region[class*="black"] .search-field .search__submit span:after {
          color: #F2F2F2; }

/*====================
  SOCIAL CHANNEL/SHARE
  ====================*/
.social-channels:after {
  content: "";
  display: table;
  clear: both; }

.social-channels ul {
  position: relative;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  text-align: center;
  padding: 40px 0; }
  .component--border-bottom .social-channels ul {
    padding-bottom: 0; }

.social-channels li {
  display: inline-block;
  margin: 0 10px; }
  @media (min-width: 768px) {
    .social-channels li {
      margin: 0 12.5px; } }

.social-channels a:hover {
  text-decoration: none; }

/*============
  STOCK TICKER
  ============*/
.row--equal-heights .stock-ticker, .row--equal-heights
.stock-ticker__wrap {
  height: 100%; }

.stock-ticker__wrap {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 20px;
  font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
  text-align: center;
  color: #000;
  /* NOTE: Stock ticker background color can vary based on the page category (theme). Default treatment is silver. */
  background: #EDECEC;
  background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
  background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
  background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
  background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
  .stock-ticker__wrap:after {
    content: "";
    display: table;
    clear: both; }
  .no-cssgradients .stock-ticker__wrap {
    -webkit-filter: none;
            filter: none; }
  .stock-ticker__wrap .cta--link {
    color: #0568AE; }
  .row--equal-heights .stock-ticker__wrap {
    position: relative;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%; }
  .stock-ticker__wrap div {
    position: relative;
    text-align: center; }
    .stock-ticker__wrap div:after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 640px) {
      .stock-ticker__wrap div {
        display: inline-block; } }
  .stock-ticker__wrap span {
    display: inline-block; }
    @media (min-width: 480px) {
      .stock-ticker__wrap span {
        float: left; } }

/* Ticker Price */
.stock-ticker__price {
  font-size: 22px;
  font-size: 2.2rem;
  display: inline-block;
  font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
  margin-bottom: 10px; }
  @media (min-width: 640px) {
    .stock-ticker__price {
      margin-bottom: 0; } }
  @media (min-width: 768px) {
    .stock-ticker__price {
      margin-right: 15px; } }

/* Ticker Change */
.stock-ticker__change {
  font-size: 22px;
  font-size: 2.2rem;
  display: inline-block;
  margin: 0 10px 10px 15px; }
  @media (min-width: 640px) {
    .stock-ticker__change {
      margin-bottom: 0; } }
  .stock-ticker__change .change__symbol {
    position: relative;
    top: -2.5px; }
    @media (min-width: 640px) {
      .stock-ticker__change .change__symbol {
        margin-right: 5px; } }

/* Ticker Timestamp */
.stock-ticker__timestamp {
  font-size: 15px;
  font-size: 1.5rem;
  margin: 0 15px 10px 0; }
  @media (min-width: 480px) {
    .stock-ticker__timestamp {
      display: inline-block;
      top: -1px; } }
  @media (min-width: 640px) {
    .stock-ticker__timestamp {
      margin-bottom: 0; } }
  .stock-ticker__timestamp .exchange__date {
    margin-right: 8px; }

/* Ticker Info */
.stock-ticker__info {
  margin-left: -25px; }
  @media (min-width: 640px) {
    .stock-ticker__info {
      display: inline-block;
      margin-left: 15px;
      top: -3px; } }
  .stock-ticker__info .cta--link {
    font-size: 15px;
    font-size: 1.5rem; }
    .region[class*="blue"] .stock-ticker__info .cta--link {
      color: #0568AE; }

/*====
  TEXT
  ====*/
.narrow-text .col-12 .component > .text,
.narrow-text .region__wrap > .text .component > .text {
  max-width: 1024px;
  margin: 0 auto; }

.component > .text {
  font-size: 18px;
  font-size: 1.8rem;
  position: relative;
  max-width: 1220px;
  line-height: 1.6;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
  /* Headings */
  /* Links */
  /* Images */
  /* Horiztonal Rules */
  /* Tables */
  /* Modifications */ }
  .col .component > .text {
    padding: 0; }
  @media (min-width: 768px) {
    .component > .text {
      padding: 0 55px; }
      .col-9 .component > .text,
      .col-8 .component > .text,
      .col-6 .component > .text {
        padding-right: 50px; }
      .col-4 .component > .text,
      .col-3 .component > .text,
      .col-2 .component > .text {
        padding-right: 30px; } }
  @media (min-width: 1024px) {
    .col-9 .component > .text,
    .col-8 .component > .text,
    .col-6 .component > .text,
    .col-4 .component > .text {
      padding-right: 60px; }
    .col-3 .component > .text {
      padding-right: 30px; } }
  @media (min-width: 1220px) {
    .component > .text {
      font-size: 21px;
      font-size: 2.1rem;
      line-height: 1.6; }
      .col-3 .component > .text {
        padding-right: 50px; }
      .col-2 .component > .text {
        padding-right: 0; } }
  @media (min-width: 1440px) {
    .component > .text {
      padding: 0; } }
  .component > .text h1,
  .component > .text h2,
  .component > .text h3,
  .component > .text h4,
  .component > .text h5,
  .component > .text h6,
  .component > .text p {
    margin-bottom: 20px; }
  .component:not(.component--no-margin-bottom) .component > .text h1:last-child:not(:only-child), .component:not(.component--no-margin-bottom)
  .component > .text h2:last-child:not(:only-child), .component:not(.component--no-margin-bottom)
  .component > .text h3:last-child:not(:only-child), .component:not(.component--no-margin-bottom)
  .component > .text h4:last-child:not(:only-child), .component:not(.component--no-margin-bottom)
  .component > .text h5:last-child:not(:only-child), .component:not(.component--no-margin-bottom)
  .component > .text h6:last-child:not(:only-child) {
    margin-bottom: 0; }
  .component > .text p + h1,
  .component > .text p + h2,
  .component > .text p + h3,
  .component > .text p + h4,
  .component > .text p + h5,
  .component > .text p + h6,
  .component > .text ul + h1,
  .component > .text ul + h2,
  .component > .text ul + h3,
  .component > .text ul + h4,
  .component > .text ul + h5,
  .component > .text ul + h6 {
    margin-top: 35px; }
    @media (min-width: 1440px) {
      .component > .text p + h1,
      .component > .text p + h2,
      .component > .text p + h3,
      .component > .text p + h4,
      .component > .text p + h5,
      .component > .text p + h6,
      .component > .text ul + h1,
      .component > .text ul + h2,
      .component > .text ul + h3,
      .component > .text ul + h4,
      .component > .text ul + h5,
      .component > .text ul + h6 {
        margin-top: 55px; } }
  .region[class*="-black"] .component > .text h1 {
    color: #009FDB; }
  .component > .text h2 {
    line-height: 1.35; }
  .component > .text .text__wrap > a,
  .component > .text p a,
  .component > .text li a,
  .component > .text table a,
  .component > .text blockquote a {
    color: #0568AE; }
    .component > .text .text__wrap > a:hover,
    .component > .text p a:hover,
    .component > .text li a:hover,
    .component > .text table a:hover,
    .component > .text blockquote a:hover {
      text-decoration: underline; }
    .region[class*="-blue"] .component > .text .text__wrap > a, .region[class*="-blue"]
    .component > .text p a, .region[class*="-blue"]
    .component > .text li a, .region[class*="-blue"]
    .component > .text table a, .region[class*="-blue"]
    .component > .text blockquote a {
      text-decoration: underline; }
    .region--blue .component > .text .text__wrap > a, .region--blue
    .component > .text p a, .region--blue
    .component > .text li a, .region--blue
    .component > .text table a, .region--blue
    .component > .text blockquote a {
      color: #191919; }
    .region--dark-blue .component > .text .text__wrap > a, .region--dark-blue
    .component > .text p a, .region--dark-blue
    .component > .text li a, .region--dark-blue
    .component > .text table a, .region--dark-blue
    .component > .text blockquote a {
      color: #FFF; }
    .region[class*="-black"] .component > .text .text__wrap > a, .region[class*="-black"]
    .component > .text p a, .region[class*="-black"]
    .component > .text li a, .region[class*="-black"]
    .component > .text table a, .region[class*="-black"]
    .component > .text blockquote a {
      color: #009FDB; }
  .component > .text img {
    max-width: 100%; }
  .component > .text hr {
    border: 0;
    border-top: 4px;
    border-color: #009FDB;
    border-style: solid;
    border-radius: 30px;
    width: 60%;
    max-width: 300px;
    margin: 50px auto; }
    .region--dark-blue .component > .text hr {
      border-color: #FFF; }
    @media (min-width: 1440px) {
      .component > .text hr {
        margin: 80px auto; } }
  .component > .text table {
    margin: 45px 0; }
    .component > .text table th,
    .component > .text table td {
      padding: 10px; }
      @media (min-width: 1220px) {
        .component > .text table th,
        .component > .text table td {
          padding: 10px 20px; } }
    .component > .text table th {
      font-family: "Aleck Sans Black", "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
      text-align: left; }
    .component > .text table td {
      border: 1px solid #C9C9C9;
      border-left-width: 0;
      border-right-width: 0; }
      .region--dark-blue .component > .text table td {
        border-color: #FFF; }
      .region--blue .component > .text table td {
        border-color: #000; }
      .component > .text table td + td {
        border-left-width: 1px; }
  .component > .text.text--headline-blue h1,
  .component > .text.text--headline-blue h2,
  .component > .text.text--headline-blue h3,
  .component > .text.text--headline-blue h4,
  .component > .text.text--headline-blue h5,
  .component > .text.text--headline-blue h6 {
    color: #009FDB;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 700;
    border-bottom: 1px solid #5A5A5A;
    padding-bottom: 5px; }
    .region--blue .component > .text.text--headline-blue h1, .region--blue
    .component > .text.text--headline-blue h2, .region--blue
    .component > .text.text--headline-blue h3, .region--blue
    .component > .text.text--headline-blue h4, .region--blue
    .component > .text.text--headline-blue h5, .region--blue
    .component > .text.text--headline-blue h6 {
      color: #191919;
      border-color: #191919; }
    .region--dark-blue .component > .text.text--headline-blue h1, .region--dark-blue
    .component > .text.text--headline-blue h2, .region--dark-blue
    .component > .text.text--headline-blue h3, .region--dark-blue
    .component > .text.text--headline-blue h4, .region--dark-blue
    .component > .text.text--headline-blue h5, .region--dark-blue
    .component > .text.text--headline-blue h6 {
      color: #FFF;
      border-color: #FFF; }
  .component > .text.text--headline-blue h2 {
    font-size: 38px;
    font-size: 3.8rem; }
  .component > .text.text--headline-blue h3 {
    font-size: 24px;
    font-size: 2.4rem; }
  .component > .text.text--featured h1,
  .component > .text.text--featured h2,
  .component > .text.text--featured h3 {
    font-weight: 700; }
  .component > .text.text--featured strong,
  .component > .text.text--featured b {
    font-weight: 700; }
  .component > .text.text--special-bold h1,
  .component > .text.text--special-bold h2 {
    font-size: 24px;
    font-size: 2.4rem;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 300; }
    .component > .text.text--special-bold h1 b,
    .component > .text.text--special-bold h1 strong,
    .component > .text.text--special-bold h2 b,
    .component > .text.text--special-bold h2 strong {
      font-weight: 700;
      color: #009FDB; }
      .region--blue .component > .text.text--special-bold h1 b, .region--blue
      .component > .text.text--special-bold h1 strong, .region--blue
      .component > .text.text--special-bold h2 b, .region--blue
      .component > .text.text--special-bold h2 strong {
        color: #000; }
      .region--dark-blue .component > .text.text--special-bold h1 b,
      .region[class*="-black"] .component > .text.text--special-bold h1 b, .region--dark-blue
      .component > .text.text--special-bold h1 strong,
      .region[class*="-black"]
      .component > .text.text--special-bold h1 strong, .region--dark-blue
      .component > .text.text--special-bold h2 b,
      .region[class*="-black"]
      .component > .text.text--special-bold h2 b, .region--dark-blue
      .component > .text.text--special-bold h2 strong,
      .region[class*="-black"]
      .component > .text.text--special-bold h2 strong {
        color: #FFF; }
  .component > .text.text--footer {
    font-size: 13px;
    font-size: 1.3rem;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    line-height: 1.8;
    color: inherit; }
    @media (min-width: 768px) {
      .component > .text.text--footer {
        padding-top: 20px;
        padding-bottom: 10px; } }
    @media (min-width: 1024px) {
      .component > .text.text--footer {
        padding-top: 0;
        padding-bottom: 0; } }
    @media (min-width: 1220px) {
      .component > .text.text--footer {
        font-size: 15px;
        font-size: 1.5rem; } }
    .component > .text.text--footer h1,
    .component > .text.text--footer h2 {
      font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
      line-height: 1.25; }
    .component > .text.text--footer h1 {
      font-size: 26px;
      font-size: 2.6rem; }
    .component > .text.text--footer h2 {
      font-size: 20px;
      font-size: 2rem; }
    .component > .text.text--footer h3 {
      font-size: 14px;
      font-size: 1.4rem;
      font-weight: 700;
      margin-bottom: 10px; }
    .component > .text.text--footer ul,
    .component > .text.text--footer ol {
      margin: 0 0 20px; }
      .component > .text.text--footer ul > li,
      .component > .text.text--footer ol > li {
        margin-bottom: 10px; }
        .component > .text.text--footer ul > li:before,
        .component > .text.text--footer ol > li:before {
          content: none; }
        .component > .text.text--footer ul > li a,
        .component > .text.text--footer ol > li a {
          color: inherit !important; }
          .region[class*="-blue"] .component > .text.text--footer ul > li a:not(:hover), .region[class*="-blue"]
          .component > .text.text--footer ol > li a:not(:hover) {
            text-decoration: none; }
    .component > .text.text--footer hr {
      margin: 40px 0;
      border-top-width: 2px; }

/* Blockqoutes */
.text--blockquote .text__wrap {
  position: relative;
  margin: 30px 0 20px;
  font-family: "Aleck Slab", "Aleck Sans", "Arial", "Helvetica", sans-serif;
  color: #009FDB; }
  .text--blockquote .text__wrap h1 {
    color: inherit; }
  .text--blockquote .text__wrap p:last-child {
    margin-bottom: 0; }
  .text--blockquote .text__wrap a {
    text-decoration: underline; }
  .region[class*="-blue"] .text--blockquote .text__wrap {
    color: #FFF; }
  @media (min-width: 1024px) {
    .text--blockquote .text__wrap {
      margin: 25px 0;
      max-width: 90%; } }
  @media (min-width: 768px) {
    .text--blockquote .text__wrap:before {
      position: relative;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      top: 50%;
      font-size: 62px;
      font-size: 6.2rem;
      content: "";
      display: block;
      position: absolute;
      height: calc(100% - 15px);
      width: 65px;
      border-right: 1px solid #C9C9C9;
      margin-right: 15px;
      right: 100%;
      font-family: "ATT_Icons", "Arial", "Helvetica", sans-serif;
      text-align: center;
      line-height: 1;
      color: #C9C9C9;
      /* To accomodate blue backgrounds */
      /* To center the icon */
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media (min-width: 768px) and (min-width: 1220px) {
    .text--blockquote .text__wrap:before {
      content: ""; } }
  @media (min-width: 768px) {
      .region[class*="-blue"] .text--blockquote .text__wrap:before,
      .region[class*="-black"] .text--blockquote .text__wrap:before {
        border-color: #FFF;
        color: #FFF; }
      .no-flexbox.no-flexboxtweener.no-flexboxlegacy .text--blockquote .text__wrap:before {
        display: block;
        line-height: .65; } }

/* Text with Icons */
[class*="text--icon-"] .text__wrap {
  font-size: 15px;
  font-size: 1.5rem;
  position: relative;
  padding-left: 75px;
  line-height: 1.75; }
  [class*="text--icon-"] .text__wrap:before {
    position: relative;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    font-size: 62px;
    font-size: 6.2rem;
    display: block;
    position: absolute;
    height: calc(100% - 15px);
    width: 70px;
    border-right: 1px solid #C9C9C9;
    margin-right: 20px;
    left: -15px;
    font-family: "ATT_Icons", "Arial", "Helvetica", sans-serif;
    line-height: 1;
    color: #C9C9C9;
    /* To accomodate blue backgrounds */
    /* To center the icon */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .region[class*="-blue"] [class*="text--icon-"] .text__wrap:before,
    .region[class*="-black"] [class*="text--icon-"] .text__wrap:before {
      border-color: #FFF;
      color: #FFF; }
    .no-flexbox.no-flexboxtweener.no-flexboxlegacy [class*="text--icon-"] .text__wrap:before {
      display: block;
      line-height: .65; }

.text--icon-alert .text__wrap:before {
  content: ""; }

.text--icon-att-logo .text__wrap:before {
  content: ""; }

.text--icon-att-logo-text .text__wrap:before {
  content: ""; }

.text--icon-comment .text__wrap:before {
  content: ""; }

.text--icon-download .text__wrap:before {
  content: ""; }

.text--icon-email .text__wrap:before {
  content: ""; }

.text--icon-facebook .text__wrap:before {
  content: ""; }

.text--icon-faq .text__wrap:before {
  content: ""; }

.text--icon-file .text__wrap:before {
  content: ""; }

.text--icon-info .text__wrap:before {
  content: ""; }

.text--icon-info2 .text__wrap:before {
  content: ""; }

.text--icon-instagram .text__wrap:before {
  content: ""; }

.text--icon-link .text__wrap:before {
  content: ""; }

.text--icon-linkedin .text__wrap:before {
  content: ""; }

.text--icon-notification .text__wrap:before {
  content: ""; }

.text--icon-minus .text__wrap:before {
  content: ""; }

.text--icon-play .text__wrap:before {
  content: ""; }

.text--icon-plus .text__wrap:before {
  content: ""; }

.text--icon-quote .text__wrap:before {
  content: ""; }

.text--icon-search .text__wrap:before {
  content: ""; }

.text--icon-twitter .text__wrap:before {
  content: ""; }

.text--icon-youtube .text__wrap:before {
  content: ""; }

.text--blockquote .text__wrap,
[class*="text--icon-"] .text__wrap {
  /* To reposition for narrow columns */ }
  .col-2 .text--blockquote .text__wrap,
  .col-3 .text--blockquote .text__wrap,
  .col-4 .text--blockquote .text__wrap, .col-2
  [class*="text--icon-"] .text__wrap,
  .col-3
  [class*="text--icon-"] .text__wrap,
  .col-4
  [class*="text--icon-"] .text__wrap {
    padding-left: 0; }
    .col-2 .text--blockquote .text__wrap:before,
    .col-3 .text--blockquote .text__wrap:before,
    .col-4 .text--blockquote .text__wrap:before, .col-2
    [class*="text--icon-"] .text__wrap:before,
    .col-3
    [class*="text--icon-"] .text__wrap:before,
    .col-4
    [class*="text--icon-"] .text__wrap:before {
      position: relative;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      left: 50%;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-bottom: 15px;
      top: 0;
      text-align: center;
      border-right: 0;
      border-bottom: 1px solid #C9C9C9; }

/* CTAs */
@media (max-width: 1023px) {
  .text__cta {
    margin-top: 40px; } }

/*====
  TILE
  ====*/
@media (min-width: 768px) {
  .row--equal-heights .tile {
    height: 100%; } }

.tile__wrap {
  display: block;
  position: relative;
  overflow: hidden; }
  @media (min-width: 768px) {
    .row--equal-heights .tile__wrap {
      height: 100%; } }

.tile__img {
  position: relative;
  overflow: hidden; }
  .tile__img:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.6) 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(30%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.6) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.6) 100%); }
    .no-cssgradients .tile__img:after {
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#330000', endColorstr='#000000',GradientType=1 );
      -ms-filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#330000', endColorstr='#000000',GradientType=1 ); }
  @media (min-width: 768px) {
    .row--equal-heights .tile__img {
      height: 100%; } }
  .row--equal-heights .tile__img.compat-object-fit {
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease; }
    .row--equal-heights .tile__img.compat-object-fit img {
      opacity: 0; }
    @media (min-width: 768px) {
      .row--equal-heights .tile__img.compat-object-fit {
        background-size: cover;
        background-position: left; } }
  .row--equal-heights .tile:hover .tile__img.compat-object-fit {
    -webkit-transform: scale3d(1.1, 1.1, 1) rotate(0.1deg);
            transform: scale3d(1.1, 1.1, 1) rotate(0.1deg);
    max-width: none; }
  .tile__img > div {
    height: 100%; }
  .tile__img img {
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
    display: block;
    margin: 0 auto;
    width: 100%; }
    @media (min-width: 768px) {
      .row--equal-heights .tile__img img {
        min-height: 100%;
        min-width: 100%;
        width: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: left;
           object-position: left; } }
    .tile:hover .tile__img img {
      -webkit-transform: scale3d(1.1, 1.1, 1) rotate(0.1deg);
              transform: scale3d(1.1, 1.1, 1) rotate(0.1deg);
      max-width: none; }

.tile__content {
  position: absolute;
  padding: 0 25px;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  color: #FFF;
  /* Bottom color bar */
  /**/ }
  .tile__content:after {
    content: "";
    position: absolute;
    display: block;
    height: 8px;
    width: 100.5%;
    bottom: 0;
    left: 0;
    /* NOTE: Bottom color bar can vary based on the page category (theme). Default treatment is silver. */
    background: #EDECEC;
    background: -webkit-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: -webkit-gradient(linear, left top, right top, from(#edecec), to(#f9f9f9));
    background: -o-linear-gradient(left, #edecec 0%, #f9f9f9 100%);
    background: linear-gradient(to right, #edecec 0%, #f9f9f9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EDECEC', endColorstr='#F9F9F9',GradientType=1 ); }
    .no-cssgradients .tile__content:after {
      -webkit-filter: none;
              filter: none; }
    .tile__content:after .cta--link {
      color: #0568AE; }
  .tile__content .tile__headline {
    font-size: 25px;
    font-size: 2.5rem;
    max-width: 80%;
    font-weight: 300;
    font-style: italic;
    position: absolute;
    bottom: 60px;
    line-height: 1.15; }
    @media (min-width: 640px) {
      .tile__content .tile__headline {
        font-size: 30px;
        font-size: 3rem; } }
    @media (min-width: 1024px) {
      .tile__content .tile__headline {
        font-size: 38px;
        font-size: 3.8rem;
        max-width: 70%;
        bottom: 85px; } }
    @media (min-width: 1024px) {
      .col-2 .tile__content .tile__headline,
      .col-3 .tile__content .tile__headline,
      .col-4 .tile__content .tile__headline {
        font-size: 30px;
        font-size: 3rem;
        max-width: 80%;
        bottom: 65px; } }
    @media (min-width: 1220px) {
      .col-4 .tile__content .tile__headline {
        font-size: 38px;
        font-size: 3.8rem; } }
    @media (min-width: 1440px) {
      .col-4 .tile__content .tile__headline {
        max-width: 70%; } }
    @media (min-width: 1024px) {
      .col-9 + .col-3 .tile__content .tile__headline,
      .col-8 + .col-4 .tile__content .tile__headline {
        bottom: 85px; } }
  .tile__content .tile__subheadline {
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 700;
    position: absolute;
    bottom: 20px; }
    @media (min-width: 768px) {
      .tile__content .tile__subheadline {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media (min-width: 1024px) {
      .tile__content .tile__subheadline {
        font-size: 19px;
        font-size: 1.9rem; } }
    @media (min-width: 1024px) {
      .col-2 .tile__content .tile__subheadline,
      .col-3 .tile__content .tile__subheadline {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media (min-width: 1440px) {
      .col-2 .tile__content .tile__subheadline,
      .col-3 .tile__content .tile__subheadline {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media (min-width: 1024px) {
      .col-4 .tile__content .tile__subheadline {
        font-size: 16px;
        font-size: 1.6rem; } }
  @media (min-width: 1024px) and (min-width: 1220px) {
    .col-4 .tile__content .tile__subheadline {
      font-size: 19px;
      font-size: 1.9rem; } }

/*=========
  Templates
  =========*/
/*==============
  STORY TEMPLATE
  ==============*/
/* Story Header */
.story__header {
  position: relative; }
  .story__header .featured-image,
  .story__header .featured__image {
    background-color: #000;
    max-height: 483px;
    overflow: hidden; }
    .story__header .featured-image img,
    .story__header .featured__image img {
      display: block;
      margin: 0 auto;
      max-width: 100%; }
  .story__header.story__header--light .featured-image,
  .story__header.story__header--light .featured__image {
    background-color: #FFF; }

/* Story Preface */
.story__preface > *:last-child {
  margin-bottom: 30px; }

.story__preface:first-child + .story__wrap {
  padding-top: 40px; }
  @media (min-width: 1024px) {
    .story__preface:first-child + .story__wrap {
      padding-top: 0; } }

/* Search Widget */
.widget--search .component:first-child {
  margin-bottom: 0; }

/* Top Videos Widget */
.widget--videos .widget__items:after {
  content: "";
  display: table;
  clear: both; }

@media (min-width: 768px) and (max-width: 1023px) {
  .widget--videos .widget__items {
    margin: 0 -10px; } }

@media (min-width: 640px) and (max-width: 767px) {
  .widget--videos .widget__items .component {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    float: left;
    padding-right: 10px;
    padding-left: 10px; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .widget--videos .widget__items .component {
    max-width: 33.33333%;
    -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%;
    float: left;
    padding-right: 10px;
    padding-left: 10px; } }

.widget--videos .widget__items .component:last-child {
  margin-bottom: 0; }

/* Component Style Overrides */
.story {
  /* Article */
  /* Sidebar */ }
  @media (min-width: 768px) and (max-width: 1023px) {
    .story .story__wrap .row__wrap {
      display: block; } }
  .story .article {
    padding-bottom: 20px;
    /* Article Banner Components */ }
    @media (min-width: 1220px) {
      .story .article {
        padding-left: 55px; } }
    @media (min-width: 1440px) {
      .story .article {
        padding-left: 105px; } }
    .story .article > .content__wrap {
      padding-bottom: 40px; }
    .story .article .banner .banner__content {
      padding-bottom: 0; }
    .story .article .banner .banner__cta {
      margin-top: 20px; }
  .story .sidebar {
    padding-top: 20px;
    /* Sidebar Components */
    /* Sidebar Featured Item Components */
    /* Sidebar Media Components */
    /* Sidebar Text Components */ }
    .story .sidebar .sidebar__content .component {
      margin-bottom: 40px; }
      .story .sidebar .sidebar__content .component.component--no-margin-bottom {
        margin-bottom: 20px; }
      @media (min-width: 1220px) {
        .story .sidebar .sidebar__content .component.component--border-bottom > div {
          padding-bottom: 40px;
          margin-bottom: 50px; } }
      .story .sidebar .sidebar__content .component.component--border-bottom > div:after {
        width: 60%;
        right: auto; }
    .story .sidebar .featured-item {
      overflow: inherit; }
    .story .sidebar .item__content {
      padding-left: 0;
      padding-top: 0;
      margin-bottom: 20px; }
    .story .sidebar .component:last-child .item__content {
      margin-bottom: 0; }
    .story .sidebar .item__media + .item__content {
      padding-top: 20px; }
    .story .sidebar .item__media {
      max-height: none; }
    @media (min-width: 768px) {
      .story .sidebar .item__preview {
        display: block;
        max-height: 160px;
        overflow: hidden; } }
    @media (min-width: 1024px) {
      .story .sidebar .item__preview {
        max-height: none; } }
    .story .sidebar .widget--videos .item__media {
      background-color: transparent; }
    @media (min-width: 1024px) {
      .story .sidebar .widget--videos [class^="item__video"] {
        min-height: 150px; } }
    @media (min-width: 1440px) {
      .story .sidebar .widget--videos [class^="item__video"] {
        min-height: 165px; } }
    .story .sidebar .widget--videos .item__content {
      padding-right: 0; }
      @media (min-width: 1220px) {
        .story .sidebar .widget--videos .item__content {
          padding-top: 15px; } }
    .story .sidebar .media__caption {
      font-size: 16px;
      font-size: 1.6rem; }
    .story .sidebar .text--blockquote .text__wrap,
    .story .sidebar .text blockquote {
      font-size: 18px;
      font-size: 1.8rem;
      margin-bottom: 0; }
  @media (min-width: 768px) and (max-width: 1023px) {
    .story .article,
    .story .sidebar {
      max-width: none; } }
  @media (min-width: 1024px) {
    .story .article,
    .story .sidebar {
      padding-top: 65px;
      padding-bottom: 65px; } }
  .story .article .component > .text,
  .story .sidebar .component > .text {
    padding-left: 0;
    padding-right: 0; }
  @media (min-width: 768px) {
    .story .story__preface .alert {
      padding-left: 55px;
      padding-right: 55px; } }
  @media (min-width: 1220px) {
    .story .story__preface .alert {
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1220px) {
    .story .story__preface .alert__message {
      padding-left: calc(105px - 10px);
      padding-right: calc(105px - 10px); } }

/*==============
  BLOG TEMPLATES
  ==============*/
/* General Blog Elements */
@media (max-width: 1219px) {
  .article [class^="blog__"] .col.col-8 {
    max-width: none; } }

.blog__header {
  position: relative; }
  .blog__header .featured-article {
    padding-top: 30px; }
    @media (min-width: 1220px) {
      .header--transparent + .content .blog__header .featured-article {
        height: calc(100% - 105px); } }
    .blog__header .featured-article p {
      font-size: 21px;
      font-size: 2.1rem;
      line-height: 1.45; }
      @media (min-width: 1220px) {
        .blog__header .featured-article p {
          max-width: 40%; } }
  .blog__header .featured-article__cta {
    margin: 25px 0; }
    .blog__header .featured-article__cta .cta--link {
      color: #009FDB; }
      @media (min-width: 1220px) {
        .blog__header .featured-article__cta .cta--link {
          font-size: 21px;
          font-size: 2.1rem;
          font-weight: 400; } }
  .blog__header .featured-category {
    text-transform: uppercase;
    color: #009FDB;
    font-size: 24px;
    font-size: 2.4rem;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 300; }
    .blog__header .featured-category b,
    .blog__header .featured-category strong {
      font-weight: 700;
      color: #FFF; }
      .region--blue .blog__header .featured-category b, .region--blue
      .blog__header .featured-category strong {
        color: #000; }
      .region--dark-blue .blog__header .featured-category b,
      .region[class*="-black"] .blog__header .featured-category b, .region--dark-blue
      .blog__header .featured-category strong,
      .region[class*="-black"]
      .blog__header .featured-category strong {
        color: #FFF; }
  .blog__header.blog__header--light .featured-category {
    font-size: 24px;
    font-size: 2.4rem;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 300; }
    .blog__header.blog__header--light .featured-category b,
    .blog__header.blog__header--light .featured-category strong {
      font-weight: 700;
      color: #000; }
      .region--blue .blog__header.blog__header--light .featured-category b, .region--blue
      .blog__header.blog__header--light .featured-category strong {
        color: #000; }
      .region--dark-blue .blog__header.blog__header--light .featured-category b,
      .region[class*="-black"] .blog__header.blog__header--light .featured-category b, .region--dark-blue
      .blog__header.blog__header--light .featured-category strong,
      .region[class*="-black"]
      .blog__header.blog__header--light .featured-category strong {
        color: #FFF; }

/* Blog Landing Styles */
/* =================== */
.blog-landing .blog__header {
  padding: 0;
  background-color: #000;
  color: #FFF; }
  .blog-landing .blog__header.blog__header--light {
    background-color: #FFF;
    color: #000; }
  .blog-landing .blog__header .featured-image {
    overflow: hidden; }
    .blog-landing .blog__header .featured-image img {
      display: block;
      margin: 0 auto;
      max-width: 100%; }
      @media (max-width: 1023px) {
        .blog-landing .blog__header .featured-image img {
          width: 100%; } }
  .blog-landing .blog__header .featured-article {
    padding: 40px 20px; }
    @media (min-width: 768px) {
      .blog-landing .blog__header .featured-article {
        padding-left: 55px;
        padding-right: 55px; } }
    @media (min-width: 768px) {
      .blog-landing .blog__header .featured-article {
        position: relative;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        left: 50%;
        position: absolute;
        bottom: 0;
        margin: 0 auto;
        max-width: 1220px;
        width: 100%;
        height: 100%; } }
    @media (min-width: 1440px) {
      .blog-landing .blog__header .featured-article {
        padding-top: 65px;
        padding-left: 0;
        padding-right: 0; } }
    .blog-landing .blog__header .featured-article .featured-headline {
      font-size: 35px;
      font-size: 3.5rem;
      padding-top: 30px;
      line-height: 1.15; }
      @media (min-width: 1024px) {
        .blog-landing .blog__header .featured-article .featured-headline {
          font-size: 50px;
          font-size: 5rem;
          padding-top: 60px; } }
      @media (min-width: 1220px) {
        .blog-landing .blog__header .featured-article .featured-headline {
          font-size: 60px;
          font-size: 6rem;
          padding-bottom: 50px; } }
      @media (min-width: 1440px) {
        .blog-landing .blog__header .featured-article .featured-headline {
          max-width: 50%; } }
    @media (min-width: 768px) and (max-width: 1219px) {
      .blog-landing .blog__header .featured-article .featured-headline,
      .blog-landing .blog__header .featured-article .featured-description {
        max-width: 70%; } }

/* Blog Post Styles */
/* ================ */
.blog-post .blog__header .featured-article {
  padding: 40px 0 30px; }
  @media (min-width: 768px) {
    .blog-post .blog__header .featured-article {
      padding: 50px 0; } }
  @media (min-width: 1024px) {
    .blog-post .blog__header .featured-article {
      padding: 80px 0; } }

.blog-post .blog__header .featured-category b,
.blog-post .blog__header .featured-category strong {
  color: #000; }

.blog-post .blog__header .featured-headline {
  padding-bottom: 20px; }

.blog__authors {
  padding-bottom: 30px; }
  .blog__authors .author__meta {
    margin-bottom: 80px; }
    .blog__authors .author__meta:first-child {
      border-top: 1px solid #C9C9C9;
      padding-top: 40px; }
      @media (min-width: 1024px) {
        .blog__authors .author__meta:first-child {
          padding-top: 80px; } }
    .blog__authors .author__meta:last-child {
      margin-bottom: 0; }
    .blog__authors .author__meta .author {
      margin-bottom: 5px; }
    .blog__authors .author__meta .title,
    .blog__authors .author__meta .info {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 1.6; }
    .blog__authors .author__meta .title {
      margin-bottom: 25px; }

/* Component Style Overrides */
.blog {
  /* Article */ }
  .blog .article {
    padding-bottom: 40px; }
    @media (min-width: 1024px) {
      .blog .article {
        padding-bottom: 80px; } }
  .blog .blog__header .col,
  .blog .blog__authors .col {
    margin-left: auto;
    margin-right: auto; }
  .blog .article__meta {
    margin-bottom: 30px; }
    @media (min-width: 1024px) {
      .blog .article__meta {
        margin-bottom: 60px; } }
    .blog .article__meta .meta__info {
      max-width: none; }
      .blog .article__meta .meta__info .date {
        font-weight: 700; }

/*===================
  MEDIA KIT TEMPLATES
  ===================*/
/* General Media Kit Elements */
@media (max-width: 1219px) {
  .article [class^="media-kit__"] .col.col-8 {
    max-width: none; } }

.media-kit__header {
  position: relative; }
  .media-kit__header .featured-article {
    padding-top: 30px; }
    @media (min-width: 1220px) {
      .header--transparent + .content .media-kit__header .featured-article {
        height: calc(100% - 105px); } }
    .media-kit__header .featured-article p {
      font-size: 21px;
      font-size: 2.1rem;
      line-height: 1.45; }
      @media (min-width: 1220px) {
        .media-kit__header .featured-article p {
          max-width: 40%; } }
  .media-kit__header .featured-article__cta {
    margin: 25px 0; }
    .media-kit__header .featured-article__cta .cta--link {
      color: #009FDB; }
      @media (min-width: 1220px) {
        .media-kit__header .featured-article__cta .cta--link {
          font-size: 21px;
          font-size: 2.1rem;
          font-weight: 400; } }
  .media-kit__header .featured-category {
    text-transform: uppercase;
    color: #FFF;
    font-size: 24px;
    font-size: 2.4rem;
    font-family: "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 300; }
    .media-kit__header .featured-category b,
    .media-kit__header .featured-category strong {
      font-weight: 700;
      color: #009FDB; }
      .region--blue .media-kit__header .featured-category b, .region--blue
      .media-kit__header .featured-category strong {
        color: #000; }
      .region--dark-blue .media-kit__header .featured-category b,
      .region[class*="-black"] .media-kit__header .featured-category b, .region--dark-blue
      .media-kit__header .featured-category strong,
      .region[class*="-black"]
      .media-kit__header .featured-category strong {
        color: #FFF; }
  .media-kit__header.media-kit__header--light .featured-category {
    color: #000; }

/* Media Kit Landing Styles */
/* ======================== */
.media-kit-landing .media-kit__header {
  padding: 0;
  background-color: #000;
  color: #FFF; }
  .media-kit-landing .media-kit__header.media-kit__header--light {
    background-color: #FFF;
    color: #000; }
  .media-kit-landing .media-kit__header .featured-image {
    overflow: hidden; }
    .media-kit-landing .media-kit__header .featured-image img {
      display: block;
      margin: 0 auto;
      max-width: 100%; }
      @media (max-width: 1023px) {
        .media-kit-landing .media-kit__header .featured-image img {
          width: 100%; } }
  .media-kit-landing .media-kit__header .featured-article {
    padding: 40px 20px; }
    @media (min-width: 768px) {
      .media-kit-landing .media-kit__header .featured-article {
        padding-left: 55px;
        padding-right: 55px; } }
    @media (min-width: 768px) {
      .media-kit-landing .media-kit__header .featured-article {
        position: relative;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        left: 50%;
        position: absolute;
        bottom: 0;
        margin: 0 auto;
        max-width: 1220px;
        width: 100%;
        height: 100%; } }
    @media (min-width: 1440px) {
      .media-kit-landing .media-kit__header .featured-article {
        padding-top: 65px;
        padding-left: 0;
        padding-right: 0; } }
    .media-kit-landing .media-kit__header .featured-article .featured-headline {
      font-size: 35px;
      font-size: 3.5rem;
      padding-top: 30px;
      line-height: 1.15; }
      @media (min-width: 1024px) {
        .media-kit-landing .media-kit__header .featured-article .featured-headline {
          font-size: 50px;
          font-size: 5rem;
          padding-top: 60px; } }
      @media (min-width: 1220px) {
        .media-kit-landing .media-kit__header .featured-article .featured-headline {
          font-size: 60px;
          font-size: 6rem;
          padding-bottom: 50px; } }
      @media (min-width: 1440px) {
        .media-kit-landing .media-kit__header .featured-article .featured-headline {
          max-width: 50%; } }
    @media (min-width: 768px) and (max-width: 1219px) {
      .media-kit-landing .media-kit__header .featured-article .featured-headline,
      .media-kit-landing .media-kit__header .featured-article .featured-description {
        max-width: 70%; } }

.media-kit-landing .media-kit__wrap .featured-stories {
  padding-top: 20px;
  padding-bottom: 20px; }
  @media (min-width: 1220px) {
    .media-kit-landing .media-kit__wrap .featured-stories {
      padding-bottom: 60px; } }

/* Media Kit Page Styles */
/* ===================== */
.media-kit-page .media-kit__header .featured-article {
  padding: 40px 0 30px; }
  @media (min-width: 768px) {
    .media-kit-page .media-kit__header .featured-article {
      padding: 50px 0; } }
  @media (min-width: 1024px) {
    .media-kit-page .media-kit__header .featured-article {
      padding: 80px 0; } }

.media-kit-page .media-kit__header .featured-category {
  color: #000; }

.media-kit-page .media-kit__header .featured-category b,
.media-kit-page .media-kit__header .featured-category strong {
  color: #009FDB; }

.media-kit-page .media-kit__header .featured-headline {
  padding-bottom: 20px; }

.media-kit-page .media-kit__header .col {
  margin-left: auto;
  margin-right: auto; }

/* Component Style Overrides */
.media-kit {
  /* Article */ }
  .media-kit .article {
    padding-bottom: 40px; }
    @media (min-width: 1024px) {
      .media-kit .article {
        padding-bottom: 80px; } }
  .media-kit .article__header {
    border-bottom: 0; }
  .media-kit .article__meta {
    margin-bottom: 20px; }
    .media-kit .article__meta .meta__info {
      max-width: none; }
      .media-kit .article__meta .meta__info .date {
        font-weight: 700; }
  .media-kit .article__content {
    padding-top: 0; }

/*=================================
  ALL POSTS/SEARCH RESULTS TEMPLATE
  =================================*/
.all-posts .region__wrap {
  max-width: 810px;
  padding: 0 20px; }
  @media (min-width: 768px) {
    .all-posts .region__wrap {
      padding: 0 55px; } }
  @media (min-width: 1440px) {
    .all-posts .region__wrap {
      padding: 0; } }

.all-posts .headline {
  font-size: 30px;
  font-size: 3rem;
  margin-bottom: 40px; }

.all-posts .search-controls {
  margin: 40px 0; }
  .all-posts .search-controls:after {
    content: "";
    display: table;
    clear: both; }

.all-posts form input {
  font-size: 16px;
  font-size: 1.6rem; }
  @media (min-width: 1024px) {
    .all-posts form input {
      font-size: 12px;
      font-size: 1.2rem; } }

.all-posts .filters {
  margin-bottom: 10px; }
  @media (min-width: 640px) {
    .all-posts .filters {
      float: left;
      margin-bottom: 0;
      padding-right: 18px; } }
  .all-posts .filters form label {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    margin-right: 5px; }
  .all-posts .filters form select {
    min-height: 25px;
    min-width: 100px; }

.all-posts .search {
  position: relative;
  float: left; }
  @media (min-width: 640px) {
    .all-posts .search {
      border-left: 1px solid #C9C9C9;
      padding-left: 18px; } }
  .all-posts .search form label {
    display: none; }
  .all-posts .search form input.txt {
    height: 23px;
    line-height: 23px;
    padding-left: 5px;
    border-radius: 4px;
    border: 1px solid #C9C9C9;
    font-family: "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif;
    font-weight: 400; }
    @media (min-width: 640px) {
      .all-posts .search form input.txt {
        min-width: 200px; } }
  .all-posts .search form .search__submit {
    position: absolute;
    height: 23px;
    width: 23px;
    right: 0;
    top: 0;
    background-color: transparent; }
    .all-posts .search form .search__submit .icon--search {
      font-size: 20px;
      font-size: 2rem;
      color: #009FDB; }
      .all-posts .search form .search__submit .icon--search:after {
        -webkit-transform: translate(-50%, -50%) rotateY(-180deg);
                transform: translate(-50%, -50%) rotateY(-180deg); }

.all-posts .text {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 0; }

.all-posts .posts {
  border-top: 1px solid #C9C9C9;
  padding: 40px 0; }
  .all-posts .posts [class^="page"] {
    margin-bottom: 60px; }
  .all-posts .posts .timestamp {
    margin-bottom: 12px; }
  .all-posts .posts .meta,
  .all-posts .posts .categories {
    display: none; }
  .all-posts .posts h2 {
    font-size: 20px !important;
    font-family: "Aleck Sans Black", "Aleck Sans Medium", "Aleck Sans", "Arial", "Helvetica", sans-serif !important;
    font-weight: 400 !important;
    margin-bottom: 12px !important;
    line-height: 1.25 !important; }
  .all-posts .posts h2 + p {
    margin-bottom: 15px;
    line-height: 1.35; }
  .all-posts .posts a {
    color: #009FDB; }

.all-posts .search-cta {
  text-align: center; }
  .all-posts .search-cta .cta--button {
    margin: 0 10px; }
    @media (max-width: 639px) {
      .all-posts .search-cta .cta--button {
        min-width: 120px;
        padding: 15px 25px 17px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwiX2Fic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJfYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIl9iYXNlL19yZXNldC5zY3NzIiwiX2Jhc2UvX2Jhc2Uuc2NzcyIsIl9iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJfYmFzZS9fY3RhLnNjc3MiLCJfbGF5b3V0L19sYXlvdXQuc2NzcyIsIl9sYXlvdXQvX2hlYWRlci5zY3NzIiwiX2NvbXBvbmVudHMvX25hdi5zY3NzIiwiX2xheW91dC9fZm9vdGVyLnNjc3MiLCJfbGF5b3V0L19hcnRpY2xlLnNjc3MiLCJfbGF5b3V0L19zaGFyZS5zY3NzIiwiX2xheW91dC9fZm9ybS5zY3NzIiwiX3ZlbmRvci9mbGlja2l0eS5zY3NzIiwiX3ZlbmRvci9qcXVlcnkuZmFuY3lib3guc2NzcyIsIl9jb21wb25lbnRzL19hbGVydC5zY3NzIiwiX2NvbXBvbmVudHMvX2Jhbm5lci5zY3NzIiwiX2NvbXBvbmVudHMvX2JyYW5kLWFzc2V0cy5zY3NzIiwiX2NvbXBvbmVudHMvX2ZlYXR1cmVkLWl0ZW0uc2NzcyIsIl9jb21wb25lbnRzL19mZWF0dXJlZC1zdG9yaWVzLnNjc3MiLCJfY29tcG9uZW50cy9fZXhwYW5kYWJsZS10ZXh0LnNjc3MiLCJfY29tcG9uZW50cy9fbGF0ZXN0LXN0b3JpZXMuc2NzcyIsIl9jb21wb25lbnRzL19saWdodGJveC5zY3NzIiwiX2NvbXBvbmVudHMvX21hcnF1ZWUuc2NzcyIsIl9jb21wb25lbnRzL19tZWRpYS5zY3NzIiwiX2NvbXBvbmVudHMvX21lZGlhLWNhcm91c2VsLnNjc3MiLCJfY29tcG9uZW50cy9fbWVkaWEtbGlicmFyeS5zY3NzIiwiX2NvbXBvbmVudHMvX21pY3Jvc2l0ZS1uYXYuc2NzcyIsIl9jb21wb25lbnRzL19yZWxhdGVkLW5ld3Muc2NzcyIsIl9jb21wb25lbnRzL19zZWFyY2gtZmllbGQuc2NzcyIsIl9jb21wb25lbnRzL19zb2NpYWwtY2hhbm5lbHMuc2NzcyIsIl9jb21wb25lbnRzL19zdG9jay10aWNrZXIuc2NzcyIsIl9jb21wb25lbnRzL190ZXh0LnNjc3MiLCJfY29tcG9uZW50cy9fdGlsZS5zY3NzIiwiX3RlbXBsYXRlcy9fc3Rvcnkuc2NzcyIsIl90ZW1wbGF0ZXMvX2Jsb2cuc2NzcyIsIl90ZW1wbGF0ZXMvX21lZGlhLWtpdC5zY3NzIiwiX3RlbXBsYXRlcy9fYWxsLXBvc3RzLXNlYXJjaC1yZXN1bHRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7Ozs7Ozs7O0dBVUc7QUFFSDs7UUFFUTtBQUlSOzthQUVhO0FDcEJiOzthQUVhO0FBRWI7O2VBRWU7QUFJZiwwQ0FBMEM7QUFFMUMsMkNBQTJDO0FBSTNDLCtDQUErQztBQUcvQzs7Z0JBRWdCO0FBZWhCLGdDQUFnQztBQU1oQyw4QkFBOEI7QUFROUIsa0JBQWtCO0FBU2xCLFVBQVU7QUFLVjs7c0JBRXNCO0FBRXRCOzs7Ozs7O0tBT0s7QUFXTDs7aUJBRWlCO0FBRWpCLG1CQUFtQjtBQWVuQix5QkFBeUI7QUFHekIsOENBQThDO0FBRTlDLGdDQUFnQztBQUVoQyx1Q0FBdUM7QUFFdkMsMENBQTBDO0FBRTFDLDRCQUE0QjtBQUk1QixnQkFBZ0I7QUFTaEIsMkhBQTJIO0FBTTNIOzs7OztJQUtJO0FBRUo7O2lCQUVpQjtBQUVqQixxQ0FBcUM7QUFFckM7RUFDRSwwQkFBeUI7RUFDekIsZ0JBQWdCO0VBQ2hCLCtDQUE4QztFQUM5Qyw0UUFHaUU7RUFDakUsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUFBOztBQUdwQjtFQUNFLDBCQUF5QjtFQUN6Qix1QkFBdUI7RUFDdkIsK0NBQThDO0VBQzlDLDRRQUdpRTtFQUNqRSxpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsMEJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QiwrQ0FBOEM7RUFDOUMsNFFBR2lFO0VBQ2pFLGlCQUFnQjtFQUNoQixtQkFBa0IsRUFBQTs7QUFHcEI7RUFD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a0JBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQnJDbUJBO0lxQ2xCQSwwQnJDOE9JO0lxQzdPSixpRkFLRDtJQUhDLGlCQUFpQixFQUFFO0l2Q21rUHpCO01BQ0U7UXVDcHBQSixpQkFrRVEsRUFtQkYsRUFBQTtFdkNpa1BOO0l1Qy9qUFEsbUJBQVk7SUFDWixhQUFXO0lBQ1gsWUFBUTtJQUNSLFNBQU07SUFDTixPQUFBO0lBM0ZSLDhCQXFGTSxFQUFBO0l2Q3drUEo7TUdydk9BLGdCQUErQjtNb0N6VXZCLGdCckNKSztNcUMzRmYsZUF5REUsRUFBQTtNdkN3bVBFO1FBQ0UsMERBQWtEO2dCQUFsRCxrREFBa0QsRUFBRTs7QUFFNUQ7RUc1dk9JLGdCQUFXO0VvQzdUVCxrQkFDRDtFdkMyalBILFdBQVcsRUFBRTs7QUFFZjtFdUN6alBNLDhCQStCRDtFQS9JSCxnQkE4R0UsRUFBTTtFdkM4alBSO0l1QzVxUEEsb0JBc0hJLEVBQUE7RXZDd2pQSjtJdUM5cVBBLG9CQTBISSxFQUFLO0VBMUhUOztJQUFBLGNBOEdFLEVBaUJFO0V2Q29qUEo7SXVDbGpQTSwyQnJDK0xLO0lxQzlMTCxnSEFBMkI7SUFDM0IsNEJBQWU7SUFDZiwrQkFDRDtJQXJJTCw2QkF1SVcsRUFBQTtFdkNralBYO0l1Q2hqUE0sb0JBQ0Q7SUExSUwsa0JBNElNLEVBQUE7RXZDZ2pQTjtJQUNFLGVBQWUsRUFBRTs7QUFFckI7RXVDL3JQRSxtQkFpSkUsRUFBQTtFdkNnalBGO0l1QzFpUE0sZUFBUSxFQUFTO0l2QzRpUHJCO01BQ0U7UXVDM2lQSSxpQkFBUztRdkM2aVBYLHdCQUF3QixFQUFFLEVBQUUiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEFUJlQgQWJvdXQgVXMgZm9yIEFFTVxuICogYnkgRmxlaXNobWFuSGlsbGFyZCwgYy4gMjAxOFxuICpcbiAqIE5PVEU6IEFUVE4gREVWUyFcbiAqIFBsZWFzZSB1c2UgdGhpcyBzdHlsZXNoZWV0IGZvciBpbXBvcnRpbmcgU0FTUyBwYXJ0aWFscyBvbmx5LiBEbyBub3QgYXV0aG9yIGFueSBTQVNTIG9yIENTUyBkaXJlY3RseSBpbiB0aGlzIGZpbGUuXG4gKiBBbHNvLCBwbGVhc2UgZmlyc3QgcmVmZXIgdG8gdGhlIF9hYnN0cmFjdHMgcGFydGlhbHMgdG8gcmV2aWV3IHRoZSBleGlzdGluZyBnbG9iYWwgc3R5bGUgc2V0dGluZ3MgYW5kIHV0aWxpdGllcyBiZWZvcmUgY3JlYXRpbmcgbmV3IHZhcmlhYmxlcywgbWl4aW5zLCBldGMuXG4gKlxuICogRm9yIHN0eWxlIGd1aWRlbGluZXMgYW5kIGNvZGluZyBjb252ZW50aW9ucyBmb3IgdGhpcyBwcm9qZWN0LFxuICogcGxlYXNlIGNvbnN1bHQgdGhlIFJFQURNRS5tZCBpbiB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAqL1xuLyo9PT09XG4gIE1BSU5cbiAgPT09PSovXG4vKj09PT09PT09PVxuICBBYnN0cmFjdHNcbiAgPT09PT09PT09Ki9cbi8qPT09PT09PT09XG4gIFZBUklBQkxFU1xuICA9PT09PT09PT0qL1xuLyo9PT09PT09PT09PVxuICBCcmVha3BvaW50c1xuICA9PT09PT09PT09PSovXG4vKiB3ZSBzd2l0Y2ggZnJvbSBtb2JpbGUgdG8gdGFibGV0IGhlcmUgKi9cbi8qIHdlIHN3aXRjaCBmcm9tIHRhYmxldCB0byBkZXNrdG9wIGhlcmUgKi9cbi8qIG1heCB3aWR0aCBvZiBzdGFuZGFyZCAxNVwiIGxhcHRvcCB2aWV3cG9ydCAqL1xuLyo9PT09PT09PT09PT1cbiAgR2xvYmFsIFNpemVzXG4gID09PT09PT09PT09PSovXG4vKiBTZWN0aW9uIExlZnQvUmlnaHQgU3BhY2luZyAqL1xuLyogQ29tcG9uZW50IE1hcmdpbi9QYWRkaW5nICovXG4vKiBMaW5lIEhlaWdodHMgKi9cbi8qIE1pc2MgKi9cbi8qPT09PT09PT09PT09PT09PT09XG4gIFJlc3BvbnNpdmUgQ29sdW1uc1xuICA9PT09PT09PT09PT09PT09PT0qL1xuLypcbiAgICogVGhlIGZvbGxvd2luZyBjb2x1bW4gc2l6aW5nIG1hcCBpcyB1c2VkIHRvIGRldGVybWluZSBob3cgZGlmZmVyZW50IHNpemVkIGNvbHVtbnMgd2lsbCBhZGp1c3QgdGhlaXIgd2lkdGhzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbiAgICogRm9yIGVhY2ggY29sdW1uIHNpemUgKDEyLCA5LCA4LCA2LCA0LCAzLCAyKSwgdGhlIHN1YnNlcXVlbnQgcmVzcG9uc2l2ZSB3aWR0aHMgYXJlIGxpc3RlZCBpbiBwYXJlbnRoZXNlcywgZ29pbmcgaW4gb3JkZXIgZnJvbSBtb2JpbGUsIHRvIHRhYmxldCwgdG8gc21hbGwgZGVza3RvcCwgdG8gZnVsbCBkZXNrdG9wLlxuICAgKiBleDogY29sU2l6ZToobW9iaWxlV2lkdGgsIHRhYmxldFdpZHRoLCBzbURlc2t0b3BXaWR0aCwgbGdEZXNrdG9wV2lkdGgpLCB3aGVyZSB0aGUgd2lkdGggdmFsdWVzIHJlZmVyIHRvIHRoZSBudW1iZXIgb2YgcGFydHMtcGVyLTEyIHRoYXQgdGhlIGNvbHVtbiBzaG91bGQgb2NjdXB5IGF0IGVhY2ggc2NyZWVuIHNpemUuXG4gICAqIE5vdGUgdGhhdCBhbGwgY29sdW1uIHdpZHRocyBhcmUgMTItYmFzZWQsIHNvIGEgMTIgcmVwcmVzZW50cyBhIGZ1bGwtd2lkdGggYXBwZWFyYW5jZS5cbiAgICogU2luY2UgYWxsIGNvbHVtbiBzaXplcyBzaG91bGQgYXBwZWFyIGZ1bGwtd2lkdGggYXQgbW9iaWxlIHZpZXdwb3J0IHNpemUsIHRoZSBmaXJzdCBudW1iZXIgaW4gZWFjaCBzZXF1ZW5jZSBpcyAxMi5cbiAgICogVGhlIHNldHRpbmdzIGZyb20gdGhpcyBtYXAgZ2V0IGFwcGxpZWQgYnkgdGhlIGNvbHVtblNpemVyIGxvb3Agc3RhdGVtZW50IGZvdW5kIGluIHRoZSBcIkNvbHVtbnNcIiBzZWN0aW9uIG9mIHRoZSBfbGF5b3V0IHBhcnRpYWwgKHNlZSB0aGUgc3R5bGVzIHVuZGVyIFwiLmNvbFwiKS5cbiAgICovXG4vKj09PT09PT09PT09PT1cbiAgQ29sb3IgUGFsZXR0ZVxuICA9PT09PT09PT09PT09Ki9cbi8qIEdsb2JhbCBDb2xvcnMgKi9cbi8qIFNwZWNpZmljIFVzZSBDb2xvcnMgKi9cbi8qIGNhbGwtdG8tYWN0aW9uIGVsZW1lbnRzIChsaW5rcywgYnV0dG9ucykgKi9cbi8qIGNhbGwtdG8tYWN0aW9uIGhvdmVyIHN0YXRlICovXG4vKiB0cmFuc3BhcmVudCBoZWFkZXIgbGluayBoaWdobGlnaHQgKi9cbi8qIHN0YW5kYXJkIGxpbmtzIGluc2lkZSBvZiB0ZXh0IGJsb2NrcyAqL1xuLyogZ2VuZXJhbCBwYWdlIGJvZHkgY29weSAqL1xuLyogQ29sb3IgTWFwcyAqL1xuLyogQ2F0ZWdvcnkgVGhlbWVzIC0gdGhlbWUgbmFtZXMgYmVsb3cgYXJlIGJhc2VkIG9uIHRoZW1lLS0gY2F0ZWdvcnkgY2xhc3NlcyB0aGF0IGdldCBhcHBsaWVkIHRvIHRoZSBib2R5IGVsZW1lbnQgYnkgQUVNICovXG4vKlxuXG4gIENvbW11bmljYXRpb25zOiAoXCJibHVlXCIsICRhdHRCbHVlKSxcbiAgY29tcGFueTogKFwic2lsdmVyXCIsIFwic2lsdmVyXCIpXG5cbiAgKi9cbi8qPT09PT09PT09PT09PVxuICBGb250IEZhbWlsaWVzXG4gID09PT09PT09PT09PT0qL1xuLyogQWxlY2sgU2FucyAtIEJhc2UgRm9udCBWYXJpYW50cyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2Fucyc7XG4gIC8qIEFsZWNrIFNhbnMgKi9cbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfUmcuZW90XCIpO1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19SZy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfUmcud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfUmcudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfUmcuc3ZnI3dlYmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2Fucyc7XG4gIC8qIEFsZWNrIFNhbnMgSXRhbGljICovXG4gIHNyYzogdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0l0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfSXQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0l0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0l0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0l0LnN2ZyN3ZWJmb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FsZWNrIFNhbnMnO1xuICAvKiBBbGVjayBTYW5zIExpZ2h0ICovXG4gIHNyYzogdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0LnN2ZyN3ZWJmb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FsZWNrIFNhbnMnO1xuICAvKiBBbGVjayBTYW5zIExpZ2h0IEl0YWxpYyAqL1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19MdEl0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHRJdC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHRJdC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19MdEl0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0SXQuc3ZnI3dlYmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2Fucyc7XG4gIC8qIEFsZWNrIFNhbnMgQm9sZCAqL1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZC5lb3RcIik7XG4gIHNyYzogdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0JkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZC5zdmcjd2ViZm9udFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbGVjayBTYW5zJztcbiAgLyogQWxlY2sgU2FucyBCb2xkIEl0YWxpYyAqL1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZEl0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmRJdC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmRJdC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZEl0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0JkSXQuc3ZnI3dlYmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogQWxlY2sgU2FucyAtIEFkZGl0aW9uYWwgRm9udCBWYXJpYW50cyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2FucyBNZWRpdW0nO1xuICAvKiBBbGVjayBTYW5zIE1lZGl1bSAqL1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZC5lb3RcIik7XG4gIHNyYzogdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX01kLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZC5zdmcjd2ViZm9udFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbGVjayBTYW5zIE1lZGl1bSc7XG4gIC8qIEFsZWNrIFNhbnMgTWVkaXVtIEl0YWxpYyAqL1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZEl0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTWRJdC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTWRJdC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZEl0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX01kSXQuc3ZnI3dlYmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2FucyBCbGFjayc7XG4gIC8qIEFsZWNrIFNhbnMgQmxhY2sgKi9cbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CbGsud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0Jsay5zdmcjd2ViZm9udFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbGVjayBTYW5zIEJsYWNrJztcbiAgLyogQWxlY2sgU2FucyBCbGFjayBJdGFsaWMgKi9cbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrSXQuZW90XCIpO1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CbGtJdC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrSXQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrSXQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrSXQuc3ZnI3dlYmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogQWxlY2sgU2xhYiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2xhYic7XG4gIC8qIEFsZWNrIFNsYWIgKi9cbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfUmcuZW90XCIpO1xuICBzcmM6IHVybChcIl9mb250cy9BbGVjay9BVFRBbGVja1NsYWJfV19SZy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfUmcud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfUmcudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfUmcuc3ZnI3dlYmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2xhYic7XG4gIC8qIEFsZWNrIFNsYWIgSXRhbGljICovXG4gIHNyYzogdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2xhYl9XX0l0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfSXQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2xhYl9XX0l0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2xhYl9XX0l0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2xhYl9XX0l0LnN2ZyN3ZWJmb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIEFUJlQgSWNvbiBGb250ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBVFRfSWNvbnMnO1xuICAvKiBBVCZUIEljb24gRm9udCAqL1xuICBzcmM6IHVybChcIl9mb250cy9BVFRfSWNvbnMvYXR0LWljb25zLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJfZm9udHMvQVRUX0ljb25zL2F0dC1pY29ucy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJfZm9udHMvQVRUX0ljb25zL2F0dC1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIl9mb250cy9BVFRfSWNvbnMvYXR0LWljb25zLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiX2ZvbnRzL0FUVF9JY29ucy9hdHQtaWNvbnMuc3ZnI3dlYmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyo9PT09PT09PT09PT09PVxuICBGb250IFZhcmlhYmxlc1xuICA9PT09PT09PT09PT09PSovXG4vKiBBVCZUIEljb24gRm9udCBNYXBzICovXG4vKj09PT09PT09PT09PT09PT1cbiAgTmF2IEhpZ2hsaWdodGluZ1xuICA9PT09PT09PT09PT09PT09Ki9cbi8qXG4gICAqIFRoZSBmb2xsb3dpbmcgbWFwIHNldHMgdGhlIG5hdiBoaWdobGlnaHRpbmcgZGVmYXVsdCBmb3IgZGlmZmVyZW50IGJvZHkgY2xhc3Nlc1xuICAgKiBleDogYm9keUNsYXNzTmFtZTogXCJuYXYtaXRlbS1jbGFzcy1uYW1lXCJcbiAgICogTm90ZSB0aGF0IGlmIGEgbmF2IGl0ZW0gd2l0aCBjbGFzcyBvZiBcIm5hdi1jb21wYW55XCIgZXhpc3RzIGFuZCB5b3UncmUgb24gYSBwYWdlIHdpdGggYSBib2R5IGNsYXNzIG9mIFwibmF2LWNvbXBhbnlcIiwgdGhhdCB3aWxsIGhpZ2hsaWdodCBhcyB3ZWxsXG4gICAqL1xuLyo9PT09PT1cbiAgTUlYSU5TXG4gID09PT09PSovXG4vKj09PT09PT1cbiAgQWNjZW50c1xuICA9PT09PT09Ki9cbi8qPT09PT09PT09PVxuICBBbmltYXRpb25zXG4gID09PT09PT09PT0qL1xuLyo9PT09PT09PT09PT09PT09PVxuICBDb250YWluZXIgUXVlcmllc1xuICA9PT09PT09PT09PT09PT09PSovXG4vKj09PT09PT09PT09XG4gIFBvc2l0aW9uaW5nXG4gID09PT09PT09PT09Ki9cbi8qPT09PVxuICBNaXNjXG4gID09PT0qL1xuLyogU2lsdmVyIHN0eWxlICovXG4vKiBEZWZhdWx0IGJ1dHRvbiBzdHlsZSBmb3Igd2hpdGUsIGdyYXkgb3IgYmxhY2sgYmFja2dyb3VuZHMgKi9cbi8qIEhvcml6b250YWwvVmVydGljYWwgUnVsZXMgKi9cbi8qPT09PT09PT09PVxuICBUeXBvZ3JhcGh5XG4gID09PT09PT09PT0qL1xuLyo9PT09XG4gIEJhc2VcbiAgPT09PSovXG4vKj09PT09XG4gIFJFU0VUXG4gID09PT09Ki9cbi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5tYWluLCBhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuICBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLyo9PT09XG4gIEJBU0VcbiAgPT09PSovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICBodG1sICosXG4gIGh0bWwgKjpiZWZvcmUsXG4gIGh0bWwgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5LmNvbXBlbnNhdGUtZm9yLXNjcm9sbGJhciB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4vKiBIZWxwZXIgQ2xhc3NlcyAqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhpZGRlbi1zcG9rZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgfVxuICAuaGlkZGVuLXNwb2tlbjpmb2N1cyB7XG4gICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICB6LWluZGV4OiAxMDAwMDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGlkZGVuLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5oaWRkZW4tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmVkaXRvcixcbi5lZGl0b3ItdGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcS1FZGl0YWJsZS1kb20gLmVkaXRvciwgLmNxLUVkaXRhYmxlLWRvbVxuICAuZWRpdG9yLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZWRpdG9yIHN1cCxcbiAgLmVkaXRvci10aXRsZSBzdXAge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ubm8tcmVzdWx0cyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBJY29ucyAqL1xuW2NsYXNzXj1cImljb24tLVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBcIkFUVF9JY29uc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgW2NsYXNzXj1cImljb24tLVwiXTphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5bY2xhc3M9XCJpY29uLS1hbGVydFwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSAXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0tYXR0LWxvZ29cIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kgVwiOyB9XG5cbltjbGFzcz1cImljb24tLWF0dC1sb2dvLXRleHRcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kjlwiOyB9XG5cbltjbGFzcz1cImljb24tLWNvbW1lbnRcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kglwiOyB9XG5cbltjbGFzcz1cImljb24tLWRvd25sb2FkXCJdOmFmdGVyIHtcbiAgY29udGVudDogXCLupINcIjsgfVxuXG5bY2xhc3M9XCJpY29uLS1lbWFpbFwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSEXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0tZmFjZWJvb2tcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6khVwiOyB9XG5cbltjbGFzcz1cImljb24tLWZhcVwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSGXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0tZmlsZVwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSHXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0taW5mb1wiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSIXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0taW5mbzJcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kiVwiOyB9XG5cbltjbGFzcz1cImljb24tLWluc3RhZ3JhbVwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSKXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0tbGlua1wiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSLXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0tbGlua2VkaW5cIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kjFwiOyB9XG5cbltjbGFzcz1cImljb24tLW5vdGlmaWNhdGlvblwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSPXCI7IH1cblxuW2NsYXNzPVwiaWNvbi0tbWludXNcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kjVwiOyB9XG5cbltjbGFzcz1cImljb24tLXBsYXlcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kkFwiOyB9XG5cbltjbGFzcz1cImljb24tLXBsdXNcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kkVwiOyB9XG5cbltjbGFzcz1cImljb24tLXF1b3RlXCJdOmFmdGVyIHtcbiAgY29udGVudDogXCLupJJcIjsgfVxuXG5bY2xhc3M9XCJpY29uLS1zZWFyY2hcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6kk1wiOyB9XG5cbltjbGFzcz1cImljb24tLXR3aXR0ZXJcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6klFwiOyB9XG5cbltjbGFzcz1cImljb24tLXlvdXR1YmVcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIu6klVwiOyB9XG5cbi8qID09PT09PT09PT09PT09ICovXG4vKiBZb3VUdWJlIEVtYmVkcyAqL1xuLyogPT09PT09PT09PT09PT0gKi9cbi5lbWJlZC0teW91dHViZSxcbi5hc3NldC0teW91dHViZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogYm90aDsgfVxuICAuZW1iZWQtLXlvdXR1YmU6YWZ0ZXIsXG4gIC5hc3NldC0teW91dHViZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZW1iZWQtLXlvdXR1YmUgaWZyYW1lLFxuICAuYXNzZXQtLXlvdXR1YmUgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi8qID09PT09PT09PT0gKi9cbi8qIEdWUCBFbWJlZHMgKi9cbi8qID09PT09PT09PT0gKi9cbi8qIHByZXZpZXcvcGxheWVyIHdyYXBwZXJzICovXG5ib2R5ID4gZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xuICB6LWluZGV4OiA5OTk5OTk5OTkgIWltcG9ydGFudDsgfVxuXG5hdHQtZ3ZwID4gZGl2IHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG5cbltjbGFzc149XCJndnBfcGxheWVyX192aWV3X1wiXSxcbltjbGFzc149XCJndnBfY3RhX19jdGFDb250YWluZXJcIl0ge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7IH1cblxuLmVtYmVkLS1ndnAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZXdfXCJdLCAuZW1iZWQtLWd2cFxuW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZXdwb3J0XCJdIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3BsYXllclwiXSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIFtjbGFzc149XCJndnBfcGxheWVyX19wbGF5ZXJcIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA5NDZweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fcGxheWVyXCJdW2NsYXNzKj1cImd2cF9wbGF5ZXJfX21vZGFsXCJdIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHggIWltcG9ydGFudDsgfSB9XG5cbltjbGFzc149XCJndnBfcGxheWVyX192aWV3cG9ydFwiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZGVvXCJdIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyogcGxheWJhY2sgY29udHJvbHMgKi9cbltjbGFzc149XCJndnBfcGxheWVyX19jb250cm9sbGVyXCJdIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogcGxheSBidXR0b24gKi9cbltjbGFzc149XCJndnBfY3RhX19jdGFQbGF5QnV0dG9uXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICBmaWxsOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgW2NsYXNzXj1cImd2cF9jdGFfX2N0YVBsYXlCdXR0b25cIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qSQXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmb250LWZhbWlseTogXCJBVFRfSWNvbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTByZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIG9wYWNpdHk6IDAuODU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIFtjbGFzc149XCJndnBfY3RhX19jdGFQbGF5QnV0dG9uXCJdOmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiA4cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2wtMiBbY2xhc3NePVwiZ3ZwX2N0YV9fY3RhUGxheUJ1dHRvblwiXTphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNvbC0zIFtjbGFzc149XCJndnBfY3RhX19jdGFQbGF5QnV0dG9uXCJdOmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiA4cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIC5jb2wtNCBbY2xhc3NePVwiZ3ZwX2N0YV9fY3RhUGxheUJ1dHRvblwiXTphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHJlbTsgfSB9XG4gIFtjbGFzc149XCJndnBfY3RhX19jdGFQbGF5QnV0dG9uXCJdIGNpcmNsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbltjbGFzc149XCJndnBfcGxheWVyX190aXRsZVwiXSxcbltjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fdGl0bGVcIl0sXG4gICAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX2Nsb3NlQnV0dG9uXCJdIHtcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmVtYmVkLS1ndnA6aG92ZXIgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3RpdGxlXCJdLFxuICAgICAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZXdfXCJdOmhvdmVyIFtjbGFzc149XCJndnBfcGxheWVyX190aXRsZVwiXSwgLmVtYmVkLS1ndnA6aG92ZXJcbiAgICAgIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXSxcbiAgICAgIFtjbGFzc149XCJndnBfcGxheWVyX192aWV3X1wiXTpob3ZlclxuICAgICAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX2Nsb3NlQnV0dG9uXCJdIHtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9IH1cblxuLyogY2xvc2UgYnV0dG9uICovXG5bY2xhc3NePVwiZ3ZwX3BsYXllcl9fY2xvc2VCdXR0b25cIl0ge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgZmlsbDogIzAwMCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OSAhaW1wb3J0YW50OyB9XG4gIC5jb21wb25lbnQgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX2Nsb3NlQnV0dG9uXCJdIHtcbiAgICB3aWR0aDogMzVweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMzVweCAhaW1wb3J0YW50OyB9XG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXTpob3ZlciBwYXRoIHtcbiAgICBmaWxsOiAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX2Nsb3NlQnV0dG9uXCJdOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwICFpbXBvcnRhbnQ7IH1cbiAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX2Nsb3NlQnV0dG9uXCJdIGNpcmNsZSB7XG4gICAgZmlsbDogI0ZGRjsgfVxuXG4vKiB2aWRlbyB0aXRsZSAqL1xuW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3RpdGxlXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggNXB4ICMzMzMgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkYgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAyMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNTUpIDAlLCByZ2JhKDMxLCAxMDQsIDE2NCwgMCkgNzYlLCByZ2JhKDQxLCAxMzcsIDIxNiwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjU1KSAwJSwgcmdiYSgzMSwgMTA0LCAxNjQsIDApIDc2JSwgcmdiYSg0MSwgMTM3LCAyMTYsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNTUpIDAlLCByZ2JhKDMxLCAxMDQsIDE2NCwgMCkgNzYlLCByZ2JhKDQxLCAxMzcsIDIxNiwgMCkgMTAwJSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjOGMwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJyxHcmFkaWVudFR5cGU9MCApOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fdGl0bGVcIl0ge1xuICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAxNXB4IDIwcHggIWltcG9ydGFudDsgfSB9XG5cbltjbGFzc149XCJndnBfY3RhX19jdGFUaXRsZVwiXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogdmlkZW8gZHVyYXRpb24gKi9cbltjbGFzc149XCJndnBfY3RhX19jdGFEdXJhdGlvblwiXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyo9PT09PT09PT09XG4gIFRZUE9HUkFQSFlcbiAgPT09PT09PT09PSovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA2Mi41JTsgfVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgY29sb3I6ICMxOTE5MTk7IH1cblxuc3Ryb25nLCBiIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5lbSwgaTpub3QoW2NsYXNzKj1cImljb24tLVwiXSkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBmb250LXNpemU6IC43ZW07XG4gIHRvcDogMnB4OyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnJlZ2lvbi0tZGFyay1ibHVlIGEge1xuICAgIGNvbG9yOiAjRkZGOyB9XG5cbi5jb250ZW50IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmOyB9XG4gIC5jb250ZW50IGgxLCAuY29udGVudCBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgfVxuICAuY29udGVudCBoMywgLmNvbnRlbnQgaDQsIC5jb250ZW50IGg1LCAuY29udGVudCBoNiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAuY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMy41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLmNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNC41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgZm9udC1zaXplOiA2cmVtOyB9IH1cbiAgLmNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbnRlbnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gIC5jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBCbGFja1wiLCBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuY29udGVudCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07IH0gfVxuICAuY29udGVudCBoNCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuY29udGVudCBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgLmNvbnRlbnQgaDUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zIE1lZGl1bVwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmOyB9XG4gIC5jb250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBNZWRpdW1cIjsgfVxuICAuY29udGVudCAuZmVhdHVyZWQtaXRlbSxcbiAgLmNvbnRlbnQgLnRleHQge1xuICAgIC8qIExpc3RzICovIH1cbiAgICAuY29udGVudCAuZmVhdHVyZWQtaXRlbSB1bCxcbiAgICAuY29udGVudCAuZmVhdHVyZWQtaXRlbSBvbCxcbiAgICAuY29udGVudCAudGV4dCB1bCxcbiAgICAuY29udGVudCAudGV4dCBvbCB7XG4gICAgICBtYXJnaW46IDI1cHggMCAyNXB4IDIwcHg7IH1cbiAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIHVsIHVsLFxuICAgICAgLmNvbnRlbnQgLmZlYXR1cmVkLWl0ZW0gdWwgb2wsXG4gICAgICAuY29udGVudCAuZmVhdHVyZWQtaXRlbSBvbCB1bCxcbiAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIG9sIG9sLFxuICAgICAgLmNvbnRlbnQgLnRleHQgdWwgdWwsXG4gICAgICAuY29udGVudCAudGV4dCB1bCBvbCxcbiAgICAgIC5jb250ZW50IC50ZXh0IG9sIHVsLFxuICAgICAgLmNvbnRlbnQgLnRleHQgb2wgb2wge1xuICAgICAgICBtYXJnaW46IDE1cHggMCAxNXB4IDE1cHg7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIHVsIHVsLFxuICAgICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIHVsIG9sLFxuICAgICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIG9sIHVsLFxuICAgICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIG9sIG9sLFxuICAgICAgICAgIC5jb250ZW50IC50ZXh0IHVsIHVsLFxuICAgICAgICAgIC5jb250ZW50IC50ZXh0IHVsIG9sLFxuICAgICAgICAgIC5jb250ZW50IC50ZXh0IG9sIHVsLFxuICAgICAgICAgIC5jb250ZW50IC50ZXh0IG9sIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwIDI1cHggMjBweDsgfSB9XG4gICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIHVsIHVsID4gbGksXG4gICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIHVsIG9sID4gbGksXG4gICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIG9sIHVsID4gbGksXG4gICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIG9sIG9sID4gbGksXG4gICAgICAgIC5jb250ZW50IC50ZXh0IHVsIHVsID4gbGksXG4gICAgICAgIC5jb250ZW50IC50ZXh0IHVsIG9sID4gbGksXG4gICAgICAgIC5jb250ZW50IC50ZXh0IG9sIHVsID4gbGksXG4gICAgICAgIC5jb250ZW50IC50ZXh0IG9sIG9sID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgICAgICAgLmNvbnRlbnQgLmZlYXR1cmVkLWl0ZW0gdWwgdWwgPiBsaSxcbiAgICAgICAgICAgIC5jb250ZW50IC5mZWF0dXJlZC1pdGVtIHVsIG9sID4gbGksXG4gICAgICAgICAgICAuY29udGVudCAuZmVhdHVyZWQtaXRlbSBvbCB1bCA+IGxpLFxuICAgICAgICAgICAgLmNvbnRlbnQgLmZlYXR1cmVkLWl0ZW0gb2wgb2wgPiBsaSxcbiAgICAgICAgICAgIC5jb250ZW50IC50ZXh0IHVsIHVsID4gbGksXG4gICAgICAgICAgICAuY29udGVudCAudGV4dCB1bCBvbCA+IGxpLFxuICAgICAgICAgICAgLmNvbnRlbnQgLnRleHQgb2wgdWwgPiBsaSxcbiAgICAgICAgICAgIC5jb250ZW50IC50ZXh0IG9sIG9sID4gbGkge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDsgfSB9XG4gICAgLmNvbnRlbnQgLmZlYXR1cmVkLWl0ZW0gdWwgPiBsaTpiZWZvcmUsXG4gICAgLmNvbnRlbnQgLnRleHQgdWwgPiBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogLTE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbnRlbnQgLmZlYXR1cmVkLWl0ZW0gdWwgPiBsaTpiZWZvcmUsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuY29udGVudCAuZmVhdHVyZWQtaXRlbSB1bCA+IGxpOmJlZm9yZSwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgICAuY29udGVudCAudGV4dCB1bCA+IGxpOmJlZm9yZSxcbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdXG4gICAgICAuY29udGVudCAudGV4dCB1bCA+IGxpOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cbiAgICAuY29udGVudCAuZmVhdHVyZWQtaXRlbSBvbCxcbiAgICAuY29udGVudCAudGV4dCBvbCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7IH1cbiAgICAuY29udGVudCAuZmVhdHVyZWQtaXRlbSBsaSxcbiAgICAuY29udGVudCAudGV4dCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ0FMTC1UTy1BQ1RJT04gRUxFTUVOVFNcbiAgPT09PT09PT09PT09PT09PT09PT09PT0qL1xuYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cblxuLyogQmFzZSBDVEEgV3JhcHBlcnMgKi9cbltjbGFzcyQ9XCJfX2N0YVwiXSB7XG4gIG1hcmdpbjogNDBweCAwIDIwcHg7IH1cblxuLyogQmFzZSBDVEEgKi9cbi5jdGEtLWJ1dHRvbixcbi5jdGEtLXNvY2lhbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBCdXR0b24tc3R5bGUgQ1RBcyAqL1xuLmN0YS0tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOUZEQjtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIHBhZGRpbmc6IDE1cHggMzBweCAxN3B4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNDVweDtcbiAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jdGEtLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTBjNztcbiAgICBjb2xvcjogI0ZGRjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmN0YS0tYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgbWluLXdpZHRoOiAxNzBweDsgfSB9XG4gIC5jdGEtLWJ1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLmN0YS0tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmx1ZVwiXSAuY3RhLS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29sLTIgLmN0YS0tYnV0dG9uIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAuY29sLTMgLmN0YS0tYnV0dG9uIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5jb2wtNCAuY3RhLS1idXR0b24ge1xuICAgICAgbWluLXdpZHRoOiAxMDAlOyB9IH1cblxuLyogTGluay1zdHlsZSBDVEFzICovXG4uY3RhLS1saW5rIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDU2OEFFO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jdGEtLWxpbms6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwyMTkyXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGxlZnQ6IDEwNSU7XG4gICAgdG9wOiA1MCU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfVxuICAuY3RhLS1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucmVnaW9uLS1ibHVlIC5jdGEtLWxpbmsge1xuICAgIGNvbG9yOiAjMTkxOTE5OyB9XG4gIC5yZWdpb24tLWRhcmstYmx1ZSAuY3RhLS1saW5rIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuXG4vKiBTb2NpYWwtc3R5bGUgQ1RBcyAqL1xuLmN0YS0tc29jaWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOUZEQjtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0NXB4O1xuICB3aWR0aDogNDVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAuY3RhLS1zb2NpYWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkwYzc7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmN0YS0tc29jaWFsIHtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgd2lkdGg6IDY0cHg7IH0gfVxuICAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdIC5jdGEtLXNvY2lhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLmN0YS0tc29jaWFsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuXG4vKj09PT09PVxuICBMYXlvdXRcbiAgPT09PT09Ki9cbi8qPT09PT09XG4gIExBWU9VVFxuICA9PT09PT0qL1xuLmNvbnRlbnQsXG4ucmVnaW9uLFxuLnJlZ2lvbl9fd3JhcCxcbi5yb3cge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnJlZ2lvbixcbi5yZWdpb25fX3dyYXAsXG4ucm93LFxuLmNvbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmVnaW9uX193cmFwLFxuLnJvd19fd3JhcCxcbi5jb2wge1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICAvKiBmb3IgZW1wdHkgcGFyc3lzIGNvbnRhaW5lcnMgdGhhdCBtaWdodCBvdGhlcndpc2UgY29sbGFwc2UgKi8gfVxuXG4vKiBQYWdlICovXG4uY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBTZWN0aW9ucyAobm90ZSB0aGF0IHRoZSBjbGFzcyBuYW1lIGhhZCB0byBiZSBjaGFuZ2VkIGZyb20gXCJzZWN0aW9uXCIgdG8gXCJyZWdpb25cIikgKi9cbi5yZWdpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIC8qIE1ha2Ugc3VyZSBzZWN0aW9ucyBpbnNpZGUgb2YgdGhlIGVxdWFsLWhlaWdodCByb3dzIGFyZSBmdWxsIGhlaWdodCBzZWN0aW9ucyAqL1xuICAvKiBSZW1vdmUgcGFkZGluZyBmcm9tIHZlcnRpY2FsbHkgZmx1c2ggc2VjdGlvbnMgKi9cbiAgLyogQXBwbHkgYW55IGJvdHRvbSBib3JkZXJzIHRvIHNlY3Rpb25zLCBhcyBsb25nIGFzIHRoZXkgYXJlbid0IHZlcnRpY2FsbHkgZmx1c2ggc2VjdGlvbnMgKi9cbiAgLyogTG9vcCB0aHJvdWdoIHBvc3NpYmxlIHNlY3Rpb24gYmFja2dyb3VuZCBjb2xvcnMgKi8gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucmVnaW9uIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAucmVnaW9uIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgLnJlZ2lvbiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAucmVnaW9uLnJlZ2lvbi0tZmx1c2gtdmVydGljYWwge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAucmVnaW9uLnJlZ2lvbi0tZmx1c2gtdmVydGljYWwgLnNlY3Rpb246bGFzdC1vZi10eXBlID4gLnJvdzpsYXN0LW9mLXR5cGUgPiAuY29sOmxhc3Qtb2YtdHlwZSA+IC5jb21wb25lbnQ6bGFzdC1vZi10eXBlLFxuICAgIC5yZWdpb24ucmVnaW9uLS1mbHVzaC12ZXJ0aWNhbCAuc2VjdGlvbjpsYXN0LW9mLXR5cGUgPiAuY29tcG9uZW50Omxhc3Qtb2YtdHlwZSxcbiAgICAucmVnaW9uLnJlZ2lvbi0tZmx1c2gtdmVydGljYWwgLnJlZ2lvbl9fd3JhcCA+IC5jb21wb25lbnQ6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnJlZ2lvbi5yZWdpb24tLWJvcmRlci1ib3R0b206YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlGREI7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3R0b206IC0ycHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDOUM5O1xuICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAucmVnaW9uLS1ibHVlIC5yZWdpb24ucmVnaW9uLS1ib3JkZXItYm90dG9tOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAucmVnaW9uLS1kYXJrLWJsdWUgLnJlZ2lvbi5yZWdpb24tLWJvcmRlci1ib3R0b206YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJlZ2lvbi5yZWdpb24tLWJvcmRlci1ib3R0b206YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAucmVnaW9uLnJlZ2lvbi0tYm9yZGVyLWJvdHRvbTphZnRlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLnJlZ2lvbi5yZWdpb24tLWJvcmRlci1ib3R0b20ucmVnaW9uLS1mbHVzaC12ZXJ0aWNhbDphZnRlciB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yZWdpb24ucmVnaW9uLS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5RkRCOyB9XG4gIC5yZWdpb24ucmVnaW9uLS1uZWFyLWJsYWNrLCAucmVnaW9uLnJlZ2lvbi0tYmxhY2ssIC5yZWdpb24ucmVnaW9uLS1kYXJrLWJsdWUge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5yZWdpb24ucmVnaW9uLS1kYXJrLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNTY4QUU7IH1cbiAgLnJlZ2lvbi5yZWdpb24tLW5lYXItYmxhY2ssIC5yZWdpb24ucmVnaW9uLS1ibGFjaywgLnJlZ2lvbi5yZWdpb24tLWRhcmstYmx1ZSB7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgLnJlZ2lvbi5yZWdpb24tLWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7IH1cbiAgLnJlZ2lvbi5yZWdpb24tLW5lYXItYmxhY2ssIC5yZWdpb24ucmVnaW9uLS1ibGFjaywgLnJlZ2lvbi5yZWdpb24tLWRhcmstYmx1ZSB7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgLnJlZ2lvbi5yZWdpb24tLW5lYXItYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7IH1cbiAgLnJlZ2lvbi5yZWdpb24tLW5lYXItYmxhY2ssIC5yZWdpb24ucmVnaW9uLS1ibGFjaywgLnJlZ2lvbi5yZWdpb24tLWRhcmstYmx1ZSB7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgLnJlZ2lvbi5yZWdpb24tLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5yZWdpb24ucmVnaW9uLS1uZWFyLWJsYWNrLCAucmVnaW9uLnJlZ2lvbi0tYmxhY2ssIC5yZWdpb24ucmVnaW9uLS1kYXJrLWJsdWUge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5yZWdpb24ucmVnaW9uLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuICAucmVnaW9uLnJlZ2lvbi0tbmVhci1ibGFjaywgLnJlZ2lvbi5yZWdpb24tLWJsYWNrLCAucmVnaW9uLnJlZ2lvbi0tZGFyay1ibHVlIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuXG4vKiBDb25zdHJhaW4gdGhlIHdpZHRoIG9mIHRoZSBzZWN0aW9uIHdyYXBwZXIgdG8gdGhlIG1heGltdW0gcGFnZSB3aWR0aCAqL1xuLnJlZ2lvbl9fd3JhcCB7XG4gIG1heC13aWR0aDogMTYwMHB4OyB9XG5cbi8qIFJvd3MgKi9cbi5yb3cge1xuICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC8qIFJlbW92ZSB0b3AgbWFyZ2luIGZyb20gZmlyc3Qgcm93IGluIHNlY3Rpb24gKi9cbiAgLyogUmVtb3ZlIGFsbCBzaWRlIG1hcmdpbnMgZnJvbSBob3Jpem9udGFsbHkgZmx1c2hlZCByb3dzICovXG4gIC8qIFJlbW92ZSB0b3AgbWFyZ2luIGZyb20gdG9wLWZsdXNoZWQgcm93cyAqL1xuICAvKiBSZW1vdmUgZ3V0dGVycyBmcm9tIGNvbHVtbnMgaW5zaWRlIG5vLWd1dHRlciByb3dzICovXG4gIC8qIEFkZCBndXR0ZXIgYm9yZGVycyB0byBjb2x1bW5zIGluc2lkZSBndXR0ZXItYm9yZGVyIHJvd3MgKi9cbiAgLyogUm93cyBpbnNpZGUgb2Ygb3RoZXIgcm93cy9jb2x1bW5zICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZzogMCA1NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5yb3cge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5yZWdpb24gLnJvdzpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5yb3cucm93LS1mbHVzaC1ob3Jpem9udGFsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJvdy5yb3ctLWZsdXNoLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucm93LnJvdy0tbm8tZ3V0dGVycyAucm93X193cmFwIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5yb3ctLW5vLWd1dHRlcnMgLmNvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiBTdGFydCBhbGwgZ3V0dGVyIGJvcmRlcnMgYXMgaG9yaXpvbnRhbCBib3JkZXJzICovXG4gICAgLyogQXQgbGFyZ2VyIHZpZXdwb3J0IHNpemUsIHN3aXRjaCB0aGVtIHRvIHRoZSB2ZXJ0aWNhbCBmb3JtYXQgKi9cbiAgICAvKiBQcmV2ZW50IGd1dHRlciBib3JkZXJzIGZyb20gYXBwZWFyaW5nIG5leHQgdG8gbGVmdC1tb3N0IGNvbHVtbnMgd2hlbiB0aGUgY29sdW1ucyBzdGFydCB0byB3cmFwIHJlc3BvbnNpdmVseSAqLyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucm93LnJvdy0tZ3V0dGVyLWJvcmRlcnMgLmNvbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gICAgICAgIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5RkRCO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICAgICAucmVnaW9uLS1ibHVlIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2w6bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucm93LnJvdy0tZ3V0dGVyLWJvcmRlcnMgLmNvbC5jb2wtNjpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5RkRCO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgICAucmVnaW9uLS1ibHVlIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sLmNvbC02Om5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTY6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucm93LnJvdy0tZ3V0dGVyLWJvcmRlcnMgLmNvbCB7XG4gICAgICAgIC8qIDEvMyB3aWR0aCBjb2x1bW5zICovXG4gICAgICAgIC8qIDEvNCB3aWR0aCBjb2x1bW5zICovIH1cbiAgICAgICAgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTQ6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLCAucm93LnJvdy0tZ3V0dGVyLWJvcmRlcnMgLmNvbC5jb2wtMzpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlGREI7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUM5Qzk7XG4gICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAgIC5yZWdpb24tLWJsdWUgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTQ6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLCAucmVnaW9uLS1ibHVlIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sLmNvbC0zOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sLmNvbC00Om5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwgLnJlZ2lvbi0tZGFyay1ibHVlIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sLmNvbC0zOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG4gICAgICAgIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sLmNvbC00IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAzMSU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMSU7IH1cbiAgICAgICAgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTQgKyAuY29sLTQ6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtNiU7IH1cbiAgICAgICAgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTggKyAuY29sLTQ6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtOCU7IH1cbiAgICAgICAgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTMge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDIzJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIzJTsgfVxuICAgICAgICAucm93LnJvdy0tZ3V0dGVyLWJvcmRlcnMgLmNvbC5jb2wtMyArIC5jb2wtMzpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IC02JTsgfVxuICAgICAgICAucm93LnJvdy0tZ3V0dGVyLWJvcmRlcnMgLmNvbC5jb2wtOSArIC5jb2wtMzpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IC0xMiU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5yb3cucm93LS1ndXR0ZXItYm9yZGVycyAuY29sIHtcbiAgICAgICAgLyogMS81IHdpZHRoIGNvbHVtbnMgKi8gfVxuICAgICAgICAucm93LnJvdy0tZ3V0dGVyLWJvcmRlcnMgLmNvbC5jb2wtMjpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlGREI7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUM5Qzk7XG4gICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAgIC5yZWdpb24tLWJsdWUgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTI6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTI6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cbiAgICAgICAgLnJvdy5yb3ctLWd1dHRlci1ib3JkZXJzIC5jb2wuY29sLTIgKyAuY29sLTI6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtMTMlOyB9IH1cbiAgLmNvbCAucm93IHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5yb3dfX3dyYXAge1xuICBtYXJnaW46IDA7XG4gIC8qIElmIHdlIGhhdmUgNSBjb2x1bW5zIGluIGEgcm93IG9yIGd1dHRlciBib3JkZXJzLCBqdXN0aWZ5IHRoZSBjb2x1bW5zICovXG4gIC8qIElmIHJvdyBpcyBob3Jpem9udGFsbHkgZmx1c2gsIGFwcGx5IGFkZGl0aW9uYWwgbmVnYXRpdmUgbWFyZ2luIHRvIGJyaW5nIHRoZSByb3cgdG8gZnVsbC13aWR0aCAqL1xuICAvKiBSb3cgd3JhcHMgaW5zaWRlIG9mIG90aGVyIHJvd3MvY29sdW1ucyAoRmVhdHVyZWQvTGF0ZXN0IFN0b3JpZXMpICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnJvd19fd3JhcCB7XG4gICAgICAvKiBBcHBseSBuZWdhdGl2ZSBtYXJnaW4gdG8gbmVnYXRlIGlubmVyIHBhZGRpbmcgb2YgY29sdW1ucyAqL1xuICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgICAgLyogQmVnaW4gZmxleGJveC9mbGV4Ym94IGZhbGxiYWNrICovXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAvKiBFbmQgZmxleGJveCBzdHVmZiAqLyB9XG4gICAgICAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5IC5yb3dfX3dyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5IC5yb3dfX3dyYXA6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnJvdy0tanVzdGlmaWVkIC5yb3dfX3dyYXAsXG4gICAgLnJvdy0tZ3V0dGVyLWJvcmRlcnMgLnJvd19fd3JhcCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAucm93LS1mbHVzaC1ob3Jpem9udGFsIC5yb3dfX3dyYXAge1xuICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnJvdy0tZmx1c2gtaG9yaXpvbnRhbCAucm93X193cmFwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9IH1cbiAgLmNvbCAucm93X193cmFwIHtcbiAgICBtYXJnaW46IDAgLTIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2wgLnJvd19fd3JhcCB7XG4gICAgICAgIG1hcmdpbjogMCAtMTBweDsgfSB9XG5cbi8qIENvbHVtbnMgKi9cbi5jb2wge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBBbGwgY29tcG9uZW50cyBhcmUgZnVsbC13aWR0aCBhdCBtb2JpbGUgdmlld3BvcnRzICovXG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgLyogTG9vcCB0aHJvdWdoIHRoZSBjb2x1bW4gc2l6ZXIgbWFwIHRvIHNpemUgdGhlIGNvbHVtbnMgKi9cbiAgLyogVGFibGV0IFdpZHRocyAqL1xuICAvKiBTbWFsbCBEZXNrdG9wIFdpZHRocyAqL1xuICAvKiBMYXJnZSBEZXNrdG9wIFdpZHRocyAqL1xuICAvKiBUYWJsZXQgV2lkdGhzICovXG4gIC8qIFNtYWxsIERlc2t0b3AgV2lkdGhzICovXG4gIC8qIExhcmdlIERlc2t0b3AgV2lkdGhzICovXG4gIC8qIFRhYmxldCBXaWR0aHMgKi9cbiAgLyogU21hbGwgRGVza3RvcCBXaWR0aHMgKi9cbiAgLyogTGFyZ2UgRGVza3RvcCBXaWR0aHMgKi9cbiAgLyogVGFibGV0IFdpZHRocyAqL1xuICAvKiBTbWFsbCBEZXNrdG9wIFdpZHRocyAqL1xuICAvKiBMYXJnZSBEZXNrdG9wIFdpZHRocyAqL1xuICAvKiBUYWJsZXQgV2lkdGhzICovXG4gIC8qIFNtYWxsIERlc2t0b3AgV2lkdGhzICovXG4gIC8qIExhcmdlIERlc2t0b3AgV2lkdGhzICovXG4gIC8qIFRhYmxldCBXaWR0aHMgKi9cbiAgLyogU21hbGwgRGVza3RvcCBXaWR0aHMgKi9cbiAgLyogTGFyZ2UgRGVza3RvcCBXaWR0aHMgKi9cbiAgLyogVGFibGV0IFdpZHRocyAqL1xuICAvKiBTbWFsbCBEZXNrdG9wIFdpZHRocyAqL1xuICAvKiBMYXJnZSBEZXNrdG9wIFdpZHRocyAqL1xuICAvKiBNYWtlIHN1cmUgY29sdW1ucyBpbnNpZGUgb2YgdGhlIGVxdWFsLWhlaWdodCByb3dzIGFyZSBmdWxsIGhlaWdodCBjb21wb25lbnRzICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgLyogQXBwbHkgZmxleGJveCBmYWxsYmFjayAqLyB9XG4gICAgICAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5IC5jb2wge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2wuY29sLTEyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNvbC5jb2wtMTIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuY29sLmNvbC0xMiB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbC5jb2wtOSB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29sLmNvbC05IHtcbiAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgZmxleC1iYXNpczogNzUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5jb2wuY29sLTkge1xuICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICBmbGV4LWJhc2lzOiA3NSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sLmNvbC04IHtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICAgICAgZmxleC1iYXNpczogNjYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jb2wuY29sLTgge1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLmNvbC5jb2wtOCB7XG4gICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2wuY29sLTYge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBmbGV4LWJhc2lzOiA1MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNvbC5jb2wtNiB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuY29sLmNvbC02IHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgZmxleC1iYXNpczogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbC5jb2wtNCB7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29sLmNvbC00IHtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxleC1iYXNpczogMzMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5jb2wuY29sLTQge1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sLmNvbC0zIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgZmxleC1iYXNpczogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jb2wuY29sLTMge1xuICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICBmbGV4LWJhc2lzOiAyNSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLmNvbC5jb2wtMyB7XG4gICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2wuY29sLTIge1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNvbC5jb2wtMiB7XG4gICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgIGZsZXgtYmFzaXM6IDIwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuY29sLmNvbC0yIHtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xuICAgICAgZmxleC1iYXNpczogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAuY29sID4gZGl2IHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hZW0tQXV0aG9yTGF5ZXItRWRpdCAucm93LS1lcXVhbC1oZWlnaHRzIC5jb2wgPiBkaXYge1xuICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbi8qIENvbXBvbmVudHMgKi9cbi5jb21wb25lbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgLyogTWFrZSBzdXJlIGNvbXBvbmVudHMgaW5zaWRlIG9mIHRoZSBlcXVhbC1oZWlnaHQgcm93cyBhcmUgZnVsbCBoZWlnaHQgY29tcG9uZW50cyAqLyB9XG4gIC5jb21wb25lbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbXBvbmVudC5jb21wb25lbnQtLW5vLW1hcmdpbi1ib3R0b20sIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tLFxuICAucm93LS1ndXR0ZXItYm9yZGVycyAuY29tcG9uZW50LFxuICAucm93LS1uby1ndXR0ZXJzIC5jb21wb25lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbXBvbmVudC5jb21wb25lbnQtLWJvcmRlci1ib3R0b20gPiBkaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29tcG9uZW50LmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuY29tcG9uZW50LmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuICAgIC5tYXJxdWVlIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tID4gZGl2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlGREI7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLnJlZ2lvbi0tYmx1ZSAuY29tcG9uZW50LmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSA+IGRpdjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgIC5yZWdpb24tLWRhcmstYmx1ZSAuY29tcG9uZW50LmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSA+IGRpdjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cbiAgICAubWFycXVlZSAuY29tcG9uZW50LmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSA+IGRpdjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgLmNvbXBvbmVudCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgLmNvbXBvbmVudCAuY29tcG9uZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hZW0tQXV0aG9yTGF5ZXItRWRpdCAucm93LS1lcXVhbC1oZWlnaHRzIC5jb21wb25lbnQge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdIHtcbiAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICBtYXJnaW46IDAgYXV0byAyNXB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdIHtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuY29tcG9uZW50IFtjbGFzcyo9XCJfX2hlYWRpbmdcIl0ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuY29sIC5jb21wb25lbnQgW2NsYXNzKj1cIl9faGVhZGluZ1wiXSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG5cbi8qPT09PT09XG4gIEhFQURFUlxuICA9PT09PT0qL1xuYm9keSA+IC53cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5ib2R5ID4gLndyYXBwZXIgLmNhbnZhcyB7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBib2R5ID4gLndyYXBwZXIgLmNhbnZhcyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIGJvZHkgPiAud3JhcHBlciAuY2FudmFzLmNhbnZhcy0tb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTgwJSk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gICAgICBib2R5ID4gLndyYXBwZXIgLmNhbnZhcy5jYW52YXMtLW9uIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMjBweCk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBib2R5ID4gLndyYXBwZXIgLmNhbnZhcy5jYW52YXMtLW9uIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5ID4gLndyYXBwZXIgLmNhbnZhcyB7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfSB9XG5cbi8qIFNraXAgTmF2aWdhdGlvbiAqL1xuLnNraXAtbmF2aWdhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MTQxNDE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNraXAtbmF2aWdhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9IH1cblxuLnNraXAtbmF2aWdhdGlvbiBhIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAxMHB4KTtcbiAgcGFkZGluZzogNXB4O1xuICB0b3A6IDVweDsgfVxuICAuc2tpcC1uYXZpZ2F0aW9uIGE6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgei1pbmRleDogMTAwMDAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5za2lwLW5hdmlnYXRpb24gYSB7XG4gICAgICB0b3A6IC0zMHB4OyB9IH1cbiAgLnNraXAtbmF2aWdhdGlvbiBhOmZvY3VzIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweCA1cHggMTBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdG9wOiA1cHg7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGNsaXA6IGluaXRpYWw7XG4gICAgY29sb3I6ICNDOUM5Qzk7XG4gICAgei1pbmRleDogOTk5OTk5OTk5OTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNraXAtbmF2aWdhdGlvbiBhOmZvY3VzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsZWZ0OiA1cHg7IH0gfVxuXG4vKiBTdGFuZGFyZCBhbmQgTWljcm9zaXRlIEhlYWRlcnMgKi9cbiNhdHQtYWJvdXQtaGVhZGVyID4gZGl2LFxuI2F0dC1taWNyb3NpdGUtaGVhZGVyIC5taWNyb3NpdGUtbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1QTVBNUE7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAjYXR0LWFib3V0LWhlYWRlci5oZWFkZXItLXRyYW5zcGFyZW50ID4gZGl2LFxuICAjYXR0LW1pY3Jvc2l0ZS1oZWFkZXIuaGVhZGVyLS10cmFuc3BhcmVudCAubWljcm9zaXRlLW5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY1KTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgI2F0dC1hYm91dC1oZWFkZXIuaGVhZGVyLS1maXhlZCA+IGRpdixcbiAgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmhlYWRlci0tZml4ZWQgLm1pY3Jvc2l0ZS1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH0gfVxuXG5oZWFkZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIGhlYWRlciAqLFxuICBoZWFkZXIgKjpiZWZvcmUsXG4gIGhlYWRlciAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG4gIC50b3VjaCBoZWFkZXIsXG4gIC50b3VjaGV2ZW50cyBoZWFkZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci0tc2Vjb25kYXJ5ICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMTA1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci0tc2Vjb25kYXJ5LmFjdGl2ZSArICoge1xuICAgIG1hcmdpbi10b3A6IDcycHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5oZWFkZXItLXNlY29uZGFyeS5hY3RpdmUgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAxMDVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLmhlYWRlci0tc2Vjb25kYXJ5LmFjdGl2ZS0td0dsb2JhbCArICoge1xuICAgIG1hcmdpbi10b3A6IDE1NXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXIgKyAqLFxuICAuaGVhZGVyICsgLmhlYWRlci0tc2Vjb25kYXJ5ICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMTA1cHg7XG4gICAgdG9wOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXIuaGVhZGVyLS10cmFuc3BhcmVudCArICoge1xuICAgIG1hcmdpbi10b3A6IDEwNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuaGVhZGVyLmhlYWRlci0tdHJhbnNwYXJlbnQgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5oZWFkZXIuaGVhZGVyLS10cmFuc3BhcmVudCArIC5oZWFkZXItLXNlY29uZGFyeS5oZWFkZXItLXRyYW5zcGFyZW50ICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuaGVhZGVyLS1zZWNvbmRhcnkuaGVhZGVyLS10cmFuc3BhcmVudCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmhlYWRlci0tc2Vjb25kYXJ5LmhlYWRlci0tdHJhbnNwYXJlbnQgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuaGVhZGVyLS1zZWNvbmRhcnkuaGVhZGVyLS10cmFuc3BhcmVudC5hY3RpdmUtLXdHbG9iYWwgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuLmF0dC1hYm91dC1oZWFkZXJfX3dyYXAge1xuICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYXR0LWFib3V0LWhlYWRlcl9fd3JhcCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDUwbXMgZWFzZTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGhlaWdodDogMTA1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNhdHQtYWJvdXQtaGVhZGVyLmhlYWRlci0tZml4ZWQgLmF0dC1hYm91dC1oZWFkZXJfX3dyYXAge1xuICAgICAgICBoZWlnaHQ6IDcycHg7IH0gfVxuXG4uaGVhZGVyLS1zZWNvbmRhcnkgPiAqIHtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlYWRlci0tc2Vjb25kYXJ5ID4gKiB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDUwbXMgZWFzZTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgI2F0dC1hYm91dC1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk7IH0gfVxuXG4jYXR0LW1pY3Jvc2l0ZS1oZWFkZXIge1xuICB6LWluZGV4OiA1OyB9XG4gICNhdHQtbWljcm9zaXRlLWhlYWRlciAuY29tcG9uZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNhdHQtbWljcm9zaXRlLWhlYWRlciAubWljcm9zaXRlLW5hdiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQ1MG1zIGVhc2U7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAjYXR0LW1pY3Jvc2l0ZS1oZWFkZXIgLm1pY3Jvc2l0ZS1uYXYge1xuICAgICAgICBoZWlnaHQ6IDEwNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICNhdHQtbWljcm9zaXRlLWhlYWRlciAubWljcm9zaXRlLW5hdi5taWNyb3NpdGUtbmF2LS1wbHVzR2xvYmFsIHtcbiAgICAgIGhlaWdodDogMTU1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmhlYWRlci0tZml4ZWQgLm1pY3Jvc2l0ZS1uYXYge1xuICAgICAgaGVpZ2h0OiA3MnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICNhdHQtbWljcm9zaXRlLWhlYWRlci5oZWFkZXItLWZpeGVkIC5taWNyb3NpdGUtbmF2Lm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE1NXB4IC0gNDBweCk7IH0gfVxuXG4vKiBBdXRob3IgSW5zdGFuY2UgRGlzcGxheSBGaXhlcyAqL1xuLmFlbS1BdXRob3JMYXllci1FZGl0ICNhdHQtYWJvdXQtaGVhZGVyIHtcbiAgbWluLWhlaWdodDogNzJweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1hYm91dC1oZWFkZXIge1xuICAgICAgbWluLWhlaWdodDogMTA1cHg7IH0gfVxuXG4uYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1hYm91dC1oZWFkZXIgKyAqLFxuLmFlbS1BdXRob3JMYXllci1FZGl0ICNhdHQtYWJvdXQtaGVhZGVyICsgLmhlYWRlci0tc2Vjb25kYXJ5ICsgKixcbi5hZW0tQXV0aG9yTGF5ZXItRWRpdCAjYXR0LW1pY3Jvc2l0ZS1oZWFkZXIgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmFjdGl2ZSArICosXG4uYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmFjdGl2ZS0td0dsb2JhbCArICoge1xuICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuXG4uYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmFjdGl2ZSArICoge1xuICBtYXJnaW4tdG9wOiAxMzBweDsgfVxuXG4uYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmFjdGl2ZS0td0dsb2JhbCArICoge1xuICBtYXJnaW4tdG9wOiAxODBweDsgfVxuXG4vKj09PVxuICBOQVZcbiAgPT09Ki9cbi8qIE5hdi1zcGVjaWZpYyBzZXR0aW5ncyAqL1xuLyogSGVscGVyIG1peGlucyAqL1xuLyo9PT09PT09PT09PT09PT09PT09PT0qL1xuI2F0dC1hYm91dC1oZWFkZXIgLm5hdiB7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxuICAjYXR0LWFib3V0LWhlYWRlciAubmF2OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbiNhdHQtYWJvdXQtaGVhZGVyIC5uYXZfX3V0aWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGhlaWdodDogNzJweDsgfVxuICAjYXR0LWFib3V0LWhlYWRlciAubmF2X191dGlsczphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjYXR0LWFib3V0LWhlYWRlciAubmF2X191dGlscyB7XG4gICAgICBwYWRkaW5nOiAwIDU1cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgI2F0dC1hYm91dC1oZWFkZXIgLm5hdl9fdXRpbHMge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi8qIE5hdiBMb2dvICovXG4ubmF2X19sb2dvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRvcDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm5hdl9fbG9nbyAubG9nb19faWNvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIG1pbi13aWR0aDogOTVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogTk9URTogTG9nbyBjb2xvciBjYW4gdmFyeSBiYXNlZCBvbiB0aGUgdGhlbWUuIERlZmF1bHQgdHJlYXRtZW50IGlzIHNpbHZlci4gKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nb19hdHQtd2hpdGUtdGV4dC5wbmdcIik7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAubmF2X19sb2dvIC5sb2dvX19pY29uIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEyNXB4OyB9XG4gICAgICAgIC5oZWFkZXItLWZpeGVkIC5uYXZfX2xvZ28gLmxvZ29fX2ljb24ge1xuICAgICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDk1cHg7IH0gfVxuXG4vKiBIYW1idXJnZXIgVG9nZ2xlICovXG4jYXR0LWFib3V0LWhlYWRlciAubmF2X190b2dnbGUsXG4ubWljcm9zaXRlLW5hdi0tcGx1c0dsb2JhbCAubmF2X190b2dnbGUge1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG4gICNhdHQtYWJvdXQtaGVhZGVyIC5uYXZfX3RvZ2dsZTpmb2N1cyxcbiAgLm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwgLm5hdl9fdG9nZ2xlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNhdHQtYWJvdXQtaGVhZGVyIC5uYXZfX3RvZ2dsZSxcbiAgICAubWljcm9zaXRlLW5hdi0tcGx1c0dsb2JhbCAubmF2X190b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNhdHQtYWJvdXQtaGVhZGVyIC5uYXZfX3RvZ2dsZSAuYmFyLFxuLm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwgLm5hdl9fdG9nZ2xlIC5iYXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG5cbi5uYXZfX3RvZ2dsZS0tb3BlbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0b3A6IDUwJTtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5uYXYtLW9wZW4gLm5hdl9fdG9nZ2xlLS1vcGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5uYXZfX3RvZ2dsZS0tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5uYXYtLW9wZW4gLm5hdl9fdG9nZ2xlLS1jbG9zZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjJweDtcbiAgICByaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdi0tb3BlbiAubmF2X190b2dnbGUtLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5uYXYtLW9wZW4gLm5hdl9fdG9nZ2xlLS1jbG9zZSAuYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0b3A6IDhweDsgfVxuICAgIC5uYXYtLW9wZW4gLm5hdl9fdG9nZ2xlLS1jbG9zZSAuYmFyOmZpcnN0LWNoaWxkLCAubmF2LS1vcGVuIC5uYXZfX3RvZ2dsZS0tY2xvc2UgLmJhcjpsYXN0LWNoaWxkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkY7IH1cbiAgICAubmF2LS1vcGVuIC5uYXZfX3RvZ2dsZS0tY2xvc2UgLmJhcjpmaXJzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLm5hdi0tb3BlbiAubmF2X190b2dnbGUtLWNsb3NlIC5iYXI6bGFzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNhdHQtYWJvdXQtaGVhZGVyIC5uYXZfX3V0aWxzLFxuICAjYXR0LWFib3V0LWhlYWRlciAubmF2X19tZW51LS1wcmltYXJ5IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4vKiBOYXYgTWVudXMgKi9cbi5uYXZfX21lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdl9fbWVudSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5uYXZfX21lbnUge1xuICAgICAgcGFkZGluZy1yaWdodDogNTVweDsgfSB9XG4gIC5uYXZfX21lbnUgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubmF2X19tZW51IGxpLmV4cGFuZGVkID4gLm5hdl9fbWVudS1wYXJlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICB0b3A6IDE5cHg7XG4gICAgICBsZWZ0OiAxNHB4OyB9XG4gIC5uYXZfX21lbnUgLm5hdl9fbWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdl9fbWVudSAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAgIC5uYXZfX21lbnUgLm5hdl9fbWVudS1pdGVtIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgLm5hdl9fbWVudSAubmF2X19tZW51LWl0ZW0gc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLm5hdl9fbWVudSAubmF2X19tZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uYXZfX21lbnUgLm5hdl9fbWVudS1wYXJlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJysnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDEwJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubmF2X19tZW51IC5uYXZfX21lbnUtcGFyZW50IHtcbiAgICAgICAgaGVpZ2h0OiAzN3B4OyB9IH1cbiAgICAubmF2X19tZW51IC5uYXZfX21lbnUtcGFyZW50OmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBQcmltYXJ5IE1lbnVzICovXG4ubmF2X19tZW51LS1wcmltYXJ5IHtcbiAgd2lkdGg6IDMyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2X19tZW51LS1wcmltYXJ5IHtcbiAgICAgIHdpZHRoOiA0MDBweDsgfVxuICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2X19tZW51LS1wcmltYXJ5IHtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2U7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNzJweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzVBNUE1QTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gICAgLm5hdl9fbWVudS0tcHJpbWFyeSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2X19tZW51LS1wcmltYXJ5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5uYXZfX21lbnUtLXByaW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaSB7XG4gICAgLyogTk9URTogQXBwbHkgaGlnaGxpZ2h0aW5nIHRvIG5hdiBpdGVtcyBiYXNlZCBvbiB0aGUgYm9keSBjbGFzcyBuYW1lLiAqLyB9XG4gICAgLnN0b3J5Om5vdChbY2xhc3MqPVwibmF2LVwiXSkgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtLFxuICAgIC5uYXYtbmV3cyAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgY29sb3I6ICMwMDlGREI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuc3Rvcnk6bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW06YmVmb3JlLFxuICAgICAgICAubmF2LW5ld3MgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLnN0b3J5Om5vdChbY2xhc3MqPVwibmF2LVwiXSkgLmhlYWRlci0tdHJhbnNwYXJlbnQgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtLFxuICAgIC5uYXYtbmV3cyAuaGVhZGVyLS10cmFuc3BhcmVudCAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAuYmxvZzpub3QoW2NsYXNzKj1cIm5hdi1cIl0pIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSxcbiAgICAubmF2LW5ld3MgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgIGNvbG9yOiAjMDA5RkRCOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmJsb2c6bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW06YmVmb3JlLFxuICAgICAgICAubmF2LW5ld3MgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmJsb2c6bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAuaGVhZGVyLS10cmFuc3BhcmVudCAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0sXG4gICAgLm5hdi1uZXdzIC5oZWFkZXItLXRyYW5zcGFyZW50IC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgIC5hbGwtcG9zdHM6bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0sXG4gICAgLm5hdi1uZXdzIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5hbGwtcG9zdHM6bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW06YmVmb3JlLFxuICAgICAgICAubmF2LW5ld3MgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmFsbC1wb3N0czpub3QoW2NsYXNzKj1cIm5hdi1cIl0pIC5oZWFkZXItLXRyYW5zcGFyZW50IC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSxcbiAgICAubmF2LW5ld3MgLmhlYWRlci0tdHJhbnNwYXJlbnQgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgLm1lZGlhLWdhbGxlcnk6bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0sXG4gICAgLm5hdi1uZXdzIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5tZWRpYS1nYWxsZXJ5Om5vdChbY2xhc3MqPVwibmF2LVwiXSkgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtOmJlZm9yZSxcbiAgICAgICAgLm5hdi1uZXdzIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5tZWRpYS1nYWxsZXJ5Om5vdChbY2xhc3MqPVwibmF2LVwiXSkgLmhlYWRlci0tdHJhbnNwYXJlbnQgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtLFxuICAgIC5uYXYtbmV3cyAuaGVhZGVyLS10cmFuc3BhcmVudCAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAubWVkaWEta2l0Om5vdChbY2xhc3MqPVwibmF2LVwiXSkgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtLFxuICAgIC5uYXYtbmV3cyAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgY29sb3I6ICMwMDlGREI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubWVkaWEta2l0Om5vdChbY2xhc3MqPVwibmF2LVwiXSkgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtOmJlZm9yZSxcbiAgICAgICAgLm5hdi1uZXdzIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5tZWRpYS1raXQ6bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAuaGVhZGVyLS10cmFuc3BhcmVudCAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkubmF2LW5ld3MgPiAubmF2X19tZW51LWl0ZW0sXG4gICAgLm5hdi1uZXdzIC5oZWFkZXItLXRyYW5zcGFyZW50IC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgIC5tZWRpYS1raXQtbGFuZGluZzpub3QoW2NsYXNzKj1cIm5hdi1cIl0pIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSxcbiAgICAubmF2LW5ld3MgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgIGNvbG9yOiAjMDA5RkRCOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLm1lZGlhLWtpdC1sYW5kaW5nOm5vdChbY2xhc3MqPVwibmF2LVwiXSkgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtOmJlZm9yZSxcbiAgICAgICAgLm5hdi1uZXdzIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5tZWRpYS1raXQtbGFuZGluZzpub3QoW2NsYXNzKj1cIm5hdi1cIl0pIC5oZWFkZXItLXRyYW5zcGFyZW50IC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5uYXYtbmV3cyA+IC5uYXZfX21lbnUtaXRlbSxcbiAgICAubmF2LW5ld3MgLmhlYWRlci0tdHJhbnNwYXJlbnQgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLm5hdi1uZXdzID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLmFjdGl2ZSA+IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5hY3RpdmUgPiAubmF2X19tZW51LWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuaGVhZGVyLS10cmFuc3BhcmVudCAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkuYWN0aXZlID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVBNUE1QTsgfVxuICAgICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkuZXhwYW5kZWQgPiAubmF2X19tZW51LWl0ZW06YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTJweCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkuZXhwYW5kZWQgPiAubmF2X19tZW51LWl0ZW0gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDlGREI7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDlweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA0MHB4OyB9XG4gICAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzIpID4gLm5hdl9fbWVudS0tbmVzdGVkIHtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGk6aG92ZXIgPiAubmF2X19tZW51LWl0ZW06YmVmb3JlLFxuICAgICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkuZXhwYW5kZWQgPiAubmF2X19tZW51LWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaTpob3ZlciA+IC5uYXZfX21lbnUtaXRlbTphZnRlcixcbiAgICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLmV4cGFuZGVkID4gLm5hdl9fbWVudS1pdGVtOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0ycHgpIHJvdGF0ZSg0NWRlZyk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogODBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLmxhc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzIpID4gLm5hdl9fbWVudS0tbmVzdGVkIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaTpsYXN0LWNoaWxkID4gLm5hdl9fbWVudS0tbmVzdGVkIHtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkgPiAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaSA+IC5uYXZfX21lbnUtaXRlbTpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5RkRCO1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpID4gLm5hdl9fbWVudS1pdGVtOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkgPiAubmF2X19tZW51LWl0ZW0gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpID4gLm5hdl9fbWVudS1wYXJlbnQge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaSA+IC5uYXZfX21lbnUtcGFyZW50OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5uYXZfX21lbnUtLXByaW1hcnkgPiBsaS5leHBhbmRlZCA+IC5uYXZfX21lbnUtcGFyZW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfSB9XG5cbi8qIFN1Ym5hdnMgKi9cbi5uYXZfX21lbnUtLXNlY29uZGFyeSxcbi5uYXZfX21lbnUtLXRlcnRpYXJ5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZfX21lbnUtLXNlY29uZGFyeSxcbiAgICAubmF2X19tZW51LS10ZXJ0aWFyeSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMjYwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICAgIC5uYXZfX21lbnUtLXNlY29uZGFyeSAubmF2X19tZW51LS1uZXN0ZWQsXG4gICAgICAubmF2X19tZW51LS10ZXJ0aWFyeSAubmF2X19tZW51LS1uZXN0ZWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5uYXZfX21lbnUtLXNlY29uZGFyeSxcbiAgICAubmF2X19tZW51LS10ZXJ0aWFyeSB7XG4gICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLm5hdl9fbWVudS0tc2Vjb25kYXJ5LFxuICAgIC5uYXZfX21lbnUtLXRlcnRpYXJ5IHtcbiAgICAgIHdpZHRoOiAzNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZfX21lbnUtLXNlY29uZGFyeSBsaSxcbiAgICAubmF2X19tZW51LS10ZXJ0aWFyeSBsaSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVBNUE1QTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZfX21lbnUtLXNlY29uZGFyeSBsaTpob3ZlcixcbiAgICAubmF2X19tZW51LS10ZXJ0aWFyeSBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE1QTVBOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdl9fbWVudS0tc2Vjb25kYXJ5IGxpOmhvdmVyIC5uYXZfX21lbnUtcGFyZW50LFxuICAgIC5uYXZfX21lbnUtLXRlcnRpYXJ5IGxpOmhvdmVyIC5uYXZfX21lbnUtcGFyZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzY3Njc7IH0gfVxuICAubmF2X19tZW51LS1zZWNvbmRhcnkgbGk6bGFzdC1jaGlsZCxcbiAgLm5hdl9fbWVudS0tdGVydGlhcnkgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAubmF2X19tZW51LS1zZWNvbmRhcnkgLm5hdl9fbWVudS1pdGVtLFxuICAubmF2X19tZW51LS10ZXJ0aWFyeSAubmF2X19tZW51LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdl9fbWVudS0tc2Vjb25kYXJ5IC5uYXZfX21lbnUtaXRlbSxcbiAgICAgIC5uYXZfX21lbnUtLXRlcnRpYXJ5IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5uYXZfX21lbnUtLXNlY29uZGFyeSAubmF2X19tZW51LWl0ZW06Zm9jdXMsXG4gICAgICAubmF2X19tZW51LS10ZXJ0aWFyeSAubmF2X19tZW51LWl0ZW06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE1QTVBOyB9IH1cbiAgICAubmF2X19tZW51LS1zZWNvbmRhcnkgLm5hdl9fbWVudS1pdGVtOmxhc3QtY2hpbGQsXG4gICAgLm5hdl9fbWVudS0tdGVydGlhcnkgLm5hdl9fbWVudS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG5cbi8qIFNlY29uZGFyeSBTdWJuYXZzICovXG4ubmF2X19tZW51LS1zZWNvbmRhcnkge1xuICAvKiBXaGVuIGluIGRlc2t0b3AsIHJlbHkgb24gdGhlIGhvdmVyIG9yIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHBhcmVudCBlbGVtZW50IHRvIHNob3cgc2Vjb25kYXJ5IG5hdnMgKi8gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2X19tZW51LS1zZWNvbmRhcnkge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgLyogV2hlbiBpbiBtb2JpbGUsIHJlbHkgb24gdGhlIC5leHBhbmRlZCBjbGFzcyBvZiB0aGUgcGFyZW50IGVsZW1lbnQgdG8gc2hvdyBzZWNvbmRhcnkgbmF2cyAqLyB9XG4gICAgICAuZXhwYW5kZWQgPiAubmF2X19tZW51LXBhcmVudCArIC5uYXZfX21lbnUtLXNlY29uZGFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpOmhvdmVyID4gLm5hdl9fbWVudS1wYXJlbnQgKyAubmF2X19tZW51LS1zZWNvbmRhcnksXG4gICAgLm5hdl9fbWVudS0tcHJpbWFyeSA+IGxpLmV4cGFuZGVkID4gLm5hdl9fbWVudS1wYXJlbnQgKyAubmF2X19tZW51LS1zZWNvbmRhcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4vKiBUZXJ0aWFyeSBTdWJuYXZzICovXG4ubmF2X19tZW51LS10ZXJ0aWFyeSB7XG4gIC8qIEFsd2F5cyByZWx5IG9uIHRoZSAuZXhwYW5kZWQgY2xhc3Mgb2YgdGhlIHBhcmVudCBlbGVtZW50IHRvIHNob3cgdGVydGlhcnkgbmF2cyAqLyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZfX21lbnUtLXRlcnRpYXJ5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZfX21lbnUtLXRlcnRpYXJ5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2X19tZW51LS10ZXJ0aWFyeSBsaSAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgLmV4cGFuZGVkID4gLm5hdl9fbWVudS1wYXJlbnQgKyAubmF2X19tZW51LS10ZXJ0aWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyo9PT09PT1cbiAgRk9PVEVSXG4gID09PT09PSovXG4jYXR0LWFib3V0LWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7IH1cblxuI2F0dC1hYm91dC1mb290ZXIgLmZvb3Rlcl9fd3JhcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMjBweDtcbiAgY29sb3I6ICM5NTk1OTU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgI2F0dC1hYm91dC1mb290ZXIgLmZvb3Rlcl9fd3JhcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICNhdHQtYWJvdXQtZm9vdGVyIC5mb290ZXJfX3dyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgI2F0dC1hYm91dC1mb290ZXIgLmZvb3Rlcl9fd3JhcCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgI2F0dC1hYm91dC1mb290ZXIgLmZvb3Rlcl9fd3JhcCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4jYXR0LWFib3V0LWZvb3RlciAuZm9vdGVyX19tZW51IHtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDtcbiAgcGFkZGluZzogMDsgfVxuICAjYXR0LWFib3V0LWZvb3RlciAuZm9vdGVyX19tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gICNhdHQtYWJvdXQtZm9vdGVyIC5mb290ZXJfX21lbnUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAjYXR0LWFib3V0LWZvb3RlciAuZm9vdGVyX19tZW51IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuI2F0dC1hYm91dC1mb290ZXIgLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgI2F0dC1hYm91dC1mb290ZXIgLmZvb3Rlcl9fY29weXJpZ2h0IHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAjYXR0LWFib3V0LWZvb3RlciAuZm9vdGVyX19jb3B5cmlnaHQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyo9PT09PT09PVxuICBBUlRJQ0xFU1xuICA9PT09PT09PSovXG4vKiBGZWF0dXJlZCBIZWFkbGluZSAqL1xuLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgcGFkZGluZzogMCAwIDMwcHg7IH1cbiAgLnN0b3J5X19oZWFkZXIgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5zdG9yeV9faGVhZGVyIC5mZWF0dXJlZC1oZWFkbGluZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnN0b3J5X19oZWFkZXIgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuc3RvcnlfX2hlYWRlciAuZmVhdHVyZWQtaGVhZGxpbmUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMTA1cHggLSAxMHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygxMDVweCAtIDEwcHgpOyB9XG4gICAgICAgIC5oZWFkZXItLXRyYW5zcGFyZW50ICsgLmNvbnRlbnQgLnN0b3J5X19oZWFkZXIgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwNXB4KTsgfSB9XG4gIC5hcnRpY2xlX19jb250ZW50W2RhdGEtZnRJbWc9XCJ0cnVlXCJdIC5mZWF0dXJlZC1oZWFkbGluZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmVhdHVyZWQtaGVhZGxpbmUgaDEsXG4ubWV0YV9faW5mbyBoMSxcbi5tZXRhX19pbmZvIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBCbGFja1wiLCBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnN0b3J5X19oZWFkZXIgLmZlYXR1cmVkLWhlYWRsaW5lIGgxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRvcDogNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5zdG9yeV9faGVhZGVyLS1saWdodCAuZmVhdHVyZWQtaGVhZGxpbmUgaDEge1xuICAgIGNvbG9yOiAjMDAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuc3RvcnkgLmZlYXR1cmVkLWhlYWRsaW5lIGgxLFxuICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1oZWFkbGluZSBoMSwgLnN0b3J5XG4gIC5tZXRhX19pbmZvIGgxLFxuICAuYmxvZy1wb3N0XG4gIC5tZXRhX19pbmZvIGgxIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC1zaXplOiA0cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAubWVkaWEta2l0LXBvc3QgLm1ldGFfX2luZm8gaDIge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgbWF4LXdpZHRoOiA5NSU7IH0gfVxuXG4uZmVhdHVyZWQtYXNzZXQgW2NsYXNzKj1cImFzc2V0XCJdIHtcbiAgbWFyZ2luOiAxMHB4IDAgNDBweDsgfVxuXG4uZmVhdHVyZWQtYXNzZXQgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIEFydGljbGUgKi9cbi5hcnRpY2xlX19oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOUM5Qzk7IH1cbiAgLmFydGljbGVfX2hlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uYXJ0aWNsZV9fbWV0YSxcbi5hdXRob3JfX21ldGEge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5hcnRpY2xlX19tZXRhOmFmdGVyLFxuICAuYXV0aG9yX19tZXRhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hcnRpY2xlX19tZXRhIC5tZXRhX19pbWcsXG4gIC5hdXRob3JfX21ldGEgLm1ldGFfX2ltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDg1cHg7XG4gICAgd2lkdGg6IDg1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmFydGljbGVfX21ldGEgLm1ldGFfX2ltZyxcbiAgICAgIC5hdXRob3JfX21ldGEgLm1ldGFfX2ltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICAgLmFydGljbGVfX21ldGEgLm1ldGFfX2ltZyBpbWcsXG4gICAgLmF1dGhvcl9fbWV0YSAubWV0YV9faW1nIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmFydGljbGVfX21ldGEgLm1ldGFfX2luZm8sXG4gIC5hdXRob3JfX21ldGEgLm1ldGFfX2luZm8ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTA4cHgpOyB9XG4gICAgLmFydGljbGVfX21ldGEgLm1ldGFfX2luZm8gc3BhbixcbiAgICAuYXV0aG9yX19tZXRhIC5tZXRhX19pbmZvIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAuYXJ0aWNsZV9fbWV0YSAubWV0YV9faW5mbyAuYXV0aG9yLFxuICAgIC5hdXRob3JfX21ldGEgLm1ldGFfX2luZm8gLmF1dGhvciB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYXJ0aWNsZV9fc2hhcmUge1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLmFydGljbGVfX2Fzc2V0cyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLmFydGljbGVfX2Fzc2V0cyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmFydGljbGVfX2Fzc2V0cyAuY3RhLS1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYXJ0aWNsZV9fYXNzZXRzIC5jdGEtLWxpbms6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXDIxOTNcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgbGVmdDogMTA1JTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOyB9XG5cbi8qIEFydGljbGUgQm9keSBDb250ZW50ICovXG4uYXJ0aWNsZV9fY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICAvKiBDb21wb25lbnRzICovIH1cbiAgLmFydGljbGVfX2NvbnRlbnQgLnNlY3Rpb246Zmlyc3QtY2hpbGQgPiAucmVnaW9uOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5hcnRpY2xlX19jb250ZW50IGgxLCAuYXJ0aWNsZV9fY29udGVudCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBCbGFja1wiLCBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgLmFydGljbGVfX2NvbnRlbnQgLnJlZ2lvbiBoMSxcbiAgLmFydGljbGVfX2NvbnRlbnQgLnJlZ2lvbiBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmFydGljbGVfX2NvbnRlbnQgLmNvbXBvbmVudC5jb21wb25lbnQtLWJvcmRlci1ib3R0b20gPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoNDBweCArIDEwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLmFydGljbGVfX2NvbnRlbnQgLmNvbXBvbmVudC5jb21wb25lbnQtLWJvcmRlci1ib3R0b20gPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDYwcHggKyAxMHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH0gfVxuXG4uYmxvZy1wb3N0IC5ibG9nX193cmFwLFxuLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAge1xuICAvKiBTZWN0aW9ucyAqL1xuICAvKiBDb21wb25lbnRzICovXG4gIC8qIFRleHQgQ29tcG9uZW50cyAqL1xuICAvKiBNZWRpYSBDb21wb25lbnRzICovIH1cbiAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucm93LFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucm93IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yb3csXG4gICAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucm93IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucm93LFxuICAgICAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogMTYwMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucm93X193cmFwLFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yb3dfX3dyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAuYXJ0aWNsZV9fY29udGVudCxcbiAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAuYXJ0aWNsZV9fY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbixcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLnJlZ2lvbiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDOUM5Qzk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOUM5Qzk7XG4gICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbltjbGFzcyo9XCJyZWdpb24tLVwiXTpub3QoLnJlZ2lvbi0td2hpdGUpLFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb25bY2xhc3MqPVwicmVnaW9uLS1cIl06bm90KC5yZWdpb24tLXdoaXRlKSB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbi5yZWdpb24tLWZsdXNoLXZlcnRpY2FsLFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24ucmVnaW9uLS1mbHVzaC12ZXJ0aWNhbCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbixcbiAgICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbixcbiAgICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLmNvbXBvbmVudCxcbiAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAuY29tcG9uZW50IHtcbiAgICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5jb21wb25lbnQgPiBkaXYsXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5jb21wb25lbnQgPiBkaXYge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5jb21wb25lbnQgPiBkaXYsXG4gICAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAuY29tcG9uZW50ID4gZGl2IHtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLmNvbXBvbmVudCA+IGRpdixcbiAgICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5jb21wb25lbnQgPiBkaXYge1xuICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAuY29tcG9uZW50IFtjbGFzcyo9XCJfX2hlYWRpbmdcIl0sXG4gICAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5jb21wb25lbnQsXG4gICAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5jb21wb25lbnQge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50ID4gZGl2LFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLmNvbXBvbmVudCA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50ID4gZGl2LFxuICAgICAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgPiBkaXYge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdLFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdIHtcbiAgICAgIHBhZGRpbmc6IDAgNTVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdLFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAudGV4dCxcbiAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLm1lZGlhX19jYXB0aW9uLFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLnRleHQsXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAubWVkaWFfX2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLnRleHQsXG4gICAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAubWVkaWFfX2NhcHRpb24sXG4gICAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLnRleHQsXG4gICAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLm1lZGlhX19jYXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAudGV4dCxcbiAgICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50IC5tZWRpYV9fY2FwdGlvbixcbiAgICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAudGV4dCxcbiAgICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAubWVkaWFfX2NhcHRpb24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAudGV4dCxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50IC50ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDEyMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLnRleHQudGV4dC0tZmVhdHVyZWQsXG4gICAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50IC50ZXh0LnRleHQtLWZlYXR1cmVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLnRleHQudGV4dC0tZmVhdHVyZWQsXG4gICAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50IC50ZXh0LnRleHQtLWZlYXR1cmVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLm1lZGlhX19jYXB0aW9uLFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAubWVkaWFfX2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5yZWdpb24gLmNvbXBvbmVudCAubWVkaWFfX2NhcHRpb24gcCxcbiAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLm1lZGlhX19jYXB0aW9uIHAge1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnRleHQudGV4dC0tZmVhdHVyZWQgaDIsXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC50ZXh0LnRleHQtLWZlYXR1cmVkIGgyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAudGV4dC50ZXh0LS1mZWF0dXJlZCBoMixcbiAgICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC50ZXh0LnRleHQtLWZlYXR1cmVkIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICBmb250LXNpemU6IDMuOHJlbTsgfSB9XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLm1lZGlhLFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAubWVkaWEge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAuY29tcG9uZW50IC5tZWRpYV9faW1nLFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5jb21wb25lbnQgLm1lZGlhX19pbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5tZWRpYV9faW1nIGltZyxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLm1lZGlhX19pbWcgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5tZWRpYV9fY2FwdGlvbixcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLm1lZGlhX19jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLmNvbXBvbmVudCA+IC5tZWRpYS1saWJyYXJ5LFxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5jb21wb25lbnQgPiAubWVkaWEtY2Fyb3VzZWwsXG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLmNvbXBvbmVudCA+IC5tZWRpYS1saWJyYXJ5IC5jb21wb25lbnQgPiBkaXYsXG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLmNvbXBvbmVudCA+IC5tZWRpYS1jYXJvdXNlbCAuY29tcG9uZW50ID4gZGl2LFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAuY29tcG9uZW50ID4gLm1lZGlhLWxpYnJhcnksXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5jb21wb25lbnQgPiAubWVkaWEtY2Fyb3VzZWwsXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5jb21wb25lbnQgPiAubWVkaWEtbGlicmFyeSAuY29tcG9uZW50ID4gZGl2LFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAuY29tcG9uZW50ID4gLm1lZGlhLWNhcm91c2VsIC5jb21wb25lbnQgPiBkaXYge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5jb21wb25lbnQgPiAubWVkaWEtbGlicmFyeSAuY29tcG9uZW50ID4gZGl2LFxuICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLmNvbXBvbmVudCA+IC5tZWRpYS1jYXJvdXNlbCAuY29tcG9uZW50ID4gZGl2LFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5jb21wb25lbnQgPiAubWVkaWEtbGlicmFyeSAuY29tcG9uZW50ID4gZGl2LFxuICAgIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5jb21wb25lbnQgPiAubWVkaWEtY2Fyb3VzZWwgLmNvbXBvbmVudCA+IGRpdiB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5jb21wb25lbnQgPiAubWVkaWEtY2Fyb3VzZWwgLmNvbXBvbmVudCA+IGRpdixcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLmNvbXBvbmVudCA+IC5tZWRpYS1jYXJvdXNlbCAuY29tcG9uZW50ID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLmNvbXBvbmVudCA+IC5tZWRpYS1jYXJvdXNlbCAuY29tcG9uZW50ID4gZGl2LFxuICAgICAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLmNvbXBvbmVudCA+IC5tZWRpYS1jYXJvdXNlbCAuY29tcG9uZW50ID4gZGl2IHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYmxvZ19faGVhZGVyIC5yb3cgLnJvd19fd3JhcCAuY29sLTEyLFxuICAuYmxvZ19fYXV0aG9ycyAucm93IC5yb3dfX3dyYXAgLmNvbC0xMixcbiAgLm1lZGlhLWtpdF9faGVhZGVyIC5yb3cgLnJvd19fd3JhcCAuY29sLTEyLFxuICAubWVkaWEta2l0X19hdXRob3JzIC5yb3cgLnJvd19fd3JhcCAuY29sLTEyIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBmbGV4LWJhc2lzOiA3NSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5ibG9nX19oZWFkZXIgLnJvdyAucm93X193cmFwIC5jb2wtMTIsXG4gIC5ibG9nX19hdXRob3JzIC5yb3cgLnJvd19fd3JhcCAuY29sLTEyLFxuICAubWVkaWEta2l0X19oZWFkZXIgLnJvdyAucm93X193cmFwIC5jb2wtMTIsXG4gIC5tZWRpYS1raXRfX2F1dGhvcnMgLnJvdyAucm93X193cmFwIC5jb2wtMTIge1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTsgfSB9XG5cbi8qIFNpZGViYXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNpZGViYXIge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnNpZGViYXIge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9IH1cblxuLnNpZGViYXIgLnNpZGViYXJfX3dpZGdldCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnNpZGViYXIgLnNlYXJjaC1maWVsZCBmaWVsZHNldCB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnNpZGViYXIgLnNlYXJjaC1maWVsZCBmaWVsZHNldCB7XG4gICAgICBtYXgtd2lkdGg6IDI0NXB4OyB9IH1cblxuLyogUmVsYXRlZCBBcnRpY2xlcyAqL1xuW2NsYXNzKj1cIl9fcmVsYXRlZFwiXSAuZmVhdHVyZWQtaXRlbSAuaXRlbV9faW5mbyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMTVweCAwIDMwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICBbY2xhc3MqPVwiX19yZWxhdGVkXCJdIC5mZWF0dXJlZC1pdGVtIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbltjbGFzcyo9XCJfX3JlbGF0ZWRcIl0gLmZlYXR1cmVkLWl0ZW0gLml0ZW1fX2ltZ1tkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjsgfVxuXG4vKj09PT09XG4gIFNIQVJFXG4gID09PT09Ki9cbi5zaGFyZSxcbltjbGFzcyo9XCJfX3NoYXJlXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgLnNoYXJlOmFmdGVyLFxuICBbY2xhc3MqPVwiX19zaGFyZVwiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2hhcmUsXG4gICAgW2NsYXNzKj1cIl9fc2hhcmVcIl0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDU1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDU1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLnNoYXJlLFxuICAgIFtjbGFzcyo9XCJfX3NoYXJlXCJdIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAuc2hhcmUsXG4gICAgW2NsYXNzKj1cIl9fc2hhcmVcIl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5jb2wgLnNoYXJlLCAuY29sXG4gIFtjbGFzcyo9XCJfX3NoYXJlXCJdIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2wgLnNoYXJlLCAuY29sXG4gICAgICBbY2xhc3MqPVwiX19zaGFyZVwiXSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5jb2wgLnNoYXJlLCAuY29sXG4gICAgICBbY2xhc3MqPVwiX19zaGFyZVwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5jb21wb25lbnQgPiAuc2hhcmUsIC5jb21wb25lbnQgPlxuICBbY2xhc3MqPVwiX19zaGFyZVwiXSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAuY29tcG9uZW50ID4gLnNoYXJlOmJlZm9yZSwgLmNvbXBvbmVudCA+XG4gICAgW2NsYXNzKj1cIl9fc2hhcmVcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5QzlDOTtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgICAgICAuY29tcG9uZW50ID4gLnNoYXJlOmJlZm9yZSwgLmNvbXBvbmVudCA+XG4gICAgICAgIFtjbGFzcyo9XCJfX3NoYXJlXCJdOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICg1NXB4ICogMikpOyB9IH1cbiAgICAgIC5yZWdpb24tLWJsdWUgLmNvbXBvbmVudCA+IC5zaGFyZTpiZWZvcmUsIC5yZWdpb24tLWJsdWUgLmNvbXBvbmVudCA+XG4gICAgICBbY2xhc3MqPVwiX19zaGFyZVwiXTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbXBvbmVudCA+IC5zaGFyZTpiZWZvcmUsIC5yZWdpb24tLWRhcmstYmx1ZSAuY29tcG9uZW50ID5cbiAgICAgIFtjbGFzcyo9XCJfX3NoYXJlXCJdOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cbiAgLmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSAuc2hhcmUsIC5jb21wb25lbnQtLWJvcmRlci1ib3R0b21cbiAgW2NsYXNzKj1cIl9fc2hhcmVcIl0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2hhcmUgaDQsXG4gIC5zaGFyZSB1bCxcbiAgW2NsYXNzKj1cIl9fc2hhcmVcIl0gaDQsXG4gIFtjbGFzcyo9XCJfX3NoYXJlXCJdIHVsIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuc2hhcmUuc2hhcmUtLXJpZ2h0IGg0LCAuc2hhcmUuc2hhcmUtLXJpZ2h0IHVsLFxuICBbY2xhc3MqPVwiX19zaGFyZVwiXS5zaGFyZS0tcmlnaHQgaDQsXG4gIFtjbGFzcyo9XCJfX3NoYXJlXCJdLnNoYXJlLS1yaWdodCB1bCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zaGFyZSBoNCxcbiAgW2NsYXNzKj1cIl9fc2hhcmVcIl0gaDQge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICAuc2hhcmUgdWwsXG4gIFtjbGFzcyo9XCJfX3NoYXJlXCJdIHVsIHtcbiAgICBtYXJnaW46IDAgMTBweDsgfVxuICAgIC5zaGFyZSB1bCBsaSxcbiAgICBbY2xhc3MqPVwiX19zaGFyZVwiXSB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbjogMCA1cHg7IH1cbiAgICAuc2hhcmUgdWwgYTpob3ZlcixcbiAgICBbY2xhc3MqPVwiX19zaGFyZVwiXSB1bCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5zaGFyZSB1bCBpLFxuICAgIFtjbGFzcyo9XCJfX3NoYXJlXCJdIHVsIGkge1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBjb2xvcjogIzVBNUE1QTsgfVxuICAgICAgLnJlZ2lvbi0tYmx1ZSAuc2hhcmUgdWwgaSwgLnJlZ2lvbi0tYmx1ZVxuICAgICAgW2NsYXNzKj1cIl9fc2hhcmVcIl0gdWwgaSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLnNoYXJlIHVsIGksXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuc2hhcmUgdWwgaSwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgICBbY2xhc3MqPVwiX19zaGFyZVwiXSB1bCBpLFxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl1cbiAgICAgIFtjbGFzcyo9XCJfX3NoYXJlXCJdIHVsIGkge1xuICAgICAgICBjb2xvcjogI0ZGRjsgfVxuICAgICAgLnNoYXJlIHVsIGk6aG92ZXIsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuc2hhcmUgdWwgaTpob3ZlcixcbiAgICAgIFtjbGFzcyo9XCJfX3NoYXJlXCJdIHVsIGk6aG92ZXIsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgICAgW2NsYXNzKj1cIl9fc2hhcmVcIl0gdWwgaTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDA5RkRCOyB9XG4gICAgICAucmVnaW9uLS1ibHVlIC5zaGFyZSB1bCBpOmhvdmVyLCAucmVnaW9uLS1ibHVlXG4gICAgICBbY2xhc3MqPVwiX19zaGFyZVwiXSB1bCBpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAgIC5yZWdpb24tLWRhcmstYmx1ZSAuc2hhcmUgdWwgaTpob3ZlciwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgICBbY2xhc3MqPVwiX19zaGFyZVwiXSB1bCBpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cblxuLyo9PT09PVxuICBGT1JNU1xuICA9PT09PSovXG5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzVBNUE1QTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cbiAgaW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgaW5wdXQ6OnBsYWNlaG9sZGVyLCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNDOUM5Qzk7IH1cblxuaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyxcbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAwOyB9XG5cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICNGRkYgaW5zZXQ7IH1cblxuaW5wdXQ6LXdlYmtpdC10ZXh0LWZpbGwtY29sb3IsXG50ZXh0YXJlYTotd2Via2l0LXRleHQtZmlsbC1jb2xvcixcbnNlbGVjdDotd2Via2l0LXRleHQtZmlsbC1jb2xvciB7XG4gIGNvbG9yOiAjMTkxOTE5ICFpbXBvcnRhbnQ7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09XG4gICAgU3VibWlzc2lvbiBGb3JtIFN0eWxlc1xuICAgID09PT09PT09PT09PT09PT09PT09PT0qL1xuLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0ge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAyMHB4OyB9XG4gIC5jb2w6bm90KC5jb2wtMTIpIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX2xlZnRjb2wge1xuICAgIGhlaWdodDogMDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9sZWZ0Y29sbWFyayB7XG4gICAgY29sb3I6ICNiMzBhM2M7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9sZWZ0Y29sbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fbGVmdGNvbG5vYnIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fcmlnaHRjb2wge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX3JpZ2h0Y29sbm9iciB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fcmlnaHRjb2xub292ZXJmbG93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC50aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fcm93IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSBsYWJlbCwgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fcm93X2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zIE1lZGl1bVwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmOyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX3Jvd19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiAjNUE1QTVBO1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX2ZpZWxkX2NoZWNrYm94LFxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9maWVsZF9yYWRpbyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX2ZpZWxkX3RleHQsXG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX2ZpZWxkX3RleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItY29sb3I6ICNDOUM5Qzk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBjb2xvcjogIzVBNUE1QTtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fZmllbGRfc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9idXR0b25fc3VibWl0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOUZEQjtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHggMTdweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0NXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9idXR0b25fc3VibWl0IHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxNzBweDsgfSB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5jdXN0b21lcl9zdXJ2ZXlfc3VibWl0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMjhweDsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9maWVsZF90ZXh0LmZvcm1fZmllbGRfbXVsdGl2YWx1ZWQge1xuICAgIHdpZHRoOiAzMTRweDsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9lcnJvciB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjZjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSBwLmZvcm1fZXJyb3Ige1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIGRpdi5zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIGRpdi5jb2xjdHJsLnNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gc3Bhbi5tcl93cml0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDE2cHg7IH1cblxuLyogU3VibWlzc2lvbiBGb3JtIENhcHRjaGEgKi9cbi5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX2NhcHRjaGFfaW5wdXQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE3MHB4OyB9XG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX2NhcHRjaGFfaW5wdXQgaW5wdXQge1xuICAgIHdpZHRoOiAxNzBweDsgfVxuICAuc2VjdGlvbiBmb3JtW21ldGhvZD1QT1NUXSAuZm9ybV9jYXB0Y2hhX2lucHV0IC5mb3JtX2NhcHRjaGFfaW1nIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fY2FwdGNoYV9pbnB1dCAuZm9ybV9jYXB0Y2hhdGltZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDOUM5Qzk7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0gLmZvcm1fY2FwdGNoYV9pbnB1dCAuZm9ybV9jYXB0Y2hhdGltZXJfYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDOUM5O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogOHB4OyB9XG5cbi8qPT09PT09XG4gIFZlbmRvclxuICA9PT09PT0qL1xuLyohIEZsaWNraXR5IHYxLjIuMVxuaHR0cDovL2ZsaWNraXR5Lm1ldGFmaXp6eS5jb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZsaWNraXR5LWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mbGlja2l0eS12aWV3cG9ydCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbGlja2l0eS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogZHJhZ2dhYmxlICovXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQuaXMtcG9pbnRlci1kb3duIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMDlGOyB9XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmFjdGl2ZSB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBsZWZ0OiAxMHB4OyB9XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogMTBweDsgfVxuXG4vKiByaWdodCB0byBsZWZ0ICovXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7IH1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwcHg7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246ZGlzYWJsZWQge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApO1xuICAvKiBJRTggKi9cbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuYXJyb3cge1xuICBmaWxsOiAjMzMzOyB9XG5cbi8qIGNvbG9yICYgc2l6ZSBpZiBubyBTVkcgLSBJRTggYW5kIEFuZHJvaWQgMi4zICovXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uby1zdmcge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAyNnB4OyB9XG5cbi8qIC0tLS0gcGFnZSBkb3RzIC0tLS0gKi9cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC0yNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDAgOHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yNSk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90LmlzLXNlbGVjdGVkIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAxOyB9XG5cbmJvZHkuY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtYWN0aXZlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5mYW5jeWJveC1pcy1oaWRkZW4ge1xuICBsZWZ0OiAtOTk5OXB4O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJyxcciAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTkyOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXIgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWJnLFxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICMxZTFlMWU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NCwgMC43MSk7IH1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogLjg3O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtY2FwdGlvbixcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICBkaXJlY3Rpb246IGx0cjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHMgbGluZWFyIC4yNXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5OTc7IH1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC1zaG93LXRvb2xiYXIgLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLFxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHM7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmZhbmN5Ym94LWluZm9iYXIge1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgbWluLXdpZHRoOiA0NHB4O1xuICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtdG9vbGJhciB7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cblxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDk5OTk0OyB9XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1zdGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNsaWRlIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBwYWRkaW5nOiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OTQ7IH1cblxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLS4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMDsgfVxuXG4uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgei1pbmRleDogOTk5OTU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiA0NHB4IDA7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWh0bWwge1xuICBwYWRkaW5nOiA2cHggNnB4IDAgNnB4OyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIHtcbiAgcGFkZGluZzogNDRweCA0NHB4IDA7IH1cblxuLmZhbmN5Ym94LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDZweCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nOiAyNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY29udGVudCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC4xNCwgMSk7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuMTQsIDEpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTk1OyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbU91dCAuZmFuY3lib3gtY29udGVudCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4uZmFuY3lib3gtY2FuLXpvb21JbiAuZmFuY3lib3gtY29udGVudCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1jb250ZW50IHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4uZmFuY3lib3gtaXMtZHJhZ2dpbmcgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciBbZGF0YS1zZWxlY3RhYmxlPSd0cnVlJ10ge1xuICBjdXJzb3I6IHRleHQ7IH1cblxuLmZhbmN5Ym94LWltYWdlLFxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWh0bWwgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2U1ZTNkZjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNDRweCk7XG4gIG1hcmdpbi1ib3R0b206IDQ0cHg7IH1cblxuLmZhbmN5Ym94LXZpZGVvLFxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC1lcnJvciBwIHtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBCdXR0b25zICovXG4uZmFuY3lib3gtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMTBweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogNDRweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLFxuLmZhbmN5Ym94LWJ1dHRvbjp2aXNpdGVkLFxuLmZhbmN5Ym94LWJ1dHRvbjpsaW5rIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjpmb2N1cyxcbi5mYW5jeWJveC1idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLmRpc2FibGVkLFxuLmZhbmN5Ym94LWJ1dHRvbi5kaXNhYmxlZDpob3Zlcixcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdLFxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF06aG92ZXIge1xuICBjb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5mYW5jeWJveC1idXR0b24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHNoYXBlLXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uOyB9XG5cbi5mYW5jeWJveC1idXR0b24gc3ZnIHBhdGgge1xuICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gIHN0cm9rZS13aWR0aDogMzsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZyBwYXRoOm50aC1jaGlsZCgyKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2Ugc3ZnIHBhdGg6bnRoLWNoaWxkKDEpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZyBwYXRoLFxuLmZhbmN5Ym94LWJ1dHRvbi0tc2hhcmUgc3ZnIHBhdGgsXG4uZmFuY3lib3gtYnV0dG9uLS10aHVtYnMgc3ZnIHBhdGgge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tc2hhcmUgc3ZnIHBhdGgge1xuICBzdHJva2Utd2lkdGg6IDE7IH1cblxuLyogTmF2aWdhdGlvbiBhcnJvd3MgKi9cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICBoZWlnaHQ6IDM4cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDM4cHg7IH1cblxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHMsIGNvbG9yIC4yNXM7IH1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgbGVmdDogLTI1cHg7XG4gIHBhZGRpbmc6IDUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjVweDsgfVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgbGVmdDogNnB4OyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgcmlnaHQ6IDZweDsgfVxuXG4vKiBDbG9zZSBidXR0b24gb24gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgaHRtbCBjb250ZW50ICovXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzU1NTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0NHB4O1xuICB6LWluZGV4OiAxMDsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGwgc3ZnIHtcbiAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IC44O1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlLXdpZHRoOiAxLjU7XG4gIHRyYW5zaXRpb246IHN0cm9rZSAuMXM7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIgc3ZnIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jbG9zZS1zbWFsbCxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgY29sb3I6ICNjY2M7XG4gIHBhZGRpbmc6IDVweDtcbiAgcmlnaHQ6IC0xMnB4O1xuICB0b3A6IC00NHB4OyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHN2Zyxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHN2Zyxcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciBzdmcge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LWlzLXpvb21hYmxlLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24ge1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDI1cHggNDRweCAyNXB4IDQ0cHg7XG4gIHJpZ2h0OiAwOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUV0Q0FRQUFBQmpCY0w3QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFIUkpSRUZVS00rVms4RU9nREFJUTB2ai8zK3hCdzhxSVpadWVGbklLQzkwTUNBSThEbHJrSEdlcXFHSVU2bFZpZ3JCdHBDV3FlUldvSEROcXMwRjdWTlZCVnhtSFJsdm9WcWphWWtkbkRJYWl2SDJIcVo1K29aajNKVXpXQitjT3o0RzQ4QmcrdHNKL3RxdTRkTEMvNFhiKzBHY0Y1QndCQzBBQTUzcUFBQUFBRWxGVGtTdVFtQ0MpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IC0yNXB4O1xuICB6LWluZGV4OiAtMTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbjo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDQ0cHg7XG4gIHRvcDogMDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYTpsaW5rLFxuLmZhbmN5Ym94LWNhcHRpb24gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNjY2M7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXG4uZmFuY3lib3gtbG9hZGluZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiA2MHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTMwcHggMCAwIC0zMHB4O1xuICBvcGFjaXR5OiAuNjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDYwcHg7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4vKiBUcmFuc2l0aW9uIGVmZmVjdHMgKi9cbi5mYW5jeWJveC1hbmltYXRlZCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogc2xpZGUgKi9cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGZhZGUgKi9cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogem9vbS1pbi1vdXQgKi9cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxLjUpOyB9XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7IH1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiByb3RhdGUgKi9cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBjaXJjdWxhciAqL1xuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogdHViZSAqL1xuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoLTEwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7IH1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoMTBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpOyB9XG5cbi8qIFNoYXJlICovXG4uZmFuY3lib3gtc2hhcmUge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1heC13aWR0aDogOTAlO1xuICBwYWRkaW5nOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZhbmN5Ym94LXNoYXJlIGgxIHtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwOyB9XG5cbi5mYW5jeWJveC1zaGFyZSBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwIDVweCAxMHB4IDVweDtcbiAgbWluLXdpZHRoOiAxMzBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246dmlzaXRlZCxcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmxpbmsge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmIge1xuICBiYWNrZ3JvdW5kOiAjM2I1OTk4OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzNDRlODY7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0IHtcbiAgYmFja2dyb3VuZDogI2JkMDgxZDsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYWEwNzE5OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dyB7XG4gIGJhY2tncm91bmQ6ICMxZGExZjI7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzBkOTVlODsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcge1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDI1cHg7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHBhdGgge1xuICBmaWxsOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9faW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICM1ZDViNWI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFRodW1icyAqL1xuLmZhbmN5Ym94LXRodW1icyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBwYWRkaW5nOiAycHggMnB4IDRweCAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIxMnB4O1xuICB6LWluZGV4OiA5OTk5NTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXgge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC10aHVtYnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgcmlnaHQ6IDIxMnB4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC10aHVtYnMteCA+IHVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogN3B4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMteSA+IHVsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMteSA+IHVsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICMyYTJhMmE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDc1cHg7XG4gIG1hcmdpbjogMnB4O1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gNHB4KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaTpiZWZvcmUge1xuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgei1pbmRleDogOTk5OTE7IH1cblxuLmZhbmN5Ym94LXRodW1icyAuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICB3aWR0aDogMTEwcHg7IH1cbiAgLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lciB7XG4gICAgcmlnaHQ6IDExMHB4OyB9XG4gIC5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpOyB9IH1cblxuLyo9PT09PT09PT09XG4gIENvbXBvbmVudHNcbiAgPT09PT09PT09PSovXG4vKj09PT09XG4gIEFMRVJUXG4gID09PT09Ki9cbi5hbGVydCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIC8qIExvb3AgdGhyb3VnaCBwb3NzaWJsZSBzZWN0aW9uIGJhY2tncm91bmQgY29sb3JzLiAqL1xuICAvKiBTcGVjaWFsIGhhbmRsaW5nIGZvciBib3R0b20gYm9yZGVyICovIH1cbiAgLmFsZXJ0LmFsZXJ0LS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5yb3ctLWVxdWFsLWhlaWdodHMgLmFsZXJ0IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmFsZXJ0LmFsZXJ0LS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5RkRCOyB9XG4gIC5hbGVydC5hbGVydC0tc2lsdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRURFQ0VDO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2VkZWNlYyAwJSwgI2Y5ZjlmOSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNFREVDRUMnLCBlbmRDb2xvcnN0cj0nI0Y5RjlGOScsR3JhZGllbnRUeXBlPTEgKTsgfVxuICAgIC5uby1jc3NncmFkaWVudHMgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIge1xuICAgICAgZmlsdGVyOiBub25lOyB9XG4gICAgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIgLmN0YS0tbGluayB7XG4gICAgICBjb2xvcjogIzA1NjhBRTsgfVxuICAuYWxlcnQuYWxlcnQtLWJsdWUsIC5hbGVydC5hbGVydC0tZ3JheSwgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5hbGVydC5hbGVydC0tZ3JheSBhLCAuYWxlcnQuYWxlcnQtLXNpbHZlciBhIHtcbiAgICBjb2xvcjogIzA1NjhBRSAhaW1wb3J0YW50OyB9XG4gIC5hbGVydC5hbGVydC0tbmVhci1ibGFjaywgLmFsZXJ0LmFsZXJ0LS1ibGFjaywgLmFsZXJ0LmFsZXJ0LS1kYXJrLWJsdWUge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5hbGVydC5hbGVydC0tZGFyay1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU2OEFFOyB9XG4gIC5hbGVydC5hbGVydC0tc2lsdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRURFQ0VDO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2VkZWNlYyAwJSwgI2Y5ZjlmOSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNFREVDRUMnLCBlbmRDb2xvcnN0cj0nI0Y5RjlGOScsR3JhZGllbnRUeXBlPTEgKTsgfVxuICAgIC5uby1jc3NncmFkaWVudHMgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIge1xuICAgICAgZmlsdGVyOiBub25lOyB9XG4gICAgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIgLmN0YS0tbGluayB7XG4gICAgICBjb2xvcjogIzA1NjhBRTsgfVxuICAuYWxlcnQuYWxlcnQtLWJsdWUsIC5hbGVydC5hbGVydC0tZ3JheSwgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5hbGVydC5hbGVydC0tZ3JheSBhLCAuYWxlcnQuYWxlcnQtLXNpbHZlciBhIHtcbiAgICBjb2xvcjogIzA1NjhBRSAhaW1wb3J0YW50OyB9XG4gIC5hbGVydC5hbGVydC0tbmVhci1ibGFjaywgLmFsZXJ0LmFsZXJ0LS1ibGFjaywgLmFsZXJ0LmFsZXJ0LS1kYXJrLWJsdWUge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5hbGVydC5hbGVydC0tZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjsgfVxuICAuYWxlcnQuYWxlcnQtLXNpbHZlciB7XG4gICAgYmFja2dyb3VuZDogI0VERUNFQztcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjRURFQ0VDJywgZW5kQ29sb3JzdHI9JyNGOUY5RjknLEdyYWRpZW50VHlwZT0xICk7IH1cbiAgICAubm8tY3NzZ3JhZGllbnRzIC5hbGVydC5hbGVydC0tc2lsdmVyIHtcbiAgICAgIGZpbHRlcjogbm9uZTsgfVxuICAgIC5hbGVydC5hbGVydC0tc2lsdmVyIC5jdGEtLWxpbmsge1xuICAgICAgY29sb3I6ICMwNTY4QUU7IH1cbiAgLmFsZXJ0LmFsZXJ0LS1ibHVlLCAuYWxlcnQuYWxlcnQtLWdyYXksIC5hbGVydC5hbGVydC0tc2lsdmVyIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYWxlcnQuYWxlcnQtLWdyYXkgYSwgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIgYSB7XG4gICAgY29sb3I6ICMwNTY4QUUgIWltcG9ydGFudDsgfVxuICAuYWxlcnQuYWxlcnQtLW5lYXItYmxhY2ssIC5hbGVydC5hbGVydC0tYmxhY2ssIC5hbGVydC5hbGVydC0tZGFyay1ibHVlIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAuYWxlcnQuYWxlcnQtLW5lYXItYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7IH1cbiAgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIge1xuICAgIGJhY2tncm91bmQ6ICNFREVDRUM7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2VkZWNlYyAwJSwgI2Y5ZjlmOSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2VkZWNlYyAwJSwgI2Y5ZjlmOSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI0VERUNFQycsIGVuZENvbG9yc3RyPScjRjlGOUY5JyxHcmFkaWVudFR5cGU9MSApOyB9XG4gICAgLm5vLWNzc2dyYWRpZW50cyAuYWxlcnQuYWxlcnQtLXNpbHZlciB7XG4gICAgICBmaWx0ZXI6IG5vbmU7IH1cbiAgICAuYWxlcnQuYWxlcnQtLXNpbHZlciAuY3RhLS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDU2OEFFOyB9XG4gIC5hbGVydC5hbGVydC0tYmx1ZSwgLmFsZXJ0LmFsZXJ0LS1ncmF5LCAuYWxlcnQuYWxlcnQtLXNpbHZlciB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmFsZXJ0LmFsZXJ0LS1ncmF5IGEsIC5hbGVydC5hbGVydC0tc2lsdmVyIGEge1xuICAgIGNvbG9yOiAjMDU2OEFFICFpbXBvcnRhbnQ7IH1cbiAgLmFsZXJ0LmFsZXJ0LS1uZWFyLWJsYWNrLCAuYWxlcnQuYWxlcnQtLWJsYWNrLCAuYWxlcnQuYWxlcnQtLWRhcmstYmx1ZSB7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgLmFsZXJ0LmFsZXJ0LS1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAuYWxlcnQuYWxlcnQtLXNpbHZlciB7XG4gICAgYmFja2dyb3VuZDogI0VERUNFQztcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjRURFQ0VDJywgZW5kQ29sb3JzdHI9JyNGOUY5RjknLEdyYWRpZW50VHlwZT0xICk7IH1cbiAgICAubm8tY3NzZ3JhZGllbnRzIC5hbGVydC5hbGVydC0tc2lsdmVyIHtcbiAgICAgIGZpbHRlcjogbm9uZTsgfVxuICAgIC5hbGVydC5hbGVydC0tc2lsdmVyIC5jdGEtLWxpbmsge1xuICAgICAgY29sb3I6ICMwNTY4QUU7IH1cbiAgLmFsZXJ0LmFsZXJ0LS1ibHVlLCAuYWxlcnQuYWxlcnQtLWdyYXksIC5hbGVydC5hbGVydC0tc2lsdmVyIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYWxlcnQuYWxlcnQtLWdyYXkgYSwgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIgYSB7XG4gICAgY29sb3I6ICMwNTY4QUUgIWltcG9ydGFudDsgfVxuICAuYWxlcnQuYWxlcnQtLW5lYXItYmxhY2ssIC5hbGVydC5hbGVydC0tYmxhY2ssIC5hbGVydC5hbGVydC0tZGFyay1ibHVlIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAuYWxlcnQuYWxlcnQtLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG4gIC5hbGVydC5hbGVydC0tc2lsdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRURFQ0VDO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2VkZWNlYyAwJSwgI2Y5ZjlmOSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNFREVDRUMnLCBlbmRDb2xvcnN0cj0nI0Y5RjlGOScsR3JhZGllbnRUeXBlPTEgKTsgfVxuICAgIC5uby1jc3NncmFkaWVudHMgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIge1xuICAgICAgZmlsdGVyOiBub25lOyB9XG4gICAgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIgLmN0YS0tbGluayB7XG4gICAgICBjb2xvcjogIzA1NjhBRTsgfVxuICAuYWxlcnQuYWxlcnQtLWJsdWUsIC5hbGVydC5hbGVydC0tZ3JheSwgLmFsZXJ0LmFsZXJ0LS1zaWx2ZXIge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5hbGVydC5hbGVydC0tZ3JheSBhLCAuYWxlcnQuYWxlcnQtLXNpbHZlciBhIHtcbiAgICBjb2xvcjogIzA1NjhBRSAhaW1wb3J0YW50OyB9XG4gIC5hbGVydC5hbGVydC0tbmVhci1ibGFjaywgLmFsZXJ0LmFsZXJ0LS1ibGFjaywgLmFsZXJ0LmFsZXJ0LS1kYXJrLWJsdWUge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tIC5hbGVydCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAuY29tcG9uZW50LmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSAuYWxlcnQ6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtNjBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tIC5hbGVydDphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAtODBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tIC5hbGVydDphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAtMTAwcHg7IH0gfVxuXG4uYWxlcnRfX21lc3NhZ2Uge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zIGVhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgQmxhY2tcIiwgXCJBbGVjayBTYW5zIE1lZGl1bVwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgbWF4LWhlaWdodDogNTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNvbDpub3QoLmNvbC0xMikgLmFsZXJ0X19tZXNzYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5yb3ctLWVxdWFsLWhlaWdodHMgLmFsZXJ0X19tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRvcDogNTAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuYWxlcnRfX21lc3NhZ2Uge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuYWxlcnRfX21lc3NhZ2UuYWxlcnRfX21lc3NhZ2UtLXJldmVhbGVkIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5hbGVydF9fbWVzc2FnZSAubWVzc2FnZS0tbW9iaWxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5hbGVydF9fbWVzc2FnZSAubWVzc2FnZS0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5hbGVydF9fbWVzc2FnZSAubWVzc2FnZS0tZGVza3RvcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYWxlcnRfX21lc3NhZ2UgLm1lc3NhZ2UtLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5hbGVydF9fbWVzc2FnZSBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMwMDlGREI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHpvb206IDE7IH1cbiAgICAucmVnaW9uLS1ncmF5IC5hbGVydF9fbWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjMDU2OEFFOyB9XG4gICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5hbGVydF9fbWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLmFsZXJ0LS1ibHVlIC5hbGVydF9fbWVzc2FnZSBhLFxuICAgIC5yZWdpb24tLWJsdWUgLmFsZXJ0X19tZXNzYWdlIGEge1xuICAgICAgY29sb3I6ICMxOTE5MTk7IH1cbiAgICAuYWxlcnQtLWJsYWNrIC5hbGVydF9fbWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjMDA5RkRCOyB9XG5cbi8qPT09PT09XG4gIEJBTk5FUlxuICA9PT09PT0qL1xuLmJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJhbm5lci5iYW5uZXItLWZlYXR1cmVkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuY29sIC5iYW5uZXIuYmFubmVyLS1mZWF0dXJlZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUE1QTVBO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfVxuICAgICAgLmNvbDpsYXN0LWNoaWxkIC5iYW5uZXIuYmFubmVyLS1mZWF0dXJlZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbCAuYmFubmVyLmJhbm5lci0tZmVhdHVyZWQge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM1QTVBNUE7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMjVweDsgfVxuICAgICAgLmNvbDpmaXJzdC1jaGlsZCAuYmFubmVyLmJhbm5lci0tZmVhdHVyZWQge1xuICAgICAgICBib3JkZXItbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNvbCAuYmFubmVyLmJhbm5lci0tZmVhdHVyZWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MzBweDsgfSB9XG4gIC5yb3ctLWVxdWFsLWhlaWdodHMgLmJhbm5lciB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuYmFubmVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAuYmFubmVyIC5iYW5uZXJfX2ltZyxcbiAgLmJhbm5lciAuYmFubmVyX192aWRlbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBCYW5uZXIgSW1hZ2UgKi9cbi5iYW5uZXJfX2ltZyB7XG4gIC8qIElmIHdlJ3JlIGxvYWRpbmcgYW4gaW1hZ2UgYmFubmVyLCBtYWtlIHN1cmUgdGhlIGltYWdlIGNvbnRhaW5lciBkaXNwbGF5cyBpbiB0aGUgcGFnZSAqL1xuICAvKiBIb21lcGFnZSBGZWF0dXJlZCBCYW5uZXJzICovXG4gIC8qIEdyYWRpZW50IG92ZXJsYXkgKi8gfVxuICAuYmFubmVyW2RhdGEtdHlwZT1cImltYWdlXCJdIC5iYW5uZXJfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9faW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9faW1nOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAuY29sLTQgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9faW1nIGltZyxcbiAgICAuY29sLTYgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9faW1nIGltZyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFubmVyLS1vdmVybGFpZCAuYmFubmVyX19pbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYmFubmVyLS1vdmVybGFpZCAuYmFubmVyX19pbWc6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA1JSwgYmxhY2sgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA1JSwgYmxhY2sgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgNSUsIGJsYWNrIDEwMCUpOyB9XG4gICAgICAgIC5uby1jc3NncmFkaWVudHMgLmJhbm5lci0tb3ZlcmxhaWQgLmJhbm5lcl9faW1nOmFmdGVyIHtcbiAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzMzMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwJyxHcmFkaWVudFR5cGU9MSApO1xuICAgICAgICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzMzMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwJyxHcmFkaWVudFR5cGU9MSApOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5iYW5uZXItLW92ZXJsYWlkIC5iYW5uZXJfX2ltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5iYW5uZXItLW92ZXJsYWlkIC5iYW5uZXJfX2ltZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgYmxhY2sgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIGJsYWNrIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgYmxhY2sgMTAwJSk7IH1cbiAgICAgICAgLm5vLWNzc2dyYWRpZW50cyAuYmFubmVyLS1vdmVybGFpZCAuYmFubmVyX19pbWc6YWZ0ZXIge1xuICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMzMwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgICAgICAgLW1zLWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMzMwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnLEdyYWRpZW50VHlwZT0xICk7IH0gfVxuICAuYmFubmVyX19pbWcgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5iYW5uZXJfX2ltZyBpbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgbGVmdDogNTAlOyB9IH1cblxuLyogQmFubmVyIFZpZGVvICovXG4uYmFubmVyX192aWRlbyB7XG4gIC8qIElmIHdlJ3JlIGxvYWRpbmcgYSB2aWRlbyBiYW5uZXIsIG1ha2Ugc3VyZSB0aGUgdmlkZW8gY29udGFpbmVyIGRpc3BsYXlzIGluIHRoZSBwYWdlICovXG4gIC8qIEdyYWRpZW50IG92ZXJsYXkgKi8gfVxuICAuYmFubmVyW2RhdGEtdHlwZT1cInZpZGVvXCJdIC5iYW5uZXJfX3ZpZGVvIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubm8tdG91Y2hldmVudHMudmlkZW9hdXRvcGxheSAuYmFubmVyLS1vdmVybGFpZCAuYmFubmVyX192aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5vLXRvdWNoZXZlbnRzLnZpZGVvYXV0b3BsYXkgLmJhbm5lci0tb3ZlcmxhaWQgLmJhbm5lcl9fdmlkZW86YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3VjaGV2ZW50cy5uby12aWRlb2F1dG9wbGF5IC5iYW5uZXItLW92ZXJsYWlkIC5iYW5uZXJfX3ZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnRvdWNoZXZlbnRzLm5vLXZpZGVvYXV0b3BsYXkgLmJhbm5lci0tb3ZlcmxhaWQgLmJhbm5lcl9fdmlkZW86YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfSB9XG4gIC5iYW5uZXJfX3ZpZGVvIFtjbGFzc149XCJlbWJlZC0tXCJdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJhbm5lcl9fdmlkZW8gW2NsYXNzXj1cImVtYmVkLS1cIl06Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJhbm5lcl9fdmlkZW8gLmVtYmVkLS15b3V0dWJlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAuYmFubmVyX192aWRlbyAuZW1iZWQtLWd2cCBndnAtZGF0YSBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAudG91Y2hldmVudHMubm8tdmlkZW9hdXRvcGxheSAuYmFubmVyX192aWRlbyAuZW1iZWQtLWd2cCBndnAtZGF0YSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnRvdWNoZXZlbnRzLm5vLXZpZGVvYXV0b3BsYXkgLmJhbm5lcl9fdmlkZW8gaWZyYW1lLFxuICAudG91Y2hldmVudHMubm8tdmlkZW9hdXRvcGxheSAuYmFubmVyX192aWRlbyBndnAtYmFja2dyb3VuZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIEJhbm5lciBDb250ZW50ICovXG4uYmFubmVyX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogTGVmdC1hbGlnbmVkIG9yIFJpZ2h0LWFsaWduZWQgKi9cbiAgLyogUmlnaHQtYWxpZ25lZCAqL1xuICAvKiBIb21lcGFnZSBGZWF0dXJlZCBCYW5uZXJzICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhbm5lcl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwYWRkaW5nOiAwIDU1cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAuYmFubmVyX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jb2wgLmJhbm5lcl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDsgfVxuICAgICAgLnJvdy0tZmx1c2gtaG9yaXpvbnRhbCAuY29sIC5iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmJhbm5lcl9fY29udGVudC5iYW5uZXJfX2NvbnRlbnQtLWxlZnQgLmNvbnRlbnRfX3dyYXAsIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS1yaWdodCAuY29udGVudF9fd3JhcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYmFubmVyX19jb250ZW50LmJhbm5lcl9fY29udGVudC0tbGVmdCAuY29udGVudF9fd3JhcCAuYmFubmVyX190ZXh0LFxuICAgICAgLmJhbm5lcl9fY29udGVudC5iYW5uZXJfX2NvbnRlbnQtLWxlZnQgLmNvbnRlbnRfX3dyYXAgLmJhbm5lcl9fY3RhLCAuYmFubmVyX19jb250ZW50LmJhbm5lcl9fY29udGVudC0tcmlnaHQgLmNvbnRlbnRfX3dyYXAgLmJhbm5lcl9fdGV4dCxcbiAgICAgIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS1yaWdodCAuY29udGVudF9fd3JhcCAuYmFubmVyX19jdGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgLmJhbm5lcl9fY29udGVudC5iYW5uZXJfX2NvbnRlbnQtLWxlZnQgLmNvbnRlbnRfX3dyYXAgLmJhbm5lcl9fdGV4dCwgLmJhbm5lcl9fY29udGVudC5iYW5uZXJfX2NvbnRlbnQtLXJpZ2h0IC5jb250ZW50X193cmFwIC5iYW5uZXJfX3RleHQge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS1yaWdodCAuY29udGVudF9fd3JhcCAuYmFubmVyX190ZXh0LFxuICAgIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS1yaWdodCAuY29udGVudF9fd3JhcCAuYmFubmVyX19jdGEge1xuICAgICAgbGVmdDogNDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS1yaWdodCAuY29udGVudF9fd3JhcCAuYmFubmVyX190ZXh0LFxuICAgIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS1yaWdodCAuY29udGVudF9fd3JhcCAuYmFubmVyX19jdGEge1xuICAgICAgbGVmdDogNTAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5iYW5uZXJfX2NvbnRlbnQgLmNvbnRlbnRfX3dyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogRmxleGJveCBmYWxsYmFjayAqL1xuICAgIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi8gfVxuICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLmJhbm5lcl9fY29udGVudCAuY29udGVudF9fd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0b3A6IDUwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fY29udGVudCAuY29udGVudF9fd3JhcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fY29udGVudCAuY29udGVudF9fd3JhcCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fY29udGVudCAuY29udGVudF9fd3JhcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1JTsgfSB9XG5cbi8qIEJhbm5lciBUZXh0ICovXG4uYmFubmVyX190ZXh0IHtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gIC8qIERhcmsgdGV4dCAqL1xuICAvKiBIb21lcGFnZSBGZWF0dXJlZCBCYW5uZXJzICovXG4gIC8qIEJ1bXAgYmFubmVyIHRleHQgZG93biBpZiB0aGUgYmFubmVyIGNvbXBvbmVudCBpcyB0aGUgZmlyc3QgY29tcG9uZW50IGluIHRoZSBwYWdlIGFmdGVyIGEgdHJhbnNwYXJlbnQgaGVhZGVyICovXG4gIC8qICovXG4gIC8qIEJhbm5lciBIZWFkbGluZSAtIFRleHQgRm9ybWF0ICovXG4gIC8qIEJhbm5lciBIZWFkbGluZSAtIEltYWdlIEZvcm1hdCAqL1xuICAvKiBCYW5uZXIgVGV4dCAtIExldmVsIDIgKi9cbiAgLyogQmFubmVyIFRleHQgLSBMZXZlbCAzICovXG4gIC8qIEJhbm5lciBUZXh0IC0gTGV2ZWwgNCAqLyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5iYW5uZXJfX3RleHQge1xuICAgICAgY29sb3I6ICNGRkYgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmFubmVyX190ZXh0IHtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhbm5lcl9fdGV4dC5iYW5uZXJfX3RleHQtLWRhcmsge1xuICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfSB9XG4gIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjUlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbC00IC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQsXG4gICAgLmNvbC02IC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQge1xuICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLmhlYWRlci0tdHJhbnNwYXJlbnQgKyAuY29udGVudCAuYmFubmVyX190ZXh0LmJhbm5lcl9fdGV4dC0tYWRqdXN0ZWQsXG4gICAgLmhlYWRlci0tdHJhbnNwYXJlbnQgKyBoZWFkZXIgKyAuY29udGVudCAuYmFubmVyX190ZXh0LmJhbm5lcl9fdGV4dC0tYWRqdXN0ZWQge1xuICAgICAgbWFyZ2luLXRvcDogMTA1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLmhlYWRlci0tdHJhbnNwYXJlbnQgKyAuY29udGVudCAuYmFubmVyX190ZXh0LmJhbm5lcl9fdGV4dC0tYWRqdXN0ZWQtbGcsXG4gICAgLmhlYWRlci0tdHJhbnNwYXJlbnQgKyBoZWFkZXIgKyAuY29udGVudCAuYmFubmVyX190ZXh0LmJhbm5lcl9fdGV4dC0tYWRqdXN0ZWQtbGcge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygxMDVweCAtIDQwcHgpOyB9IH1cbiAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDIsXG4gIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwzLFxuICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsNCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAvKiBUaWdodGVuIHVwIHRoZSBtb2JpbGUgc3BhY2luZyBiZXR3ZWVuIGhlYWRsaW5lcyBmb3IgYmFubmVycyB1c2VkIGluIG1hcnF1ZWVzICovXG4gICAgLyogSG9tZXBhZ2UgRmVhdHVyZWQgQmFubmVycyAqLyB9XG4gICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDI6Zmlyc3QtY2hpbGQsXG4gICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDM6Zmlyc3QtY2hpbGQsXG4gICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm1hcnF1ZWUgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDIsIC5tYXJxdWVlXG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMywgLm1hcnF1ZWVcbiAgICAgIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWw0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMiwgLmJhbm5lci0tZmVhdHVyZWRcbiAgICAgIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwzLCAuYmFubmVyLS1mZWF0dXJlZFxuICAgICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMiBwLFxuICAgIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwzIHAsXG4gICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDQgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgLyogRmVhdHVyZWQgQmFubmVycyAodGhpY2tlciB0ZXh0KSAqL1xuICAgIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi8gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS10ZXh0Om5vdCg6b25seS1jaGlsZCksIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5iYW5uZXJfX2NvbnRlbnQtLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgZm9udC1zaXplOiAyLjdyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgICAgIGNvbG9yOiAjRkZGOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjhyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiA0LjVyZW07IH0gfVxuICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS1pbWcge1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLyogSG9tZXBhZ2UgRmVhdHVyZWQgQmFubmVycyAqLyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS1pbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNTUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19oZWFkbGluZS0taW1nOm5vdCg6Zmlyc3QtY2hpbGQpLCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS1pbWc6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS1pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDY1JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19oZWFkbGluZS0taW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLWltZyB7XG4gICAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLWltZyB7XG4gICAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2hlYWRsaW5lLS1pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDg1JTsgfSB9XG4gIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC8qIE1hcnF1ZWUgQmFubmVycyAqL1xuICAgIC8qIEZlYXR1cmVkIEJhbm5lcnMgKHRoaWNrZXIgdGV4dCkgKi9cbiAgICAvKiBIb21lcGFnZSBGZWF0dXJlZCBCYW5uZXJzICovXG4gICAgLyogUmVkdWNlIG1vYmlsZSBzdWJoZWFkbGluZSBzaXplIGZvciBiYW5uZXJzIHVzZWQgaW4gbWFycXVlZXMgKi8gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwyIHtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBmb250LXNpemU6IDMuNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDIge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMy42cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiA0cmVtOyB9IH1cbiAgICAubWFycXVlZSAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMiB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAubWFycXVlZSAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gICAgLmJhbm5lcl9fY29udGVudC0tZmVhdHVyZWQgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm1hcnF1ZWUgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDIge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDMsXG4gIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWw0IHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi8gfVxuICAgIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwzIGEsXG4gICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDQgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDMsIC5iYW5uZXItLWZlYXR1cmVkXG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsNCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwzLCAuYmFubmVyLS1mZWF0dXJlZFxuICAgICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDMsIC5iYW5uZXItLWZlYXR1cmVkXG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsNCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIC5jb2wtNCAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMyxcbiAgICAgIC5jb2wtNiAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMywgLmNvbC00IC5iYW5uZXItLWZlYXR1cmVkXG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsNCxcbiAgICAgIC5jb2wtNiAuYmFubmVyLS1mZWF0dXJlZFxuICAgICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19sZXZlbDQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG4gIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9fbGV2ZWwzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07IH0gfVxuICAuYmFubmVyX190ZXh0IC5iYW5uZXJfX2xldmVsNCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJhbm5lcl9fdGV4dCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKiBCYW5uZXIgQ2FsbC10by1BY3Rpb24gKi9cbi5iYW5uZXJfX2N0YSB7XG4gIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi8gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFubmVyX19jdGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5iYW5uZXJfX2N0YSAuY3RhLS1saW5rIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYmFubmVyLS1mZWF0dXJlZCAuYmFubmVyX19jdGEge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX2N0YSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fY3RhIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAgIC5jb2wgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fY3RhIC5jdGEtLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMTM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7IH0gfVxuXG4vKj09PT09PT09PT09PVxuICBCUkFORCBBU1NFVFNcbiAgPT09PT09PT09PT09Ki9cbi5icmFuZC1hc3NldHMge1xuICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgei1pbmRleDogOTsgfVxuICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19maWx0ZXItbmF2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDU1cHg7XG4gICAgICAgIG1heC13aWR0aDogNjkwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19maWx0ZXItbmF2IC5hc3NldC10eXBlLCAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5XG4gICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19maWx0ZXItbmF2IC5hc3NldC1zZWFyY2gge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLmFzc2V0LXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19maWx0ZXItbmF2IC5hc3NldC10eXBlIHtcbiAgICAgICAgICB3aWR0aDogMTM1cHg7IH0gfVxuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiAudHlwZS10b2dnbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAwIDAgMzBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlGREI7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIGhlaWdodDogMzdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4OyB9XG4gICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnR5cGUtdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnR5cGUtdG9nZ2xlOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTUlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA3cHggNHB4IDAgNHB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnR5cGUtc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0M5QzlDOTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIG1pbi13aWR0aDogMTM1cHg7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19maWx0ZXItbmF2IC50eXBlLXNlbGVjdCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDsgfSB9XG4gICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnR5cGUtc2VsZWN0IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnR5cGUtc2VsZWN0IGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlGREI7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiAudHlwZS1zZWxlY3QgYS5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYuYXNzZXRzX19maWx0ZXItbmF2LS1vcGVuIC50eXBlLXNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdi5hc3NldHNfX2ZpbHRlci1uYXYtLW9wZW4gLnR5cGUtdG9nZ2xlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuICAgICAgdG9wOiA0NSU7IH1cbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLmFzc2V0LXNlYXJjaCB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnNlYXJjaC1maWVsZCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19maWx0ZXItbmF2IC5zZWFyY2gtZmllbGQgZmllbGRzZXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOUZEQjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMzBweCAzMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19pbnB1dCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2VhZWFlYTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWFlYWVhO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX2lucHV0IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDdweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19pbnB1dCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpOyB9IH1cbiAgICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX2lucHV0OjotbXMtY2xlYXIsIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX2lucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX2NsZWFyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAwIC0yOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNnB4OyB9XG4gICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19jbGVhcjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0cHgpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgd2hpdGUgMzIlLCB3aGl0ZSA5OSUpO1xuICAgICAgICAvKiBGRjMuNi0xNSAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCB3aGl0ZSAzMiUsIHdoaXRlIDk5JSk7XG4gICAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgd2hpdGUgMzIlLCB3aGl0ZSA5OSUpO1xuICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMGZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZmZmZmJyxHcmFkaWVudFR5cGU9MSApO1xuICAgICAgICAvKiBJRTYtOSAqL1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZpbHRlci1uYXYgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19jbGVhciAuaWNvbi0tY2xlYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkMmQyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmlsdGVyLW5hdiAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX2NsZWFyIC5pY29uLS1jbGVhcjphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjdyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICAgIGxlZnQ6IDU1JTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19maWx0ZXItbmF2IC5zZWFyY2gtZmllbGQgLnNlYXJjaF9fc3VibWl0IHNwYW46YWZ0ZXIge1xuICAgICAgY29sb3I6ICNGRkY7IH1cbiAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5yb3cgKyAucm93IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuY29sIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuY29sIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgZmxleC1iYXNpczogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuY29sIHtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuY29tcG9uZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fbWVkaWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSB7XG4gICAgICAgIGhlaWdodDogMjQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fbWVkaWEge1xuICAgICAgICBoZWlnaHQ6IDI5NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fbWVkaWEgPiBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfSB9XG4gIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fbWVkaWEgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX21lZGlhIC5pdGVtX192aWRlbyA+ICoge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fbWVkaWEgLml0ZW1fX3ZpZGVvIC5pdGVtX19wcmV2aWV3IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9fdmlkZW8gLml0ZW1fX3ByZXZpZXcgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9fdmlkZW8gLml0ZW1fX3RodW1ibmFpbDphZnRlcixcbiAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nLS1iLXJvbGwgLml0ZW1fX3RodW1ibmFpbDphZnRlciB7XG4gICAgdGV4dC1zaGFkb3c6IDNweCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nLS1iLXJvbGwgLml0ZW1fX3RodW1ibmFpbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nLS1iLXJvbGwgLml0ZW1fX3RodW1ibmFpbDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6kg1wiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQVRUX0ljb25zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTByZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIG9wYWNpdHk6IDAuODU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX21lZGlhIC5pdGVtX19pbWctLWItcm9sbCAuaXRlbV9fdGh1bWJuYWlsOmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDhyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jb2wtMiAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX21lZGlhIC5pdGVtX19pbWctLWItcm9sbCAuaXRlbV9fdGh1bWJuYWlsOmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDhyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuY29sLTMgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nLS1iLXJvbGwgLml0ZW1fX3RodW1ibmFpbDphZnRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiA4cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAuY29sLTQgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nLS1iLXJvbGwgLml0ZW1fX3RodW1ibmFpbDphZnRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiA4cmVtOyB9IH1cbiAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIC5pdGVtX190aHVtYm5haWwge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX21lZGlhIC5pdGVtX19pbWcgLml0ZW1fX3RodW1ibmFpbCBpbWcge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIC5pdGVtX190aHVtYm5haWwgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIC5pdGVtX190aHVtYm5haWwgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX3RpdGxlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7IH0gfVxuICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX3RpdGxlIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX190aXRsZSBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19jdGEge1xuICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgLyogRml4ZXMgZm9yIEdWUCB3YXRjaCBsaW5rcyAqLyB9XG4gICAgLmJyYW5kLWFzc2V0cyAuYXNzZXRzX19mZWVkIC5pdGVtX19jdGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fY3RhIGEge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBNZWRpdW1cIiwgXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgICBjb2xvcjogIzA1NjhBRTsgfVxuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fY3RhIC5yZWFkLW1vcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzE5MTkxOTsgfVxuICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fZmVlZCAuaXRlbV9fY3RhIGF0dC1ndnAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2ZlZWQgLml0ZW1fX2N0YSBhdHQtZ3ZwID4gZGl2IHtcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWwgIWltcG9ydGFudDsgfVxuICAuYnJhbmQtYXNzZXRzIC5hc3NldHNfX2N0YSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5icmFuZC1hc3NldHMgLmFzc2V0c19fY3RhIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMDsgfSB9XG5cbi8qPT09PT09PT09PT09PVxuICBGRUFUVVJFRCBJVEVNXG4gID09PT09PT09PT09PT0qL1xuLmZlYXR1cmVkLWl0ZW0ge1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgLmZlYXR1cmVkLWl0ZW06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbCAuZmVhdHVyZWQtaXRlbSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucm93LS1lcXVhbC1oZWlnaHRzIC5mZWF0dXJlZC1pdGVtIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5mZWF0dXJlZC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgLmZlYXR1cmVkLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS5mZWF0dXJlZC1pdGVtLS1sZWZ0LFxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0uZmVhdHVyZWQtaXRlbS0tcmlnaHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5mZWF0dXJlZC1pdGVtLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTsgfVxuICAgICAgLmNvbC00IC5mZWF0dXJlZC1pdGVtLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuZmVhdHVyZWQtaXRlbS5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMDVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwNXB4OyB9XG4gICAgICAuY29sLTIgLmZlYXR1cmVkLWl0ZW0uZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlLFxuICAgICAgLmNvbC0zIC5mZWF0dXJlZC1pdGVtLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7IH0gfVxuXG4vKiBGZWF0dXJlZCBJdGVtIE1lZGlhICovXG4uaXRlbV9fbWVkaWEge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBHZW5lcmFsIFByZXZpZXcgSW1hZ2VzICovXG4gIC8qIEltYWdlICovXG4gIC8qIFZpZGVvICovIH1cbiAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAuaXRlbV9fbWVkaWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5mZWF0dXJlZC1pdGVtLS1ib3JkZXIgLml0ZW1fX21lZGlhIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNUE1QTVBOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgLml0ZW1fX21lZGlhLFxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IC5pdGVtX19tZWRpYSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA0NzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fbWVkaWEge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5IC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IC5pdGVtX19tZWRpYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuaXRlbV9fbWVkaWEgLml0ZW1fX3ByZXZpZXc6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuaXRlbV9fbWVkaWEgLml0ZW1fX3ByZXZpZXc6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLml0ZW1fX21lZGlhIC5pdGVtX19pbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG4gICAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbC0yIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLml0ZW1fX21lZGlhIC5pdGVtX19pbWcgYTpub3QoLml0ZW1fX3ByZXZpZXcpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOyB9XG4gICAgICAgIC5mZWF0dXJlZC1pdGVtIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIGE6bm90KC5pdGVtX19wcmV2aWV3KTpob3ZlcixcbiAgICAgICAgLmZlYXR1cmVkLWl0ZW0gLml0ZW1fX21lZGlhIC5pdGVtX19pbWcgYTpub3QoLml0ZW1fX3ByZXZpZXcpOmZvY3VzIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZ1tkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSB7XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZ1tkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7IH1cbiAgICAgIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nW2RhdGEtcGxhY2Vob2xkZXI9XCJ0cnVlXCJdIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nW2RhdGEtcGxhY2Vob2xkZXI9XCJ0cnVlXCJdIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZyBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZyBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgLml0ZW1fX21lZGlhIC5pdGVtX19pbWcgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5pdGVtX19tZWRpYSAuaXRlbV9fdmlkZW9bZGF0YS10eXBlPVwieW91dHViZVwiXSAuaXRlbV9fdmlkZW8tLWd2cCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaXRlbV9fbWVkaWEgLml0ZW1fX3ZpZGVvW2RhdGEtdHlwZT1cImd2cFwiXSAuaXRlbV9fdmlkZW8tLXlvdXR1YmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLml0ZW1fX21lZGlhIC5pdGVtX192aWRlbyAuaXRlbV9fcHJldmlldyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXRlbV9fbWVkaWEgLml0ZW1fX3ZpZGVvIC5pdGVtX190aHVtYm5haWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG4gICAgLml0ZW1fX21lZGlhIC5pdGVtX192aWRlbyAuaXRlbV9fdGh1bWJuYWlsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qSQXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBmb250LWZhbWlseTogXCJBVFRfSWNvbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMHJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgb3BhY2l0eTogMC44NTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5pdGVtX19tZWRpYSAuaXRlbV9fdmlkZW8gLml0ZW1fX3RodW1ibmFpbDphZnRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiA4cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY29sLTIgLml0ZW1fX21lZGlhIC5pdGVtX192aWRlbyAuaXRlbV9fdGh1bWJuYWlsOmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDhyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuY29sLTMgLml0ZW1fX21lZGlhIC5pdGVtX192aWRlbyAuaXRlbV9fdGh1bWJuYWlsOmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDhyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIC5jb2wtNCAuaXRlbV9fbWVkaWEgLml0ZW1fX3ZpZGVvIC5pdGVtX190aHVtYm5haWw6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHJlbTsgfSB9XG4gIC5pdGVtX19tZWRpYSBbY2xhc3MqPVwiZW1iZWQtLVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5pdGVtX19tZWRpYSBbY2xhc3MqPVwiZW1iZWQtLVwiXTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBJdGVtIFRleHQgQ29udGVudCAqL1xuLml0ZW1fX2NvbnRlbnQge1xuICBmbGV4OiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG4gIC5yZWdpb24tLXdoaXRlIC5pdGVtX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAucmVnaW9uLS13aGl0ZSAucm93LS1uby1ndXR0ZXJzIC5pdGVtX19jb250ZW50LFxuICAucmVnaW9uLS13aGl0ZSAucm93LS1mbHVzaC1ob3Jpem9udGFsIC5pdGVtX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgLnJlZ2lvbltjbGFzcyo9XCItYmx1ZVwiXSAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUsXG4gIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2luZm8sXG4gIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uLFxuICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUsXG4gIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdIC5pdGVtX19jb250ZW50IC5pdGVtX19pbmZvLFxuICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjMTkxOTE5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZWdpb24tLWRhcmstYmx1ZSAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0IC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSxcbiAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuaXRlbV9faW5mbyxcbiAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24sXG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUsXG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuaXRlbV9faW5mbyxcbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0IC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlLFxuICAgIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IC5pdGVtX19jb250ZW50IC5pdGVtX19pbmZvLFxuICAgIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbixcbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSxcbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IC5pdGVtX19jb250ZW50IC5pdGVtX19pbmZvLFxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdXG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uLCAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAuY29sLTIgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlLFxuICAgIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgIC5jb2wtMiAuaXRlbV9fY29udGVudCAuaXRlbV9faW5mbyxcbiAgICAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAuY29sLTIgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uLFxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdXG4gICAgLmNvbC0yIC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSxcbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgIC5jb2wtMiAuaXRlbV9fY29udGVudCAuaXRlbV9faW5mbyxcbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgIC5jb2wtMiAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24sIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgIC5jb2wtMiAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUsXG4gICAgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgLmNvbC0yIC5pdGVtX19jb250ZW50IC5pdGVtX19pbmZvLFxuICAgIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgIC5jb2wtMiAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24sXG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl1cbiAgICAuY29sLTIgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlLFxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdXG4gICAgLmNvbC0yIC5pdGVtX19jb250ZW50IC5pdGVtX19pbmZvLFxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdXG4gICAgLmNvbC0yIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogI0ZGRjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgLml0ZW1fX2NvbnRlbnQsXG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0IC5pdGVtX19jb250ZW50LCAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5XG4gICAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAuaXRlbV9fY29udGVudCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAuaXRlbV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4OyB9IH1cbiAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAuaXRlbV9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2wtMiAuaXRlbV9fY29udGVudCB7XG4gICAgICAvKiBUaW55IG9yaWVudGF0aW9uIGZvciBzbWFsbGVzdCBjb2x1bW5zICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgLml0ZW1fX2NvbnRlbnQgLmNvbnRlbnRfX3dyYXAge1xuICAgICAgbWF4LXdpZHRoOiA5NSU7IH0gfVxuICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlIC5pdGVtX19jb250ZW50IC5jb250ZW50X193cmFwIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuY29udGVudF9fd3JhcCxcbiAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAuaXRlbV9fY29udGVudCAuY29udGVudF9fd3JhcCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNvbC0yIC5pdGVtX19jb250ZW50IC5jb250ZW50X193cmFwIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlLCAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlXG4gIC5pdGVtX19jb250ZW50IC5pdGVtX19pbmZvLCAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlXG4gIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUsXG4gICAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfSB9XG4gICAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUge1xuICAgICAgbWF4LXdpZHRoOiA5MCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlIC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICAgICAgLmNvbC00IC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5jb2wtMiAuZmVhdHVyZWQtaXRlbTpub3QoLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSkgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlIHtcbiAgICAgIC8qIFRpbnkgb3JpZW50YXRpb24gZm9yIHNtYWxsZXN0IGNvbHVtbnMgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2luZm8ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW46IDEwcHggMCAxNXB4OyB9XG4gICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2luZm86Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2luZm8ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2luZm8sXG4gICAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAuaXRlbV9fY29udGVudCAuaXRlbV9faW5mbyxcbiAgICAgIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2luZm8ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cbiAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogMS40NTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24sXG4gICAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9IH1cbiAgICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH0gfVxuICAgIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24gdWwsXG4gICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIG9sIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDE1cHggMjBweDsgfVxuICAgICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIHVsIHVsLFxuICAgICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIHVsIG9sLFxuICAgICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIG9sIHVsLFxuICAgICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIG9sIG9sIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMTVweCAxNXB4OyB9XG4gICAgICAgIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiB1bCB1bCA+IGxpLFxuICAgICAgICAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24gdWwgb2wgPiBsaSxcbiAgICAgICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIG9sIHVsID4gbGksXG4gICAgICAgIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiBvbCBvbCA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgICAgICAgIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiB1bCB1bCA+IGxpLFxuICAgICAgICAgICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uIHVsIG9sID4gbGksXG4gICAgICAgICAgICAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24gb2wgdWwgPiBsaSxcbiAgICAgICAgICAgIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiBvbCBvbCA+IGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH0gfVxuICAgIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiB1bCA+IGxpOmJlZm9yZSB7XG4gICAgICB0b3A6IDEycHg7IH1cbiAgICAuaXRlbV9fY29udGVudCAuaXRlbV9fZGVzY3JpcHRpb24gbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2Rlc2NyaXB0aW9uOmZpcnN0LWNoaWxkIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5pdGVtX19jb250ZW50IC5pdGVtX19kZXNjcmlwdGlvbiBhIHtcbiAgICAgIGNvbG9yOiAjMDU2OEFFOyB9XG4gIC5pdGVtX19jb250ZW50IC5pdGVtX19jdGEge1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgLyogTGlua3Mgb24gYmxhY2sgYmFja2dyb3VuZHMgKi9cbiAgICAvKiBMaW5rcyBvbiBibHVlIGJhY2tncm91bmRzICovIH1cbiAgICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlIC5pdGVtX19jb250ZW50IC5pdGVtX19jdGEge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmNvbC0yIC5pdGVtX19jb250ZW50IC5pdGVtX19jdGEgLmN0YS0tbGluayxcbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2N0YSAuY3RhLS1saW5rLFxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2N0YSAuY3RhLS1saW5rIHtcbiAgICAgICAgY29sb3I6ICMwMDlGREI7IH0gfVxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2N0YSAuY3RhLS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDU2OEFFOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucmVnaW9uLS1ibHVlIC5jb2wtMiAuaXRlbV9fY29udGVudCAuaXRlbV9fY3RhIC5jdGEtLWxpbmssXG4gICAgICAucmVnaW9uLS1ibHVlIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2N0YSAuY3RhLS1saW5rLFxuICAgICAgLnJlZ2lvbi0tYmx1ZSAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAuaXRlbV9fY29udGVudCAuaXRlbV9fY3RhIC5jdGEtLWxpbmsge1xuICAgICAgICBjb2xvcjogIzE5MTkxOTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5jb2wtMiAuaXRlbV9fY29udGVudCAuaXRlbV9fY3RhIC5jdGEtLWxpbmssXG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAuaXRlbV9fY29udGVudCAuaXRlbV9fY3RhIC5jdGEtLWxpbmssXG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX2N0YSAuY3RhLS1saW5rIHtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0IC5pdGVtX19jb250ZW50IC5pdGVtX19jdGEgLmN0YS0tbGluayxcbiAgICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0IC5pdGVtX19jb250ZW50IC5pdGVtX19jdGEgLmN0YS0tbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0gfVxuXG4vKj09PT09PT09PT09PT09PT1cbiAgRkVBVFVSRUQgU1RPUklFU1xuICA9PT09PT09PT09PT09PT09Ki9cbi5mZWF0dXJlZC1zdG9yaWVzIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZlYXR1cmVkLXN0b3JpZXMge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH0gfVxuICAuZmVhdHVyZWQtc3Rvcmllcy5mZWF0dXJlZC1zdG9yaWVzLS1leHBhbmRlZCAucm93Om50aC1vZi10eXBlKDMpIC5mZWF0dXJlZC1pdGVtLCAuZmVhdHVyZWQtc3Rvcmllcy5mZWF0dXJlZC1zdG9yaWVzLS1leHBhbmRlZCAucm93Om50aC1vZi10eXBlKDQpIC5mZWF0dXJlZC1pdGVtIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mZWF0dXJlZC1zdG9yaWVzIC5yb3cge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5mZWF0dXJlZC1zdG9yaWVzIC5yb3cgKyAucm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLmZlYXR1cmVkLXN0b3JpZXMgLnJvdyArIC5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgICAuZmVhdHVyZWQtc3RvcmllcyAucm93Om50aC1vZi10eXBlKDMpLCAuZmVhdHVyZWQtc3RvcmllcyAucm93Om50aC1vZi10eXBlKDQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mZWF0dXJlZC1zdG9yaWVzIC5yb3c6bnRoLW9mLXR5cGUoMykgLmZlYXR1cmVkLWl0ZW0sIC5mZWF0dXJlZC1zdG9yaWVzIC5yb3c6bnRoLW9mLXR5cGUoNCkgLmZlYXR1cmVkLWl0ZW0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2U7IH1cbiAgLmZlYXR1cmVkLXN0b3JpZXMgLmNvbXBvbmVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZlYXR1cmVkLXN0b3JpZXMgLmNvbXBvbmVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuZmVhdHVyZWQtc3RvcmllcyAuc3Rvcmllc19fY3RhIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIEphdmFTY3JpcHQgd2lsbCBkaXNwbGF5IHRoaXMgY3RhIG9ubHkgaWYgYSBtaW5pbnVtIG51bWJlciBvZiBpdGVtcyBhcmUgcHJlc2VudCBpbiB0aGUgc2V0ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZlYXR1cmVkLXN0b3JpZXMgLnN0b3JpZXNfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mZWF0dXJlZC1zdG9yaWVzIC5zdG9yaWVzX19jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cblxuLyo9PT09PT09PT09PT09PT1cbiAgRVhQQU5EQUJMRSBURVhUXG4gID09PT09PT09PT09PT09PSovXG4uZXhwYW5kYWJsZS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICAuY29sIC5leHBhbmRhYmxlLXRleHQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmV4cGFuZGFibGUtdGV4dCAudGV4dF9fd3JhcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5leHBhbmRhYmxlLXRleHQgLnRleHRfX2N0YSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgIC5leHBhbmRhYmxlLXRleHQgLnRleHRfX2N0YSAuY3RhLS1saW5rIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwNTY4QUU7IH1cbiAgICAgIC5yZWdpb24tLWJsdWUgLmV4cGFuZGFibGUtdGV4dCAudGV4dF9fY3RhIC5jdGEtLWxpbmsge1xuICAgICAgICBjb2xvcjogIzE5MTkxOTsgfVxuICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5leHBhbmRhYmxlLXRleHQgLnRleHRfX2N0YSAuY3RhLS1saW5rIHtcbiAgICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLmV4cGFuZGFibGUtdGV4dCAudGV4dF9fY3RhIC5jdGEtLWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmV4cGFuZGFibGUtdGV4dCAudGV4dF9fY3RhIC5jdGEtLWxpbmsge1xuICAgICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgICAgLmV4cGFuZGFibGUtdGV4dCAudGV4dF9fY3RhIC5jdGEtLWxpbms6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gIC5leHBhbmRhYmxlLXRleHQudGV4dC0tZm9vdGVyIC50ZXh0X193cmFwIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0M5QzlDOTtcbiAgICBwYWRkaW5nLXRvcDogNDVweDsgfVxuICAgIC5yZWdpb24tLWJsdWUgLmV4cGFuZGFibGUtdGV4dC50ZXh0LS1mb290ZXIgLnRleHRfX3dyYXAge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwOyB9XG4gICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5leHBhbmRhYmxlLXRleHQudGV4dC0tZm9vdGVyIC50ZXh0X193cmFwIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0YyRjJGMjsgfVxuICAuZXhwYW5kYWJsZS10ZXh0LnRleHQtLWZvb3RlciAuY3RhLS1saW5rIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLmV4cGFuZGFibGUtdGV4dCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQXV0aG9yIEluc3RhbmNlIERpc3BsYXkgRml4ZXMgKi9cbi5hZW0tQXV0aG9yTGF5ZXItRWRpdCAuZXhwYW5kYWJsZS1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKj09PT09PT09PT09PT09XG4gIExBVEVTVCBTVE9SSUVTXG4gID09PT09PT09PT09PT09Ki9cbi5sYXRlc3Qtc3RvcmllcyB7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlGREI7IH1cbiAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCJibHVlXCJdIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdixcbiAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCJibGFja1wiXSAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXYge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkZGOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXYgLmZpbHRlci10b2dnbGUsXG4gICAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXYgLmZpbHRlci10YWdzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdG9nZ2xlIGg0LFxuICAgICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBwYWRkaW5nOiA3cHggMDsgfSB9XG4gICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdG9nZ2xlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdG9nZ2xlIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRvZ2dsZSBoNCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBNZWRpdW1cIiwgXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRvZ2dsZSBoNDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCJibHVlXCJdIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRvZ2dsZSBoNCxcbiAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCJibGFja1wiXSAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXYgLmZpbHRlci10b2dnbGUgaDQge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH0gfVxuICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3Mge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgICAgICAgICAuY29sLTYgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyxcbiAgICAgICAgICAuY29sLTQgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyxcbiAgICAgICAgICAuY29sLTMgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyxcbiAgICAgICAgICAuY29sLTIgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgLmNvbC05IC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3Mge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAuY29sLTggLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkge1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRkZGOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXYgLmZpbHRlci10YWdzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICAgICAgICAuY29sLTYgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSxcbiAgICAgICAgICAuY29sLTQgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSxcbiAgICAgICAgICAuY29sLTMgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSxcbiAgICAgICAgICAuY29sLTIgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkge1xuICAgICAgICAgIG1hcmdpbjogMCAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAuY29sLTkgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSxcbiAgICAgICAgLmNvbC04IC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBNZWRpdW1cIiwgXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAgICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgICAgICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSBhLmFjdGl2ZSwgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTBjNzsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkgYS5hY3RpdmUsIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDA5RkRCO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOUZEQjsgfVxuICAgICAgICAgICAgICAucmVnaW9uLS1ncmF5IC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmlsdGVyLW5hdiAuZmlsdGVyLXRhZ3MgbGkgYS5hY3RpdmUsIC5yZWdpb24tLWdyYXkgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzA1NjhBRTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDU2OEFFOyB9XG4gICAgICAgICAgICAgIC5yZWdpb25bY2xhc3MqPVwiYmx1ZVwiXSAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXYgLmZpbHRlci10YWdzIGxpIGEuYWN0aXZlLCAucmVnaW9uW2NsYXNzKj1cImJsdWVcIl0gLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2IC5maWx0ZXItdGFncyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGOyB9IH1cbiAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZpbHRlci1uYXYuc3Rvcmllc19fZmlsdGVyLW5hdi0tb3BlbiAuZmlsdGVyLXRvZ2dsZSBoNDphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTtcbiAgICAgIHRvcDogNDAlOyB9XG4gICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19maWx0ZXItbmF2LnN0b3JpZXNfX2ZpbHRlci1uYXYtLW9wZW4gLmZpbHRlci10YWdzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAucm93ICsgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLmNvbCB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAgICAgLmNvbC02IC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAuY29sLFxuICAgICAgLmNvbC00IC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAuY29sLFxuICAgICAgLmNvbC0zIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAuY29sLFxuICAgICAgLmNvbC0yIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAuY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgLmNvbC05IC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAuY29sLFxuICAgIC5jb2wtOCAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLmNvbCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLmNvbXBvbmVudCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX21lZGlhIHtcbiAgICBtYXgtaGVpZ2h0OiA0NTBweDsgfVxuICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX21lZGlhIC5pdGVtX19pbWdbZGF0YS1wbGFjZWhvbGRlcj1cInRydWVcIl0ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZ1tkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19mZWVkIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nW2RhdGEtcGxhY2Vob2xkZXI9XCJ0cnVlXCJdIGE6YWZ0ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX21lZGlhIC5pdGVtX19pbWdbZGF0YS1wbGFjZWhvbGRlcj1cInRydWVcIl0gYTphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZyZW07IH0gfVxuICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX3RpdGxlIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmxhdGVzdC1zdG9yaWVzIC5zdG9yaWVzX19mZWVkIC5pdGVtX190aXRsZSBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX2luZm8ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zIE1lZGl1bVwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmOyB9XG4gIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fZmVlZCAuaXRlbV9fZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAubGF0ZXN0LXN0b3JpZXMgLnN0b3JpZXNfX2N0YSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyMHB4IDAgNjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5sYXRlc3Qtc3RvcmllcyAuc3Rvcmllc19fY3RhIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gODBweDsgfSB9XG4gIC5sYXRlc3Qtc3Rvcmllcy5sYXRlc3Qtc3Rvcmllcy0tbGlzdCAuc3Rvcmllc19faGVhZGluZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGF0ZXN0LXN0b3JpZXMubGF0ZXN0LXN0b3JpZXMtLWxpc3QgLnN0b3JpZXNfX2ZlZWQgLmNvbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICAubGF0ZXN0LXN0b3JpZXMubGF0ZXN0LXN0b3JpZXMtLWxpc3QgLnN0b3JpZXNfX2ZlZWQgLmNvbXBvbmVudCB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubGF0ZXN0LXN0b3JpZXMubGF0ZXN0LXN0b3JpZXMtLWxpc3QgLnN0b3JpZXNfX2ZlZWQgLmNvbXBvbmVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX19tZWRpYSxcbiAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX19kZXNjcmlwdGlvbixcbiAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX19jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX19jb250ZW50LFxuICAuY29sLTIgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX19jb250ZW50IC5jb250ZW50X193cmFwIHtcbiAgICBtYXgtd2lkdGg6IDg1JTsgfVxuICAubGF0ZXN0LXN0b3JpZXMubGF0ZXN0LXN0b3JpZXMtLWxpc3QgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX2luZm8ge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX190aXRsZSBhIHtcbiAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgIC5yZWdpb24tLXdoaXRlIC5sYXRlc3Qtc3Rvcmllcy5sYXRlc3Qtc3Rvcmllcy0tbGlzdCAuc3Rvcmllc19fZmVlZCAuaXRlbV9fdGl0bGUgYSxcbiAgICAucmVnaW9uLS1ncmF5IC5sYXRlc3Qtc3Rvcmllcy5sYXRlc3Qtc3Rvcmllcy0tbGlzdCAuc3Rvcmllc19fZmVlZCAuaXRlbV9fdGl0bGUgYSB7XG4gICAgICBjb2xvcjogIzA1NjhBRTsgfVxuICAgIC5yZWdpb25bY2xhc3MqPVwiYmx1ZVwiXSAubGF0ZXN0LXN0b3JpZXMubGF0ZXN0LXN0b3JpZXMtLWxpc3QgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX3RpdGxlIGEge1xuICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAubGF0ZXN0LXN0b3JpZXMubGF0ZXN0LXN0b3JpZXMtLWxpc3QgLnN0b3JpZXNfX2ZlZWQgLml0ZW1fX3RpdGxlIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19mZWVkIC5pdGVtX19pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zIE1lZGl1bVwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmOyB9XG4gIC5sYXRlc3Qtc3Rvcmllcy5sYXRlc3Qtc3Rvcmllcy0tbGlzdCAuc3Rvcmllc19fY3RhIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmxhdGVzdC1zdG9yaWVzLmxhdGVzdC1zdG9yaWVzLS1saXN0IC5zdG9yaWVzX19jdGEge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAubGF0ZXN0LXN0b3JpZXMubGF0ZXN0LXN0b3JpZXMtLWxpc3QgLnN0b3JpZXNfX2N0YSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4vKj09PT09PT09XG4gIExJR0hUQk9YXG4gID09PT09PT09Ki9cbi8qIEZhbmN5Ym94IG1vZGFscyAqL1xuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OTk5OTk5OyB9XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgICBvcGFjaXR5OiAwLjg1OyB9XG5cbi5mYW5jeWJveC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UsXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIHtcbiAgcGFkZGluZzogMzVweCAyMHB4IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSxcbiAgICAuZmFuY3lib3gtc2xpZGUtLXZpZGVvIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggNjVweCAzMHB4IDU1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSxcbiAgICAuZmFuY3lib3gtc2xpZGUtLXZpZGVvIHtcbiAgICAgIHBhZGRpbmc6IDkwcHggMCA0NXB4OyB9IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEdWUCBtb2RhbHMgKi9cbltjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXVtjbGFzcyo9XCJndnBfcGxheWVyX19tb2RhbFwiXSxcbi5mYW5jeWJveC1jdXN0b20tY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDE5cHg7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHRvcDogLTM1cHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDc3cHg7XG4gIGNvbG9yOiAjRkZGOyB9XG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXVtjbGFzcyo9XCJndnBfcGxheWVyX19tb2RhbFwiXTpob3ZlcixcbiAgLmZhbmN5Ym94LWN1c3RvbS1jbG9zZTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXVtjbGFzcyo9XCJndnBfcGxheWVyX19tb2RhbFwiXTpiZWZvcmUsIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXVtjbGFzcyo9XCJndnBfcGxheWVyX19tb2RhbFwiXTphZnRlcixcbiAgLmZhbmN5Ym94LWN1c3RvbS1jbG9zZTpiZWZvcmUsXG4gIC5mYW5jeWJveC1jdXN0b20tY2xvc2U6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjsgfVxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fY2xvc2VCdXR0b25cIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl06YmVmb3JlLFxuICAuZmFuY3lib3gtY3VzdG9tLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCwgLThweCkgcm90YXRlKDQ1ZGVnKTsgfVxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fY2xvc2VCdXR0b25cIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl06YWZ0ZXIsXG4gIC5mYW5jeWJveC1jdXN0b20tY2xvc2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiY2xvc2VcIjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICByaWdodDogMDsgfVxuXG5bY2xhc3NePVwiZ3ZwX3BsYXllcl9fY2xvc2VCdXR0b25cIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl06YmVmb3JlIHtcbiAgdG9wOiAtOHB4O1xuICBsZWZ0OiAwOyB9XG5cbltjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXVtjbGFzcyo9XCJndnBfcGxheWVyX19tb2RhbFwiXTphZnRlciB7XG4gIHRvcDogLTVweDsgfVxuXG5bY2xhc3NePVwiZ3ZwX3BsYXllcl9fdmlld19cIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuXG5bY2xhc3NePVwiZ3ZwX3BsYXllcl9fY2xvc2VCdXR0b25cIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl0ge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXVtjbGFzcyo9XCJndnBfcGxheWVyX19tb2RhbFwiXSBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyo9PT09PT09XG4gIE1BUlFVRUVcbiAgPT09PT09PSovXG4ubWFycXVlZSB7XG4gIC8qIEFuY2hvciBiYW5uZXIgY29udGVudCB0byBib3R0b20gKi9cbiAgLyogQWRqdXN0IGJhbm5lciBoZWFkbGluZSBzaXplICovXG4gIC8qIE1ha2Ugc3VyZSBhbnkgdmlkZW8gYmFubmVycyBhcmUgdGFsbCBlbm91Z2ggKi9cbiAgLyogVGlnaHRlbiBtb2JpbGUgc3BhY2luZyBhYm92ZSBjdGEgZm9yIGJhbm5lcnMgdXNlZCBpbiBtYXJxdWVlcyAqL1xuICAvKiBNYWtlIHN1cmUgYW55IHZpZGVvIGJhbm5lciBjb250ZW50IG92ZXJsYXlzIGl0cyB2aWRlbyAqLyB9XG4gIC5tYXJxdWVlIC5tYXJxdWVlX193cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWFycXVlZSAubWFycXVlZV9fc2xpZGVzIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5tYXJxdWVlIC5tYXJxdWVlX19zbGlkZXMuZmxpY2tpdHktZW5hYmxlZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5tYXJxdWVlIC5zbGlkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1hcnF1ZWUgLmNvbXBvbmVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubWFycXVlZSAuYmFubmVyX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5tYXJxdWVlIC5iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJxdWVlIC5iYW5uZXJfX2NvbnRlbnQgLmNvbnRlbnRfX3dyYXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1hcnF1ZWUgLmJhbm5lcl9fY29udGVudCAuY29udGVudF9fd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLm1hcnF1ZWUgLmJhbm5lcl9fdGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDY1JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJxdWVlIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC1zaXplOiA0cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tYXJxdWVlIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgZm9udC1zaXplOiA1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5tYXJxdWVlIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgZm9udC1zaXplOiA2cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgIC5tYXJxdWVlIC5iYW5uZXJfX3RleHQgLmJhbm5lcl9faGVhZGxpbmUtLXRleHQge1xuICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgZm9udC1zaXplOiA2LjVyZW07IH0gfVxuICAubWFycXVlZSAuYmFubmVyX192aWRlbyB7XG4gICAgbWluLWhlaWdodDogMjE1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYXJxdWVlIC5iYW5uZXJfX3ZpZGVvIHtcbiAgICAgICAgbWluLWhlaWdodDogNDI1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tYXJxdWVlIC5iYW5uZXJfX3ZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiA1NjVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDFweCkge1xuICAgICAgLm1hcnF1ZWUgLmJhbm5lcl9fdmlkZW8ge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MzJweDsgfSB9XG4gIC5tYXJxdWVlIC5iYW5uZXJfX2N0YSB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5tYXJxdWVlIC5iYW5uZXJfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH0gfVxuICAubWFycXVlZSAuYmFubmVyX19jdGEgLmN0YS0tYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIC5tYXJxdWVlIC5iYW5uZXJfX2N0YSAuY3RhLS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm1hcnF1ZWUgLmJhbm5lci0tZmVhdHVyZWQgLmJhbm5lcl9fY3RhIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJxdWVlIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX2N0YSB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwOyB9IH1cbiAgLm1hcnF1ZWUgW2NsYXNzKj1cImd2cF9ndnAtYmFja2dyb3VuZF9fXCJdIHtcbiAgICB6LWluZGV4OiAtMSAhaW1wb3J0YW50OyB9XG5cbi8qIE1hcnF1ZWUgQ29udHJvbHMgKi9cbi5tYXJxdWVlX19jb250cm9scyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBsZWZ0OiA1MCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJxdWVlX19jb250cm9scyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5tYXJxdWVlX19jb250cm9scyB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1hcnF1ZWVfX2NvbnRyb2xzIHVsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTIyMHB4ICsgMjBweCk7XG4gICAgbWFyZ2luOiA1cHggYXV0bztcbiAgICAvKiBCZWdpbiBmbGV4Ym94IGFuZCBmbGV4Ym94IGZhbGxiYWNrICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8qIEVuZCBmbGV4Ym94IHN0dWZmICovIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYXJxdWVlX19jb250cm9scyB1bCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLm1hcnF1ZWVfX2NvbnRyb2xzIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBsZWZ0OiA1MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1hcnF1ZWVfX2NvbnRyb2xzIHVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLm1hcnF1ZWVfX2NvbnRyb2xzIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tYXJxdWVlX19jb250cm9scyBsaSB7XG4gICAgbWFyZ2luOiAyMHB4IDZweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIEFkZCBmbGV4Ym94IGFuZCBmbGV4Ym94IGZhbGxiYWNrICovIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYXJxdWVlX19jb250cm9scyBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5tYXJxdWVlX19jb250cm9scyBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLm1hcnF1ZWVfX2NvbnRyb2xzIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSAubWFycXVlZV9fY29udHJvbHMgbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gICAgLm1hcnF1ZWVfX2NvbnRyb2xzIGxpLmNvbnRyb2wtLWFjdGl2ZSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOUZEQjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5tYXJxdWVlX19jb250cm9scyBsaS5jb250cm9sLS1hY3RpdmUgYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgd2lkdGg6IDIycHg7IH0gfVxuICAgICAgLnJlZ2lvbi0tYmx1ZSAubWFycXVlZV9fY29udHJvbHMgbGkuY29udHJvbC0tYWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYXJxdWVlX19jb250cm9scyBsaS5jb250cm9sLS1hY3RpdmUgYnV0dG9uLCAubWFycXVlZV9fY29udHJvbHMgbGk6aG92ZXIgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDlGREI7XG4gICAgICAgIGNvbG9yOiAjMDA5RkRCOyB9IH1cbiAgLm1hcnF1ZWVfX2NvbnRyb2xzIGJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUM5Qzk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5tYXJxdWVlX19jb250cm9scyBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1hcnF1ZWVfX2NvbnRyb2xzIGJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI0YyRjJGMjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgICAgIGNvbG9yOiAjRjJGMkYyOyB9XG4gICAgICAgIC5yZWdpb24tLW5lYXItYmxhY2sgLm1hcnF1ZWVfX2NvbnRyb2xzIGJ1dHRvbixcbiAgICAgICAgLnJlZ2lvbi0tYmxhY2sgLm1hcnF1ZWVfX2NvbnRyb2xzIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5tYXJxdWVlX19jb250cm9scyBidXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAubWFycXVlZV9fY29udHJvbHMgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7IH0gfVxuICAgIC5tYXJxdWVlX19jb250cm9scyBidXR0b24gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5tYXJxdWVlX19jb250cm9scyBidXR0b24gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0gfVxuXG4vKiBDYXJvdXNlbCBWZW5kb3IgU3R5bGUgT3ZlcnJpZGVzICovXG4uZmxpY2tpdHktdmlld3BvcnQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNzAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLyo9PT09PVxuICBNRURJQVxuICA9PT09PSovXG4ubWVkaWEge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBNZWRpYSBJdGVtcyAqL1xuLm1lZGlhX19pbWcsXG4ubWVkaWFfX3ZpZGVvIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuICAubWVkaWFfX2ltZyAuZnJhbWUsXG4gIC5tZWRpYV9fdmlkZW8gLmZyYW1lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubWVkaWEtLWxldHRlcmJveGVkIC5tZWRpYV9faW1nIC5mcmFtZSwgLm1lZGlhLS1sZXR0ZXJib3hlZFxuICAgIC5tZWRpYV9fdmlkZW8gLmZyYW1lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLyogTWVkaWEgSXRlbSAtIEltYWdlICovXG4ubWVkaWFfX2ltZyB7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAubWVkaWEtLWxldHRlcmJveGVkIC5tZWRpYV9faW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLm1lZGlhW2RhdGEtdHlwZT1cImltYWdlXCJdIC5tZWRpYV9faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWFfX2ltZyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpYS0tY2VudGVyZWQgLm1lZGlhX19pbWcgaW1nLFxuICAgIC5tZWRpYS0tbGV0dGVyYm94ZWQgLm1lZGlhX19pbWcgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIE1lZGlhIEl0ZW0gLSBWaWRlbyAqL1xuLm1lZGlhW2RhdGEtdHlwZT1cInZpZGVvXCJdIC5tZWRpYV9fdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWVkaWFfX3ZpZGVvIFtjbGFzcyo9XCJlbWJlZC0tXCJdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAubWVkaWFfX3ZpZGVvIFtjbGFzcyo9XCJlbWJlZC0tXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpYV9fdmlkZW8gW2NsYXNzKj1cImVtYmVkLS1cIl06Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZWRpYS0tY2VudGVyZWQgLm1lZGlhX192aWRlbyBbY2xhc3MqPVwiZW1iZWQtLVwiXSxcbiAgLm1lZGlhLS1jb25zdHJhaW5lZCAubWVkaWFfX3ZpZGVvIFtjbGFzcyo9XCJlbWJlZC0tXCJdLFxuICAubWVkaWEtLWxldHRlcmJveGVkIC5tZWRpYV9fdmlkZW8gW2NsYXNzKj1cImVtYmVkLS1cIl0ge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLm1lZGlhX192aWRlbyBpZnJhbWUsXG4ubWVkaWFfX3ZpZGVvIGF0dC1ndnAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBNZWRpYSBJdGVtIENhcHRpb24gKi9cbi5tZWRpYV9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbjogMTBweCBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWFfX2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogMCA1NXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgIC5yb3cgLm1lZGlhX19jYXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLm1lZGlhX19jYXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubWVkaWEtLWNlbnRlcmVkIC5tZWRpYV9fY2FwdGlvbixcbiAgLm1lZGlhLS1sZXR0ZXJib3hlZCAubWVkaWFfX2NhcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaWRlYmFyIC5tZWRpYS0tY2VudGVyZWQgLm1lZGlhX19jYXB0aW9uLCAuc2lkZWJhclxuICAgIC5tZWRpYS0tbGV0dGVyYm94ZWQgLm1lZGlhX19jYXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7IH1cbiAgLnJlZ2lvbltjbGFzcyo9XCItYmx1ZVwiXSAubWVkaWFfX2NhcHRpb24sXG4gIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdIC5tZWRpYV9fY2FwdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBNZWRpdW1cIiwgXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjsgfVxuICAubWVkaWFfX2NhcHRpb24gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5tZWRpYV9fY2FwdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWFfX2NhcHRpb24gYSxcbiAgLm1lZGlhX19jYXB0aW9uIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICMwNTY4QUU7IH1cblxuLyo9PT09PT09PT09PT09PVxuICBNRURJQSBDQVJPVVNFTFxuICA9PT09PT09PT09PT09PSovXG4ubWVkaWEtY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAvKiBQcmV2L05leHQgQnV0dG9ucyAqLyB9XG4gIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX3dyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fd3JhcCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTVweDsgfVxuICAgICAgICAuY29sIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX3dyYXAge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX193cmFwIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgLyogQXBwbHkgbmVnYXRpdmUgbWFyZ2luIHRvIG5lZ2F0ZSBpbm5lciBwYWRkaW5nIG9mIGNvbHVtbnMgKi8gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fc2xpZGVzIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xMHB4OyB9IH1cbiAgICAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX19zbGlkZXMgLnNsaWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fc2xpZGVzIC5zbGlkZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxleC1iYXNpczogNTAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fc2xpZGVzIC5zbGlkZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgICAgZmxleC1iYXNpczogMzMuMzMzMzMlOyB9IH1cbiAgLm1lZGlhLWNhcm91c2VsIC5jb21wb25lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1lZGlhLWNhcm91c2VsIC5mZWF0dXJlZC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIC5tZWRpYS1jYXJvdXNlbCAuaXRlbV9fbWVkaWEsXG4gIC5tZWRpYS1jYXJvdXNlbCAuaXRlbV9faW1nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWVkaWEtY2Fyb3VzZWwgLml0ZW1fX3ByZXZpZXcge1xuICAgIGNvbG9yOiAjMDA5RkRCOyB9XG4gICAgLm1lZGlhLWNhcm91c2VsIC5pdGVtX19wcmV2aWV3OmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5tZWRpYS1jYXJvdXNlbCAuaXRlbV9fcHJldmlldyAuaXRlbV9fdGh1bWJuYWlsIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLm1lZGlhLWNhcm91c2VsIC5pdGVtX19wcmV2aWV3IC5pdGVtX190aHVtYm5haWwge1xuICAgICAgICAgIGhlaWdodDogMjQwcHg7IH1cbiAgICAgICAgICAubWVkaWEtY2Fyb3VzZWwgLml0ZW1fX3ByZXZpZXcgLml0ZW1fX3RodW1ibmFpbCBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgIC5tZWRpYS1jYXJvdXNlbCAuaXRlbV9fcHJldmlldyAuaXRlbV9fdGh1bWJuYWlsIHtcbiAgICAgICAgICBoZWlnaHQ6IDI2N3B4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgLm1lZGlhLWNhcm91c2VsIC5pdGVtX19wcmV2aWV3IC5pdGVtX190aHVtYm5haWwge1xuICAgICAgICAgIGhlaWdodDogMjk1cHg7IH0gfVxuICAgIC5tZWRpYS1jYXJvdXNlbCAuaXRlbV9fcHJldmlldyAuaXRlbV9fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4OyB9XG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLm1lZGlhLWNhcm91c2VsIC5pdGVtX19wcmV2aWV3IC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5yZWdpb24tLWJsdWUgLm1lZGlhLWNhcm91c2VsIC5pdGVtX19wcmV2aWV3IC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjMTkxOTE5ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5yZWdpb24tLWdyYXkgLm1lZGlhLWNhcm91c2VsIC5pdGVtX19wcmV2aWV3IC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjMDU2OEFFICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdIC5tZWRpYS1jYXJvdXNlbCAuaXRlbV9fcHJldmlldyAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgICAgIHRvcDogMTIxcHg7IH1cbiAgICAgICAgLmNvbDpub3QoLmNvbC0xMikgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fYnV0dG9uIHtcbiAgICAgICAgICB0b3A6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4OyB9XG4gICAgICAgIC5jb2w6bm90KC5jb2wtMTIpIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9IH1cbiAgICAucmVnaW9uLS1ibHVlIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnJlZ2lvbi0tYmx1ZSAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX19idXR0b246aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNGRkY7XG4gICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkY7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX19idXR0b24gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA1NjhBRTtcbiAgICAgIGNvbG9yOiAjMDU2OEFFOyB9XG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX19idXR0b246aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNGRkY7XG4gICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbi0tcHJldiB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA1OHB4KTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbi0tcHJldiB7XG4gICAgICAgIGxlZnQ6IC03NXB4OyB9XG4gICAgICAgIC5jb2w6bm90KC5jb2wtMTIpIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbi0tcHJldiB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA1OHB4KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgICAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fYnV0dG9uLS1wcmV2IHtcbiAgICAgICAgbGVmdDogLTg1cHg7IH0gfVxuICAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX19idXR0b24tLW5leHQge1xuICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDU4cHgpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fYnV0dG9uLS1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC03NXB4OyB9XG4gICAgICAgIC5jb2w6bm90KC5jb2wtMTIpIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbi0tbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gNThweCk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbi0tbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAtODVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLnN0b3J5IC5jb2w6bm90KC5jb2wtMTIpIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX3dyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5zdG9yeSAuY29sOm5vdCguY29sLTEyKSAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX19idXR0b24ge1xuICAgIHRvcDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5tZWRpYS1jYXJvdXNlbCA+IC5yb3csXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5tZWRpYS1jYXJvdXNlbCA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDAgNTVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5tZWRpYS1jYXJvdXNlbCA+IC5yb3cgLnJvd19fd3JhcCxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLm1lZGlhLWNhcm91c2VsID4gLnJvdyAucm93X193cmFwIHtcbiAgICBtYXJnaW46IDAgLTEwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fd3JhcCxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAubWVkaWEtY2Fyb3VzZWwsXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLm1lZGlhLWNhcm91c2VsIHtcbiAgICBtYXgtd2lkdGg6IDEyMjBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAubWVkaWEtY2Fyb3VzZWwgPiAucm93LFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5tZWRpYS1jYXJvdXNlbCA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDAgNTVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX3dyYXAsXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLm1lZGlhLWNhcm91c2VsIC5jYXJvdXNlbF9fd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX193cmFwLFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX3dyYXAge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLyo9PT09PT09PT09PT09XG4gIE1FRElBIExJQlJBUllcbiAgPT09PT09PT09PT09PSovXG4ubWVkaWEtbGlicmFyeSAucm93IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5tZWRpYS1saWJyYXJ5IC5jb2wtMiB7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgZmxleC1iYXNpczogMjAlOyB9IH1cblxuLm1lZGlhLWxpYnJhcnkgLmNvbXBvbmVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1lZGlhLWxpYnJhcnkgLml0ZW1fX21lZGlhIC5pdGVtX19pbWcgaW1nIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLm1lZGlhLWxpYnJhcnkgLml0ZW1fX21lZGlhLFxuLm1lZGlhLWxpYnJhcnkgLml0ZW1fX2ltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tZWRpYS1saWJyYXJ5IC5pdGVtX19wcmV2aWV3IHtcbiAgY29sb3I6ICMwMDlGREI7IH1cbiAgLm1lZGlhLWxpYnJhcnkgLml0ZW1fX3ByZXZpZXc6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubWVkaWEtbGlicmFyeSAuaXRlbV9fcHJldmlldyAuaXRlbV9fdGh1bWJuYWlsOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLm1lZGlhLWxpYnJhcnkgLml0ZW1fX3ByZXZpZXcgLml0ZW1fX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubWVkaWEtbGlicmFyeSAuaXRlbV9fcHJldmlldyAuaXRlbV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9IH1cbiAgICAucmVnaW9uLS1kYXJrLWJsdWUgLm1lZGlhLWxpYnJhcnkgLml0ZW1fX3ByZXZpZXcgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgICAucmVnaW9uLS1ibHVlIC5tZWRpYS1saWJyYXJ5IC5pdGVtX19wcmV2aWV3IC5pdGVtX19jb250ZW50IC5pdGVtX190aXRsZSB7XG4gICAgICBjb2xvcjogIzE5MTkxOSAhaW1wb3J0YW50OyB9XG4gICAgLnJlZ2lvbi0tZ3JheSAubWVkaWEtbGlicmFyeSAuaXRlbV9fcHJldmlldyAuaXRlbV9fY29udGVudCAuaXRlbV9fdGl0bGUsXG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLm1lZGlhLWxpYnJhcnkgLml0ZW1fX3ByZXZpZXcgLml0ZW1fX2NvbnRlbnQgLml0ZW1fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLm1lZGlhLWxpYnJhcnkgLmxpYnJhcnlfX2N0YSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA0MHB4IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zdG9yeSAuc3RvcnlfX3dyYXAgLm1lZGlhLWxpYnJhcnkgLnJvd19fd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5tZWRpYS1saWJyYXJ5ID4gLnJvdyxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLm1lZGlhLWxpYnJhcnkgPiAucm93IHtcbiAgICBwYWRkaW5nOiAwIDU1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAubWVkaWEtbGlicmFyeSA+IC5yb3cgLnJvd19fd3JhcCxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLm1lZGlhLWxpYnJhcnkgPiAucm93IC5yb3dfX3dyYXAge1xuICAgIG1hcmdpbjogMCAtMTBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJsb2ctcG9zdCAuYmxvZ19fd3JhcCAucmVnaW9uIC5tZWRpYS1saWJyYXJ5LFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCAucmVnaW9uIC5tZWRpYS1saWJyYXJ5IHtcbiAgICBtYXgtd2lkdGg6IDEyMjBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAubWVkaWEtbGlicmFyeSA+IC5yb3csXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLm1lZGlhLWxpYnJhcnkgPiAucm93IHtcbiAgICBwYWRkaW5nOiAwIDU1cHg7IH0gfVxuXG4vKj09PT09PT09PT09PT1cbiAgTUlDUk9TSVRFIE5BVlxuICA9PT09PT09PT09PT09Ki9cbi5taWNyb3NpdGUtbmF2LFxuLm1pY3Jvc2l0ZS1uYXZfX3dyYXAge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLm1pY3Jvc2l0ZS1uYXZfX3dyYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAubWljcm9zaXRlLW5hdl9fd3JhcCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVBNUE1QTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUE1QTVBOyB9IH1cbiAgLmhlYWRlci0tc2Vjb25kYXJ5IC5taWNyb3NpdGUtbmF2X193cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fd3JhcCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuXG4vKiBNSUNSTyBHTE9CQUwgTkFWICovXG4vKiA9PT09PT09PT09PT09PT09ICovXG4ubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXYge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1QTVBNUE7IH0gfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2X191dGlscyB7XG4gIGhlaWdodDogNTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXZfX3V0aWxzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUE1QTVBOyB9IH1cbiAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXZfX3V0aWxzIC53cmFwIHtcbiAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXZfX3V0aWxzIC53cmFwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdl9fdXRpbHMgLndyYXAge1xuICAgICAgICBwYWRkaW5nOiAwIDU1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2X191dGlscyAud3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdl9fdXRpbHMgLm5hdl9fbG9nbyAubG9nb19faWNvbiB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1pbi13aWR0aDogNzVweDsgfVxuICAubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdl9fdXRpbHMgLm5hdl9fdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXZfX3V0aWxzIC5uYXZfX3RvZ2dsZSAuYmFyIHtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cbiAgICAubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdi0tb3BlbiAubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdl9fdXRpbHMgLm5hdl9fdG9nZ2xlIC5iYXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXYtLW9wZW4gLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXZfX3V0aWxzIC5uYXZfX3RvZ2dsZSAuYmFyOmZpcnN0LWNoaWxkLCAubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdi0tb3BlbiAubWljcm9zaXRlLW5hdl9fZ2xvYmFsLW5hdl9fdXRpbHMgLm5hdl9fdG9nZ2xlIC5iYXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkY7IH1cbiAgICAgIC5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2LS1vcGVuIC5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2X191dGlscyAubmF2X190b2dnbGUgLmJhcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAgIC5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2LS1vcGVuIC5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2X191dGlscyAubmF2X190b2dnbGUgLmJhcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2X193cmFwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXYtLW9wZW4gLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXZfX3dyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIHotaW5kZXg6IDk5OyB9XG5cbi5taWNyby1nbG9iYWwtbmF2X19tZW51Om5vdCgubmF2X19tZW51LS1uZXN0ZWQpIHtcbiAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5taWNyby1nbG9iYWwtbmF2X19tZW51Om5vdCgubmF2X19tZW51LS1uZXN0ZWQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5taWNyby1nbG9iYWwtbmF2X19tZW51Om5vdCgubmF2X19tZW51LS1uZXN0ZWQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLm1pY3JvLWdsb2JhbC1uYXZfX21lbnU6bm90KC5uYXZfX21lbnUtLW5lc3RlZCkge1xuICAgICAgcGFkZGluZzogMjBweCAwIDUwcHg7IH0gfVxuXG4ubWljcm8tZ2xvYmFsLW5hdl9fbWVudTpub3QoLm5hdl9fbWVudS0tbmVzdGVkKSA+IGxpIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubWljcm8tZ2xvYmFsLW5hdl9fbWVudTpub3QoLm5hdl9fbWVudS0tbmVzdGVkKSA+IGxpIHtcbiAgICAgIGZsZXgtYmFzaXM6IDIwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWljcm8tZ2xvYmFsLW5hdl9fbWVudTpub3QoLm5hdl9fbWVudS0tbmVzdGVkKSA+IGxpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLm1pY3JvLWdsb2JhbC1uYXZfX21lbnU6bm90KC5uYXZfX21lbnUtLW5lc3RlZCkgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAubWljcm8tZ2xvYmFsLW5hdl9fbWVudTpub3QoLm5hdl9fbWVudS0tbmVzdGVkKSA+IGxpID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1QTVBNUE7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG5cbi5taWNyby1nbG9iYWwtbmF2X19tZW51IGxpIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC1mYW1pbHk6IFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLm1pY3JvLWdsb2JhbC1uYXZfX21lbnUgbGkgLm5hdl9fbWVudS1pdGVtIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gICAgLm1pY3JvLWdsb2JhbC1uYXZfX21lbnUgbGkgLm5hdl9fbWVudS1pdGVtOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubWljcm8tZ2xvYmFsLW5hdl9fbWVudSAubmF2X19tZW51LS1uZXN0ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1pY3JvLWdsb2JhbC1uYXZfX21lbnUgLm5hdl9fbWVudS0tbmVzdGVkIGxpIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ubWljcm8tZ2xvYmFsLW5hdl9fbWVudSAubWljcm8tZ2xvYmFsLW5hdl9fbWVudS0tdGVydGlhcnkge1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4vKiBNSUNST1NJVEUtU1BFQ0lGSUMgTkFWICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWljcm9zaXRlLW5hdl9fc2l0ZS1uYXYge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhlYWRlci0tc2Vjb25kYXJ5IC5taWNyb3NpdGUtbmF2X19zaXRlLW5hdiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fc2l0ZS1uYXY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwgLm1pY3Jvc2l0ZS1uYXZfX3NpdGUtbmF2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7IH0gfVxuXG4ubWljcm9zaXRlLW5hdl9fdXRpbHMge1xuICBoZWlnaHQ6IDY4cHg7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICAubWljcm9zaXRlLW5hdl9fdXRpbHM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1pY3Jvc2l0ZS1uYXZfX3V0aWxzIHtcbiAgICAgIHBhZGRpbmc6IDAgNTVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWljcm9zaXRlLW5hdl9fdXRpbHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAubWljcm9zaXRlLW5hdl9fdXRpbHMge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXZfX3V0aWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLmhlYWRlci0tc2Vjb25kYXJ5IC5taWNyb3NpdGUtbmF2X191dGlscyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAubWljcm9zaXRlLW5hdl9fdXRpbHMgLm1pY3Jvc2l0ZS1uYXZfX2xvZ28sXG4gIC5taWNyb3NpdGUtbmF2X191dGlscyAubWljcm9zaXRlLW5hdl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdG9wOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1pY3Jvc2l0ZS1uYXZfX3V0aWxzIC5taWNyb3NpdGUtbmF2X19sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAubWljcm9zaXRlLW5hdl9fdXRpbHMgLm1pY3Jvc2l0ZS1uYXZfX2xvZ28gaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHRvcDogNHB4OyB9XG4gIC5taWNyb3NpdGUtbmF2X191dGlscyAubWljcm9zaXRlLW5hdl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIG1heC13aWR0aDogODUlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5taWNyb3NpdGUtbmF2X191dGlscyAubWljcm9zaXRlLW5hdl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIC5taWNyb3NpdGUtbmF2X191dGlscyAubWljcm9zaXRlLW5hdl9fdGl0bGU6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm1pY3Jvc2l0ZS1uYXZfX3V0aWxzIC5taWNyb3NpdGUtbmF2X190aXRsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5taWNyb3NpdGUtbmF2X191dGlscyAubWljcm9zaXRlLW5hdl9fdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRvcDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1pY3Jvc2l0ZS1uYXZfX3V0aWxzIC5taWNyb3NpdGUtbmF2X190b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAubWljcm9zaXRlLW5hdl9fdXRpbHMgLm1pY3Jvc2l0ZS1uYXZfX3RvZ2dsZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkY7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNGRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuICAgICAgLm1pY3Jvc2l0ZS1uYXYtLW9wZW4gLm1pY3Jvc2l0ZS1uYXZfX3V0aWxzIC5taWNyb3NpdGUtbmF2X190b2dnbGU6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTtcbiAgICAgICAgdG9wOiAxMHB4OyB9XG5cbi5taWNyb3NpdGUtbmF2X19tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAubWljcm9zaXRlLW5hdi0tb3BlbiAubWljcm9zaXRlLW5hdl9fbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5taWNyb3NpdGUtbmF2X19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fbWVudSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fbWVudSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgdWwge1xuICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgdWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fbWVudSB1bCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fbWVudSB1bCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5taWNyb3NpdGUtbmF2X19tZW51IGxpIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVBNUE1QTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5taWNyb3NpdGUtbmF2X19tZW51IGxpIHtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubWljcm9zaXRlLW5hdl9fbWVudSBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAyOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG4gICAgICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fbWVudSBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmhlYWRlci0tc2Vjb25kYXJ5IC5taWNyb3NpdGUtbmF2X19tZW51IGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4OyB9IH1cbiAgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgYSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDI4cHggMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgICAubWljcm9zaXRlLW5hdl9fbWVudSBhOmhvdmVyLCAubWljcm9zaXRlLW5hdl9fbWVudSBhLmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5taWNyb3NpdGUtbmF2X19tZW51IGE6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5RkRCO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAubWljcm9zaXRlLW5hdl9fbWVudSBhOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgYTpob3ZlcjpiZWZvcmUsIC5taWNyb3NpdGUtbmF2X19tZW51IGE6Zm9jdXM6YmVmb3JlLCAubWljcm9zaXRlLW5hdl9fbWVudSBhLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgYSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgYTpiZWZvcmUge1xuICAgICAgICAgIGJvdHRvbTogLTFweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdl9fbWVudSBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgLmhlYWRlci0tc2Vjb25kYXJ5IC5taWNyb3NpdGUtbmF2X19tZW51IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmhlYWRlci0tZml4ZWQgLm1pY3Jvc2l0ZS1uYXZfX21lbnUgYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfSB9XG5cbi8qPT09PT09PT09PT09XG4gIFJFTEFURUQgTkVXU1xuICA9PT09PT09PT09PT0qL1xuLnJlbGF0ZWQtbmV3cyAubmV3c19fZmVlZCB7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZWxhdGVkLW5ld3MgLm5ld3NfX2ZlZWQge1xuICAgICAgcGFkZGluZzogMCA1NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5yZWxhdGVkLW5ld3MgLm5ld3NfX2ZlZWQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5yZWxhdGVkLW5ld3MgLm5ld3NfX2ZlZWQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnJlbGF0ZWQtbmV3cyAubmV3c19fZmVlZCBhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgQmxhY2tcIiwgXCJBbGVjayBTYW5zIE1lZGl1bVwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjMDU2OEFFO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgICAucmVnaW9uLS1ibHVlIC5yZWxhdGVkLW5ld3MgLm5ld3NfX2ZlZWQgYSB7XG4gICAgICBjb2xvcjogIzE5MTkxOTsgfVxuICAgIC5yZWdpb24tLWRhcmstYmx1ZSAucmVsYXRlZC1uZXdzIC5uZXdzX19mZWVkIGEge1xuICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAucmVnaW9uLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLnJlbGF0ZWQtbmV3cyAubmV3c19fZmVlZCBhIHtcbiAgICAgIGNvbG9yOiAjMDA5RkRCOyB9XG4gIC5yZWxhdGVkLW5ld3MgLm5ld3NfX2ZlZWQgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBNZWRpdW1cIiwgXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1OyB9XG5cbi8qPT09PT09PT09PT09XG4gIFNFQVJDSCBGSUVMRFxuICA9PT09PT09PT09PT0qL1xuLnNlYXJjaC1maWVsZCB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogU2VhcmNoIElucHV0IEZpZWxkICovXG4gIC8qIFNlYXJjaCBTdWJtaXQgQnV0dG9uICovIH1cbiAgLmNvbCAuc2VhcmNoLWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zZWFyY2gtZmllbGQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5zZWFyY2gtZmllbGQgZmllbGRzZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2VhZWFlYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc2VhcmNoLWZpZWxkIGZpZWxkc2V0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnJlZ2lvbltjbGFzcyo9XCJibGFja1wiXSAuc2VhcmNoLWZpZWxkIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0YyRjJGMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7IH1cbiAgLnNlYXJjaC1maWVsZCBsYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbiAgICAuc2VhcmNoLWZpZWxkIGxhYmVsOmZvY3VzIHtcbiAgICAgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICAgIHotaW5kZXg6IDEwMDAwMDsgfVxuICAuc2VhcmNoLWZpZWxkIGlucHV0LFxuICAuc2VhcmNoLWZpZWxkIGJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNvbC0yIC5zZWFyY2gtZmllbGQgaW5wdXQsXG4gICAgICAuY29sLTMgLnNlYXJjaC1maWVsZCBpbnB1dCxcbiAgICAgIC5jb2wtNCAuc2VhcmNoLWZpZWxkIGlucHV0LCAuY29sLTJcbiAgICAgIC5zZWFyY2gtZmllbGQgYnV0dG9uLFxuICAgICAgLmNvbC0zXG4gICAgICAuc2VhcmNoLWZpZWxkIGJ1dHRvbixcbiAgICAgIC5jb2wtNFxuICAgICAgLnNlYXJjaC1maWVsZCBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDMzcHg7IH0gfVxuICAucmVnaW9uW2NsYXNzKj1cImJsYWNrXCJdIC5zZWFyY2gtZmllbGQgaW5wdXQge1xuICAgIGNvbG9yOiAjQzlDOUM5OyB9XG4gIC5zZWFyY2gtZmllbGQgLnNlYXJjaF9faW5wdXQge1xuICAgIHBhZGRpbmc6IDZweCAwIDhweCAxNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19pbnB1dCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNvbC0yIC5zZWFyY2gtZmllbGQgLnNlYXJjaF9faW5wdXQsXG4gICAgICAuY29sLTMgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19pbnB1dCxcbiAgICAgIC5jb2wtNCAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX2lucHV0IHtcbiAgICAgICAgcGFkZGluZzogNHB4IDAgNnB4IDE1cHg7IH0gfVxuICAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX3N1Ym1pdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1pbi13aWR0aDogMjVweDtcbiAgICByaWdodDogNXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX3N1Ym1pdCB7XG4gICAgICAgIHJpZ2h0OiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY29sLTIgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19zdWJtaXQsXG4gICAgICAuY29sLTMgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19zdWJtaXQsXG4gICAgICAuY29sLTQgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19zdWJtaXQge1xuICAgICAgICByaWdodDogOHB4OyB9IH1cbiAgICAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX3N1Ym1pdCBzcGFuIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX3N1Ym1pdCBzcGFuOmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGNvbG9yOiAjMDA5RkRCO1xuICAgICAgICB0b3A6IDUyJTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX3N1Ym1pdCBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAuY29sLTIgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19zdWJtaXQgc3BhbjphZnRlcixcbiAgICAgICAgICAuY29sLTMgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19zdWJtaXQgc3BhbjphZnRlcixcbiAgICAgICAgICAuY29sLTQgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19zdWJtaXQgc3BhbjphZnRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNHJlbTsgfSB9XG4gICAgICAgIC5yZWdpb25bY2xhc3MqPVwiYmxhY2tcIl0gLnNlYXJjaC1maWVsZCAuc2VhcmNoX19zdWJtaXQgc3BhbjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNGMkYyRjI7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PVxuICBTT0NJQUwgQ0hBTk5FTC9TSEFSRVxuICA9PT09PT09PT09PT09PT09PT09PSovXG4uc29jaWFsLWNoYW5uZWxzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zb2NpYWwtY2hhbm5lbHMgdWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgbGVmdDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQwcHggMDsgfVxuICAuY29tcG9uZW50LS1ib3JkZXItYm90dG9tIC5zb2NpYWwtY2hhbm5lbHMgdWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5zb2NpYWwtY2hhbm5lbHMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2NpYWwtY2hhbm5lbHMgbGkge1xuICAgICAgbWFyZ2luOiAwIDEyLjVweDsgfSB9XG5cbi5zb2NpYWwtY2hhbm5lbHMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKj09PT09PT09PT09PVxuICBTVE9DSyBUSUNLRVJcbiAgPT09PT09PT09PT09Ki9cbi5yb3ctLWVxdWFsLWhlaWdodHMgLnN0b2NrLXRpY2tlciwgLnJvdy0tZXF1YWwtaGVpZ2h0c1xuLnN0b2NrLXRpY2tlcl9fd3JhcCB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3RvY2stdGlja2VyX193cmFwIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIE5PVEU6IFN0b2NrIHRpY2tlciBiYWNrZ3JvdW5kIGNvbG9yIGNhbiB2YXJ5IGJhc2VkIG9uIHRoZSBwYWdlIGNhdGVnb3J5ICh0aGVtZSkuIERlZmF1bHQgdHJlYXRtZW50IGlzIHNpbHZlci4gKi9cbiAgYmFja2dyb3VuZDogI0VERUNFQztcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2VkZWNlYyAwJSwgI2Y5ZjlmOSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2VkZWNlYyAwJSwgI2Y5ZjlmOSAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI0VERUNFQycsIGVuZENvbG9yc3RyPScjRjlGOUY5JyxHcmFkaWVudFR5cGU9MSApOyB9XG4gIC5zdG9jay10aWNrZXJfX3dyYXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5vLWNzc2dyYWRpZW50cyAuc3RvY2stdGlja2VyX193cmFwIHtcbiAgICBmaWx0ZXI6IG5vbmU7IH1cbiAgLnN0b2NrLXRpY2tlcl9fd3JhcCAuY3RhLS1saW5rIHtcbiAgICBjb2xvcjogIzA1NjhBRTsgfVxuICAucm93LS1lcXVhbC1oZWlnaHRzIC5zdG9jay10aWNrZXJfX3dyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdG9wOiA1MCU7IH1cbiAgLnN0b2NrLXRpY2tlcl9fd3JhcCBkaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc3RvY2stdGlja2VyX193cmFwIGRpdjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnN0b2NrLXRpY2tlcl9fd3JhcCBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAuc3RvY2stdGlja2VyX193cmFwIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgICAgLnN0b2NrLXRpY2tlcl9fd3JhcCBzcGFuIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4vKiBUaWNrZXIgUHJpY2UgKi9cbi5zdG9jay10aWNrZXJfX3ByaWNlIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zIE1lZGl1bVwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5zdG9jay10aWNrZXJfX3ByaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc3RvY2stdGlja2VyX19wcmljZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuXG4vKiBUaWNrZXIgQ2hhbmdlICovXG4uc3RvY2stdGlja2VyX19jaGFuZ2Uge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDEwcHggMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuc3RvY2stdGlja2VyX19jaGFuZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zdG9jay10aWNrZXJfX2NoYW5nZSAuY2hhbmdlX19zeW1ib2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0yLjVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnN0b2NrLXRpY2tlcl9fY2hhbmdlIC5jaGFuZ2VfX3N5bWJvbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cblxuLyogVGlja2VyIFRpbWVzdGFtcCAqL1xuLnN0b2NrLXRpY2tlcl9fdGltZXN0YW1wIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbWFyZ2luOiAwIDE1cHggMTBweCAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5zdG9jay10aWNrZXJfX3RpbWVzdGFtcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0b3A6IC0xcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuc3RvY2stdGlja2VyX190aW1lc3RhbXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zdG9jay10aWNrZXJfX3RpbWVzdGFtcCAuZXhjaGFuZ2VfX2RhdGUge1xuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbi8qIFRpY2tlciBJbmZvICovXG4uc3RvY2stdGlja2VyX19pbmZvIHtcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5zdG9jay10aWNrZXJfX2luZm8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB0b3A6IC0zcHg7IH0gfVxuICAuc3RvY2stdGlja2VyX19pbmZvIC5jdGEtLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgIC5yZWdpb25bY2xhc3MqPVwiYmx1ZVwiXSAuc3RvY2stdGlja2VyX19pbmZvIC5jdGEtLWxpbmsge1xuICAgICAgY29sb3I6ICMwNTY4QUU7IH1cblxuLyo9PT09XG4gIFRFWFRcbiAgPT09PSovXG4ubmFycm93LXRleHQgLmNvbC0xMiAuY29tcG9uZW50ID4gLnRleHQsXG4ubmFycm93LXRleHQgLnJlZ2lvbl9fd3JhcCA+IC50ZXh0IC5jb21wb25lbnQgPiAudGV4dCB7XG4gIG1heC13aWR0aDogMTAyNHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uY29tcG9uZW50ID4gLnRleHQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIC8qIEhlYWRpbmdzICovXG4gIC8qIExpbmtzICovXG4gIC8qIEltYWdlcyAqL1xuICAvKiBIb3JpenRvbmFsIFJ1bGVzICovXG4gIC8qIFRhYmxlcyAqL1xuICAvKiBNb2RpZmljYXRpb25zICovIH1cbiAgLmNvbCAuY29tcG9uZW50ID4gLnRleHQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDAgNTVweDsgfVxuICAgICAgLmNvbC05IC5jb21wb25lbnQgPiAudGV4dCxcbiAgICAgIC5jb2wtOCAuY29tcG9uZW50ID4gLnRleHQsXG4gICAgICAuY29sLTYgLmNvbXBvbmVudCA+IC50ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICAgICAgLmNvbC00IC5jb21wb25lbnQgPiAudGV4dCxcbiAgICAgIC5jb2wtMyAuY29tcG9uZW50ID4gLnRleHQsXG4gICAgICAuY29sLTIgLmNvbXBvbmVudCA+IC50ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29sLTkgLmNvbXBvbmVudCA+IC50ZXh0LFxuICAgIC5jb2wtOCAuY29tcG9uZW50ID4gLnRleHQsXG4gICAgLmNvbC02IC5jb21wb25lbnQgPiAudGV4dCxcbiAgICAuY29sLTQgLmNvbXBvbmVudCA+IC50ZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cbiAgICAuY29sLTMgLmNvbXBvbmVudCA+IC50ZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNvbC0zIC5jb21wb25lbnQgPiAudGV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cbiAgICAgIC5jb2wtMiAuY29tcG9uZW50ID4gLnRleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5jb21wb25lbnQgPiAudGV4dCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmNvbXBvbmVudCA+IC50ZXh0IGgxLFxuICAuY29tcG9uZW50ID4gLnRleHQgaDIsXG4gIC5jb21wb25lbnQgPiAudGV4dCBoMyxcbiAgLmNvbXBvbmVudCA+IC50ZXh0IGg0LFxuICAuY29tcG9uZW50ID4gLnRleHQgaDUsXG4gIC5jb21wb25lbnQgPiAudGV4dCBoNixcbiAgLmNvbXBvbmVudCA+IC50ZXh0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNvbXBvbmVudDpub3QoLmNvbXBvbmVudC0tbm8tbWFyZ2luLWJvdHRvbSkgLmNvbXBvbmVudCA+IC50ZXh0IGgxOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSwgLmNvbXBvbmVudDpub3QoLmNvbXBvbmVudC0tbm8tbWFyZ2luLWJvdHRvbSlcbiAgLmNvbXBvbmVudCA+IC50ZXh0IGgyOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSwgLmNvbXBvbmVudDpub3QoLmNvbXBvbmVudC0tbm8tbWFyZ2luLWJvdHRvbSlcbiAgLmNvbXBvbmVudCA+IC50ZXh0IGgzOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSwgLmNvbXBvbmVudDpub3QoLmNvbXBvbmVudC0tbm8tbWFyZ2luLWJvdHRvbSlcbiAgLmNvbXBvbmVudCA+IC50ZXh0IGg0Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSwgLmNvbXBvbmVudDpub3QoLmNvbXBvbmVudC0tbm8tbWFyZ2luLWJvdHRvbSlcbiAgLmNvbXBvbmVudCA+IC50ZXh0IGg1Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSwgLmNvbXBvbmVudDpub3QoLmNvbXBvbmVudC0tbm8tbWFyZ2luLWJvdHRvbSlcbiAgLmNvbXBvbmVudCA+IC50ZXh0IGg2Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29tcG9uZW50ID4gLnRleHQgcCArIGgxLFxuICAuY29tcG9uZW50ID4gLnRleHQgcCArIGgyLFxuICAuY29tcG9uZW50ID4gLnRleHQgcCArIGgzLFxuICAuY29tcG9uZW50ID4gLnRleHQgcCArIGg0LFxuICAuY29tcG9uZW50ID4gLnRleHQgcCArIGg1LFxuICAuY29tcG9uZW50ID4gLnRleHQgcCArIGg2LFxuICAuY29tcG9uZW50ID4gLnRleHQgdWwgKyBoMSxcbiAgLmNvbXBvbmVudCA+IC50ZXh0IHVsICsgaDIsXG4gIC5jb21wb25lbnQgPiAudGV4dCB1bCArIGgzLFxuICAuY29tcG9uZW50ID4gLnRleHQgdWwgKyBoNCxcbiAgLmNvbXBvbmVudCA+IC50ZXh0IHVsICsgaDUsXG4gIC5jb21wb25lbnQgPiAudGV4dCB1bCArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0IHAgKyBoMSxcbiAgICAgIC5jb21wb25lbnQgPiAudGV4dCBwICsgaDIsXG4gICAgICAuY29tcG9uZW50ID4gLnRleHQgcCArIGgzLFxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0IHAgKyBoNCxcbiAgICAgIC5jb21wb25lbnQgPiAudGV4dCBwICsgaDUsXG4gICAgICAuY29tcG9uZW50ID4gLnRleHQgcCArIGg2LFxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0IHVsICsgaDEsXG4gICAgICAuY29tcG9uZW50ID4gLnRleHQgdWwgKyBoMixcbiAgICAgIC5jb21wb25lbnQgPiAudGV4dCB1bCArIGgzLFxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0IHVsICsgaDQsXG4gICAgICAuY29tcG9uZW50ID4gLnRleHQgdWwgKyBoNSxcbiAgICAgIC5jb21wb25lbnQgPiAudGV4dCB1bCArIGg2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTVweDsgfSB9XG4gIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdIC5jb21wb25lbnQgPiAudGV4dCBoMSB7XG4gICAgY29sb3I6ICMwMDlGREI7IH1cbiAgLmNvbXBvbmVudCA+IC50ZXh0IGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4zNTsgfVxuICAuY29tcG9uZW50ID4gLnRleHQgLnRleHRfX3dyYXAgPiBhLFxuICAuY29tcG9uZW50ID4gLnRleHQgcCBhLFxuICAuY29tcG9uZW50ID4gLnRleHQgbGkgYSxcbiAgLmNvbXBvbmVudCA+IC50ZXh0IHRhYmxlIGEsXG4gIC5jb21wb25lbnQgPiAudGV4dCBibG9ja3F1b3RlIGEge1xuICAgIGNvbG9yOiAjMDU2OEFFOyB9XG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IC50ZXh0X193cmFwID4gYTpob3ZlcixcbiAgICAuY29tcG9uZW50ID4gLnRleHQgcCBhOmhvdmVyLFxuICAgIC5jb21wb25lbnQgPiAudGV4dCBsaSBhOmhvdmVyLFxuICAgIC5jb21wb25lbnQgPiAudGV4dCB0YWJsZSBhOmhvdmVyLFxuICAgIC5jb21wb25lbnQgPiAudGV4dCBibG9ja3F1b3RlIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdIC5jb21wb25lbnQgPiAudGV4dCAudGV4dF9fd3JhcCA+IGEsIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl1cbiAgICAuY29tcG9uZW50ID4gLnRleHQgcCBhLCAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IGxpIGEsIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl1cbiAgICAuY29tcG9uZW50ID4gLnRleHQgdGFibGUgYSwgLnJlZ2lvbltjbGFzcyo9XCItYmx1ZVwiXVxuICAgIC5jb21wb25lbnQgPiAudGV4dCBibG9ja3F1b3RlIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucmVnaW9uLS1ibHVlIC5jb21wb25lbnQgPiAudGV4dCAudGV4dF9fd3JhcCA+IGEsIC5yZWdpb24tLWJsdWVcbiAgICAuY29tcG9uZW50ID4gLnRleHQgcCBhLCAucmVnaW9uLS1ibHVlXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IGxpIGEsIC5yZWdpb24tLWJsdWVcbiAgICAuY29tcG9uZW50ID4gLnRleHQgdGFibGUgYSwgLnJlZ2lvbi0tYmx1ZVxuICAgIC5jb21wb25lbnQgPiAudGV4dCBibG9ja3F1b3RlIGEge1xuICAgICAgY29sb3I6ICMxOTE5MTk7IH1cbiAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbXBvbmVudCA+IC50ZXh0IC50ZXh0X193cmFwID4gYSwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IHAgYSwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IGxpIGEsIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgIC5jb21wb25lbnQgPiAudGV4dCB0YWJsZSBhLCAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAuY29tcG9uZW50ID4gLnRleHQgYmxvY2txdW90ZSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmNvbXBvbmVudCA+IC50ZXh0IC50ZXh0X193cmFwID4gYSwgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl1cbiAgICAuY29tcG9uZW50ID4gLnRleHQgcCBhLCAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgIC5jb21wb25lbnQgPiAudGV4dCBsaSBhLCAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgIC5jb21wb25lbnQgPiAudGV4dCB0YWJsZSBhLCAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgIC5jb21wb25lbnQgPiAudGV4dCBibG9ja3F1b3RlIGEge1xuICAgICAgY29sb3I6ICMwMDlGREI7IH1cbiAgLmNvbXBvbmVudCA+IC50ZXh0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jb21wb25lbnQgPiAudGV4dCBociB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDRweDtcbiAgICBib3JkZXItY29sb3I6ICMwMDlGREI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46IDUwcHggYXV0bzsgfVxuICAgIC5yZWdpb24tLWRhcmstYmx1ZSAuY29tcG9uZW50ID4gLnRleHQgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0IGhyIHtcbiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG87IH0gfVxuICAuY29tcG9uZW50ID4gLnRleHQgdGFibGUge1xuICAgIG1hcmdpbjogNDVweCAwOyB9XG4gICAgLmNvbXBvbmVudCA+IC50ZXh0IHRhYmxlIHRoLFxuICAgIC5jb21wb25lbnQgPiAudGV4dCB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgIC5jb21wb25lbnQgPiAudGV4dCB0YWJsZSB0aCxcbiAgICAgICAgLmNvbXBvbmVudCA+IC50ZXh0IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH0gfVxuICAgIC5jb21wb25lbnQgPiAudGV4dCB0YWJsZSB0aCB7XG4gICAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zIEJsYWNrXCIsIFwiQWxlY2sgU2FucyBNZWRpdW1cIiwgXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY29tcG9uZW50ID4gLnRleHQgdGFibGUgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0M5QzlDOTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbXBvbmVudCA+IC50ZXh0IHRhYmxlIHRkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGOyB9XG4gICAgICAucmVnaW9uLS1ibHVlIC5jb21wb25lbnQgPiAudGV4dCB0YWJsZSB0ZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0IHRhYmxlIHRkICsgdGQge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9XG4gIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1oZWFkbGluZS1ibHVlIGgxLFxuICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0taGVhZGxpbmUtYmx1ZSBoMixcbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWhlYWRsaW5lLWJsdWUgaDMsXG4gIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1oZWFkbGluZS1ibHVlIGg0LFxuICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0taGVhZGxpbmUtYmx1ZSBoNSxcbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWhlYWRsaW5lLWJsdWUgaDYge1xuICAgIGNvbG9yOiAjMDA5RkRCO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1QTVBNUE7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAgIC5yZWdpb24tLWJsdWUgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWhlYWRsaW5lLWJsdWUgaDEsIC5yZWdpb24tLWJsdWVcbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0taGVhZGxpbmUtYmx1ZSBoMiwgLnJlZ2lvbi0tYmx1ZVxuICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1oZWFkbGluZS1ibHVlIGgzLCAucmVnaW9uLS1ibHVlXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWhlYWRsaW5lLWJsdWUgaDQsIC5yZWdpb24tLWJsdWVcbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0taGVhZGxpbmUtYmx1ZSBoNSwgLnJlZ2lvbi0tYmx1ZVxuICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1oZWFkbGluZS1ibHVlIGg2IHtcbiAgICAgIGNvbG9yOiAjMTkxOTE5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTkxOTE5OyB9XG4gICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1oZWFkbGluZS1ibHVlIGgxLCAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0taGVhZGxpbmUtYmx1ZSBoMiwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWhlYWRsaW5lLWJsdWUgaDMsIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1oZWFkbGluZS1ibHVlIGg0LCAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0taGVhZGxpbmUtYmx1ZSBoNSwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWhlYWRsaW5lLWJsdWUgaDYge1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkY7IH1cbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWhlYWRsaW5lLWJsdWUgaDIge1xuICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICBmb250LXNpemU6IDMuOHJlbTsgfVxuICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0taGVhZGxpbmUtYmx1ZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9XG4gIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1mZWF0dXJlZCBoMSxcbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZlYXR1cmVkIGgyLFxuICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZmVhdHVyZWQgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZlYXR1cmVkIHN0cm9uZyxcbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZlYXR1cmVkIGIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLXNwZWNpYWwtYm9sZCBoMSxcbiAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLXNwZWNpYWwtYm9sZCBoMiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tc3BlY2lhbC1ib2xkIGgxIGIsXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLXNwZWNpYWwtYm9sZCBoMSBzdHJvbmcsXG4gICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLXNwZWNpYWwtYm9sZCBoMiBiLFxuICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1zcGVjaWFsLWJvbGQgaDIgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgICAgLnJlZ2lvbi0tYmx1ZSAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tc3BlY2lhbC1ib2xkIGgxIGIsIC5yZWdpb24tLWJsdWVcbiAgICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1zcGVjaWFsLWJvbGQgaDEgc3Ryb25nLCAucmVnaW9uLS1ibHVlXG4gICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tc3BlY2lhbC1ib2xkIGgyIGIsIC5yZWdpb24tLWJsdWVcbiAgICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1zcGVjaWFsLWJvbGQgaDIgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5yZWdpb24tLWRhcmstYmx1ZSAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tc3BlY2lhbC1ib2xkIGgxIGIsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tc3BlY2lhbC1ib2xkIGgxIGIsIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLXNwZWNpYWwtYm9sZCBoMSBzdHJvbmcsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXVxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLXNwZWNpYWwtYm9sZCBoMSBzdHJvbmcsIC5yZWdpb24tLWRhcmstYmx1ZVxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLXNwZWNpYWwtYm9sZCBoMiBiLFxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl1cbiAgICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1zcGVjaWFsLWJvbGQgaDIgYiwgLnJlZ2lvbi0tZGFyay1ibHVlXG4gICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tc3BlY2lhbC1ib2xkIGgyIHN0cm9uZyxcbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdXG4gICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tc3BlY2lhbC1ib2xkIGgyIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1mb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LWZhbWlseTogXCJBbGVjayBTYW5zXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZvb3RlciBoMSxcbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtOyB9XG4gICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZvb3RlciBoMiB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIHVsLFxuICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1mb290ZXIgb2wge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZvb3RlciB1bCA+IGxpLFxuICAgICAgLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZvb3RlciBvbCA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIHVsID4gbGk6YmVmb3JlLFxuICAgICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIG9sID4gbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAgIC5jb21wb25lbnQgPiAudGV4dC50ZXh0LS1mb290ZXIgdWwgPiBsaSBhLFxuICAgICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIG9sID4gbGkgYSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLmNvbXBvbmVudCA+IC50ZXh0LnRleHQtLWZvb3RlciB1bCA+IGxpIGE6bm90KDpob3ZlciksIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl1cbiAgICAgICAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIG9sID4gbGkgYTpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY29tcG9uZW50ID4gLnRleHQudGV4dC0tZm9vdGVyIGhyIHtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMnB4OyB9XG5cbi8qIEJsb2NrcW91dGVzICovXG4udGV4dC0tYmxvY2txdW90ZSAudGV4dF9fd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAzMHB4IDAgMjBweDtcbiAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2xhYlwiLCBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzAwOUZEQjsgfVxuICAudGV4dC0tYmxvY2txdW90ZSAudGV4dF9fd3JhcCBoMSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLnRleHQtLWJsb2NrcXVvdGUgLnRleHRfX3dyYXAgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLnRleHQtLWJsb2NrcXVvdGUgLnRleHRfX3dyYXAge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudGV4dC0tYmxvY2txdW90ZSAudGV4dF9fd3JhcCB7XG4gICAgICBtYXJnaW46IDI1cHggMDtcbiAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRleHQtLWJsb2NrcXVvdGUgLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgZm9udC1zaXplOiA2MnB4O1xuICAgICAgZm9udC1zaXplOiA2LjJyZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQzlDOUM5O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBmb250LWZhbWlseTogXCJBVFRfSWNvbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogI0M5QzlDOTtcbiAgICAgIC8qIFRvIGFjY29tb2RhdGUgYmx1ZSBiYWNrZ3JvdW5kcyAqL1xuICAgICAgLyogVG8gY2VudGVyIHRoZSBpY29uICovXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6kklwiOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwOmJlZm9yZSxcbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0ZGRjtcbiAgICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLnRleHQtLWJsb2NrcXVvdGUgLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuNjU7IH0gfVxuXG4vKiBUZXh0IHdpdGggSWNvbnMgKi9cbltjbGFzcyo9XCJ0ZXh0LS1pY29uLVwiXSAudGV4dF9fd3JhcCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICBsaW5lLWhlaWdodDogMS43NTsgfVxuICBbY2xhc3MqPVwidGV4dC0taWNvbi1cIl0gLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRvcDogNTAlO1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICBmb250LXNpemU6IDYuMnJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICB3aWR0aDogNzBweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQzlDOUM5O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBsZWZ0OiAtMTVweDtcbiAgICBmb250LWZhbWlseTogXCJBVFRfSWNvbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjQzlDOUM5O1xuICAgIC8qIFRvIGFjY29tb2RhdGUgYmx1ZSBiYWNrZ3JvdW5kcyAqL1xuICAgIC8qIFRvIGNlbnRlciB0aGUgaWNvbiAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gW2NsYXNzKj1cInRleHQtLWljb24tXCJdIC50ZXh0X193cmFwOmJlZm9yZSxcbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSBbY2xhc3MqPVwidGV4dC0taWNvbi1cIl0gLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRjtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSBbY2xhc3MqPVwidGV4dC0taWNvbi1cIl0gLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IC42NTsgfVxuXG4udGV4dC0taWNvbi1hbGVydCAudGV4dF9fd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgFwiOyB9XG5cbi50ZXh0LS1pY29uLWF0dC1sb2dvIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7IH1cblxuLnRleHQtLWljb24tYXR0LWxvZ28tdGV4dCAudGV4dF9fd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kjlwiOyB9XG5cbi50ZXh0LS1pY29uLWNvbW1lbnQgLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIJcIjsgfVxuXG4udGV4dC0taWNvbi1kb3dubG9hZCAudGV4dF9fd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kg1wiOyB9XG5cbi50ZXh0LS1pY29uLWVtYWlsIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSEXCI7IH1cblxuLnRleHQtLWljb24tZmFjZWJvb2sgLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIVcIjsgfVxuXG4udGV4dC0taWNvbi1mYXEgLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIZcIjsgfVxuXG4udGV4dC0taWNvbi1maWxlIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSHXCI7IH1cblxuLnRleHQtLWljb24taW5mbyAudGV4dF9fd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kiFwiOyB9XG5cbi50ZXh0LS1pY29uLWluZm8yIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSJXCI7IH1cblxuLnRleHQtLWljb24taW5zdGFncmFtIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSKXCI7IH1cblxuLnRleHQtLWljb24tbGluayAudGV4dF9fd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ki1wiOyB9XG5cbi50ZXh0LS1pY29uLWxpbmtlZGluIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSMXCI7IH1cblxuLnRleHQtLWljb24tbm90aWZpY2F0aW9uIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSPXCI7IH1cblxuLnRleHQtLWljb24tbWludXMgLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupI1cIjsgfVxuXG4udGV4dC0taWNvbi1wbGF5IC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSQXCI7IH1cblxuLnRleHQtLWljb24tcGx1cyAudGV4dF9fd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kkVwiOyB9XG5cbi50ZXh0LS1pY29uLXF1b3RlIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSSXCI7IH1cblxuLnRleHQtLWljb24tc2VhcmNoIC50ZXh0X193cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSTXCI7IH1cblxuLnRleHQtLWljb24tdHdpdHRlciAudGV4dF9fd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6klFwiOyB9XG5cbi50ZXh0LS1pY29uLXlvdXR1YmUgLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJVcIjsgfVxuXG4udGV4dC0tYmxvY2txdW90ZSAudGV4dF9fd3JhcCxcbltjbGFzcyo9XCJ0ZXh0LS1pY29uLVwiXSAudGV4dF9fd3JhcCB7XG4gIC8qIFRvIHJlcG9zaXRpb24gZm9yIG5hcnJvdyBjb2x1bW5zICovIH1cbiAgLmNvbC0yIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwLFxuICAuY29sLTMgLnRleHQtLWJsb2NrcXVvdGUgLnRleHRfX3dyYXAsXG4gIC5jb2wtNCAudGV4dC0tYmxvY2txdW90ZSAudGV4dF9fd3JhcCwgLmNvbC0yXG4gIFtjbGFzcyo9XCJ0ZXh0LS1pY29uLVwiXSAudGV4dF9fd3JhcCxcbiAgLmNvbC0zXG4gIFtjbGFzcyo9XCJ0ZXh0LS1pY29uLVwiXSAudGV4dF9fd3JhcCxcbiAgLmNvbC00XG4gIFtjbGFzcyo9XCJ0ZXh0LS1pY29uLVwiXSAudGV4dF9fd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmNvbC0yIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwOmJlZm9yZSxcbiAgICAuY29sLTMgLnRleHQtLWJsb2NrcXVvdGUgLnRleHRfX3dyYXA6YmVmb3JlLFxuICAgIC5jb2wtNCAudGV4dC0tYmxvY2txdW90ZSAudGV4dF9fd3JhcDpiZWZvcmUsIC5jb2wtMlxuICAgIFtjbGFzcyo9XCJ0ZXh0LS1pY29uLVwiXSAudGV4dF9fd3JhcDpiZWZvcmUsXG4gICAgLmNvbC0zXG4gICAgW2NsYXNzKj1cInRleHQtLWljb24tXCJdIC50ZXh0X193cmFwOmJlZm9yZSxcbiAgICAuY29sLTRcbiAgICBbY2xhc3MqPVwidGV4dC0taWNvbi1cIl0gLnRleHRfX3dyYXA6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOUM5Qzk7IH1cblxuLyogQ1RBcyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudGV4dF9fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuLyo9PT09XG4gIFRJTEVcbiAgPT09PSovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAudGlsZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLnRpbGVfX3dyYXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgLnRpbGVfX3dyYXAge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLnRpbGVfX2ltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAudGlsZV9faW1nOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC42KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDEwMCUpOyB9XG4gICAgLm5vLWNzc2dyYWRpZW50cyAudGlsZV9faW1nOmFmdGVyIHtcbiAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMzMwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgICAtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMzMzAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcsR3JhZGllbnRUeXBlPTEgKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucm93LS1lcXVhbC1oZWlnaHRzIC50aWxlX19pbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAudGlsZV9faW1nLmNvbXBhdC1vYmplY3QtZml0IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgLnRpbGVfX2ltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAudGlsZV9faW1nLmNvbXBhdC1vYmplY3QtZml0IHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDsgfSB9XG4gIC5yb3ctLWVxdWFsLWhlaWdodHMgLnRpbGU6aG92ZXIgLnRpbGVfX2ltZy5jb21wYXQtb2JqZWN0LWZpdCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxKSByb3RhdGUoMC4xZGVnKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnRpbGVfX2ltZyA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC50aWxlX19pbWcgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAudGlsZV9faW1nIGltZyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGxlZnQ7IH0gfVxuICAgIC50aWxlOmhvdmVyIC50aWxlX19pbWcgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMSkgcm90YXRlKDAuMWRlZyk7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLnRpbGVfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAgMjVweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjb2xvcjogI0ZGRjtcbiAgLyogQm90dG9tIGNvbG9yIGJhciAqL1xuICAvKiovIH1cbiAgLnRpbGVfX2NvbnRlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogOHB4O1xuICAgIHdpZHRoOiAxMDAuNSU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogTk9URTogQm90dG9tIGNvbG9yIGJhciBjYW4gdmFyeSBiYXNlZCBvbiB0aGUgcGFnZSBjYXRlZ29yeSAodGhlbWUpLiBEZWZhdWx0IHRyZWF0bWVudCBpcyBzaWx2ZXIuICovXG4gICAgYmFja2dyb3VuZDogI0VERUNFQztcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNlZGVjZWMgMCUsICNmOWY5ZjkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZWRlY2VjIDAlLCAjZjlmOWY5IDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjRURFQ0VDJywgZW5kQ29sb3JzdHI9JyNGOUY5RjknLEdyYWRpZW50VHlwZT0xICk7IH1cbiAgICAubm8tY3NzZ3JhZGllbnRzIC50aWxlX19jb250ZW50OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogbm9uZTsgfVxuICAgIC50aWxlX19jb250ZW50OmFmdGVyIC5jdGEtLWxpbmsge1xuICAgICAgY29sb3I6ICMwNTY4QUU7IH1cbiAgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC50aWxlX19jb250ZW50IC50aWxlX19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgICAgZm9udC1zaXplOiAzLjhyZW07XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICBib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jb2wtMiAudGlsZV9fY29udGVudCAudGlsZV9faGVhZGxpbmUsXG4gICAgICAuY29sLTMgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX2hlYWRsaW5lLFxuICAgICAgLmNvbC00IC50aWxlX19jb250ZW50IC50aWxlX19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgYm90dG9tOiA2NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuY29sLTQgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICBmb250LXNpemU6IDMuOHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLmNvbC00IC50aWxlX19jb250ZW50IC50aWxlX19oZWFkbGluZSB7XG4gICAgICAgIG1heC13aWR0aDogNzAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY29sLTkgKyAuY29sLTMgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX2hlYWRsaW5lLFxuICAgICAgLmNvbC04ICsgLmNvbC00IC50aWxlX19jb250ZW50IC50aWxlX19oZWFkbGluZSB7XG4gICAgICAgIGJvdHRvbTogODVweDsgfSB9XG4gIC50aWxlX19jb250ZW50IC50aWxlX19zdWJoZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnNcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNvbC0yIC50aWxlX19jb250ZW50IC50aWxlX19zdWJoZWFkbGluZSxcbiAgICAgIC5jb2wtMyAudGlsZV9fY29udGVudCAudGlsZV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuY29sLTIgLnRpbGVfX2NvbnRlbnQgLnRpbGVfX3N1YmhlYWRsaW5lLFxuICAgICAgLmNvbC0zIC50aWxlX19jb250ZW50IC50aWxlX19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jb2wtNCAudGlsZV9fY29udGVudCAudGlsZV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5jb2wtNCAudGlsZV9fY29udGVudCAudGlsZV9fc3ViaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxLjlyZW07IH0gfVxuXG4vKj09PT09PT09PVxuICBUZW1wbGF0ZXNcbiAgPT09PT09PT09Ki9cbi8qPT09PT09PT09PT09PT1cbiAgU1RPUlkgVEVNUExBVEVcbiAgPT09PT09PT09PT09PT0qL1xuLyogU3RvcnkgSGVhZGVyICovXG4uc3RvcnlfX2hlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc3RvcnlfX2hlYWRlciAuZmVhdHVyZWQtaW1hZ2UsXG4gIC5zdG9yeV9faGVhZGVyIC5mZWF0dXJlZF9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgbWF4LWhlaWdodDogNDgzcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zdG9yeV9faGVhZGVyIC5mZWF0dXJlZC1pbWFnZSBpbWcsXG4gICAgLnN0b3J5X19oZWFkZXIgLmZlYXR1cmVkX19pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuc3RvcnlfX2hlYWRlci5zdG9yeV9faGVhZGVyLS1saWdodCAuZmVhdHVyZWQtaW1hZ2UsXG4gIC5zdG9yeV9faGVhZGVyLnN0b3J5X19oZWFkZXItLWxpZ2h0IC5mZWF0dXJlZF9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cblxuLyogU3RvcnkgUHJlZmFjZSAqL1xuLnN0b3J5X19wcmVmYWNlID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc3RvcnlfX3ByZWZhY2U6Zmlyc3QtY2hpbGQgKyAuc3RvcnlfX3dyYXAge1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnN0b3J5X19wcmVmYWNlOmZpcnN0LWNoaWxkICsgLnN0b3J5X193cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLyogU2VhcmNoIFdpZGdldCAqL1xuLndpZGdldC0tc2VhcmNoIC5jb21wb25lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFRvcCBWaWRlb3MgV2lkZ2V0ICovXG4ud2lkZ2V0LS12aWRlb3MgLndpZGdldF9faXRlbXM6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC53aWRnZXQtLXZpZGVvcyAud2lkZ2V0X19pdGVtcyB7XG4gICAgbWFyZ2luOiAwIC0xMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLndpZGdldC0tdmlkZW9zIC53aWRnZXRfX2l0ZW1zIC5jb21wb25lbnQge1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAud2lkZ2V0LS12aWRlb3MgLndpZGdldF9faXRlbXMgLmNvbXBvbmVudCB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9IH1cblxuLndpZGdldC0tdmlkZW9zIC53aWRnZXRfX2l0ZW1zIC5jb21wb25lbnQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQ29tcG9uZW50IFN0eWxlIE92ZXJyaWRlcyAqL1xuLnN0b3J5IHtcbiAgLyogQXJ0aWNsZSAqL1xuICAvKiBTaWRlYmFyICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLnN0b3J5IC5zdG9yeV9fd3JhcCAucm93X193cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnN0b3J5IC5hcnRpY2xlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAvKiBBcnRpY2xlIEJhbm5lciBDb21wb25lbnRzICovIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuc3RvcnkgLmFydGljbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5zdG9yeSAuYXJ0aWNsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTA1cHg7IH0gfVxuICAgIC5zdG9yeSAuYXJ0aWNsZSA+IC5jb250ZW50X193cmFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICAgLnN0b3J5IC5hcnRpY2xlIC5iYW5uZXIgLmJhbm5lcl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5zdG9yeSAuYXJ0aWNsZSAuYmFubmVyIC5iYW5uZXJfX2N0YSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zdG9yeSAuc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgLyogU2lkZWJhciBDb21wb25lbnRzICovXG4gICAgLyogU2lkZWJhciBGZWF0dXJlZCBJdGVtIENvbXBvbmVudHMgKi9cbiAgICAvKiBTaWRlYmFyIE1lZGlhIENvbXBvbmVudHMgKi9cbiAgICAvKiBTaWRlYmFyIFRleHQgQ29tcG9uZW50cyAqLyB9XG4gICAgLnN0b3J5IC5zaWRlYmFyIC5zaWRlYmFyX19jb250ZW50IC5jb21wb25lbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgLnN0b3J5IC5zaWRlYmFyIC5zaWRlYmFyX19jb250ZW50IC5jb21wb25lbnQuY29tcG9uZW50LS1uby1tYXJnaW4tYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgICAuc3RvcnkgLnNpZGViYXIgLnNpZGViYXJfX2NvbnRlbnQgLmNvbXBvbmVudC5jb21wb25lbnQtLWJvcmRlci1ib3R0b20gPiBkaXYge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAgICAgLnN0b3J5IC5zaWRlYmFyIC5zaWRlYmFyX19jb250ZW50IC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tID4gZGl2OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAuc3RvcnkgLnNpZGViYXIgLmZlYXR1cmVkLWl0ZW0ge1xuICAgICAgb3ZlcmZsb3c6IGluaGVyaXQ7IH1cbiAgICAuc3RvcnkgLnNpZGViYXIgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLnN0b3J5IC5zaWRlYmFyIC5jb21wb25lbnQ6bGFzdC1jaGlsZCAuaXRlbV9fY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN0b3J5IC5zaWRlYmFyIC5pdGVtX19tZWRpYSArIC5pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgLnN0b3J5IC5zaWRlYmFyIC5pdGVtX19tZWRpYSB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc3RvcnkgLnNpZGViYXIgLml0ZW1fX3ByZXZpZXcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5zdG9yeSAuc2lkZWJhciAuaXRlbV9fcHJldmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH0gfVxuICAgIC5zdG9yeSAuc2lkZWJhciAud2lkZ2V0LS12aWRlb3MgLml0ZW1fX21lZGlhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnN0b3J5IC5zaWRlYmFyIC53aWRnZXQtLXZpZGVvcyBbY2xhc3NePVwiaXRlbV9fdmlkZW9cIl0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLnN0b3J5IC5zaWRlYmFyIC53aWRnZXQtLXZpZGVvcyBbY2xhc3NePVwiaXRlbV9fdmlkZW9cIl0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNjVweDsgfSB9XG4gICAgLnN0b3J5IC5zaWRlYmFyIC53aWRnZXQtLXZpZGVvcyAuaXRlbV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgIC5zdG9yeSAuc2lkZWJhciAud2lkZ2V0LS12aWRlb3MgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9IH1cbiAgICAuc3RvcnkgLnNpZGViYXIgLm1lZGlhX19jYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLnN0b3J5IC5zaWRlYmFyIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwLFxuICAgIC5zdG9yeSAuc2lkZWJhciAudGV4dCBibG9ja3F1b3RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuc3RvcnkgLmFydGljbGUsXG4gICAgLnN0b3J5IC5zaWRlYmFyIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc3RvcnkgLmFydGljbGUsXG4gICAgLnN0b3J5IC5zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDY1cHg7IH0gfVxuICAuc3RvcnkgLmFydGljbGUgLmNvbXBvbmVudCA+IC50ZXh0LFxuICAuc3RvcnkgLnNpZGViYXIgLmNvbXBvbmVudCA+IC50ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc3RvcnkgLnN0b3J5X19wcmVmYWNlIC5hbGVydCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5zdG9yeSAuc3RvcnlfX3ByZWZhY2UgLmFsZXJ0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLnN0b3J5IC5zdG9yeV9fcHJlZmFjZSAuYWxlcnRfX21lc3NhZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDEwNXB4IC0gMTBweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEwNXB4IC0gMTBweCk7IH0gfVxuXG4vKj09PT09PT09PT09PT09XG4gIEJMT0cgVEVNUExBVEVTXG4gID09PT09PT09PT09PT09Ki9cbi8qIEdlbmVyYWwgQmxvZyBFbGVtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAuYXJ0aWNsZSBbY2xhc3NePVwiYmxvZ19fXCJdIC5jb2wuY29sLTgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbi5ibG9nX19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAuaGVhZGVyLS10cmFuc3BhcmVudCArIC5jb250ZW50IC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwNXB4KTsgfSB9XG4gICAgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgICAgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSBwIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwJTsgfSB9XG4gIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGVfX2N0YSB7XG4gICAgbWFyZ2luOiAyNXB4IDA7IH1cbiAgICAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlX19jdGEgLmN0YS0tbGluayB7XG4gICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgICAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlX19jdGEgLmN0YS0tbGluayB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0gfVxuICAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzAwOUZEQjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IGIsXG4gICAgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtY2F0ZWdvcnkgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuICAgICAgLnJlZ2lvbi0tYmx1ZSAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSBiLCAucmVnaW9uLS1ibHVlXG4gICAgICAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IGIsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSBiLCAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAgIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyxcbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdXG4gICAgICAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI0ZGRjsgfVxuICAuYmxvZ19faGVhZGVyLmJsb2dfX2hlYWRlci0tbGlnaHQgLmZlYXR1cmVkLWNhdGVnb3J5IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5ibG9nX19oZWFkZXIuYmxvZ19faGVhZGVyLS1saWdodCAuZmVhdHVyZWQtY2F0ZWdvcnkgYixcbiAgICAuYmxvZ19faGVhZGVyLmJsb2dfX2hlYWRlci0tbGlnaHQgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5yZWdpb24tLWJsdWUgLmJsb2dfX2hlYWRlci5ibG9nX19oZWFkZXItLWxpZ2h0IC5mZWF0dXJlZC1jYXRlZ29yeSBiLCAucmVnaW9uLS1ibHVlXG4gICAgICAuYmxvZ19faGVhZGVyLmJsb2dfX2hlYWRlci0tbGlnaHQgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmJsb2dfX2hlYWRlci5ibG9nX19oZWFkZXItLWxpZ2h0IC5mZWF0dXJlZC1jYXRlZ29yeSBiLFxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmJsb2dfX2hlYWRlci5ibG9nX19oZWFkZXItLWxpZ2h0IC5mZWF0dXJlZC1jYXRlZ29yeSBiLCAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAgIC5ibG9nX19oZWFkZXIuYmxvZ19faGVhZGVyLS1saWdodCAuZmVhdHVyZWQtY2F0ZWdvcnkgc3Ryb25nLFxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl1cbiAgICAgIC5ibG9nX19oZWFkZXIuYmxvZ19faGVhZGVyLS1saWdodCAuZmVhdHVyZWQtY2F0ZWdvcnkgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICNGRkY7IH1cblxuLyogQmxvZyBMYW5kaW5nIFN0eWxlcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PSAqL1xuLmJsb2ctbGFuZGluZyAuYmxvZ19faGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNGRkY7IH1cbiAgLmJsb2ctbGFuZGluZyAuYmxvZ19faGVhZGVyLmJsb2dfX2hlYWRlci0tbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJsb2ctbGFuZGluZyAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5ibG9nLWxhbmRpbmcgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtaW1hZ2UgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgLmJsb2ctbGFuZGluZyAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmJsb2ctbGFuZGluZyAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5ibG9nLWxhbmRpbmcgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYmxvZy1sYW5kaW5nIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuYmxvZy1sYW5kaW5nIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAuYmxvZy1sYW5kaW5nIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuYmxvZy1sYW5kaW5nIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgICAgLmJsb2ctbGFuZGluZyAuYmxvZ19faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC1oZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgIC5ibG9nLWxhbmRpbmcgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtaGVhZGxpbmUge1xuICAgICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIC5ibG9nLWxhbmRpbmcgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtaGVhZGxpbmUsXG4gICAgICAuYmxvZy1sYW5kaW5nIC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUgLmZlYXR1cmVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MCU7IH0gfVxuXG4vKiBCbG9nIFBvc3QgU3R5bGVzICovXG4vKiA9PT09PT09PT09PT09PT09ICovXG4uYmxvZy1wb3N0IC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICBwYWRkaW5nOiA0MHB4IDAgMzBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmxvZy1wb3N0IC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgcGFkZGluZzogNTBweCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5ibG9nLXBvc3QgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDA7IH0gfVxuXG4uYmxvZy1wb3N0IC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IGIsXG4uYmxvZy1wb3N0IC5ibG9nX19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5ibG9nLXBvc3QgLmJsb2dfX2hlYWRlciAuZmVhdHVyZWQtaGVhZGxpbmUge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4uYmxvZ19fYXV0aG9ycyB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC5ibG9nX19hdXRob3JzIC5hdXRob3JfX21ldGEge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgICAuYmxvZ19fYXV0aG9ycyAuYXV0aG9yX19tZXRhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzlDOUM5O1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmJsb2dfX2F1dGhvcnMgLmF1dGhvcl9fbWV0YTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7IH0gfVxuICAgIC5ibG9nX19hdXRob3JzIC5hdXRob3JfX21ldGE6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJsb2dfX2F1dGhvcnMgLmF1dGhvcl9fbWV0YSAuYXV0aG9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5ibG9nX19hdXRob3JzIC5hdXRob3JfX21ldGEgLnRpdGxlLFxuICAgIC5ibG9nX19hdXRob3JzIC5hdXRob3JfX21ldGEgLmluZm8ge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmJsb2dfX2F1dGhvcnMgLmF1dGhvcl9fbWV0YSAudGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4vKiBDb21wb25lbnQgU3R5bGUgT3ZlcnJpZGVzICovXG4uYmxvZyB7XG4gIC8qIEFydGljbGUgKi8gfVxuICAuYmxvZyAuYXJ0aWNsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYmxvZyAuYXJ0aWNsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgLmJsb2cgLmJsb2dfX2hlYWRlciAuY29sLFxuICAuYmxvZyAuYmxvZ19fYXV0aG9ycyAuY29sIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmJsb2cgLmFydGljbGVfX21ldGEge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYmxvZyAuYXJ0aWNsZV9fbWV0YSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuICAgIC5ibG9nIC5hcnRpY2xlX19tZXRhIC5tZXRhX19pbmZvIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgLmJsb2cgLmFydGljbGVfX21ldGEgLm1ldGFfX2luZm8gLmRhdGUge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PVxuICBNRURJQSBLSVQgVEVNUExBVEVTXG4gID09PT09PT09PT09PT09PT09PT0qL1xuLyogR2VuZXJhbCBNZWRpYSBLaXQgRWxlbWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLmFydGljbGUgW2NsYXNzXj1cIm1lZGlhLWtpdF9fXCJdIC5jb2wuY29sLTgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbi5tZWRpYS1raXRfX2hlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLmhlYWRlci0tdHJhbnNwYXJlbnQgKyAuY29udGVudCAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwNXB4KTsgfSB9XG4gICAgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIHAge1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40NTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgICAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUgcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MCU7IH0gfVxuICAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGVfX2N0YSB7XG4gICAgbWFyZ2luOiAyNXB4IDA7IH1cbiAgICAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGVfX2N0YSAuY3RhLS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDA5RkRCOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZV9fY3RhIC5jdGEtLWxpbmsge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtY2F0ZWdvcnkgYixcbiAgICAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMDlGREI7IH1cbiAgICAgIC5yZWdpb24tLWJsdWUgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSBiLCAucmVnaW9uLS1ibHVlXG4gICAgICAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSBiLFxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1jYXRlZ29yeSBiLCAucmVnaW9uLS1kYXJrLWJsdWVcbiAgICAgIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtY2F0ZWdvcnkgc3Ryb25nLFxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl1cbiAgICAgIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtY2F0ZWdvcnkgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICNGRkY7IH1cbiAgLm1lZGlhLWtpdF9faGVhZGVyLm1lZGlhLWtpdF9faGVhZGVyLS1saWdodCAuZmVhdHVyZWQtY2F0ZWdvcnkge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi8qIE1lZGlhIEtpdCBMYW5kaW5nIFN0eWxlcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9faGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNGRkY7IH1cbiAgLm1lZGlhLWtpdC1sYW5kaW5nIC5tZWRpYS1raXRfX2hlYWRlci5tZWRpYS1raXRfX2hlYWRlci0tbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLm1lZGlhLWtpdC1sYW5kaW5nIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLWtpdC1sYW5kaW5nIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgcGFkZGluZzogNDBweCAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tZWRpYS1raXQtbGFuZGluZyAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLm1lZGlhLWtpdC1sYW5kaW5nIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5tZWRpYS1raXQtbGFuZGluZyAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgICAgLm1lZGlhLWtpdC1sYW5kaW5nIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtaGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDZyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgICAubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC1oZWFkbGluZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgLm1lZGlhLWtpdC1sYW5kaW5nIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtaGVhZGxpbmUsXG4gICAgICAubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogNzAlOyB9IH1cblxuLm1lZGlhLWtpdC1sYW5kaW5nIC5tZWRpYS1raXRfX3dyYXAgLmZlYXR1cmVkLXN0b3JpZXMge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5tZWRpYS1raXQtbGFuZGluZyAubWVkaWEta2l0X193cmFwIC5mZWF0dXJlZC1zdG9yaWVzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cblxuLyogTWVkaWEgS2l0IFBhZ2UgU3R5bGVzICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWFydGljbGUge1xuICBwYWRkaW5nOiA0MHB4IDAgMzBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9faGVhZGVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMDsgfSB9XG5cbi5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX2hlYWRlciAuZmVhdHVyZWQtY2F0ZWdvcnkgYixcbi5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyB7XG4gIGNvbG9yOiAjMDA5RkRCOyB9XG5cbi5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X19oZWFkZXIgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX2hlYWRlciAuY29sIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4vKiBDb21wb25lbnQgU3R5bGUgT3ZlcnJpZGVzICovXG4ubWVkaWEta2l0IHtcbiAgLyogQXJ0aWNsZSAqLyB9XG4gIC5tZWRpYS1raXQgLmFydGljbGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1lZGlhLWtpdCAuYXJ0aWNsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgLm1lZGlhLWtpdCAuYXJ0aWNsZV9faGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1raXQgLmFydGljbGVfX21ldGEge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAubWVkaWEta2l0IC5hcnRpY2xlX19tZXRhIC5tZXRhX19pbmZvIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgLm1lZGlhLWtpdCAuYXJ0aWNsZV9fbWV0YSAubWV0YV9faW5mbyAuZGF0ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1lZGlhLWtpdCAuYXJ0aWNsZV9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQUxMIFBPU1RTL1NFQVJDSCBSRVNVTFRTIFRFTVBMQVRFXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uYWxsLXBvc3RzIC5yZWdpb25fX3dyYXAge1xuICBtYXgtd2lkdGg6IDgxMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFsbC1wb3N0cyAucmVnaW9uX193cmFwIHtcbiAgICAgIHBhZGRpbmc6IDAgNTVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAuYWxsLXBvc3RzIC5yZWdpb25fX3dyYXAge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5hbGwtcG9zdHMgLmhlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLmFsbC1wb3N0cyAuc2VhcmNoLWNvbnRyb2xzIHtcbiAgbWFyZ2luOiA0MHB4IDA7IH1cbiAgLmFsbC1wb3N0cyAuc2VhcmNoLWNvbnRyb2xzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5hbGwtcG9zdHMgZm9ybSBpbnB1dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5hbGwtcG9zdHMgZm9ybSBpbnB1dCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG5cbi5hbGwtcG9zdHMgLmZpbHRlcnMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5hbGwtcG9zdHMgLmZpbHRlcnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMThweDsgfSB9XG4gIC5hbGwtcG9zdHMgLmZpbHRlcnMgZm9ybSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLmFsbC1wb3N0cyAuZmlsdGVycyBmb3JtIHNlbGVjdCB7XG4gICAgbWluLWhlaWdodDogMjVweDtcbiAgICBtaW4td2lkdGg6IDEwMHB4OyB9XG5cbi5hbGwtcG9zdHMgLnNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmFsbC1wb3N0cyAuc2VhcmNoIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M5QzlDOTtcbiAgICAgIHBhZGRpbmctbGVmdDogMThweDsgfSB9XG4gIC5hbGwtcG9zdHMgLnNlYXJjaCBmb3JtIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hbGwtcG9zdHMgLnNlYXJjaCBmb3JtIGlucHV0LnR4dCB7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQzlDOUM5O1xuICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmFsbC1wb3N0cyAuc2VhcmNoIGZvcm0gaW5wdXQudHh0IHtcbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsgfSB9XG4gIC5hbGwtcG9zdHMgLnNlYXJjaCBmb3JtIC5zZWFyY2hfX3N1Ym1pdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMjNweDtcbiAgICB3aWR0aDogMjNweDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYWxsLXBvc3RzIC5zZWFyY2ggZm9ybSAuc2VhcmNoX19zdWJtaXQgLmljb24tLXNlYXJjaCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBjb2xvcjogIzAwOUZEQjsgfVxuICAgICAgLmFsbC1wb3N0cyAuc2VhcmNoIGZvcm0gLnNlYXJjaF9fc3VibWl0IC5pY29uLS1zZWFyY2g6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVZKC0xODBkZWcpOyB9XG5cbi5hbGwtcG9zdHMgLnRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hbGwtcG9zdHMgLnBvc3RzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDOUM5Qzk7XG4gIHBhZGRpbmc6IDQwcHggMDsgfVxuICAuYWxsLXBvc3RzIC5wb3N0cyBbY2xhc3NePVwicGFnZVwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAuYWxsLXBvc3RzIC5wb3N0cyAudGltZXN0YW1wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gIC5hbGwtcG9zdHMgLnBvc3RzIC5tZXRhLFxuICAuYWxsLXBvc3RzIC5wb3N0cyAuY2F0ZWdvcmllcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWxsLXBvc3RzIC5wb3N0cyBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiQWxlY2sgU2FucyBCbGFja1wiLCBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsIFwiQWxlY2sgU2Fuc1wiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7IH1cbiAgLmFsbC1wb3N0cyAucG9zdHMgaDIgKyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1OyB9XG4gIC5hbGwtcG9zdHMgLnBvc3RzIGEge1xuICAgIGNvbG9yOiAjMDA5RkRCOyB9XG5cbi5hbGwtcG9zdHMgLnNlYXJjaC1jdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFsbC1wb3N0cyAuc2VhcmNoLWN0YSAuY3RhLS1idXR0b24ge1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuYWxsLXBvc3RzIC5zZWFyY2gtY3RhIC5jdGEtLWJ1dHRvbiB7XG4gICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjVweCAxN3B4OyB9IH1cbiIsIi8qKlxuICogQVQmVCBBYm91dCBVcyBmb3IgQUVNXG4gKiBieSBGbGVpc2htYW5IaWxsYXJkLCBjLiAyMDE4XG4gKlxuICogTk9URTogQVRUTiBERVZTIVxuICogUGxlYXNlIHVzZSB0aGlzIHN0eWxlc2hlZXQgZm9yIGltcG9ydGluZyBTQVNTIHBhcnRpYWxzIG9ubHkuIERvIG5vdCBhdXRob3IgYW55IFNBU1Mgb3IgQ1NTIGRpcmVjdGx5IGluIHRoaXMgZmlsZS5cbiAqIEFsc28sIHBsZWFzZSBmaXJzdCByZWZlciB0byB0aGUgX2Fic3RyYWN0cyBwYXJ0aWFscyB0byByZXZpZXcgdGhlIGV4aXN0aW5nIGdsb2JhbCBzdHlsZSBzZXR0aW5ncyBhbmQgdXRpbGl0aWVzIGJlZm9yZSBjcmVhdGluZyBuZXcgdmFyaWFibGVzLCBtaXhpbnMsIGV0Yy5cbiAqXG4gKiBGb3Igc3R5bGUgZ3VpZGVsaW5lcyBhbmQgY29kaW5nIGNvbnZlbnRpb25zIGZvciB0aGlzIHByb2plY3QsXG4gKiBwbGVhc2UgY29uc3VsdCB0aGUgUkVBRE1FLm1kIGluIHRoZSByb290IG9mIHRoZSBwcm9qZWN0LlxuICovXG5cbi8qPT09PVxuICBNQUlOXG4gID09PT0qL1xuXG4gIEBjaGFyc2V0ICd1dGYtOCc7XG5cbi8qPT09PT09PT09XG4gIEFic3RyYWN0c1xuICA9PT09PT09PT0qL1xuXG4gIEBpbXBvcnQgJ19hYnN0cmFjdHMvdmFyaWFibGVzJztcbiAgQGltcG9ydCAnX2Fic3RyYWN0cy9taXhpbnMnO1xuXG4vKj09PT1cbiAgQmFzZVxuICA9PT09Ki9cblxuICBAaW1wb3J0ICdfYmFzZS9yZXNldCc7XG4gIEBpbXBvcnQgJ19iYXNlL2Jhc2UnO1xuICBAaW1wb3J0ICdfYmFzZS90eXBvZ3JhcGh5JztcbiAgQGltcG9ydCAnX2Jhc2UvY3RhJztcblxuLyo9PT09PT1cbiAgTGF5b3V0XG4gID09PT09PSovXG5cbiAgQGltcG9ydCAnX2xheW91dC9sYXlvdXQnO1xuICBAaW1wb3J0ICdfbGF5b3V0L2hlYWRlcic7XG4gIEBpbXBvcnQgJ19jb21wb25lbnRzL25hdic7XG4gIEBpbXBvcnQgJ19sYXlvdXQvZm9vdGVyJztcbiAgQGltcG9ydCAnX2xheW91dC9hcnRpY2xlJztcbiAgQGltcG9ydCAnX2xheW91dC9zaGFyZSc7XG4gIEBpbXBvcnQgJ19sYXlvdXQvZm9ybSc7XG5cbi8qPT09PT09XG4gIFZlbmRvclxuICA9PT09PT0qL1xuXG4gIEBpbXBvcnQgJ192ZW5kb3IvZmxpY2tpdHknO1xuICBAaW1wb3J0ICdfdmVuZG9yL2pxdWVyeS5mYW5jeWJveC5zY3NzJztcblxuLyo9PT09PT09PT09XG4gIENvbXBvbmVudHNcbiAgPT09PT09PT09PSovXG5cbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvYWxlcnQnO1xuICBAaW1wb3J0ICdfY29tcG9uZW50cy9iYW5uZXInO1xuICBAaW1wb3J0ICdfY29tcG9uZW50cy9icmFuZC1hc3NldHMnO1xuICBAaW1wb3J0ICdfY29tcG9uZW50cy9mZWF0dXJlZC1pdGVtJztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvZmVhdHVyZWQtc3Rvcmllcyc7XG4gIEBpbXBvcnQgJ19jb21wb25lbnRzL2V4cGFuZGFibGUtdGV4dCc7XG4gIEBpbXBvcnQgJ19jb21wb25lbnRzL2xhdGVzdC1zdG9yaWVzJztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvbGlnaHRib3gnO1xuICBAaW1wb3J0ICdfY29tcG9uZW50cy9tYXJxdWVlJztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvbWVkaWEnO1xuICBAaW1wb3J0ICdfY29tcG9uZW50cy9tZWRpYS1jYXJvdXNlbCc7XG4gIEBpbXBvcnQgJ19jb21wb25lbnRzL21lZGlhLWxpYnJhcnknO1xuICBAaW1wb3J0ICdfY29tcG9uZW50cy9taWNyb3NpdGUtbmF2JztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvcmVsYXRlZC1uZXdzJztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvc2VhcmNoLWZpZWxkJztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvc29jaWFsLWNoYW5uZWxzJztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvc3RvY2stdGlja2VyJztcbiAgQGltcG9ydCAnX2NvbXBvbmVudHMvdGV4dCc7XG4gIEBpbXBvcnQgJ19jb21wb25lbnRzL3RpbGUnO1xuXG4vKj09PT09PT09PVxuICBUZW1wbGF0ZXNcbiAgPT09PT09PT09Ki9cblxuICBAaW1wb3J0ICdfdGVtcGxhdGVzL3N0b3J5JztcbiAgQGltcG9ydCAnX3RlbXBsYXRlcy9ibG9nJztcbiAgQGltcG9ydCAnX3RlbXBsYXRlcy9tZWRpYS1raXQnO1xuICBAaW1wb3J0ICdfdGVtcGxhdGVzL2FsbC1wb3N0cy1zZWFyY2gtcmVzdWx0cyc7XG4iLCIvKj09PT09PT09PVxuICBWQVJJQUJMRVNcbiAgPT09PT09PT09Ki9cblxuLyo9PT09PT09PT09PVxuICBCcmVha3BvaW50c1xuICA9PT09PT09PT09PSovXG5cbiRicmVha3BvaW50LS14eFNtYWxsOiA0ODBweDtcbiRicmVha3BvaW50LS14U21hbGw6IDY0MHB4O1xuLyogd2Ugc3dpdGNoIGZyb20gbW9iaWxlIHRvIHRhYmxldCBoZXJlICovXG4kYnJlYWtwb2ludC0tc21hbGw6IDc2OHB4O1xuLyogd2Ugc3dpdGNoIGZyb20gdGFibGV0IHRvIGRlc2t0b3AgaGVyZSAqL1xuJGJyZWFrcG9pbnQtLW1lZGl1bTogMTAyNHB4O1xuJGJyZWFrcG9pbnQtLWxhcmdlOiAxMjIwcHg7XG4kYnJlYWtwb2ludC0teExhcmdlOiAxNDQwcHg7XG4vKiBtYXggd2lkdGggb2Ygc3RhbmRhcmQgMTVcIiBsYXB0b3Agdmlld3BvcnQgKi9cbiRicmVha3BvaW50LS14eExhcmdlOiAxNjAwcHg7XG5cbi8qPT09PT09PT09PT09XG4gIEdsb2JhbCBTaXplc1xuICA9PT09PT09PT09PT0qL1xuXG4kbWF4UGFnZVdpZHRoOiAxNjAwcHg7XG4kbWF4Q29udGVudFdpZHRoOiAxMjIwcHg7XG4kbWF4Um93V2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG5cbiRtb2JpbGVOYXZIZ3Q6IDcycHg7XG4kZGVza3RvcE5hdkhndDogMTA1cHg7XG4kbWljcm9zaXRlR2xvYmFsTmF2SGd0OiA1MHB4O1xuJG1pY3Jvc2l0ZU5hdkhndDogJGRlc2t0b3BOYXZIZ3QrJG1pY3Jvc2l0ZUdsb2JhbE5hdkhndDtcblxuJG5hdldpZHRoTW9iaWxlOiAzMjBweDtcbiRuYXZXaWR0aFRhYmxldDogNDAwcHg7XG4kYnJlYWtwb2ludC0tZGVza3RvcE5hdjogJGJyZWFrcG9pbnQtLXNtYWxsO1xuXG4vKiBTZWN0aW9uIExlZnQvUmlnaHQgU3BhY2luZyAqL1xuXG4kZ3V0dGVyLS1zbWFsbDogNTVweDtcbiRndXR0ZXItLWxhcmdlOiAxMDVweDtcblxuXG4vKiBDb21wb25lbnQgTWFyZ2luL1BhZGRpbmcgKi9cblxuJGFpci0teFNtYWxsOiAyMHB4O1xuJGFpci0tc21hbGw6IDQwcHg7XG4kYWlyLS1sYXJnZTogNjBweDtcbiRhaXItLXhMYXJnZTogODBweDtcbiRhaXItLXh4TGFyZ2U6IDEwMHB4O1xuXG4vKiBMaW5lIEhlaWdodHMgKi9cblxuJGxpbmVIZWlnaHQtLXhTbWFsbDogMS4zNTtcbiRsaW5lSGVpZ2h0LS1zbWFsbDogMS40NTtcbiRsaW5lSGVpZ2h0LS1sYXJnZTogMS42O1xuXG4kYmFubmVyLWxpbmVIZWlnaHQtLXNtYWxsOiAxLjE1O1xuJGJhbm5lci1saW5lSGVpZ2h0LS1sYXJnZTogMS41O1xuXG4vKiBNaXNjICovXG5cbiRsaWdodGJveE9wYWNpdHk6IC44NTtcbiRoaWdobGlnaHRCYXI6IDVweDtcblxuLyo9PT09PT09PT09PT09PT09PT1cbiAgUmVzcG9uc2l2ZSBDb2x1bW5zXG4gID09PT09PT09PT09PT09PT09PSovXG5cbi8qXG4gICAqIFRoZSBmb2xsb3dpbmcgY29sdW1uIHNpemluZyBtYXAgaXMgdXNlZCB0byBkZXRlcm1pbmUgaG93IGRpZmZlcmVudCBzaXplZCBjb2x1bW5zIHdpbGwgYWRqdXN0IHRoZWlyIHdpZHRocyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHMuXG4gICAqIEZvciBlYWNoIGNvbHVtbiBzaXplICgxMiwgOSwgOCwgNiwgNCwgMywgMiksIHRoZSBzdWJzZXF1ZW50IHJlc3BvbnNpdmUgd2lkdGhzIGFyZSBsaXN0ZWQgaW4gcGFyZW50aGVzZXMsIGdvaW5nIGluIG9yZGVyIGZyb20gbW9iaWxlLCB0byB0YWJsZXQsIHRvIHNtYWxsIGRlc2t0b3AsIHRvIGZ1bGwgZGVza3RvcC5cbiAgICogZXg6IGNvbFNpemU6KG1vYmlsZVdpZHRoLCB0YWJsZXRXaWR0aCwgc21EZXNrdG9wV2lkdGgsIGxnRGVza3RvcFdpZHRoKSwgd2hlcmUgdGhlIHdpZHRoIHZhbHVlcyByZWZlciB0byB0aGUgbnVtYmVyIG9mIHBhcnRzLXBlci0xMiB0aGF0IHRoZSBjb2x1bW4gc2hvdWxkIG9jY3VweSBhdCBlYWNoIHNjcmVlbiBzaXplLlxuICAgKiBOb3RlIHRoYXQgYWxsIGNvbHVtbiB3aWR0aHMgYXJlIDEyLWJhc2VkLCBzbyBhIDEyIHJlcHJlc2VudHMgYSBmdWxsLXdpZHRoIGFwcGVhcmFuY2UuXG4gICAqIFNpbmNlIGFsbCBjb2x1bW4gc2l6ZXMgc2hvdWxkIGFwcGVhciBmdWxsLXdpZHRoIGF0IG1vYmlsZSB2aWV3cG9ydCBzaXplLCB0aGUgZmlyc3QgbnVtYmVyIGluIGVhY2ggc2VxdWVuY2UgaXMgMTIuXG4gICAqIFRoZSBzZXR0aW5ncyBmcm9tIHRoaXMgbWFwIGdldCBhcHBsaWVkIGJ5IHRoZSBjb2x1bW5TaXplciBsb29wIHN0YXRlbWVudCBmb3VuZCBpbiB0aGUgXCJDb2x1bW5zXCIgc2VjdGlvbiBvZiB0aGUgX2xheW91dCBwYXJ0aWFsIChzZWUgdGhlIHN0eWxlcyB1bmRlciBcIi5jb2xcIikuXG4gICAqL1xuXG4kY29sdW1uU2l6ZXI6ICgxMjooMTIsIDEyLCAxMiwgMTIpLCAvLyBmdWxsLXdpZHRoIGNvbHVtbjsgMTIvMTIgPSAxICgxMDAlKVxuOTogKDEyLCA2LCA5LCA5KSwgLy8gdGhyZWUtZm91cnRocyB3aWR0aCBjb2x1bW47IDkvMTIgPSAwLjc1ICg3NSUpXG44OiAoMTIsIDgsIDgsIDgpLCAvLyB0d28tdGhpcmRzIHdpZHRoIGNvbHVtbjsgOC8xMiA9IDAuNjYgKDY2JSlcbjY6ICgxMiwgNiwgNiwgNiksIC8vIGhhbGYtd2lkdGggY29sdW1uICg2LzEyID0gMC41IG9yIDUwJSlcbjQ6ICgxMiwgNCwgNCwgNCksIC8vIG9uZS10aGlyZCB3aWR0aCBjb2x1bW4gKDQvMTIgPSAwLjMzIG9yIDMzJSlcbjM6ICgxMiwgNiwgMywgMyksIC8vIG9uZS1mb3VydGggd2lkdGggY29sdW1uICgzLzEyID0gMC4yNSBvciAyNSUpXG4yOiAoMTIsIDQsIDIuNCwgMikgLy8gb25lLWZpZnRoIHdpZHRoIGNvbHVtbiAoMi40LzEyID0gMC4yIG9yIDIwJSlcbik7XG5cbi8qPT09PT09PT09PT09PVxuICBDb2xvciBQYWxldHRlXG4gID09PT09PT09PT09PT0qL1xuXG4vKiBHbG9iYWwgQ29sb3JzICovXG5cbiRhdHRZZWxsb3c6ICNGRkI4MUM7XG4kYXR0T3JhbmdlOiAjRUE3NDAwO1xuJGF0dExndEJsdWU6ICM3MUM1RTg7XG4kYXR0Qmx1ZTogIzAwOUZEQjtcbiRhdHREcmtCbHVlOiAjMDU2OEFFO1xuJHdoaXRlOiAjRkZGO1xuJGxndEdyYXk6ICNGMkYyRjI7XG4kcmVnR3JheTogI0M5QzlDOTtcbiRtZWRHcmF5OiAjOTU5NTk1O1xuJGRya0dyYXk6ICM1QTVBNUE7XG4kZnVuY3Rpb25hbEJsYWNrOiAjMTkxOTE5O1xuJGJsYWNrOiAjMDAwO1xuXG4vKiBTcGVjaWZpYyBVc2UgQ29sb3JzICovXG5cbiRjb2xvci0tY3RhOiAkYXR0Qmx1ZTtcbi8qIGNhbGwtdG8tYWN0aW9uIGVsZW1lbnRzIChsaW5rcywgYnV0dG9ucykgKi9cbiRjb2xvci0tY3RhLWhvdmVyOiBkYXJrZW4oJGF0dEJsdWUsIDQlKTtcbi8qIGNhbGwtdG8tYWN0aW9uIGhvdmVyIHN0YXRlICovXG4kY29sb3ItLWN0YS1jb250cmFzdDogbGlnaHRlbigkYXR0Qmx1ZSwgNyUpO1xuLyogdHJhbnNwYXJlbnQgaGVhZGVyIGxpbmsgaGlnaGxpZ2h0ICovXG4kY29sb3ItLWxpbms6ICRhdHREcmtCbHVlO1xuLyogc3RhbmRhcmQgbGlua3MgaW5zaWRlIG9mIHRleHQgYmxvY2tzICovXG4kY29sb3ItLWNvcHk6ICRmdW5jdGlvbmFsQmxhY2s7XG4vKiBnZW5lcmFsIHBhZ2UgYm9keSBjb3B5ICovXG4kY29sb3ItLXNlYXJjaC1ib3JkZXI6IGRhcmtlbigkbGd0R3JheSwgMyUpO1xuJGNvbG9yLS1sb2dvLWRlZmF1bHQ6IFwid2hpdGVcIjtcblxuLyogQ29sb3IgTWFwcyAqL1xuXG4kYmFja2dyb3VuZENvbG9yczogKGJsdWU6ICRhdHRCbHVlLFxuZGFyay1ibHVlOiAkYXR0RHJrQmx1ZSxcbmdyYXk6ICRsZ3RHcmF5LFxubmVhci1ibGFjazogJGZ1bmN0aW9uYWxCbGFjayxcbmJsYWNrOiAkYmxhY2ssXG53aGl0ZTogJHdoaXRlKTtcblxuLyogQ2F0ZWdvcnkgVGhlbWVzIC0gdGhlbWUgbmFtZXMgYmVsb3cgYXJlIGJhc2VkIG9uIHRoZW1lLS0gY2F0ZWdvcnkgY2xhc3NlcyB0aGF0IGdldCBhcHBsaWVkIHRvIHRoZSBib2R5IGVsZW1lbnQgYnkgQUVNICovXG5cbiR0aGVtZUNvbG9yczogKCAvLyBDb21tdW5pY2F0aW9uczogKFwid2hpdGVcIiwgJHdoaXRlKSxcbi8vIGNvbXBhbnk6IChcIndoaXRlXCIsICR3aGl0ZSlcbik7XG5cbi8qXG5cbiAgQ29tbXVuaWNhdGlvbnM6IChcImJsdWVcIiwgJGF0dEJsdWUpLFxuICBjb21wYW55OiAoXCJzaWx2ZXJcIiwgXCJzaWx2ZXJcIilcblxuICAqL1xuXG4vKj09PT09PT09PT09PT1cbiAgRm9udCBGYW1pbGllc1xuICA9PT09PT09PT09PT09Ki9cblxuLyogQWxlY2sgU2FucyAtIEJhc2UgRm9udCBWYXJpYW50cyAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbGVjayBTYW5zJztcbiAgLyogQWxlY2sgU2FucyAqL1xuICBzcmM6IHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX1JnLmVvdCcpO1xuICBzcmM6IHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX1JnLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfUmcud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX1JnLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19SZy5zdmcjd2ViZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2Fucyc7XG4gIC8qIEFsZWNrIFNhbnMgSXRhbGljICovXG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfSXQuZW90Jyk7XG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfSXQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19JdC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfSXQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0l0LnN2ZyN3ZWJmb250JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbGVjayBTYW5zJztcbiAgLyogQWxlY2sgU2FucyBMaWdodCAqL1xuICBzcmM6IHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0LmVvdCcpO1xuICBzcmM6IHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0x0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19MdC5zdmcjd2ViZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2Fucyc7XG4gIC8qIEFsZWNrIFNhbnMgTGlnaHQgSXRhbGljICovXG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHRJdC5lb3QnKTtcbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19MdEl0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHRJdC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHRJdC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTHRJdC5zdmcjd2ViZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2Fucyc7XG4gIC8qIEFsZWNrIFNhbnMgQm9sZCAqL1xuICBzcmM6IHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0JkLmVvdCcpO1xuICBzcmM6IHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0JkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0JkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZC5zdmcjd2ViZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2Fucyc7XG4gIC8qIEFsZWNrIFNhbnMgQm9sZCBJdGFsaWMgKi9cbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZEl0LmVvdCcpO1xuICBzcmM6IHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0JkSXQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZEl0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZEl0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CZEl0LnN2ZyN3ZWJmb250JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBBbGVjayBTYW5zIC0gQWRkaXRpb25hbCBGb250IFZhcmlhbnRzICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FsZWNrIFNhbnMgTWVkaXVtJztcbiAgLyogQWxlY2sgU2FucyBNZWRpdW0gKi9cbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZC5lb3QnKTtcbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX01kLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTWQuc3ZnI3dlYmZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FsZWNrIFNhbnMgTWVkaXVtJztcbiAgLyogQWxlY2sgU2FucyBNZWRpdW0gSXRhbGljICovXG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTWRJdC5lb3QnKTtcbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19NZEl0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTWRJdC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTWRJdC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfTWRJdC5zdmcjd2ViZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2FucyBCbGFjayc7XG4gIC8qIEFsZWNrIFNhbnMgQmxhY2sgKi9cbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CbGsuZW90Jyk7XG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CbGsudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0Jsay5zdmcjd2ViZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWxlY2sgU2FucyBCbGFjayc7XG4gIC8qIEFsZWNrIFNhbnMgQmxhY2sgSXRhbGljICovXG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrSXQuZW90Jyk7XG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrSXQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NhbnNfV19CbGtJdC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTYW5zX1dfQmxrSXQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2Fuc19XX0Jsa0l0LnN2ZyN3ZWJmb250JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBBbGVjayBTbGFiICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FsZWNrIFNsYWInO1xuICAvKiBBbGVjayBTbGFiICovXG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfUmcuZW90Jyk7XG4gIHNyYzogdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfUmcuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NsYWJfV19SZy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfUmcudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2xhYl9XX1JnLnN2ZyN3ZWJmb250JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbGVjayBTbGFiJztcbiAgLyogQWxlY2sgU2xhYiBJdGFsaWMgKi9cbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NsYWJfV19JdC5lb3QnKTtcbiAgc3JjOiB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NsYWJfV19JdC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnX2ZvbnRzL0FsZWNrL0FUVEFsZWNrU2xhYl9XX0l0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJ19mb250cy9BbGVjay9BVFRBbGVja1NsYWJfV19JdC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCdfZm9udHMvQWxlY2svQVRUQWxlY2tTbGFiX1dfSXQuc3ZnI3dlYmZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cblxuLyogQVQmVCBJY29uIEZvbnQgKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQVRUX0ljb25zJztcbiAgLyogQVQmVCBJY29uIEZvbnQgKi9cbiAgc3JjOiB1cmwoJ19mb250cy9BVFRfSWNvbnMvYXR0LWljb25zLmVvdCcpO1xuICBzcmM6IHVybCgnX2ZvbnRzL0FUVF9JY29ucy9hdHQtaWNvbnMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BVFRfSWNvbnMvYXR0LWljb25zLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJ19mb250cy9BVFRfSWNvbnMvYXR0LWljb25zLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJ19mb250cy9BVFRfSWNvbnMvYXR0LWljb25zLnN2ZyN3ZWJmb250JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKj09PT09PT09PT09PT09XG4gIEZvbnQgVmFyaWFibGVzXG4gID09PT09PT09PT09PT09Ki9cblxuJGFsZWNrOiBcIkFsZWNrIFNhbnNcIixcblwiQXJpYWxcIixcblwiSGVsdmV0aWNhXCIsXG5zYW5zLXNlcmlmO1xuJGFsZWNrTWVkaXVtOiBcIkFsZWNrIFNhbnMgTWVkaXVtXCIsXG5cIkFsZWNrIFNhbnNcIixcblwiQXJpYWxcIixcblwiSGVsdmV0aWNhXCIsXG5zYW5zLXNlcmlmO1xuJGFsZWNrQmxhY2s6IFwiQWxlY2sgU2FucyBCbGFja1wiLFxuXCJBbGVjayBTYW5zIE1lZGl1bVwiLFxuXCJBbGVjayBTYW5zXCIsXG5cIkFyaWFsXCIsXG5cIkhlbHZldGljYVwiLFxuc2Fucy1zZXJpZjtcbiRhbGVja1NsYWI6IFwiQWxlY2sgU2xhYlwiLFxuXCJBbGVjayBTYW5zXCIsXG5cIkFyaWFsXCIsXG5cIkhlbHZldGljYVwiLFxuc2Fucy1zZXJpZjtcbiRhcmlhbDogXCJBcmlhbFwiLFxuXCJIZWx2ZXRpY2FcIixcbnNhbnMtc2VyaWY7XG4kYXR0LWljb25zOiBcIkFUVF9JY29uc1wiLFxuXCJBcmlhbFwiLFxuXCJIZWx2ZXRpY2FcIixcbnNhbnMtc2VyaWY7XG5cbi8qIEFUJlQgSWNvbiBGb250IE1hcHMgKi9cblxuJGF0dEljb25zOiAoYWxlcnQ6IFwiXFxlOTAwXCIsXG5hdHQtbG9nbzogXCJcXGU5MDFcIixcbmF0dC1sb2dvLXRleHQ6IFwiXFxlOTBlXCIsXG5jb21tZW50OiBcIlxcZTkwMlwiLFxuZG93bmxvYWQ6IFwiXFxlOTAzXCIsXG5lbWFpbDogXCJcXGU5MDRcIixcbmZhY2Vib29rOiBcIlxcZTkwNVwiLFxuZmFxOiBcIlxcZTkwNlwiLFxuZmlsZTogXCJcXGU5MDdcIixcbmluZm86IFwiXFxlOTA4XCIsXG5pbmZvMjogXCJcXGU5MDlcIixcbmluc3RhZ3JhbTogXCJcXGU5MGFcIixcbmxpbms6IFwiXFxlOTBiXCIsXG5saW5rZWRpbjogXCJcXGU5MGNcIixcbm5vdGlmaWNhdGlvbjogXCJcXGU5MGZcIixcbm1pbnVzOiBcIlxcZTkwZFwiLFxucGxheTogXCJcXGU5MTBcIixcbnBsdXM6IFwiXFxlOTExXCIsXG5xdW90ZTogXCJcXGU5MTJcIixcbnNlYXJjaDogXCJcXGU5MTNcIixcbnR3aXR0ZXI6IFwiXFxlOTE0XCIsXG55b3V0dWJlOiBcIlxcZTkxNVwiXG4pO1xuXG4vKj09PT09PT09PT09PT09PT1cbiAgTmF2IEhpZ2hsaWdodGluZ1xuICA9PT09PT09PT09PT09PT09Ki9cblxuLypcbiAgICogVGhlIGZvbGxvd2luZyBtYXAgc2V0cyB0aGUgbmF2IGhpZ2hsaWdodGluZyBkZWZhdWx0IGZvciBkaWZmZXJlbnQgYm9keSBjbGFzc2VzXG4gICAqIGV4OiBib2R5Q2xhc3NOYW1lOiBcIm5hdi1pdGVtLWNsYXNzLW5hbWVcIlxuICAgKiBOb3RlIHRoYXQgaWYgYSBuYXYgaXRlbSB3aXRoIGNsYXNzIG9mIFwibmF2LWNvbXBhbnlcIiBleGlzdHMgYW5kIHlvdSdyZSBvbiBhIHBhZ2Ugd2l0aCBhIGJvZHkgY2xhc3Mgb2YgXCJuYXYtY29tcGFueVwiLCB0aGF0IHdpbGwgaGlnaGxpZ2h0IGFzIHdlbGxcbiAgICovXG5cbiRuYXZIaWdobGlnaHRzOiAoc3Rvcnk6IFwibmF2LW5ld3NcIixcbmJsb2c6IFwibmF2LW5ld3NcIixcbmFsbC1wb3N0czogXCJuYXYtbmV3c1wiLFxubWVkaWEtZ2FsbGVyeTogXCJuYXYtbmV3c1wiLFxubWVkaWEta2l0OiBcIm5hdi1uZXdzXCIsXG5tZWRpYS1raXQtbGFuZGluZzogXCJuYXYtbmV3c1wiXG4pOyIsIi8qPT09PT09XG4gIE1JWElOU1xuICA9PT09PT0qL1xuXG4vKj09PT09PT1cbiAgQWNjZW50c1xuICA9PT09PT09Ki9cblxuICBAbWl4aW4gYWNjZW50LWFycm93KCRkaXJlY3Rpb24pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IFwidXBcIiB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMTkxXCI7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgICAgICBjb250ZW50OiBcIlxcMjE5M1wiO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAgICAgY29udGVudDogXCJcXDIxOTBcIjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgICAgICBjb250ZW50OiBcIlxcMjE5MlwiO1xuICAgICAgfVxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBsZWZ0OiAxMDUlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgQG1peGluIHNwZWNpYWwtYm9sZCgkY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xuICAgIGZvbnQtZmFtaWx5OiAkYWxlY2s7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuXG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgJixcbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdICYge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtaXhpbiBncmFkaWVudC1vdmVybGF5KCRzdGFydFBvc2l0aW9uLCAkb3BhY2l0eSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDApICRzdGFydFBvc2l0aW9uLCByZ2JhKDAsMCwwLCRvcGFjaXR5KSAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDApICRzdGFydFBvc2l0aW9uLHJnYmEoMCwwLDAsJG9wYWNpdHkpIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDApICRzdGFydFBvc2l0aW9uLHJnYmEoMCwwLDAsJG9wYWNpdHkpIDEwMCUpO1xuXG4gICAgICAubm8tY3NzZ3JhZGllbnRzICYge1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzMzMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwJyxHcmFkaWVudFR5cGU9MSApO1xuICAgICAgICAtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMzMzAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcsR3JhZGllbnRUeXBlPTEgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWl4aW4gc29saWQtb3ZlcmxheSgkb3BhY2l0eSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAkb3BhY2l0eSk7XG4gICAgfVxuICB9XG5cbiAgQG1peGluIGhpZ2hsaWdodC1iYXIoJGhlaWdodCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMzAwbXMpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWN0YTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgQG1peGluIGljb24tb3ZlcmxheSgkaWNvbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogbWFwLWdldCgkYXR0SWNvbnMsICRpY29uKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYXR0LWljb25zO1xuICAgICAgZm9udC1zaXplOiAxMHJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAwLjg1O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXh4U21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiA4cmVtO1xuICAgICAgfVxuXG4gICAgICAuY29sLTIgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgICBmb250LXNpemU6IDhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbC0zICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sLTQgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4vKj09PT09PT09PT1cbiAgQW5pbWF0aW9uc1xuICA9PT09PT09PT09Ki9cblxuICBAbWl4aW4gdHJhbnNpdGlvbkFsbCgkc3BlZWQpIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHNwZWVkIGVhc2U7XG4gIH1cblxuLyo9PT09PT09PT09PT09PT09PVxuICBDb250YWluZXIgUXVlcmllc1xuICA9PT09PT09PT09PT09PT09PSovXG5cbiAgQG1peGluIHJlc3BvbmQtdG8tY29udGV4dCgkc2l6ZXMuLi4pe1xuICAgIC8qXG4gICAgICogQXZhaWxhYmxlIGNvbXBvbmVudCBmb3JtYXRzIGFyZSB4c21hbGwsIHNtYWxsLCBtZWRpdW0gb3IgbGFyZ2UuXG4gICAgICogVGhpcyBtaXhpbiBsb29wcyBvdmVyIHRoZSBjb250ZXh0cyBwcm92aWRlZCAoY29sdW1uIHNpemVzKSBhbmQgZGV0ZXJtaW5lcyB3aGVuIHRvIGFwcGx5IHRoZSBjb250YWluZWQgc3R5bGVzIGZvciB0aG9zZSBjb250ZXh0cyxcbiAgICAgKiBhbmQgYXNzaWducyBlYWNoIG9mIHRob3NlIHBvdGVudGlhbCBjb2x1bW4gc2l6ZXMgdG8gYSBjb3JyZXNwb25kaW5nIGNvbXBvbmVudCBmb3JtYXQgKHhzbWFsbCwgc21hbGwsIG1lZGl1bSBvciBsYXJnZSkuXG4gICAgICogVGhlIDpub3QoLmNvbCkgcGFyZW50IGZpbHRlciBpcyBhbHdheXMgaW5jbHVkZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlc2Ugc3R5bGVzIGFsc28gZ2V0IGFwcGxpZWQgZm9yIGNvbXBvbmVudHMgdGhhdCBhcmUgYmVpbmcgdXNlZCBvdXRzaWRlIG9mIGNvbHVtbnMgc3lzdGVtXG4gICAgICovXG5cbiAgICAgQGVhY2ggJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICBAaWYgJHNpemUgPT0gXCJzbWFsbFwiIHtcblxuICAgICAgICAgLyogQXQgbW9iaWxlIHZpZXdwb3J0cywgZXZlcnkgY29tcG9uZW50IGluIGV2ZXJ5IGNvbHVtbiBzdGFydHMgb3V0IGFkaGVyaW5nIHRvIGl0cyBzbWFsbCBmb3JtYXQgKi9cbiAgICAgICAgIC8vIC5yZWdpb24gOm5vdCguY29sKSAmLFxuICAgICAgICAgLmNvbC0yICYsXG4gICAgICAgICAuY29sLTMgJixcbiAgICAgICAgIC5jb2wtNCAmLFxuICAgICAgICAgLmNvbC02ICYsXG4gICAgICAgICAuY29sLTggJixcbiAgICAgICAgIC5jb2wtOSAmLFxuICAgICAgICAgLmNvbC0xMiAmIHtcbiAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICB9XG5cbiAgICAgICB9IEBlbHNlaWYgJHNpemUgPT0gXCJtZWRpdW1cIiB7XG5cbiAgICAgICAgIC8qIFRoZW4sIGF0IHRhYmxldCB2aWV3cG9ydHMuLi4gKi9cbiAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcblxuICAgICAgICAgICAvKiAuLi5vbmx5IGNvbXBvbmVudHMgaW5zaWRlIG9mIHRoZSB3aWRlc3QgY29sdW1ucyBzaG91bGQgYWRoZXJlIHRvIHRoZWlyIG1lZGl1bSBmb3JtYXRzICovXG4gICAgICAgICAgIC8vIC5yZWdpb24gOm5vdCguY29sKSAmLFxuICAgICAgICAgICAuY29sLTggJixcbiAgICAgICAgICAgLmNvbC05ICYsXG4gICAgICAgICAgIC5jb2wtMTIgJiB7XG4gICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgIH1cblxuICAgICAgICAgfVxuXG4gICAgICAgICAvKiBUaGVuLCBhdCBzbWFsbGVyIGRlc2t0b3Agdmlld3BvcnRzLi4uICovXG4gICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuXG4gICAgICAgICAgIC8qIC4uLmNvbXBvbmVudHMgaW5zaWRlIG9mIGxhcmdlciBtaWQtc2l6ZSBjb2x1bW5zIGNhbiBzdGFydCB0byBhZGhlcmUgdG8gdGhlaXIgbWVkaXVtIGZvcm1hdHMgKi9cbiAgICAgICAgICAgLy8gLnJlZ2lvbiA6bm90KC5jb2wpICYsXG4gICAgICAgICAgIC5jb2wtNiAmIHtcbiAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgfVxuXG4gICAgICAgICB9XG5cbiAgICAgICAgIC8qIFRoZW4sIGF0IGxhcmdlciBkZXNrdG9wIHZpZXdwb3J0cy4uLiAqL1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuXG4gICAgICAgICAgIC8qIC4uLmNvbXBvbmVudHMgaW5zaWRlIG9mIHNtYWxsZXIgbWlkLXNpemUgY29sdW1ucyBjYW4gc3RhcnQgdG8gYWRoZXJlIHRvIHRoZWlyIG1lZGl1bSBmb3JtYXRzIGlmIHRoZXkgYXJlIGluIGhvcml6b250YWxseSBmbHVzaCByb3dzICovXG4gICAgICAgICAgIC8vIC5yZWdpb24gOm5vdCguY29sKSAmLFxuICAgICAgICAgICAucm93LS1mbHVzaC1ob3Jpem9udGFsIC5jb2wtNCAmIHtcbiAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgfVxuXG4gICAgICAgICB9XG5cbiAgICAgICB9IEBlbHNlaWYgJHNpemUgPT0gXCJsYXJnZVwiIHtcblxuICAgICAgICAgLyogVGhlbiwgYXQgdGFibGV0IHZpZXdwb3J0cy4uLiAqL1xuICAgICAgICAgLy8gQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgLy9cbiAgICAgICAgIC8vICAgLyogLi4ub25seSBjb21wb25lbnRzIGluc2lkZSBvZiB0aGUgd2lkZXN0IGNvbHVtbiBzaG91bGQgYWRoZXJlIHRvIHRoZWlyIGxhcmdlIGZvcm1hdHMgKi9cbiAgICAgICAgIC8vICAgLmNvbC0xMiAmIHtcbiAgICAgICAgIC8vICAgICBAY29udGVudDtcbiAgICAgICAgIC8vICAgfVxuICAgICAgICAgLy9cbiAgICAgICAgIC8vIH1cblxuICAgICAgICAgLyogVGhlbiwgYXQgc21hbGxlciBkZXNrdG9wIHZpZXdwb3J0cy4uLiAqL1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcblxuICAgICAgICAgICAvKiAuLi5vbmx5IGNvbXBvbmVudHMgaW5zaWRlIG9mIHRoZSB3aWRlc3QgY29sdW1ucyBjYW4gc3RhcnQgdG8gYWRoZXJlIHRvIHRoZWlyIGxhcmdlIGZvcm1hdHMgKi9cbiAgICAgICAgICAgLy8gLnJlZ2lvbiA6bm90KC5jb2wpICYsXG4gICAgICAgICAgIC5jb2wtOCAmLFxuICAgICAgICAgICAuY29sLTkgJixcbiAgICAgICAgICAgLmNvbC0xMiAmIHtcbiAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgfVxuXG4gICAgICAgICB9XG5cbiAgICAgICAgIC8qIFRoZW4sIGF0IGxhcmdlciBkZXNrdG9wIHZpZXdwb3J0cyAuLi4gKi9cbiAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcblxuICAgICAgICAgICAvKiAuLi5jb21wb25lbnRzIGluc2lkZSBvZiBsYXJnZXIgbWlkLXNpemUgY29sdW1ucyBjYW4gc3RhcnQgdG8gYWRoZXJlIHRvIHRoZWlyIGxhcmdlIGZvcm1hdHMgKi9cbiAgICAgICAgICAgLy8gLnJlZ2lvbiA6bm90KC5jb2wpICYsXG4gICAgICAgICAgIC5jb2wtNiAmIHtcbiAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgfVxuXG4gICAgICAgICB9XG5cbiAgICAgICB9IEBlbHNlaWYgJHNpemUgPT0gXCJ4c21hbGxcIiB7XG5cbiAgICAgICAgIC8qIFRoZW4sIGF0IGxhcmdlciBkZXNrdG9wIHZpZXdwb3J0cy4uLiAqL1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuXG4gICAgICAgICAgIC8qIC4uLm9ubHkgY29tcG9uZW50cyBpbnNpZGUgb2YgdGhlIHRpbmllc3QgY29sdW1ucyBzaG91bGQgYWRoZXJlIHRvIHRoZWlyIHhzbWFsbCBmb3JtYXRzICovXG4gICAgICAgICAgIC8vIC5yZWdpb24gOm5vdCguY29sKSAmLFxuICAgICAgICAgICAuY29sLTIgJiB7XG4gICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgIH1cblxuICAgICAgICAgfVxuXG4gICAgICAgfVxuICAgICB9XG4gIH1cblxuLyo9PT09PT09PT09PVxuICBQb3NpdGlvbmluZ1xuICA9PT09PT09PT09PSovXG5cbiAgQG1peGluIGNsZWFyZml4IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuXG4gIEBtaXhpbiBjZW50ZXJIb3Jpem9udGFsbHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbGVmdDogNTAlO1xuICB9XG5cbiAgQG1peGluIGNlbnRlclZlcnRpY2FsbHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICBAbWl4aW4gcm93KCR3aWR0aDogJGNvbnRhaW5lcikge1xuICAgICRjb250YWluZXI6ICR3aWR0aDtcblxuICAgIG1heC13aWR0aDogJGNvbnRhaW5lcjtcbiAgfVxuXG4gIEBtaXhpbiBjb2x1bW4oJG51bUNvbHMpIHtcbiAgICAkZ3JpZEJhc2U6IDEyO1xuXG4gICAgLy8gLy8gR3V0dGVyIHN0dWZmXG4gICAgLy8gJGd1dHRlckJhc2U6IDIwO1xuICAgIC8vIEBpZiAkbnVtQ29scyA9PSA1IHtcbiAgICAvLyAgICRndXR0ZXJCYXNlOiA3MjtcbiAgICAvLyB9XG4gICAgLy8gJG51bUd1dHRlcnM6ICRncmlkQmFzZSAvICgkbnVtQ29scyAtIDEpO1xuICAgIC8vICRndXR0ZXJXaWR0aDogKCRndXR0ZXJCYXNlIC8gJGdyaWRCYXNlKSAqIDElO1xuXG4gICAgJGNvbHVtbldpZHRoOiAoJG51bUNvbHMgLyAkZ3JpZEJhc2UpICogMTAwJTtcblxuICAgIG1heC13aWR0aDogJGNvbHVtbldpZHRoO1xuICAgIGZsZXgtYmFzaXM6ICRjb2x1bW5XaWR0aDtcbiAgfVxuXG4gIEBtaXhpbiBoaWRkZW4tc3Bva2VuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgY2xpcC1wYXRoOiBub25lO1xuICAgICAgei1pbmRleDogMTAwMDAwO1xuICAgIH1cbiAgfVxuXG4vKj09PT1cbiAgTWlzY1xuICA9PT09Ki9cblxuICAvKiBTaWx2ZXIgc3R5bGUgKi9cblxuICBAbWl4aW4gYmtnLXNpbHZlciB7XG4gICAgYmFja2dyb3VuZDogI0VERUNFQztcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIzNywyMzYsMjM2LDEpIDAlLCByZ2JhKDI0OSwyNDksMjQ5LDEpIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjM3LDIzNiwyMzYsMSkgMCUscmdiYSgyNDksMjQ5LDI0OSwxKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjM3LDIzNiwyMzYsMSkgMCUscmdiYSgyNDksMjQ5LDI0OSwxKSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI0VERUNFQycsIGVuZENvbG9yc3RyPScjRjlGOUY5JyxHcmFkaWVudFR5cGU9MSApO1xuICAgIC5uby1jc3NncmFkaWVudHMgJiB7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmN0YS0tbGluayB7XG4gICAgICBjb2xvcjogJGF0dERya0JsdWU7XG4gICAgfVxuICB9XG5cbiAgLyogRGVmYXVsdCBidXR0b24gc3R5bGUgZm9yIHdoaXRlLCBncmF5IG9yIGJsYWNrIGJhY2tncm91bmRzICovXG5cbiAgQG1peGluIGN0YSgkYmtnQ29sb3IpIHtcbiAgICBAaWYgJGJrZ0NvbG9yID09IFwiYmx1ZVwiIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tY3RhO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tY3RhLWhvdmVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZWlmICRia2dDb2xvciA9PSBcImJsYWNrXCIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9IEBlbHNlaWYgJGJrZ0NvbG9yID09IFwid2hpdGVcIiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogSG9yaXpvbnRhbC9WZXJ0aWNhbCBSdWxlcyAqL1xuXG4gIEBtaXhpbiBydWxlKCRkaXJlY3Rpb24pIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXR0Qmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcImhvcml6b250YWxcIiB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBib3R0b206IC0ycHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgIGhlaWdodDogNjAlO1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgbGVmdDogLTJweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICAucmVnaW9uLS1kYXJrLWJsdWUgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbi8qPT09PT09PT09PVxuICBUeXBvZ3JhcGh5XG4gID09PT09PT09PT0qL1xuXG4gIEBtaXhpbiBmb250LXNpemUoJHBpeGVsczogMS40KXtcbiAgICBmb250LXNpemU6ICRwaXhlbHMgKyBweDtcbiAgICBmb250LXNpemU6ICgkcGl4ZWxzIC8gMTApICsgcmVtO1xuICB9XG5cbiAgQG1peGluIGZvbnQtc21vb3RoaW5nIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB9XG5cbiAgQG1peGluIG5vLWZvbnQtc21vb3RoaW5nIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB9XG4iLCIvKj09PT09XG4gIFJFU0VUXG4gID09PT09Ki9cblxuLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbiAgaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBiLCB1LCBpLCBjZW50ZXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbiAgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbiAgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG4gIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIFx0bWFyZ2luOiAwO1xuICBcdHBhZGRpbmc6IDA7XG4gIFx0Ym9yZGVyOiAwO1xuICBcdGZvbnQtc2l6ZTogMTAwJTtcbiAgXHRmb250OiBpbmhlcml0O1xuICBcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuICAvKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG4gIG1haW4sIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG4gIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIFx0ZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgYm9keSB7XG4gIFx0bGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgb2wsIHVsIHtcbiAgXHRsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIGJsb2NrcXVvdGUsIHEge1xuICBcdHF1b3Rlczogbm9uZTtcbiAgfVxuICBibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbiAgcTpiZWZvcmUsIHE6YWZ0ZXIge1xuICBcdGNvbnRlbnQ6ICcnO1xuICBcdGNvbnRlbnQ6IG5vbmU7XG4gIH1cbiAgdGFibGUge1xuICBcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIFx0Ym9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuIiwiLyo9PT09XG4gIEJBU0VcbiAgPT09PSovXG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIGJvZHkge1xuICAgICYuY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLyogSGVscGVyIENsYXNzZXMgKi9cblxuICAuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhpZGRlbi1zcG9rZW4ge1xuICAgIEBpbmNsdWRlIGhpZGRlbi1zcG9rZW47XG4gIH1cblxuICAuaGlkZGVuLWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5oaWRkZW4tbW9iaWxlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVkaXRvcixcbiAgLmVkaXRvci10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5jcS1FZGl0YWJsZS1kb20gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgfVxuXG4gIC5uby1yZXN1bHRzIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG5cbiAgLyogSWNvbnMgKi9cblxuICBbY2xhc3NePVwiaWNvbi0tXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiAkYXR0LWljb25zO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbGFiZWwsICRpY29uIGluICRhdHRJY29ucyB7XG4gICAgW2NsYXNzPVwiaWNvbi0tI3skbGFiZWx9XCJdIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAkaWNvbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiA9PT09PT09PT09PT09PSAqL1xuICAvKiBZb3VUdWJlIEVtYmVkcyAqL1xuICAvKiA9PT09PT09PT09PT09PSAqL1xuXG4gIC5lbWJlZC0teW91dHViZSxcbiAgLmFzc2V0LS15b3V0dWJlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvKiA9PT09PT09PT09ICovXG4gIC8qIEdWUCBFbWJlZHMgKi9cbiAgLyogPT09PT09PT09PSAqL1xuXG4gIC8qIHByZXZpZXcvcGxheWVyIHdyYXBwZXJzICovXG4gIGJvZHkgPiBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XG4gICAgei1pbmRleDogOTk5OTk5OTk5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgYXR0LWd2cCA+IGRpdiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZXdfXCJdLFxuICBbY2xhc3NePVwiZ3ZwX2N0YV9fY3RhQ29udGFpbmVyXCJdIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fdmlld19cIl0sXG4gIFtjbGFzc149XCJndnBfcGxheWVyX192aWV3cG9ydFwiXSB7XG4gICAgLmVtYmVkLS1ndnAgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fcGxheWVyXCJdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcblxuICAgICZbY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogOTQ2cHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0teHhTbWFsbCAtIDEpIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fdmlld3BvcnRcIl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZGVvXCJdIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIHBsYXliYWNrIGNvbnRyb2xzICovXG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jb250cm9sbGVyXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBwbGF5IGJ1dHRvbiAqL1xuICBbY2xhc3NePVwiZ3ZwX2N0YV9fY3RhUGxheUJ1dHRvblwiXSB7XG4gICAgQGluY2x1ZGUgaWNvbi1vdmVybGF5KFwicGxheVwiKTtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZmlsbDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgY2lyY2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fdGl0bGVcIl0sXG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAuZW1iZWQtLWd2cDpob3ZlciAmLFxuICAgICAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZXdfXCJdOmhvdmVyICYge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogY2xvc2UgYnV0dG9uICovXG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgZmlsbDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogOTkgIWltcG9ydGFudDtcblxuICAgIC5jb21wb25lbnQgJiB7XG4gICAgICB3aWR0aDogMzVweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgY2lyY2xlIHtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAvKiB2aWRlbyB0aXRsZSAqL1xuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fdGl0bGVcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMDtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJGFsZWNrICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDVweCAjMzMzICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAyMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDk7XG5cbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMC41NSkgMCUsIHJnYmEoMzEsMTA0LDE2NCwwKSA3NiUsIHJnYmEoNDEsMTM3LDIxNiwwKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMC41NSkgMCUscmdiYSgzMSwxMDQsMTY0LDApIDc2JSxyZ2JhKDQxLDEzNywyMTYsMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLDAsMCwwLjU1KSAwJSxyZ2JhKDMxLDEwNCwxNjQsMCkgNzYlLHJnYmEoNDEsMTM3LDIxNiwwKSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzhjMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIFtjbGFzc149XCJndnBfY3RhX19jdGFUaXRsZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIHZpZGVvIGR1cmF0aW9uICovXG4gIFtjbGFzc149XCJndnBfY3RhX19jdGFEdXJhdGlvblwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuIiwiLyo9PT09PT09PT09XG4gIFRZUE9HUkFQSFlcbiAgPT09PT09PT09PSovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6ICRhcmlhbDtcbiAgICBmb250LXNpemU6IDYyLjUlO1xuICB9XG5cbiAgYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICBjb2xvcjogJGNvbG9yLS1jb3B5O1xuICB9XG5cbiAgc3Ryb25nLCBiIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgZW0sIGk6bm90KFtjbGFzcyo9XCJpY29uLS1cIl0pIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICBzdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICB0b3A6IDJweDtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLnJlZ2lvbi0tZGFyay1ibHVlICYge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmc7XG4gICAgZm9udC1mYW1pbHk6ICRhbGVjaztcblxuICAgIGgxLCBoMiB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgfVxuXG4gICAgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNSk7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQ1KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDYwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjUpO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tCbGFjaztcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICBmb250LWZhbWlseTogJGFsZWNrTWVkaXVtO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkFsZWNrIFNhbnMgTWVkaXVtXCI7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWl0ZW0sXG4gICAgLnRleHQge1xuXG4gICAgICAvKiBMaXN0cyAqL1xuXG4gICAgICB1bCxcbiAgICAgIG9sIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjVweCAyMHB4O1xuXG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMTVweCAxNXB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjVweCAyMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICAmID4gbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgbGVmdDogLTE1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlICYsXG4gICAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ0FMTC1UTy1BQ1RJT04gRUxFTUVOVFNcbiAgPT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4gIGJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRhbGVjaztcbiAgfVxuXG4gIC8qIEJhc2UgQ1RBIFdyYXBwZXJzICovXG5cbiAgW2NsYXNzJD1cIl9fY3RhXCJdIHtcbiAgICBtYXJnaW46ICRhaXItLXNtYWxsIDAgJGFpci0teFNtYWxsO1xuXG4gICAgLy8gQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAvLyAgIG1hcmdpbjogJGFpci0tc21hbGwgMCAkYWlyLS14U21hbGw7XG4gICAgLy8gfVxuXG4gICAgLy8gQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14eExhcmdlKSB7XG4gICAgLy8gICBtYXJnaW4tdG9wOiAkYWlyLS1sYXJnZTtcbiAgICAvLyB9XG4gIH1cblxuICAvKiBCYXNlIENUQSAqL1xuXG4gIC5jdGEtLWJ1dHRvbixcbiAgLmN0YS0tc29jaWFsIHtcbiAgICAvLyBAaW5jbHVkZSBuby1mb250LXNtb290aGluZztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvKiBCdXR0b24tc3R5bGUgQ1RBcyAqL1xuXG4gIC5jdGEtLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY3RhKFwiYmx1ZVwiKTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMzAwbXMpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMzBweCAxN3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNDVweDtcbiAgICBmb250LWZhbWlseTogJGFsZWNrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE5KTtcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmx1ZVwiXSAmIHtcbiAgICAgIEBpbmNsdWRlIGN0YShcImJsYWNrXCIpO1xuICAgIH1cblxuICAgIC5jb2wtMiAmIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLTMgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UgLSAxKSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLTQgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIExpbmstc3R5bGUgQ1RBcyAqL1xuXG4gIC5jdGEtLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgQGluY2x1ZGUgYWNjZW50LWFycm93KFwicmlnaHRcIik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkY29sb3ItLWxpbms7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAkYWxlY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLnJlZ2lvbi0tYmx1ZSAmIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItLWNvcHk7XG4gICAgfVxuXG4gICAgLnJlZ2lvbi0tZGFyay1ibHVlICYge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAvKiBTb2NpYWwtc3R5bGUgQ1RBcyAqL1xuXG4gIC5jdGEtLXNvY2lhbCB7XG4gICAgQGluY2x1ZGUgY3RhKFwiYmx1ZVwiKTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMzAwbXMpO1xuICAgIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0NSk7XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICB9XG5cbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdICYge1xuICAgICAgQGluY2x1ZGUgY3RhKFwiYmxhY2tcIik7XG4gICAgfVxuICB9XG4iLCIvKj09PT09PVxuICBMQVlPVVRcbiAgPT09PT09Ki9cblxuICAuY29udGVudCxcbiAgLnJlZ2lvbixcbiAgLnJlZ2lvbl9fd3JhcCxcbiAgLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAucmVnaW9uLFxuICAucmVnaW9uX193cmFwLFxuICAucm93LFxuICAuY29sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5yZWdpb25fX3dyYXAsXG4gIC5yb3dfX3dyYXAsXG4gIC5jb2wge1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7IC8qIGZvciBlbXB0eSBwYXJzeXMgY29udGFpbmVycyB0aGF0IG1pZ2h0IG90aGVyd2lzZSBjb2xsYXBzZSAqL1xuICB9XG5cbiAgLyogUGFnZSAqL1xuXG4gIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvKiBTZWN0aW9ucyAobm90ZSB0aGF0IHRoZSBjbGFzcyBuYW1lIGhhZCB0byBiZSBjaGFuZ2VkIGZyb20gXCJzZWN0aW9uXCIgdG8gXCJyZWdpb25cIikgKi9cblxuICAucmVnaW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDMwcHggMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6ICRhaXItLXNtYWxsIDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgcGFkZGluZzogJGFpci0teExhcmdlIDA7XG4gICAgfVxuXG4gICAgLyogTWFrZSBzdXJlIHNlY3Rpb25zIGluc2lkZSBvZiB0aGUgZXF1YWwtaGVpZ2h0IHJvd3MgYXJlIGZ1bGwgaGVpZ2h0IHNlY3Rpb25zICovXG5cbiAgICAucm93LS1lcXVhbC1oZWlnaHRzICYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogUmVtb3ZlIHBhZGRpbmcgZnJvbSB2ZXJ0aWNhbGx5IGZsdXNoIHNlY3Rpb25zICovXG5cbiAgICAmLnJlZ2lvbi0tZmx1c2gtdmVydGljYWwge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJiAuc2VjdGlvbjpsYXN0LW9mLXR5cGUgPiAucm93Omxhc3Qtb2YtdHlwZSA+IC5jb2w6bGFzdC1vZi10eXBlID4gLmNvbXBvbmVudDpsYXN0LW9mLXR5cGUsXG4gICAgICAmIC5zZWN0aW9uOmxhc3Qtb2YtdHlwZSA+IC5jb21wb25lbnQ6bGFzdC1vZi10eXBlLFxuICAgICAgJiAucmVnaW9uX193cmFwID4gLmNvbXBvbmVudDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFwcGx5IGFueSBib3R0b20gYm9yZGVycyB0byBzZWN0aW9ucywgYXMgbG9uZyBhcyB0aGV5IGFyZW4ndCB2ZXJ0aWNhbGx5IGZsdXNoIHNlY3Rpb25zICovXG5cbiAgICAmLnJlZ2lvbi0tYm9yZGVyLWJvdHRvbSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcnVsZShcImhvcml6b250YWxcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWdHcmF5O1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICBoZWlnaHQ6IDFweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucmVnaW9uLS1ib3JkZXItYm90dG9tLnJlZ2lvbi0tZmx1c2gtdmVydGljYWwge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBMb29wIHRocm91Z2ggcG9zc2libGUgc2VjdGlvbiBiYWNrZ3JvdW5kIGNvbG9ycyAqL1xuXG4gICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYmFja2dyb3VuZENvbG9ycyB7XG4gICAgICAmLnJlZ2lvbi0tI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAmLnJlZ2lvbi0tbmVhci1ibGFjayxcbiAgICAgICYucmVnaW9uLS1ibGFjayxcbiAgICAgICYucmVnaW9uLS1kYXJrLWJsdWUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIENvbnN0cmFpbiB0aGUgd2lkdGggb2YgdGhlIHNlY3Rpb24gd3JhcHBlciB0byB0aGUgbWF4aW11bSBwYWdlIHdpZHRoICovXG5cbiAgLnJlZ2lvbl9fd3JhcCB7XG4gICAgbWF4LXdpZHRoOiAkbWF4UGFnZVdpZHRoO1xuICB9XG5cbiAgLyogUm93cyAqL1xuXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIHJvdygkbWF4Um93V2lkdGgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogJGFpci0teFNtYWxsO1xuICAgICAgcGFkZGluZzogMCAkZ3V0dGVyLS1zbWFsbDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSZW1vdmUgdG9wIG1hcmdpbiBmcm9tIGZpcnN0IHJvdyBpbiBzZWN0aW9uICovXG5cbiAgICAucmVnaW9uICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC8qIFJlbW92ZSBhbGwgc2lkZSBtYXJnaW5zIGZyb20gaG9yaXpvbnRhbGx5IGZsdXNoZWQgcm93cyAqL1xuXG4gICAgJi5yb3ctLWZsdXNoLWhvcml6b250YWwge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvKiBSZW1vdmUgdG9wIG1hcmdpbiBmcm9tIHRvcC1mbHVzaGVkIHJvd3MgKi9cblxuICAgICYucm93LS1mbHVzaC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAvKiBSZW1vdmUgZ3V0dGVycyBmcm9tIGNvbHVtbnMgaW5zaWRlIG5vLWd1dHRlciByb3dzICovXG5cbiAgICAmLnJvdy0tbm8tZ3V0dGVycyB7XG4gICAgICAucm93X193cmFwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIC5jb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQWRkIGd1dHRlciBib3JkZXJzIHRvIGNvbHVtbnMgaW5zaWRlIGd1dHRlci1ib3JkZXIgcm93cyAqL1xuXG4gICAgJi5yb3ctLWd1dHRlci1ib3JkZXJzIHtcbiAgICAgIC5jb2wge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLyogU3RhcnQgYWxsIGd1dHRlciBib3JkZXJzIGFzIGhvcml6b250YWwgYm9yZGVycyAqL1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwgLSAxKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFpci0tbGFyZ2U7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206ICRhaXItLWxhcmdlO1xuXG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBydWxlKFwiaG9yaXpvbnRhbFwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBBdCBsYXJnZXIgdmlld3BvcnQgc2l6ZSwgc3dpdGNoIHRoZW0gdG8gdGhlIHZlcnRpY2FsIGZvcm1hdCAqL1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgICAmLmNvbC02Om5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBydWxlKFwidmVydGljYWxcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcblxuICAgICAgICAgICYuY29sLTQ6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLFxuICAgICAgICAgICYuY29sLTM6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ1bGUoXCJ2ZXJ0aWNhbFwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWdHcmF5O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLyogMS8zIHdpZHRoIGNvbHVtbnMgKi9cblxuICAgICAgICAgICYuY29sLTQge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzElO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMSU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuY29sLTQgKyAuY29sLTQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IC02JTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5jb2wtOCArIC5jb2wtNDpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTglO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIDEvNCB3aWR0aCBjb2x1bW5zICovXG5cbiAgICAgICAgICAmLmNvbC0zIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIzJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjMlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmNvbC0zICsgLmNvbC0zOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAtNiU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuY29sLTkgKyAuY29sLTM6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IC0xMiU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuXG4gICAgICAgICAgJi5jb2wtMjpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcnVsZShcInZlcnRpY2FsXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZ0dyYXk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvKiAxLzUgd2lkdGggY29sdW1ucyAqL1xuXG4gICAgICAgICAgJi5jb2wtMiArIC5jb2wtMjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTEzJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBQcmV2ZW50IGd1dHRlciBib3JkZXJzIGZyb20gYXBwZWFyaW5nIG5leHQgdG8gbGVmdC1tb3N0IGNvbHVtbnMgd2hlbiB0aGUgY29sdW1ucyBzdGFydCB0byB3cmFwIHJlc3BvbnNpdmVseSAqL1xuXG4gICAgICAgIC8vIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgICAgICAvLyAgICYuY29sLTI6bnRoLWNoaWxkKDNuKzEpOmJlZm9yZSxcbiAgICAgICAgLy8gICAmLmNvbC0zOm50aC1jaGlsZChvZGQpOmJlZm9yZSB7XG4gICAgICAgIC8vICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFJvd3MgaW5zaWRlIG9mIG90aGVyIHJvd3MvY29sdW1ucyAqL1xuXG4gICAgLmNvbCAmIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLnJvd19fd3JhcCB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuXG4gICAgICAvKiBBcHBseSBuZWdhdGl2ZSBtYXJnaW4gdG8gbmVnYXRlIGlubmVyIHBhZGRpbmcgb2YgY29sdW1ucyAqL1xuXG4gICAgICBtYXJnaW46IDAgLTEwcHg7XG5cbiAgICAgIC8qIEJlZ2luIGZsZXhib3gvZmxleGJveCBmYWxsYmFjayAqL1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgJiB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLyogRW5kIGZsZXhib3ggc3R1ZmYgKi9cbiAgICB9XG5cbiAgICAvKiBJZiB3ZSBoYXZlIDUgY29sdW1ucyBpbiBhIHJvdyBvciBndXR0ZXIgYm9yZGVycywganVzdGlmeSB0aGUgY29sdW1ucyAqL1xuXG4gICAgLnJvdy0tanVzdGlmaWVkICYsXG4gICAgLnJvdy0tZ3V0dGVyLWJvcmRlcnMgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogSWYgcm93IGlzIGhvcml6b250YWxseSBmbHVzaCwgYXBwbHkgYWRkaXRpb25hbCBuZWdhdGl2ZSBtYXJnaW4gdG8gYnJpbmcgdGhlIHJvdyB0byBmdWxsLXdpZHRoICovXG5cbiAgICAucm93LS1mbHVzaC1ob3Jpem9udGFsICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFJvdyB3cmFwcyBpbnNpZGUgb2Ygb3RoZXIgcm93cy9jb2x1bW5zIChGZWF0dXJlZC9MYXRlc3QgU3RvcmllcykgKi9cblxuICAgIC5jb2wgJiB7XG4gICAgICBtYXJnaW46IDAgLTIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIENvbHVtbnMgKi9cblxuICAuY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIEFsbCBjb21wb25lbnRzIGFyZSBmdWxsLXdpZHRoIGF0IG1vYmlsZSB2aWV3cG9ydHMgKi9cbiAgICBwYWRkaW5nOiAwICRhaXItLXhTbWFsbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cbiAgICAgIC8qIEFwcGx5IGZsZXhib3ggZmFsbGJhY2sgKi9cblxuICAgICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSAmIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogTG9vcCB0aHJvdWdoIHRoZSBjb2x1bW4gc2l6ZXIgbWFwIHRvIHNpemUgdGhlIGNvbHVtbnMgKi9cblxuICAgIEBlYWNoICRjb2x1bW4sICR3aWR0aCBpbiAkY29sdW1uU2l6ZXIge1xuICAgICAgJHNtYWxsQ29udGV4dDogbnRoKCR3aWR0aCwgMik7XG4gICAgICAkbWVkaXVtQ29udGV4dDogbnRoKCR3aWR0aCwgMyk7XG4gICAgICAkbGFyZ2VDb250ZXh0OiBudGgoJHdpZHRoLCA0KTtcblxuICAgICAgLyogVGFibGV0IFdpZHRocyAqL1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAmLmNvbC0jeyRjb2x1bW59IHtcbiAgICAgICAgICBAaW5jbHVkZSBjb2x1bW4oJHNtYWxsQ29udGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogU21hbGwgRGVza3RvcCBXaWR0aHMgKi9cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICYuY29sLSN7JGNvbHVtbn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbigkbWVkaXVtQ29udGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogTGFyZ2UgRGVza3RvcCBXaWR0aHMgKi9cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgJi5jb2wtI3skY29sdW1ufSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29sdW1uKCRsYXJnZUNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogTWFrZSBzdXJlIGNvbHVtbnMgaW5zaWRlIG9mIHRoZSBlcXVhbC1oZWlnaHQgcm93cyBhcmUgZnVsbCBoZWlnaHQgY29tcG9uZW50cyAqL1xuXG4gICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmID4gZGl2IHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hZW0tQXV0aG9yTGF5ZXItRWRpdCAucm93LS1lcXVhbC1oZWlnaHRzICYgPiBkaXYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQ29tcG9uZW50cyAqL1xuXG4gIC5jb21wb25lbnQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRhaXItLXhTbWFsbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgIC8vICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIC8vICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgLy8gJjpsYXN0LW9mLXR5cGUge1xuICAgICAgLy8gICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgICYuY29tcG9uZW50LS1uby1tYXJnaW4tYm90dG9tLFxuICAgICYuY29tcG9uZW50LS1ib3JkZXItYm90dG9tLFxuICAgIC5yb3ctLWd1dHRlci1ib3JkZXJzICYsXG4gICAgLnJvdy0tbm8tZ3V0dGVycyAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5jb21wb25lbnQtLWJvcmRlci1ib3R0b20gPiBkaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGFpci0tbGFyZ2U7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGFpci0tbGFyZ2U7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFpci0teExhcmdlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGFpci0teExhcmdlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRhaXItLXh4TGFyZ2U7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkYWlyLS14eExhcmdlO1xuICAgICAgfVxuXG4gICAgICAubWFycXVlZSAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBydWxlKFwiaG9yaXpvbnRhbFwiKTtcbiAgICAgIH1cblxuICAgICAgLm1hcnF1ZWUgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogTWFrZSBzdXJlIGNvbXBvbmVudHMgaW5zaWRlIG9mIHRoZSBlcXVhbC1oZWlnaHQgcm93cyBhcmUgZnVsbCBoZWlnaHQgY29tcG9uZW50cyAqL1xuXG4gICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAuY29tcG9uZW50IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWVtLUF1dGhvckxheWVyLUVkaXQgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtjbGFzcyo9XCJfX2hlYWRpbmdcIl0ge1xuICAgICAgbWF4LXdpZHRoOiAkbWF4Um93V2lkdGg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyNXB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLmNvbCAmIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiIsIi8qPT09PT09XG4gIEhFQURFUlxuICA9PT09PT0qL1xuXG4gIGJvZHkgPiAud3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBib2R5ID4gLndyYXBwZXIgLmNhbnZhcyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbkFsbCgzMDBtcyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2IC0gMSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAmLmNhbnZhcy0tb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTgwJSk7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtI3skbmF2V2lkdGhNb2JpbGV9KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0jeyRuYXZXaWR0aFRhYmxldH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICAvKiBTa2lwIE5hdmlnYXRpb24gKi9cblxuICAuc2tpcC1uYXZpZ2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGRya0dyYXksIDEwJSk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG4gIC5za2lwLW5hdmlnYXRpb24gYSB7XG4gICAgQGluY2x1ZGUgaGlkZGVuLXNwb2tlbjtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxMHB4KTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdG9wOiA1cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkFsbCgzMDBtcyk7XG4gICAgICBmb250LXNpemU6IDEycHg7IC8vIGRvbid0IHVzZSByZW1zIGhlcmVcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggMTBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgICBjbGlwOiBpbml0aWFsO1xuICAgICAgY29sb3I6ICRyZWdHcmF5O1xuICAgICAgei1pbmRleDogOTk5OTk5OTk5OTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBTdGFuZGFyZCBhbmQgTWljcm9zaXRlIEhlYWRlcnMgKi9cblxuICAjYXR0LWFib3V0LWhlYWRlciA+IGRpdixcbiAgI2F0dC1taWNyb3NpdGUtaGVhZGVyIC5taWNyb3NpdGUtbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkcmtHcmF5O1xuICB9XG5cbiAgI2F0dC1hYm91dC1oZWFkZXIuaGVhZGVyLS10cmFuc3BhcmVudCA+IGRpdixcbiAgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmhlYWRlci0tdHJhbnNwYXJlbnQgLm1pY3Jvc2l0ZS1uYXYge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAuNjUpO1xuICAgIH1cbiAgfVxuXG4gICNhdHQtYWJvdXQtaGVhZGVyLmhlYWRlci0tZml4ZWQgPiBkaXYsXG4gICNhdHQtbWljcm9zaXRlLWhlYWRlci5oZWFkZXItLWZpeGVkIC5taWNyb3NpdGUtbmF2IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgaGVhZGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLnRvdWNoICYsXG4gICAgLnRvdWNoZXZlbnRzICYge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueSBpbW1lZGlhdGUgc2libGluZyBvZiB0aGUgc2Vjb25kYXJ5IGhlYWRlclxuXG4gIC5oZWFkZXItLXNlY29uZGFyeSArICoge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgbWFyZ2luLXRvcDogJGRlc2t0b3BOYXZIZ3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55IGltbWVkaWF0ZSBzaWJsaW5nIG9mIHRoZSBzZWNvbmRhcnkgaGVhZGVyLCBJRiB0aGUgc2Vjb25kYXJ5IGhlYWRlciBpcyBpbiB1c2VcblxuICAuaGVhZGVyLS1zZWNvbmRhcnkuYWN0aXZlICsgKiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBtYXJnaW4tdG9wOiAkbW9iaWxlTmF2SGd0O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogJGRlc2t0b3BOYXZIZ3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55IGltbWVkaWF0ZSBzaWJsaW5nIG9mIHRoZSBzZWNvbmRhcnkgaGVhZGVyLCBJRiB0aGUgc2Vjb25kYXJ5IGhlYWRlciBpcyBpbiB1c2UgYW5kIGNvbnRhaW5zIGNvbmRlbnNlZCBnbG9iYWwgbmF2XG5cbiAgLmhlYWRlci0tc2Vjb25kYXJ5LmFjdGl2ZS0td0dsb2JhbCArICoge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkbWljcm9zaXRlTmF2SGd0O1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXIgKyAqLFxuICAuaGVhZGVyICsgLmhlYWRlci0tc2Vjb25kYXJ5ICsgKiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBtYXJnaW4tdG9wOiAkZGVza3RvcE5hdkhndDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLmhlYWRlci0tdHJhbnNwYXJlbnQgKyAqIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWRlc2t0b3BOYXYpIHtcbiAgICAgIG1hcmdpbi10b3A6ICRkZXNrdG9wTmF2SGd0O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXIuaGVhZGVyLS10cmFuc3BhcmVudCArIC5oZWFkZXItLXNlY29uZGFyeS5oZWFkZXItLXRyYW5zcGFyZW50ICsgKiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci0tc2Vjb25kYXJ5LmhlYWRlci0tdHJhbnNwYXJlbnQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItLXNlY29uZGFyeS5oZWFkZXItLXRyYW5zcGFyZW50ICsgKiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLS1zZWNvbmRhcnkuaGVhZGVyLS10cmFuc3BhcmVudC5hY3RpdmUtLXdHbG9iYWwgKyAqIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkbWljcm9zaXRlR2xvYmFsTmF2SGd0O1xuICAgIH1cbiAgfVxuXG4gIC5hdHQtYWJvdXQtaGVhZGVyX193cmFwIHtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkFsbCg0NTBtcyk7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBoZWlnaHQ6ICRkZXNrdG9wTmF2SGd0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAjYXR0LWFib3V0LWhlYWRlci5oZWFkZXItLWZpeGVkICYge1xuICAgICAgICBoZWlnaHQ6ICRtb2JpbGVOYXZIZ3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci0tc2Vjb25kYXJ5ID4gKiB7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWRlc2t0b3BOYXYpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoNDUwbXMpO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgLy8gaGVpZ2h0OiAkZGVza3RvcE5hdkhndDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRvcDogMDtcblxuICAgICAgLy8gI2F0dC1hYm91dC1oZWFkZXIuaGVhZGVyLS1maXhlZCAmIHtcbiAgICAgIC8vICAgaGVpZ2h0OiAkbW9iaWxlTmF2SGd0O1xuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gICNhdHQtYWJvdXQtaGVhZGVyIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTk5OTk5OTk7XG4gICAgfVxuICB9XG5cbiAgI2F0dC1taWNyb3NpdGUtaGVhZGVyIHtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJiAuY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJiAubWljcm9zaXRlLW5hdiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQWxsKDQ1MG1zKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIGhlaWdodDogJGRlc2t0b3BOYXZIZ3Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAubWljcm9zaXRlLW5hdi5taWNyb3NpdGUtbmF2LS1wbHVzR2xvYmFsIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIGhlaWdodDogJG1pY3Jvc2l0ZU5hdkhndDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhlYWRlci0tZml4ZWQgLm1pY3Jvc2l0ZS1uYXYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiAkbW9iaWxlTmF2SGd0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaGVhZGVyLS1maXhlZCAubWljcm9zaXRlLW5hdi5taWNyb3NpdGUtbmF2LS1wbHVzR2xvYmFsIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyRtaWNyb3NpdGVOYXZIZ3R9IC0gNDBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQXV0aG9yIEluc3RhbmNlIERpc3BsYXkgRml4ZXMgKi9cblxuICAuYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1hYm91dC1oZWFkZXIge1xuICAgIG1pbi1oZWlnaHQ6ICRtb2JpbGVOYXZIZ3Q7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBtaW4taGVpZ2h0OiAkZGVza3RvcE5hdkhndDtcbiAgICB9XG4gIH1cblxuICAuYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1hYm91dC1oZWFkZXIgKyAqLFxuICAuYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1hYm91dC1oZWFkZXIgKyAuaGVhZGVyLS1zZWNvbmRhcnkgKyAqLFxuICAuYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1taWNyb3NpdGUtaGVhZGVyICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC8vIC5hZW0tQXV0aG9yTGF5ZXItRWRpdCAjYXR0LWFib3V0LWhlYWRlci5oZWFkZXItLXRyYW5zcGFyZW50ICsgKixcbiAgLy8gLmFlbS1BdXRob3JMYXllci1FZGl0ICNhdHQtYWJvdXQtaGVhZGVyLmhlYWRlci0tdHJhbnNwYXJlbnQgKyAuaGVhZGVyLS1zZWNvbmRhcnkgKyAqLFxuICAvLyAuYWVtLUF1dGhvckxheWVyLUVkaXQgI2F0dC1taWNyb3NpdGUtaGVhZGVyLmhlYWRlci0tdHJhbnNwYXJlbnQgKyAqIHtcbiAgLy8gICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgLy8gfVxuXG4gIC5hZW0tQXV0aG9yTGF5ZXItRWRpdCAjYXR0LW1pY3Jvc2l0ZS1oZWFkZXIuYWN0aXZlICsgKixcbiAgLmFlbS1BdXRob3JMYXllci1FZGl0ICNhdHQtbWljcm9zaXRlLWhlYWRlci5hY3RpdmUtLXdHbG9iYWwgKyAqIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgfVxuXG4gIC5hZW0tQXV0aG9yTGF5ZXItRWRpdCAjYXR0LW1pY3Jvc2l0ZS1oZWFkZXIuYWN0aXZlICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMTMwcHg7XG4gIH1cbiAgLmFlbS1BdXRob3JMYXllci1FZGl0ICNhdHQtbWljcm9zaXRlLWhlYWRlci5hY3RpdmUtLXdHbG9iYWwgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAxODBweDtcbiAgfVxuIiwiLyo9PT1cbiAgTkFWXG4gID09PSovXG5cbiAgLyogTmF2LXNwZWNpZmljIHNldHRpbmdzICovXG5cbiAgJGJ1cmdlcjogMjRweDtcbiAgJGJ1cmdlckJhcjogJGJ1cmdlciAvIDg7XG5cbiAgJG1vYmlsZUxvZ286IDM4cHg7XG4gICRkZXNrdG9wTG9nbzogNTBweDtcblxuICAvKiBIZWxwZXIgbWl4aW5zICovXG5cbiAgQG1peGluIG5hdkxvZ28oJHNpemUpe1xuICAgIGhlaWdodDogJHNpemU7XG4gIH1cblxuICBAbWl4aW4gbmF2QW5jaG9yIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAxMCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1mYW1pbHk6ICRhbGVjaztcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgQG1peGluIG5hdkFuY2hvci1leHBhbmRlZCB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgdG9wOiAxOXB4O1xuICAgICAgbGVmdDogMTRweDtcbiAgICB9XG4gIH1cblxuICBAbWl4aW4gYWN0aXZlSXRlbSB7XG4gICAgJiA+IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtaXhpbiBhY3RpdmVJdGVtLWRhcmtlbmVkIHtcbiAgICAmID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gICAgfVxuICB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09Ki9cblxuICAjYXR0LWFib3V0LWhlYWRlciAubmF2IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICB9XG5cbiAgI2F0dC1hYm91dC1oZWFkZXIgLm5hdl9fdXRpbHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgJGFpci0teFNtYWxsO1xuICAgIGhlaWdodDogJG1vYmlsZU5hdkhndDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgcGFkZGluZzogMCAkZ3V0dGVyLS1zbWFsbDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDE1JTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvKiBOYXYgTG9nbyAqL1xuXG4gIC5uYXZfX2xvZ28ge1xuICAgIEBpbmNsdWRlIGNlbnRlclZlcnRpY2FsbHk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAubG9nb19faWNvbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQWxsKDMwMG1zKTtcbiAgICAgIEBpbmNsdWRlIG5hdkxvZ28oJG1vYmlsZUxvZ28pO1xuICAgICAgbWluLXdpZHRoOiA5NXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAvKiBOT1RFOiBMb2dvIGNvbG9yIGNhbiB2YXJ5IGJhc2VkIG9uIHRoZSB0aGVtZS4gRGVmYXVsdCB0cmVhdG1lbnQgaXMgc2lsdmVyLiAqL1xuXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sb2dvX2F0dC13aGl0ZS10ZXh0LnBuZycpO1xuXG4gICAgICAvLyBAZWFjaCAkdGhlbWUsICRjb2xvciBpbiAkdGhlbWVDb2xvcnMge1xuICAgICAgLy8gICAkY29sb3JOYW1lOiBudGgoJGNvbG9yLCAxKTtcbiAgICAgIC8vXG4gICAgICAvLyAgIC50aGVtZS0tI3skdGhlbWV9ICYge1xuICAgICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xvZ29fYXR0LSN7JGNvbG9yTmFtZX0ucG5nJyk7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBuYXZMb2dvKCRkZXNrdG9wTG9nbyk7XG4gICAgICAgIG1pbi13aWR0aDogMTI1cHg7XG5cbiAgICAgICAgLmhlYWRlci0tZml4ZWQgJiB7XG4gICAgICAgICAgQGluY2x1ZGUgbmF2TG9nbygkbW9iaWxlTG9nbyk7XG4gICAgICAgICAgbWluLXdpZHRoOiA5NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogSGFtYnVyZ2VyIFRvZ2dsZSAqL1xuXG4gICNhdHQtYWJvdXQtaGVhZGVyIC5uYXZfX3RvZ2dsZSxcbiAgLm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwgLm5hdl9fdG9nZ2xlIHtcbiAgICBoZWlnaHQ6ICRidXJnZXI7XG4gICAgd2lkdGg6ICRidXJnZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICNhdHQtYWJvdXQtaGVhZGVyIC5uYXZfX3RvZ2dsZSAuYmFyLFxuICAubWljcm9zaXRlLW5hdi0tcGx1c0dsb2JhbCAubmF2X190b2dnbGUgLmJhciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbkFsbCgzMDBtcyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGJ1cmdlckJhcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkYnVyZ2VyQmFyICsgMTtcbiAgfVxuXG4gIC5uYXZfX3RvZ2dsZS0tb3BlbiB7XG4gICAgQGluY2x1ZGUgY2VudGVyVmVydGljYWxseTtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAubmF2LS1vcGVuICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubmF2X190b2dnbGUtLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLm5hdi0tb3BlbiAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyMnB4O1xuICAgICAgLy8gbGVmdDogLTQwcHg7XG4gICAgICByaWdodDogMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXYtLW9wZW4gJiAuYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0b3A6IDhweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjYXR0LWFib3V0LWhlYWRlciAubmF2X191dGlscyxcbiAgI2F0dC1hYm91dC1oZWFkZXIgLm5hdl9fbWVudS0tcHJpbWFyeSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLyogTmF2IE1lbnVzICovXG5cbiAgLm5hdl9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICYuZXhwYW5kZWQgPiAubmF2X19tZW51LXBhcmVudCB7XG4gICAgICAgIEBpbmNsdWRlIG5hdkFuY2hvci1leHBhbmRlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1mYW1pbHk6ICRhbGVjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7IC8vIGRvbid0IHVzZSByZW1zIGhlcmVcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgLy8gZG9uJ3QgdXNlIHJlbXMgaGVyZVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4OyAvLyBkb24ndCB1c2UgcmVtcyBoZXJlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2X19tZW51LXBhcmVudCB7XG4gICAgICBAaW5jbHVkZSBuYXZBbmNob3I7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICAgIGhlaWdodDogMzdweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBQcmltYXJ5IE1lbnVzICovXG5cbiAgLm5hdl9fbWVudS0tcHJpbWFyeSB7XG4gICAgd2lkdGg6ICRuYXZXaWR0aE1vYmlsZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgd2lkdGg6ICRuYXZXaWR0aFRhYmxldDtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdiAtIDEpIHtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2U7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogJG1vYmlsZU5hdkhndDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGRya0dyYXk7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNjBweCkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogODUlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmID4gbGkge1xuXG4gICAgICAvKiBOT1RFOiBBcHBseSBoaWdobGlnaHRpbmcgdG8gbmF2IGl0ZW1zIGJhc2VkIG9uIHRoZSBib2R5IGNsYXNzIG5hbWUuICovXG5cbiAgICAgIEBlYWNoICRib2R5Q2xhc3MsICRuYXZJdGVtQ2xhc3MgaW4gJG5hdkhpZ2hsaWdodHMge1xuICAgICAgICAuI3skYm9keUNsYXNzfTpub3QoW2NsYXNzKj1cIm5hdi1cIl0pICYuI3skbmF2SXRlbUNsYXNzfSxcbiAgICAgICAgLiN7JG5hdkl0ZW1DbGFzc30gJi4jeyRuYXZJdGVtQ2xhc3N9IHtcbiAgICAgICAgICBAaW5jbHVkZSBhY3RpdmVJdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JGJvZHlDbGFzc306bm90KFtjbGFzcyo9XCJuYXYtXCJdKSAuaGVhZGVyLS10cmFuc3BhcmVudCAmLiN7JG5hdkl0ZW1DbGFzc30sXG4gICAgICAgIC4jeyRuYXZJdGVtQ2xhc3N9IC5oZWFkZXItLXRyYW5zcGFyZW50ICYuI3skbmF2SXRlbUNsYXNzfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYWN0aXZlSXRlbS1kYXJrZW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGFjdGl2ZUl0ZW07XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXItLXRyYW5zcGFyZW50ICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgYWN0aXZlSXRlbS1kYXJrZW5lZDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2IC0gMSkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRya0dyYXk7XG5cbiAgICAgICAgJi5leHBhbmRlZCA+IC5uYXZfX21lbnUtaXRlbSB7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTJweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLS1jdGE7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA0MHB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbisyKSA+IC5uYXZfX21lbnUtLW5lc3RlZCB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyID4gLm5hdl9fbWVudS1pdGVtLFxuICAgICAgICAmLmV4cGFuZGVkID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMnB4KSByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2NXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICAmLmxhc3QtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14eExhcmdlKSB7XG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4rMikgPiAubmF2X19tZW51LS1uZXN0ZWQge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkID4gLm5hdl9fbWVudS0tbmVzdGVkIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2IC0gMSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgICAgIEBpbmNsdWRlIGhpZ2hsaWdodC1iYXIoJGhpZ2hsaWdodEJhcik7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICY6Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiAubmF2X19tZW51LXBhcmVudCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmV4cGFuZGVkID4gLm5hdl9fbWVudS1wYXJlbnQ6YWZ0ZXIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWRlc2t0b3BOYXYpIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogU3VibmF2cyAqL1xuXG4gIC5uYXZfX21lbnUtLXNlY29uZGFyeSxcbiAgLm5hdl9fbWVudS0tdGVydGlhcnkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMjYwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgIC5uYXZfX21lbnUtLW5lc3RlZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAzNDBweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLWRlc2t0b3BOYXYgLSAxKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZHJrR3JheTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmtHcmF5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgLm5hdl9fbWVudS1wYXJlbnQge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWRlc2t0b3BOYXYpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRkcmtHcmF5LCA1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2X19tZW51LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmtHcmF5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFNlY29uZGFyeSBTdWJuYXZzICovXG5cbiAgLm5hdl9fbWVudS0tc2Vjb25kYXJ5IHtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdiAtIDEpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICAgLyogV2hlbiBpbiBtb2JpbGUsIHJlbHkgb24gdGhlIC5leHBhbmRlZCBjbGFzcyBvZiB0aGUgcGFyZW50IGVsZW1lbnQgdG8gc2hvdyBzZWNvbmRhcnkgbmF2cyAqL1xuICAgICAgLmV4cGFuZGVkID4gLm5hdl9fbWVudS1wYXJlbnQgKyAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogV2hlbiBpbiBkZXNrdG9wLCByZWx5IG9uIHRoZSBob3ZlciBvciBmb2N1c2VkIHN0YXRlIG9mIHRoZSBwYXJlbnQgZWxlbWVudCB0byBzaG93IHNlY29uZGFyeSBuYXZzICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2KSB7XG4gICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGk6aG92ZXIgPiAubmF2X19tZW51LXBhcmVudCArICYsXG4gICAgICAubmF2X19tZW51LS1wcmltYXJ5ID4gbGkuZXhwYW5kZWQgPiAubmF2X19tZW51LXBhcmVudCArICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBUZXJ0aWFyeSBTdWJuYXZzICovXG5cbiAgLm5hdl9fbWVudS0tdGVydGlhcnkge1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1kZXNrdG9wTmF2IC0gMSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tZGVza3RvcE5hdikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIH1cblxuICAgIGxpIC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWRlc2t0b3BOYXYpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFsd2F5cyByZWx5IG9uIHRoZSAuZXhwYW5kZWQgY2xhc3Mgb2YgdGhlIHBhcmVudCBlbGVtZW50IHRvIHNob3cgdGVydGlhcnkgbmF2cyAqL1xuICAgIC5leHBhbmRlZCA+IC5uYXZfX21lbnUtcGFyZW50ICsgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiIsIi8qPT09PT09XG4gIEZPT1RFUlxuICA9PT09PT0qL1xuXG4gICNhdHQtYWJvdXQtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZnVuY3Rpb25hbEJsYWNrO1xuICB9XG5cbiAgI2F0dC1hYm91dC1mb290ZXIgLmZvb3Rlcl9fd3JhcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICRhaXItLXhTbWFsbDtcbiAgICBjb2xvcjogJG1lZEdyYXk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSAtIDEpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci0tc21hbGw7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAjYXR0LWFib3V0LWZvb3RlciAuZm9vdGVyX19tZW51IHtcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjYXR0LWFib3V0LWZvb3RlciAuZm9vdGVyX19jb3B5cmlnaHQge1xuICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiIsIi8qPT09PT09PT1cbiAgQVJUSUNMRVNcbiAgPT09PT09PT0qL1xuXG4gIC8qIEZlYXR1cmVkIEhlYWRsaW5lICovXG5cbiAgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nOiAwIDAgMzBweDtcblxuICAgIC5zdG9yeV9faGVhZGVyICYge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci0tc21hbGw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItLXNtYWxsO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBjZW50ZXJIb3Jpem9udGFsbHk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JGd1dHRlci0tbGFyZ2V9IC0gMTBweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skZ3V0dGVyLS1sYXJnZX0gLSAxMHB4KTtcblxuICAgICAgICAuaGVhZGVyLS10cmFuc3BhcmVudCArIC5jb250ZW50ICYge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skZGVza3RvcE5hdkhndH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGVfX2NvbnRlbnRbZGF0YS1mdEltZz1cInRydWVcIl0gJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5mZWF0dXJlZC1oZWFkbGluZSBoMSxcbiAgLm1ldGFfX2luZm8gaDEsXG4gIC5tZXRhX19pbmZvIGgyIHtcbiAgICBmb250LWZhbWlseTogJGFsZWNrQmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cblxuICAuZmVhdHVyZWQtaGVhZGxpbmUgaDEge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAuc3RvcnlfX2hlYWRlciAmIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyVmVydGljYWxseTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5zdG9yeV9faGVhZGVyLS1saWdodCAmIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZWQtaGVhZGxpbmUgaDEsXG4gIC5tZXRhX19pbmZvIGgxIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAuc3RvcnkgJixcbiAgICAgIC5ibG9nLXBvc3QgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1ldGFfX2luZm8gaDIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIC5tZWRpYS1raXQtcG9zdCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQwKTtcbiAgICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVkLWFzc2V0IHtcbiAgICBbY2xhc3MqPVwiYXNzZXRcIl0ge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgNDBweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8qIEFydGljbGUgKi9cblxuICAuYXJ0aWNsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHJlZ0dyYXk7XG4gIH1cblxuICAuYXJ0aWNsZV9fbWV0YSxcbiAgLmF1dGhvcl9fbWV0YSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIC5tZXRhX19pbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBtaW4taGVpZ2h0OiA4NXB4O1xuICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhTbWFsbCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWV0YV9faW5mbyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTA4cHgpO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIH1cblxuICAgICAgLmF1dGhvciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGVfX3NoYXJlIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4U21hbGwpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlX19hc3NldHMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4U21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmN0YS0tbGluayB7XG4gICAgICBAaW5jbHVkZSBhY2NlbnQtYXJyb3coXCJkb3duXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qIEFydGljbGUgQm9keSBDb250ZW50ICovXG5cbiAgLmFydGljbGVfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gICAgLnNlY3Rpb246Zmlyc3QtY2hpbGQgPiAucmVnaW9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAvLyAubWVkaWEge1xuICAgIC8vICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHg7XG4gICAgLy9cbiAgICAvLyAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teHhTbWFsbCkge1xuICAgIC8vICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgLy8gICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgaDEsIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tCbGFjaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIC5yZWdpb24gaDEsXG4gICAgLnJlZ2lvbiBoMiB7XG4gICAgICBmb250LWZhbWlseTogJGFsZWNrO1xuICAgIH1cblxuICAgIC8qIENvbXBvbmVudHMgKi9cblxuICAgIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skYWlyLS1zbWFsbH0gKyAxMHB4KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkYWlyLS1zbWFsbDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGFpci0tbGFyZ2V9ICsgMTBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkYWlyLS1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwLFxuICAubWVkaWEta2l0LXBhZ2UgLm1lZGlhLWtpdF9fd3JhcCB7XG5cbiAgICAucm93IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4UGFnZVdpZHRoO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yb3dfX3dyYXAge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX19jb250ZW50IHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFNlY3Rpb25zICovXG5cbiAgICAucmVnaW9uIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcmVnR3JheTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcmVnR3JheTtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICZbY2xhc3MqPVwicmVnaW9uLS1cIl06bm90KC5yZWdpb24tLXdoaXRlKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICYucmVnaW9uLS1mbHVzaC12ZXJ0aWNhbCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAvLyBwYWRkaW5nOiAxMDBweCAwO1xuICAgICAgfVxuXG4gICAgICAvLyBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgLy8gICBwYWRkaW5nOiAxNTBweCAwO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIC8qIENvbXBvbmVudHMgKi9cblxuICAgIC5jb21wb25lbnQge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmID4gZGl2IHtcblxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNTVweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb2x1bW4oOCk7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50IFtjbGFzcyo9XCJfX2hlYWRpbmdcIl0ge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaW9uIC5jb21wb25lbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmID4gZGl2IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24gLmNvbXBvbmVudCBbY2xhc3MqPVwiX19oZWFkaW5nXCJdIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlZ2lvbiAuY29tcG9uZW50IC50ZXh0LFxuICAgIC5yZWdpb24gLmNvbXBvbmVudCAubWVkaWFfX2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24gLmNvbXBvbmVudCAudGV4dCB7XG4gICAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgfVxuXG4gICAgLnJlZ2lvbiAuY29tcG9uZW50IC50ZXh0LnRleHQtLWZlYXR1cmVkIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24gLmNvbXBvbmVudCAubWVkaWFfX2NhcHRpb24ge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29sdW1uKDgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFRleHQgQ29tcG9uZW50cyAqL1xuXG4gICAgLnRleHQudGV4dC0tZmVhdHVyZWQgaDIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMwKTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBNZWRpYSBDb21wb25lbnRzICovXG5cbiAgICAubWVkaWEge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlZ2lvbiAuY29tcG9uZW50IC5tZWRpYV9faW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAubWVkaWFfX2ltZyBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLm1lZGlhX19jYXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudCA+IC5tZWRpYS1saWJyYXJ5LFxuICAgIC5jb21wb25lbnQgPiAubWVkaWEtY2Fyb3VzZWwsXG4gICAgLmNvbXBvbmVudCA+IC5tZWRpYS1saWJyYXJ5IC5jb21wb25lbnQgPiBkaXYsXG4gICAgLmNvbXBvbmVudCA+IC5tZWRpYS1jYXJvdXNlbCAuY29tcG9uZW50ID4gZGl2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50ID4gLm1lZGlhLWxpYnJhcnkgLmNvbXBvbmVudCA+IGRpdixcbiAgICAuY29tcG9uZW50ID4gLm1lZGlhLWNhcm91c2VsIC5jb21wb25lbnQgPiBkaXYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wb25lbnQgPiAubWVkaWEtY2Fyb3VzZWwgLmNvbXBvbmVudCA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9nX19oZWFkZXIsXG4gIC5ibG9nX19hdXRob3JzLFxuICAubWVkaWEta2l0X19oZWFkZXIsXG4gIC5tZWRpYS1raXRfX2F1dGhvcnMge1xuICAgIC5yb3cgLnJvd19fd3JhcCAuY29sLTEyIHtcbiAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgQGluY2x1ZGUgY29sdW1uKDkpO1xuICAgICAgIH1cblxuICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgICBAaW5jbHVkZSBjb2x1bW4oOCk7XG4gICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFNpZGViYXIgKi9cblxuICAuc2lkZWJhciB7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgLnNpZGViYXJfX3dpZGdldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5zZWFyY2gtZmllbGQgZmllbGRzZXQge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6IDI0NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFJlbGF0ZWQgQXJ0aWNsZXMgKi9cblxuICBbY2xhc3MqPVwiX19yZWxhdGVkXCJdIHtcbiAgICAuZmVhdHVyZWQtaXRlbSB7XG4gICAgICAuaXRlbV9faW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLml0ZW1fX2ltZ1tkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiIsIi8qPT09PT1cbiAgU0hBUkVcbiAgPT09PT0qL1xuXG4gIC5zaGFyZSxcbiAgW2NsYXNzKj1cIl9fc2hhcmVcIl0ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDAgMjBweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci0tc21hbGw7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jb2wgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50ID4gJiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVnR3JheTtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlIC0gMSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoI3skZ3V0dGVyLS1zbWFsbH0gKiAyKSk7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWdpb24tLWRhcmstYmx1ZSAmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LS1ib3JkZXItYm90dG9tICYge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGg0LFxuICAgIHVsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgICYuc2hhcmUtLXJpZ2h0IHtcbiAgICAgIGg0LCB1bCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDAgMTBweDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICB9XG5cbiAgICAgIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjUpO1xuICAgICAgICBjb2xvcjogJGRya0dyYXk7XG5cbiAgICAgICAgLnJlZ2lvbi0tYmx1ZSAmIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlICYsXG4gICAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdICYge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLS1ibHVlICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuIiwiLyo9PT09PVxuICBGT1JNU1xuICA9PT09PSovXG5cbiAgaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgZm9udC1mYW1pbHk6ICRhbGVjaztcbiAgICBjb2xvcjogJGRya0dyYXk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICAgICY6OnBsYWNlaG9sZGVyLFxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRyZWdHcmF5O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSxcbiAgc2VsZWN0IHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIH1cbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMHB4IDEwMDBweCAkd2hpdGUgaW5zZXQ7XG4gICAgfVxuICAgICY6LXdlYmtpdC10ZXh0LWZpbGwtY29sb3Ige1xuICAgICAgY29sb3I6ICRmdW5jdGlvbmFsQmxhY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvKj09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTdWJtaXNzaW9uIEZvcm0gU3R5bGVzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PSovXG5cbiAgLnNlY3Rpb24gZm9ybVttZXRob2Q9UE9TVF0ge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgLmNvbDpub3QoLmNvbC0xMikgJiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14U21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmZvcm1fbGVmdGNvbCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuZm9ybV9sZWZ0Y29sbWFyayB7XG4gICAgICBjb2xvcjogI2IzMGEzYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAuZm9ybV9sZWZ0Y29sbGFiZWwge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5mb3JtX2xlZnRjb2xub2JyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuZm9ybV9yaWdodGNvbCB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuZm9ybV9yaWdodGNvbG5vYnIge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5mb3JtX3JpZ2h0Y29sbm9vdmVyZmxvdyB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAuZm9ybV9yb3cge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTo1cHg7XG4gICAgfVxuXG4gICAgbGFiZWwsIC5mb3JtX3Jvd19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LWZhbWlseTogJGFsZWNrTWVkaXVtO1xuICAgIH1cblxuICAgIC5mb3JtX3Jvd19kZXNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb2xvcjogJGRya0dyYXk7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB9XG5cbiAgICAuZm9ybV9maWVsZF9jaGVja2JveCxcbiAgICAuZm9ybV9maWVsZF9yYWRpbyB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICAuZm9ybV9maWVsZF90ZXh0LFxuICAgIC5mb3JtX2ZpZWxkX3RleHRhcmVhIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItY29sb3I6ICRyZWdHcmF5O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgY29sb3I6ICRkcmtHcmF5O1xuICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9ybV9maWVsZF9zZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9ybV9idXR0b25fc3VibWl0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXR0Qmx1ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDMwcHggMTdweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7XG4gICAgICBmb250LWZhbWlseTogJGFsZWNrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTkpO1xuICAgICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b21lcl9zdXJ2ZXlfc3VibWl0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgfVxuXG4gICAgLmZvcm1fZmllbGRfdGV4dC5mb3JtX2ZpZWxkX211bHRpdmFsdWVkIHtcbiAgICAgIHdpZHRoOiAzMTRweDtcbiAgICB9XG5cbiAgICAuZm9ybV9lcnJvciB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgY29sb3I6ICNmMDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB9XG5cbiAgICBwLmZvcm1fZXJyb3Ige1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgfVxuXG4gICAgZGl2LnNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBkaXYuY29sY3RybC5zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgc3Bhbi5tcl93cml0ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICB9XG4gIH1cblxuICAvKiBTdWJtaXNzaW9uIEZvcm0gQ2FwdGNoYSAqL1xuXG4gIC5zZWN0aW9uIGZvcm1bbWV0aG9kPVBPU1RdIC5mb3JtX2NhcHRjaGFfaW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNzBweDtcblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxNzBweDtcbiAgICB9XG5cbiAgICAuZm9ybV9jYXB0Y2hhX2ltZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICB9XG5cbiAgICAuZm9ybV9jYXB0Y2hhdGltZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJlZ0dyYXk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuZm9ybV9jYXB0Y2hhdGltZXJfYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWdHcmF5O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICB9XG4gIH1cbiIsIi8qISBGbGlja2l0eSB2MS4yLjFcbmh0dHA6Ly9mbGlja2l0eS5tZXRhZml6enkuY29cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZsaWNraXR5LWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8vIC5mbGlja2l0eS1lbmFibGVkOmZvY3VzIC5mbGlja2l0eS12aWV3cG9ydCB7XG4vLyAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuLy8gICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4vLyB9XG5cbi5mbGlja2l0eS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIGRyYWdnYWJsZSAqL1xuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydC5pcy1wb2ludGVyLWRvd24ge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgNXB4ICMwOUY7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmFjdGl2ZSB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogMTBweDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4vKiByaWdodCB0byBsZWZ0ICovXG5cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwcHg7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmRpc2FibGVkIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTtcbiAgLyogSUU4ICovXG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDIwJTtcbiAgdG9wOiAyMCU7XG4gIHdpZHRoOiA2MCU7XG4gIGhlaWdodDogNjAlO1xufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuYXJyb3cge1xuICBmaWxsOiAjMzMzO1xufVxuXG4vKiBjb2xvciAmIHNpemUgaWYgbm8gU1ZHIC0gSUU4IGFuZCBBbmRyb2lkIDIuMyAqL1xuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uby1zdmcge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAyNnB4O1xufVxuXG4vKiAtLS0tIHBhZ2UgZG90cyAtLS0tICovXG5cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC0yNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCA4cHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTtcbiAgLyogSUU4ICovXG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90LmlzLXNlbGVjdGVkIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAxO1xufVxuIiwiYm9keS5jb21wZW5zYXRlLWZvci1zY3JvbGxiYXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1hY3RpdmUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZhbmN5Ym94LWlzLWhpZGRlbiB7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTk5OTlweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLFxyICdTZWdvZSBVSSBFbW9qaScsICdTZWdvZSBVSSBTeW1ib2wnO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OTI7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtb3V0ZXIsXG4uZmFuY3lib3gtaW5uZXIsXG4uZmFuY3lib3gtYmcsXG4uZmFuY3lib3gtc3RhZ2Uge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uZmFuY3lib3gtb3V0ZXIge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLmZhbmN5Ym94LWJnIHtcbiAgYmFja2dyb3VuZDogIzFlMWUxZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0LCAwLjcxKTsgfVxuXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtYmcge1xuICBvcGFjaXR5OiAuODc7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7IH1cblxuLmZhbmN5Ym94LWluZm9iYXIsXG4uZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1jYXB0aW9uLFxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGRpcmVjdGlvbjogbHRyO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1cztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5OTk5NzsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24sXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwcztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIGNvbG9yOiAjY2NjO1xuICBmb250LXNpemU6IDEzcHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBtaW4td2lkdGg6IDQ0cHg7XG4gIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC10b29sYmFyIHtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uZmFuY3lib3gtc3RhZ2Uge1xuICBkaXJlY3Rpb246IGx0cjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogOTk5OTQ7IH1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LXN0YWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHBhZGRpbmc6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5NDsgfVxuXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAwOyB9XG5cbi5mYW5jeWJveC1pcy1zbGlkaW5nIC5mYW5jeWJveC1zbGlkZSxcbi5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXG4uZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICB6LWluZGV4OiA5OTk5NTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDQ0cHggMDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taHRtbCB7XG4gIHBhZGRpbmc6IDZweCA2cHggMCA2cHg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUge1xuICBwYWRkaW5nOiA0NHB4IDQ0cHggMDsgfVxuXG4uZmFuY3lib3gtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgNnB4IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jb250ZW50IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjE0LCAxKTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC4xNCwgMSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgei1pbmRleDogOTk5OTU7IH1cblxuLmZhbmN5Ym94LWNhbi16b29tT3V0IC5mYW5jeWJveC1jb250ZW50IHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1jb250ZW50IHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4uZmFuY3lib3gtY2FuLWRyYWcgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mYW5jeWJveC1pcy1kcmFnZ2luZyAuZmFuY3lib3gtY29udGVudCB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIFtkYXRhLXNlbGVjdGFibGU9J3RydWUnXSB7XG4gIGN1cnNvcjogdGV4dDsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taHRtbCAuZmFuY3lib3gtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDZweDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZTVlM2RmOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0NHB4KTtcbiAgbWFyZ2luLWJvdHRvbTogNDRweDsgfVxuXG4uZmFuY3lib3gtdmlkZW8sXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC1pZnJhbWUge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgcGFkZGluZzogNDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhbmN5Ym94LWVycm9yIHAge1xuICBjb2xvcjogIzQ0NDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuNik7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiA0NHB4OyB9XG5cbi5mYW5jeWJveC1idXR0b24sXG4uZmFuY3lib3gtYnV0dG9uOnZpc2l0ZWQsXG4uZmFuY3lib3gtYnV0dG9uOmxpbmsge1xuICBjb2xvcjogI2NjYzsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOmZvY3VzLFxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1idXR0b24uZGlzYWJsZWQsXG4uZmFuY3lib3gtYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF0sXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXTpob3ZlciB7XG4gIGNvbG9yOiAjODg4O1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgc2hhcGUtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247IH1cblxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcgcGF0aCB7XG4gIGZpbGw6IHRyYW5zcGFyZW50O1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgc3Ryb2tlLXdpZHRoOiAzOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnIHBhdGg6bnRoLWNoaWxkKDIpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZSBzdmcgcGF0aDpudGgtY2hpbGQoMSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnIHBhdGgsXG4uZmFuY3lib3gtYnV0dG9uLS1zaGFyZSBzdmcgcGF0aCxcbi5mYW5jeWJveC1idXR0b24tLXRodW1icyBzdmcgcGF0aCB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1zaGFyZSBzdmcgcGF0aCB7XG4gIHN0cm9rZS13aWR0aDogMTsgfVxuXG4vKiBOYXZpZ2F0aW9uIGFycm93cyAqL1xuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGhlaWdodDogMzhweDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMzhweDsgfVxuXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwcywgY29sb3IgLjI1czsgfVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAtMjVweDtcbiAgcGFkZGluZzogNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yNXB4OyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X2xlZnQge1xuICBsZWZ0OiA2cHg7IH1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfcmlnaHQge1xuICByaWdodDogNnB4OyB9XG5cbi8qIENsb3NlIGJ1dHRvbiBvbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiBodG1sIGNvbnRlbnQgKi9cbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjNTU1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDQ0cHg7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbCBzdmcge1xuICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogLjg7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6IDEuNTtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlIC4xczsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciBzdmcge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGwsXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBjb2xvcjogI2NjYztcbiAgcGFkZGluZzogNXB4O1xuICByaWdodDogLTEycHg7XG4gIHRvcDogLTQ0cHg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIgc3ZnLFxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIgc3ZnLFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHN2ZyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY2xvc2Utc21hbGwsXG4uZmFuY3lib3gtaXMtem9vbWFibGUuZmFuY3lib3gtY2FuLWRyYWcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBDYXB0aW9uICovXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogMjVweCA0NHB4IDI1cHggNDRweDtcbiAgcmlnaHQ6IDA7IH1cblxuLmZhbmN5Ym94LWNhcHRpb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBRXRDQVFBQUFCakJjTDdBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUhSSlJFRlVLTStWazhFT2dEQUlRMHZqLzMreEJ3OHFJWlp1ZUZuSUtDOTBNQ0FJOERscmtIR2VxcUdJVTZsVmlnckJ0cENXcWVSV29IRE5xczBGN1ZOVkJWeG1IUmx2b1ZxamFZa2RuRElhaXZIMkhxWjUrb1pqM0pVeldCK2NPejRHNDhCZyt0c0ovdHF1NGRMQy80WGIrMEdjRjVCd0JDMEFBNTNxQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogLTI1cHg7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNDRweDtcbiAgdG9wOiAwOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEsXG4uZmFuY3lib3gtY2FwdGlvbiBhOmxpbmssXG4uZmFuY3lib3gtY2FwdGlvbiBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2NjYztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogTG9hZGluZyBpbmRpY2F0b3IgKi9cbi5mYW5jeWJveC1sb2FkaW5nIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiA2cHggc29saWQgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDYwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMzBweCAwIDAgLTMwcHg7XG4gIG9wYWNpdHk6IC42O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNjBweDtcbiAgei1pbmRleDogOTk5OTk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qIFRyYW5zaXRpb24gZWZmZWN0cyAqL1xuLmZhbmN5Ym94LWFuaW1hdGVkIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBzbGlkZSAqL1xuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogZmFkZSAqL1xuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG5cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB6b29tLWluLW91dCAqL1xuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7IH1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTsgfVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHJvdGF0ZSAqL1xuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGNpcmN1bGFyICovXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB0dWJlICovXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygtMTBkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoLTEwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoMTBkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygxMGRlZyk7IH1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7IH1cblxuLyogU2hhcmUgKi9cbi5mYW5jeWJveC1zaGFyZSB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmFuY3lib3gtc2hhcmUgaDEge1xuICBjb2xvcjogIzIyMjtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cblxuLmZhbmN5Ym94LXNoYXJlIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDAgNXB4IDEwcHggNXB4O1xuICBtaW4td2lkdGg6IDEzMHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjp2aXNpdGVkLFxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246bGluayB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYiB7XG4gIGJhY2tncm91bmQ6ICMzYjU5OTg7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM0NGU4NjsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQge1xuICBiYWNrZ3JvdW5kOiAjYmQwODFkOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNhYTA3MTk7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3IHtcbiAgYmFja2dyb3VuZDogIzFkYTFmMjsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHc6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMGQ5NWU4OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2ZyB7XG4gIGhlaWdodDogMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjVweDsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcgcGF0aCB7XG4gIGZpbGw6ICNmZmY7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19pbnB1dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDdkN2Q3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzVkNWI1YjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW46IDEwcHggMCAwIDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogVGh1bWJzICovXG4uZmFuY3lib3gtdGh1bWJzIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIHBhZGRpbmc6IDJweCAycHggNHB4IDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjEycHg7XG4gIHotaW5kZXg6IDk5OTk1OyB9XG5cbi5mYW5jeWJveC10aHVtYnMteCB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LXRodW1icyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICByaWdodDogMjEycHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsIHtcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhbmN5Ym94LXRodW1icy14ID4gdWwge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC10aHVtYnMteSA+IHVsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA3cHg7IH1cblxuLmZhbmN5Ym94LXRodW1icy15ID4gdWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLmZhbmN5Ym94LXRodW1icy15ID4gdWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogIzJhMmEyYTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogNzVweDtcbiAgbWFyZ2luOiAycHg7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSA0cHgpO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpOmJlZm9yZSB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XG4gIGJvdHRvbTogMDtcbiAgY29udGVudDogJyc7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICB6LWluZGV4OiA5OTk5MTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzIC5mYW5jeWJveC10aHVtYnMtYWN0aXZlOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5mYW5jeWJveC10aHVtYnMge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgICByaWdodDogMTEwcHg7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7IH0gfVxuIiwiLyo9PT09PVxuICBBTEVSVFxuICA9PT09PSovXG5cbiAgLmFsZXJ0IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgJi5hbGVydC0tY2VudGVyZWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgJiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogTG9vcCB0aHJvdWdoIHBvc3NpYmxlIHNlY3Rpb24gYmFja2dyb3VuZCBjb2xvcnMuICovXG4gICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYmFja2dyb3VuZENvbG9ycyB7XG4gICAgICAmLmFsZXJ0LS0jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgJi5hbGVydC0tc2lsdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYmtnLXNpbHZlcjtcbiAgICAgIH1cblxuICAgICAgJi5hbGVydC0tYmx1ZSxcbiAgICAgICYuYWxlcnQtLWdyYXksXG4gICAgICAmLmFsZXJ0LS1zaWx2ZXIge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuXG4gICAgICAmLmFsZXJ0LS1ncmF5LFxuICAgICAgJi5hbGVydC0tc2lsdmVyIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci0tbGluayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWxlcnQtLW5lYXItYmxhY2ssXG4gICAgICAmLmFsZXJ0LS1ibGFjayxcbiAgICAgICYuYWxlcnQtLWRhcmstYmx1ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogU3BlY2lhbCBoYW5kbGluZyBmb3IgYm90dG9tIGJvcmRlciAqL1xuICAgIC5jb21wb25lbnQuY29tcG9uZW50LS1ib3JkZXItYm90dG9tICYge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC0jeyRhaXItLWxhcmdlfTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBib3R0b206IC0jeyRhaXItLXhMYXJnZX07XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgICAgYm90dG9tOiAtI3skYWlyLS14eExhcmdlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hbGVydF9fbWVzc2FnZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcyBlYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tCbGFjaztcbiAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgbWF4LWhlaWdodDogNTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAuY29sOm5vdCguY29sLTEyKSAmIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICAgIEBpbmNsdWRlIGNlbnRlclZlcnRpY2FsbHk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGVydF9fbWVzc2FnZS0tcmV2ZWFsZWQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubWVzc2FnZS0tbW9iaWxlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZXNzYWdlLS1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHpvb206IDE7XG5cbiAgICAgIC8vIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwgLSAxKSB7XG4gICAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8vIH1cblxuICAgICAgLnJlZ2lvbi0tZ3JheSAmIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci0tbGluaztcbiAgICAgIH1cblxuICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlICYge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAuYWxlcnQtLWJsdWUgJixcbiAgICAgIC5yZWdpb24tLWJsdWUgJiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItLWNvcHk7XG4gICAgICB9XG5cbiAgICAgIC5hbGVydC0tYmxhY2sgJiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItLWN0YTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiIsIi8qPT09PT09XG4gIEJBTk5FUlxuICA9PT09PT0qL1xuXG4uYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogJGFsZWNrO1xuXG4gICYuYmFubmVyLS1mZWF0dXJlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwgLSAxKSB7XG4gICAgICAuY29sICYge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRya0dyYXk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgICAgfVxuXG4gICAgICAuY29sOmxhc3QtY2hpbGQgJiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgLmNvbCAmIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZHJrR3JheTtcbiAgICAgICAgbWF4LWhlaWdodDogNDUwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMyNXB4O1xuICAgICAgfVxuXG4gICAgICAuY29sOmZpcnN0LWNoaWxkICYge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgLmNvbCAmIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5iYW5uZXJfX2ltZyxcbiAgLmJhbm5lcl9fdmlkZW8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogQmFubmVyIEltYWdlICovXG5cbi5iYW5uZXJfX2ltZyB7XG5cbiAgLyogSWYgd2UncmUgbG9hZGluZyBhbiBpbWFnZSBiYW5uZXIsIG1ha2Ugc3VyZSB0aGUgaW1hZ2UgY29udGFpbmVyIGRpc3BsYXlzIGluIHRoZSBwYWdlICovXG5cbiAgLmJhbm5lcltkYXRhLXR5cGU9XCJpbWFnZVwiXSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi9cblxuICAuYmFubmVyLS1mZWF0dXJlZCAmIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgQGluY2x1ZGUgc29saWQtb3ZlcmxheSguNCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbC00IC5iYW5uZXItLWZlYXR1cmVkICYgaW1nLFxuICAuY29sLTYgLmJhbm5lci0tZmVhdHVyZWQgJiBpbWcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UgLSAxKSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLyogR3JhZGllbnQgb3ZlcmxheSAqL1xuXG4gIC5iYW5uZXItLW92ZXJsYWlkICYge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LW92ZXJsYXkoNSUsIDEpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LW92ZXJsYXkoMzAlLCAxKTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGNlbnRlckhvcml6b250YWxseTtcbiAgICB9XG4gIH1cbn1cblxuLyogQmFubmVyIFZpZGVvICovXG5cbi5iYW5uZXJfX3ZpZGVvIHtcblxuICAvKiBJZiB3ZSdyZSBsb2FkaW5nIGEgdmlkZW8gYmFubmVyLCBtYWtlIHN1cmUgdGhlIHZpZGVvIGNvbnRhaW5lciBkaXNwbGF5cyBpbiB0aGUgcGFnZSAqL1xuXG4gIC5iYW5uZXJbZGF0YS10eXBlPVwidmlkZW9cIl0gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBHcmFkaWVudCBvdmVybGF5ICovXG5cbiAgLmJhbm5lci0tb3ZlcmxhaWQgJiB7XG4gICAgLm5vLXRvdWNoZXZlbnRzLnZpZGVvYXV0b3BsYXkgJiB7XG4gICAgICBAaW5jbHVkZSBzb2xpZC1vdmVybGF5KC42KTtcbiAgICB9XG5cbiAgICAudG91Y2hldmVudHMubm8tdmlkZW9hdXRvcGxheSAmIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgc29saWQtb3ZlcmxheSguNik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgW2NsYXNzXj1cImVtYmVkLS1cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5lbWJlZC0teW91dHViZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAuZW1iZWQtLWd2cCB7XG4gICAgZ3ZwLWRhdGEgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLnRvdWNoZXZlbnRzLm5vLXZpZGVvYXV0b3BsYXkgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b3VjaGV2ZW50cy5uby12aWRlb2F1dG9wbGF5ICYge1xuXG4gICAgaWZyYW1lLFxuICAgIGd2cC1iYWNrZ3JvdW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxufVxuXG4vKiBCYW5uZXIgQ29udGVudCAqL1xuXG4uYmFubmVyX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoO1xuICBwYWRkaW5nOiAkYWlyLS14U21hbGw7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDAgJGd1dHRlci0tc21hbGw7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmNvbCAmIHtcbiAgICAgIHBhZGRpbmc6IDAgJGd1dHRlci0tc21hbGw7XG4gICAgfVxuXG4gICAgLnJvdy0tZmx1c2gtaG9yaXpvbnRhbCAuY29sICYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvKiBMZWZ0LWFsaWduZWQgb3IgUmlnaHQtYWxpZ25lZCAqL1xuXG4gICYuYmFubmVyX19jb250ZW50LS1sZWZ0LFxuICAmLmJhbm5lcl9fY29udGVudC0tcmlnaHQge1xuICAgIC5jb250ZW50X193cmFwIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuXG4gICAgICAuYmFubmVyX190ZXh0LFxuICAgICAgLmJhbm5lcl9fY3RhIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYmFubmVyX190ZXh0IHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0gLSAxKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBSaWdodC1hbGlnbmVkICovXG5cbiAgJi5iYW5uZXJfX2NvbnRlbnQtLXJpZ2h0IHtcbiAgICAuY29udGVudF9fd3JhcCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG5cbiAgICAgICAgLmJhbm5lcl9fdGV4dCxcbiAgICAgICAgLmJhbm5lcl9fY3RhIHtcbiAgICAgICAgICBsZWZ0OiA0MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcblxuICAgICAgICAuYmFubmVyX190ZXh0LFxuICAgICAgICAuYmFubmVyX19jdGEge1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi9cblxuICAuYmFubmVyLS1mZWF0dXJlZCAmIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAuY29udGVudF9fd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC8qIEZsZXhib3ggZmFsbGJhY2sgKi9cblxuICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgJiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAvKiBIb21lcGFnZSBGZWF0dXJlZCBCYW5uZXJzICovXG5cbiAgICAuYmFubmVyLS1mZWF0dXJlZCAmIHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwgLSAxKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogQmFubmVyIFRleHQgKi9cblxuLmJhbm5lcl9fdGV4dCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMzAwbXMpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC8qIERhcmsgdGV4dCAqL1xuXG4gICYuYmFubmVyX190ZXh0LS1kYXJrIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLyogSG9tZXBhZ2UgRmVhdHVyZWQgQmFubmVycyAqL1xuXG4gIC5iYW5uZXItLWZlYXR1cmVkICYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjUlO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHggMCAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG4gIH1cblxuICAuY29sLTQgLmJhbm5lci0tZmVhdHVyZWQgJixcbiAgLmNvbC02IC5iYW5uZXItLWZlYXR1cmVkICYge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cbiAgfVxuXG4gIC8qIEJ1bXAgYmFubmVyIHRleHQgZG93biBpZiB0aGUgYmFubmVyIGNvbXBvbmVudCBpcyB0aGUgZmlyc3QgY29tcG9uZW50IGluIHRoZSBwYWdlIGFmdGVyIGEgdHJhbnNwYXJlbnQgaGVhZGVyICovXG5cbiAgLmhlYWRlci0tdHJhbnNwYXJlbnQrLmNvbnRlbnQgJi5iYW5uZXJfX3RleHQtLWFkanVzdGVkLFxuICAuaGVhZGVyLS10cmFuc3BhcmVudCtoZWFkZXIrLmNvbnRlbnQgJi5iYW5uZXJfX3RleHQtLWFkanVzdGVkIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkZGVza3RvcE5hdkhndDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLS10cmFuc3BhcmVudCsuY29udGVudCAmLmJhbm5lcl9fdGV4dC0tYWRqdXN0ZWQtbGcsXG4gIC5oZWFkZXItLXRyYW5zcGFyZW50K2hlYWRlcisuY29udGVudCAmLmJhbm5lcl9fdGV4dC0tYWRqdXN0ZWQtbGcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIC8vIG1hcmdpbi10b3A6IGNhbGMoI3skZGVza3RvcE5hdkhndH0gKyA0MHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoI3skZGVza3RvcE5hdkhndH0gLSA0MHB4KTtcbiAgICB9XG4gIH1cblxuICAvKiAqL1xuXG4gIC5iYW5uZXJfX2xldmVsMixcbiAgLmJhbm5lcl9fbGV2ZWwzLFxuICAuYmFubmVyX19sZXZlbDQge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMzAwbXMpO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLyogVGlnaHRlbiB1cCB0aGUgbW9iaWxlIHNwYWNpbmcgYmV0d2VlbiBoZWFkbGluZXMgZm9yIGJhbm5lcnMgdXNlZCBpbiBtYXJxdWVlcyAqL1xuXG4gICAgLm1hcnF1ZWUgJiB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi9cblxuICAgIC5iYW5uZXItLWZlYXR1cmVkICYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSAtIDEpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLyogQmFubmVyIEhlYWRsaW5lIC0gVGV4dCBGb3JtYXQgKi9cblxuICAuYmFubmVyX19oZWFkbGluZS0tdGV4dCB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbkFsbCgzMDBtcyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIH1cblxuICAgICY6bm90KDpvbmx5LWNoaWxkKSxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEZlYXR1cmVkIEJhbm5lcnMgKHRoaWNrZXIgdGV4dCkgKi9cblxuICAgIC5iYW5uZXJfX2NvbnRlbnQtLWZlYXR1cmVkICYge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAvKiBIb21lcGFnZSBGZWF0dXJlZCBCYW5uZXJzICovXG5cbiAgICAuYmFubmVyLS1mZWF0dXJlZCAmIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNyk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM4KTtcblxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIEJhbm5lciBIZWFkbGluZSAtIEltYWdlIEZvcm1hdCAqL1xuXG4gIC5iYW5uZXJfX2hlYWRsaW5lLS1pbWcge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMzAwbXMpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDU1JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICBtYXgtd2lkdGg6IDY1JTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA0NSU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14eExhcmdlKSB7XG4gICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICB9XG5cbiAgICAvKiBIb21lcGFnZSBGZWF0dXJlZCBCYW5uZXJzICovXG5cbiAgICAuYmFubmVyLS1mZWF0dXJlZCAmIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIEJhbm5lciBUZXh0IC0gTGV2ZWwgMiAqL1xuXG4gIC5iYW5uZXJfX2xldmVsMiB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDMwKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMzQpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0MCk7XG4gICAgfVxuXG4gICAgLyogTWFycXVlZSBCYW5uZXJzICovXG5cbiAgICAubWFycXVlZSAmIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNik7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRmVhdHVyZWQgQmFubmVycyAodGhpY2tlciB0ZXh0KSAqL1xuXG4gICAgLmJhbm5lcl9fY29udGVudC0tZmVhdHVyZWQgJiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi9cblxuICAgIC5iYW5uZXItLWZlYXR1cmVkICYge1xuICAgICAgZm9udC1mYW1pbHk6ICRhbGVja01lZGl1bTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTcpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFJlZHVjZSBtb2JpbGUgc3ViaGVhZGxpbmUgc2l6ZSBmb3IgYmFubmVycyB1c2VkIGluIG1hcnF1ZWVzICovXG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgLm1hcnF1ZWUgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQmFubmVyIFRleHQgLSBMZXZlbCAzICovXG5cbiAgLmJhbm5lcl9fbGV2ZWwzLFxuICAuYmFubmVyX19sZXZlbDQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi9cblxuICAgIC5iYW5uZXItLWZlYXR1cmVkICYge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14eExhcmdlKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgfVxuXG4gICAgICAuY29sLTQgJixcbiAgICAgIC5jb2wtNiAmIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSAtIDEpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iYW5uZXJfX2xldmVsMyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMSk7XG4gICAgfVxuICB9XG5cbiAgLyogQmFubmVyIFRleHQgLSBMZXZlbCA0ICovXG5cbiAgLmJhbm5lcl9fbGV2ZWw0IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICAgIGZvbnQtZmFtaWx5OiAkYXJpYWw7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKiBCYW5uZXIgQ2FsbC10by1BY3Rpb24gKi9cblxuLmJhbm5lcl9fY3RhIHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5jdGEtLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC8qIEhvbWVwYWdlIEZlYXR1cmVkIEJhbm5lcnMgKi9cblxuICAuYmFubmVyLS1mZWF0dXJlZCAmIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlIC0gMSkge1xuICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4TGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgfVxuXG4gICAgLmN0YS0tYnV0dG9uIHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0teHhMYXJnZSAtIDEpIHtcblxuICAgICAgICAuY29sICYge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMzVweDtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAvKiBDb2xvciBDb250cmFzdCBGaXggZm9yIEJsdWUgQmFubmVycyAqL1xuXG4gIC8vIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gLmJhbm5lcl9fdGV4dDpub3QoLmJhbm5lcl9fdGV4dC0tZGFyaykgKyAmIC5jdGEtLWJ1dHRvbiB7XG4gIC8vICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAvLyAgICAgQGluY2x1ZGUgY3RhKFwid2hpdGVcIik7XG4gIC8vICAgfVxuICAvLyB9XG59IiwiLyo9PT09PT09PT09PT1cbiAgQlJBTkQgQVNTRVRTXG4gID09PT09PT09PT09PSovXG5cbi5icmFuZC1hc3NldHMge1xuICBtYXgtd2lkdGg6ICRtYXhSb3dXaWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gIC5hc3NldHNfX2ZpbHRlci1uYXYge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB6LWluZGV4OiA5O1xuXG4gICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSAmIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICBwYWRkaW5nOiAwIDU1cHg7XG4gICAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5hc3NldC10eXBlLFxuICAgIC5hc3NldC1zZWFyY2gge1xuICAgICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSAmIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFzc2V0LXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAxMzVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHlwZS10b2dnbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAwIDAgMzBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdHRCbHVlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGhlaWdodDogMzdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyVmVydGljYWxseTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB0b3A6IDU1JTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogN3B4IDRweCAwIDRweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnR5cGUtc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVnR3JheTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIG1pbi13aWR0aDogMTM1cHg7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMThweDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXR0Qmx1ZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hc3NldHNfX2ZpbHRlci1uYXYtLW9wZW4ge1xuICAgICAgLnR5cGUtc2VsZWN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC50eXBlLXRvZ2dsZTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuICAgICAgICB0b3A6IDQ1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXNzZXQtc2VhcmNoIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWZpZWxkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1maWVsZCBmaWVsZHNldCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXR0Qmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMzBweCAzMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1maWVsZCAuc2VhcmNoX19pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci0tc2VhcmNoLWJvcmRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItLXNlYXJjaC1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXhTbWFsbCAtIDEpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgfVxuXG4gICAgICAmOjotbXMtY2xlYXIsXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX2NsZWFyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAwIC0yOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyVmVydGljYWxseTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0cHgpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAzMiUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgOTklKTsgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDMyJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDk5JSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDMyJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDk5JSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5pY29uLS1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmQyZDI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgLmljb24tLWNsZWFyOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI3KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgICAgbGVmdDogNTUlO1xuICAgICAgICBmb250LWZhbWlseTogJGFsZWNrO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5zZWFyY2gtZmllbGQgLnNlYXJjaF9faW5wdXQ6Zm9jdXMgKyAuc2VhcmNoX19jbGVhciB7XG4gICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyB9XG5cbiAgICAuc2VhcmNoLWZpZWxkIC5zZWFyY2hfX3N1Ym1pdCBzcGFuOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmFzc2V0c19fZmVlZCB7XG5cbiAgICAucm93ICsgLnJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5jb2wge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4oNik7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbig0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50IHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX21lZGlhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiAyOTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbV9fbWVkaWEgPiBkaXYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX21lZGlhIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaXRlbV9fbWVkaWEgLml0ZW1fX3ZpZGVvID4gKiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX21lZGlhIC5pdGVtX192aWRlbyAuaXRlbV9fcHJldmlldyBpbWcge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX21lZGlhIC5pdGVtX192aWRlbyAuaXRlbV9fdGh1bWJuYWlsLFxuICAgIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nLS1iLXJvbGwgLml0ZW1fX3RodW1ibmFpbCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDNweCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX21lZGlhIC5pdGVtX19pbWctLWItcm9sbCAuaXRlbV9fdGh1bWJuYWlsIHtcbiAgICAgIEBpbmNsdWRlIGljb24tb3ZlcmxheShcImRvd25sb2FkXCIpO1xuICAgIH1cblxuICAgIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIC5pdGVtX190aHVtYm5haWwge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5pdGVtX19tZWRpYSAuaXRlbV9faW1nIC5pdGVtX190aHVtYm5haWwgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICAuaXRlbV9fY3RhIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRhbGVja01lZGl1bTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgICAgY29sb3I6ICRjb2xvci0tbGluaztcbiAgICAgIH1cblxuICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItLWNvcHk7XG4gICAgICB9XG5cbiAgICAgIC8qIEZpeGVzIGZvciBHVlAgd2F0Y2ggbGlua3MgKi9cblxuICAgICAgYXR0LWd2cCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgIG92ZXJmbG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXNzZXRzX19jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qPT09PT09PT09PT09PVxuICBGRUFUVVJFRCBJVEVNXG4gID09PT09PT09PT09PT0qL1xuXG4gIEBtaXhpbiBmdEl0ZW1UZXh0Q29sb3IoJGNvbG9yKSB7XG4gICAgLml0ZW1fX3RpdGxlLFxuICAgIC5pdGVtX19pbmZvLFxuICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5mZWF0dXJlZC1pdGVtIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgIC5jb2wgJiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgJiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgLy8gLmNvbC0yICYgeyAvKiBUaW55IG9yaWVudGF0aW9uIGZvciBzbWFsbGVzdCBjb2x1bW5zICovXG4gICAgICAvLyAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgICAvLyAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgLy8gfVxuXG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAucm93LS1lcXVhbC1oZWlnaHRzICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtMTIgJi5mZWF0dXJlZC1pdGVtLS1sZWZ0LFxuICAgIC5jb2wtMTIgJi5mZWF0dXJlZC1pdGVtLS1yaWdodCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtMTIgJi5mZWF0dXJlZC1pdGVtLS1yaWdodCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSB7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG5cbiAgICAgICAgLmNvbC00ICYge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLS1sYXJnZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlci0tbGFyZ2U7XG5cbiAgICAgICAgLmNvbC0yICYsXG4gICAgICAgIC5jb2wtMyAmIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBGZWF0dXJlZCBJdGVtIE1lZGlhICovXG5cbiAgLml0ZW1fX21lZGlhIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtaXRlbS0tYm9yZGVyICYge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRya0dyYXk7XG4gICAgfVxuXG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAmLFxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0ICYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuXG4gICAgICAgIC8vICYgPiBkaXYge1xuICAgICAgICAvLyAgIEBpbmNsdWRlIGNlbnRlclZlcnRpY2FsbHk7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5IC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBHZW5lcmFsIFByZXZpZXcgSW1hZ2VzICovXG5cbiAgICAuaXRlbV9fcHJldmlldyB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogSW1hZ2UgKi9cblxuICAgIC5pdGVtX19pbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLmNvbC0yICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6bm90KC5pdGVtX19wcmV2aWV3KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xuXG4gICAgICAgICAgLmZlYXR1cmVkLWl0ZW0gJjpob3ZlcixcbiAgICAgICAgICAuZmVhdHVyZWQtaXRlbSAmOmZvY3VzIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSB7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdICYge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmdW5jdGlvbmFsQmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhOmFmdGVyIHtcbiAgICAgICAgLy8gICBjb250ZW50OiBtYXAtZ2V0KCRhdHRJY29ucywgYXR0LWxvZ28pO1xuICAgICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gICB0b3A6IDUwJTtcbiAgICAgICAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgLy8gICBmb250LWZhbWlseTogJGF0dC1pY29ucztcbiAgICAgICAgLy8gICBmb250LXNpemU6IDYuNXJlbTtcbiAgICAgICAgLy8gICB0ZXh0LWluZGVudDogNXB4O1xuICAgICAgICAvLyAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAmIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFZpZGVvICovXG5cbiAgICAuaXRlbV9fdmlkZW8ge1xuXG4gICAgICAmW2RhdGEtdHlwZT1cInlvdXR1YmVcIl0ge1xuICAgICAgICAuaXRlbV9fdmlkZW8tLWd2cCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmW2RhdGEtdHlwZT1cImd2cFwiXSB7XG4gICAgICAgIC5pdGVtX192aWRlby0teW91dHViZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaXRlbV9fcHJldmlldyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pdGVtX190aHVtYm5haWwge1xuICAgICAgICBAaW5jbHVkZSBpY29uLW92ZXJsYXkoXCJwbGF5XCIpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNtb290aGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbY2xhc3MqPVwiZW1iZWQtLVwiXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogSXRlbSBUZXh0IENvbnRlbnQgKi9cblxuICAuaXRlbV9fY29udGVudCB7XG4gICAgZmxleDogYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIC5yZWdpb24tLXdoaXRlICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAucmVnaW9uLS13aGl0ZSAucm93LS1uby1ndXR0ZXJzICYsXG4gICAgLnJlZ2lvbi0td2hpdGUgLnJvdy0tZmx1c2gtaG9yaXpvbnRhbCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdICYsXG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gJiB7XG4gICAgICBAaW5jbHVkZSBmdEl0ZW1UZXh0Q29sb3IoJGZ1bmN0aW9uYWxCbGFjayk7XG4gICAgfVxuXG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAmLFxuICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0ICYsXG4gICAgLmNvbC0yICYsXG4gICAgLmNvbC0yICYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgJixcbiAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gJiB7XG4gICAgICAgICAgQGluY2x1ZGUgZnRJdGVtVGV4dENvbG9yKCR3aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0ICYsXG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgJiB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0ICYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIC5jb2wtMiAmIHsgLyogVGlueSBvcmllbnRhdGlvbiBmb3Igc21hbGxlc3QgY29sdW1ucyAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDIwcHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLy8gLmNvbC0xMiAmIHsgLyogSG9yaXpvbnRhbCBvcmllbnRhdGlvbiBmb3IgZnVsbC13aWR0aCBjb2x1bW5zICovXG4gICAgICAvLyAgIHBhZGRpbmc6IDM1cHggMjBweCAwIDQ1cHg7XG4gICAgICAvLyB9XG5cbiAgICB9XG5cbiAgICAuY29udGVudF9fd3JhcCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4TGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgJiB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAmLFxuICAgICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbC0yICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtX190aXRsZSxcbiAgICAuaXRlbV9faW5mbyxcbiAgICAuaXRlbV9fZGVzY3JpcHRpb24ge1xuICAgICAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAmIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuXG4gICAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0ICYsXG4gICAgICAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAmIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlICYge1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtNCAmIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sLTIgLmZlYXR1cmVkLWl0ZW06bm90KC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUpICYgeyAvKiBUaW55IG9yaWVudGF0aW9uIGZvciBzbWFsbGVzdCBjb2x1bW5zICovXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtX19pbmZvIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMyk7XG4gICAgICBmb250LWZhbWlseTogJGFsZWNrO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICB9XG5cbiAgICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgJixcbiAgICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0ICYsXG4gICAgICAuZmVhdHVyZWQtaXRlbS0tYWx0ZXJuYXRlICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMS40NTtcblxuICAgICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAmLFxuICAgICAgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tcmlnaHQgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVkLWl0ZW0tLWFsdGVybmF0ZSAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgdWwsXG4gICAgICBvbCB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDE1cHggMjBweDtcblxuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbjogMTVweCAwIDE1cHggMTVweDtcblxuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwgPiBsaTpiZWZvcmUge1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci0tbGluaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbV9fY3RhIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgIC5mZWF0dXJlZC1pdGVtLS1hbHRlcm5hdGUgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLyogTGlua3Mgb24gYmxhY2sgYmFja2dyb3VuZHMgKi9cblxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gLmNvbC0yICYsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1sZWZ0ICYsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAmIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIC5jdGEtLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tY3RhO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKiBMaW5rcyBvbiBibHVlIGJhY2tncm91bmRzICovXG5cbiAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gJiB7XG4gICAgICAgIC5jdGEtLWxpbmsge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItLWxpbms7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJlZ2lvbi0tYmx1ZSAuY29sLTIgJixcbiAgICAgIC5yZWdpb24tLWJsdWUgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAmLFxuICAgICAgLnJlZ2lvbi0tYmx1ZSAuY29sLTEyIC5mZWF0dXJlZC1pdGVtLS1yaWdodCAmIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIC5jdGEtLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tY29weTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbC0yICYsXG4gICAgICAucmVnaW9uLS1kYXJrLWJsdWUgLmNvbC0xMiAuZmVhdHVyZWQtaXRlbS0tbGVmdCAmLFxuICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0ICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgLmN0YS0tbGluayB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLWxlZnQgJixcbiAgICAgIC5jb2wtMTIgLmZlYXR1cmVkLWl0ZW0tLXJpZ2h0ICYge1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgLmN0YS0tbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRhbGVja01lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4iLCIvKj09PT09PT09PT09PT09PT1cbiAgRkVBVFVSRUQgU1RPUklFU1xuICA9PT09PT09PT09PT09PT09Ki9cblxuLmZlYXR1cmVkLXN0b3JpZXMge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG4gICYuZmVhdHVyZWQtc3Rvcmllcy0tZXhwYW5kZWQge1xuICAgIC5yb3cge1xuICAgICAgJjpudGgtb2YtdHlwZSgzKSxcbiAgICAgICY6bnRoLW9mLXR5cGUoNCkge1xuICAgICAgICAuZmVhdHVyZWQtaXRlbSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yb3cge1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAmICsgLnJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgJiArIC5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgzKSxcbiAgICAmOm50aC1vZi10eXBlKDQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIC5mZWF0dXJlZC1pdGVtIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb21wb25lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdG9yaWVzX19jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8qIEphdmFTY3JpcHQgd2lsbCBkaXNwbGF5IHRoaXMgY3RhIG9ubHkgaWYgYSBtaW5pbnVtIG51bWJlciBvZiBpdGVtcyBhcmUgcHJlc2VudCBpbiB0aGUgc2V0ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICB9XG59XG4iLCIvKj09PT09PT09PT09PT09PVxuICBFWFBBTkRBQkxFIFRFWFRcbiAgPT09PT09PT09PT09PT09Ki9cblxuICAuZXhwYW5kYWJsZS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAuY29sICYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGV4dF9fd3JhcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAudGV4dF9fY3RhIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICAgLmN0YS0tbGluayB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItLWxpbms7XG5cbiAgICAgICAgLnJlZ2lvbi0tYmx1ZSAmIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jb3B5O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlICYge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdICYge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gJiB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci0tY3RhO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYudGV4dC0tZm9vdGVyIHtcbiAgICAgIC50ZXh0X193cmFwIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRyZWdHcmF5O1xuICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcblxuICAgICAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlICYge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxndEdyYXk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAuY3RhLS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvKiBBdXRob3IgSW5zdGFuY2UgRGlzcGxheSBGaXhlcyAqL1xuXG4gIC5hZW0tQXV0aG9yTGF5ZXItRWRpdCB7XG4gICAgLmV4cGFuZGFibGUtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuIiwiLyo9PT09PT09PT09PT09PVxuICBMQVRFU1QgU1RPUklFU1xuICA9PT09PT09PT09PT09PSovXG5cbi5sYXRlc3Qtc3RvcmllcyB7XG4gIG1heC13aWR0aDogJG1heFJvd1dpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG5cbiAgLnN0b3JpZXNfX2ZpbHRlci1uYXYge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwgLSAxKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXR0Qmx1ZTtcblxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCJibHVlXCJdICYsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cImJsYWNrXCJdICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwICRndXR0ZXItLXNtYWxsO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXItdG9nZ2xlLFxuICAgIC5maWx0ZXItdGFncyB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItdG9nZ2xlIGg0LFxuICAgIGxpIGEge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBwYWRkaW5nOiA3cHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyLXRvZ2dsZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICBmb250LWZhbWlseTogJGFsZWNrTWVkaXVtO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIC5yZWdpb25bY2xhc3MqPVwiYmx1ZVwiXSAmLFxuICAgICAgICAgIC5yZWdpb25bY2xhc3MqPVwiYmxhY2tcIl0gJiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGFsZWNrTWVkaXVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItdGFncyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgICAgIC5jb2wtNiAmLFxuICAgICAgICAuY29sLTQgJixcbiAgICAgICAgLmNvbC0zICYsXG4gICAgICAgIC5jb2wtMiAmIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuXG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgICAgICAuY29sLTkgJiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSAtIDEpIHtcbiAgICAgICAgLmNvbC04ICYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMTBweDtcblxuICAgICAgICAgIC5jb2wtNiAmLFxuICAgICAgICAgIC5jb2wtNCAmLFxuICAgICAgICAgIC5jb2wtMyAmLFxuICAgICAgICAgIC5jb2wtMiAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlIC0gMSkge1xuICAgICAgICAgIC5jb2wtOSAmLFxuICAgICAgICAgIC5jb2wtOCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaSBhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJGFsZWNrTWVkaXVtO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwgLSAxKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1jdGEtaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItLWN0YTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItLWN0YTtcblxuICAgICAgICAgICAgLnJlZ2lvbi0tZ3JheSAmIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tbGluaztcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLS1saW5rO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVnaW9uW2NsYXNzKj1cImJsdWVcIl0gJiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0b3JpZXNfX2ZpbHRlci1uYXYtLW9wZW4ge1xuICAgICAgLmZpbHRlci10b2dnbGUgaDQ6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICB9XG5cbiAgICAgIC5maWx0ZXItdGFncyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdG9yaWVzX19mZWVkIHtcbiAgICAucm93ICsgLnJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5jb2wge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4oNik7XG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIC5jb2wtNiAmLFxuICAgICAgICAuY29sLTQgJixcbiAgICAgICAgLmNvbC0zICYsXG4gICAgICAgIC5jb2wtMiAmIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSAtIDEpIHtcbiAgICAgICAgLmNvbC05ICYsXG4gICAgICAgIC5jb2wtOCAmIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb21wb25lbnQge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgIC8vXG4gICAgICAvLyBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgLy8gICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIC5pdGVtX19tZWRpYSB7XG4gICAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgICB9XG5cbiAgICAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZ1tkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSB7XG4gICAgICAvLyBtaW4taGVpZ2h0OiA4NXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbV9fbWVkaWEgLml0ZW1fX2ltZ1tkYXRhLXBsYWNlaG9sZGVyPVwidHJ1ZVwiXSBhOmFmdGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJyZW07XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX3RpdGxlIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX2luZm8ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgfVxuXG4gICAgLml0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zdG9yaWVzX19jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMjBweCAwIDYwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gODBweDtcbiAgICB9XG4gIH1cblxuICAmLmxhdGVzdC1zdG9yaWVzLS1saXN0IHtcbiAgICAvLyAuc3Rvcmllc19fZmlsdGVyLW5hdiB7XG4gICAgLy8gICBkaXNwbGF5OiBub25lO1xuICAgIC8vIH1cblxuICAgIC5zdG9yaWVzX19oZWFkaW5nIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnN0b3JpZXNfX2ZlZWQge1xuICAgICAgLmNvbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cblxuICAgICAgLmNvbXBvbmVudCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaXRlbV9fbWVkaWEsXG4gICAgICAuaXRlbV9fZGVzY3JpcHRpb24sXG4gICAgICAuaXRlbV9fY3RhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLml0ZW1fX2NvbnRlbnQsXG4gICAgICAuY29sLTIgJiAuaXRlbV9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtX19jb250ZW50IC5jb250ZW50X193cmFwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtX19pbmZvIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLml0ZW1fX3RpdGxlIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG5cbiAgICAgICAgLnJlZ2lvbi0td2hpdGUgJixcbiAgICAgICAgLnJlZ2lvbi0tZ3JheSAmIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLS1saW5rO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZ2lvbltjbGFzcyo9XCJibHVlXCJdICYge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaXRlbV9faW5mbyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JpZXNfX2N0YSB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAgJGFpci0teFNtYWxsO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgcGFkZGluZzogMCAkZ3V0dGVyLS1zbWFsbDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qPT09PT09PT1cbiAgTElHSFRCT1hcbiAgPT09PT09PT0qL1xuXG4gIC8qIEZhbmN5Ym94IG1vZGFscyAqL1xuXG4gIC5mYW5jeWJveC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk7XG4gIH1cblxuICAuZmFuY3lib3gtYmcge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgIC5mYW5jeWJveC1pcy1vcGVuICYge1xuICAgICAgb3BhY2l0eTogJGxpZ2h0Ym94T3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAuZmFuY3lib3gtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSxcbiAgLmZhbmN5Ym94LXNsaWRlLS12aWRlbyB7XG4gICAgcGFkZGluZzogMzVweCAyMHB4IDIwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDY1cHggMzBweCA1NXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiA5MHB4IDAgNDVweDtcbiAgICB9XG4gIH1cblxuICAuZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mYW5jeWJveC10b29sYmFyLFxuICAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIEdWUCBtb2RhbHMgKi9cblxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fY2xvc2VCdXR0b25cIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl0sXG4gIC5mYW5jeWJveC1jdXN0b20tY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDE5cHg7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB0b3A6IC0zNXB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDc3cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC1mYW1pbHk6ICRhbGVjaztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCwgLThweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiY2xvc2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBbY2xhc3NePVwiZ3ZwX3BsYXllcl9fY2xvc2VCdXR0b25cIl1bY2xhc3MqPVwiZ3ZwX3BsYXllcl9fbW9kYWxcIl06YmVmb3JlIHtcbiAgICB0b3A6IC04cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIFtjbGFzc149XCJndnBfcGxheWVyX19jbG9zZUJ1dHRvblwiXVtjbGFzcyo9XCJndnBfcGxheWVyX19tb2RhbFwiXTphZnRlciB7XG4gICAgdG9wOiAtNXB4O1xuICB9XG5cbiAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX3ZpZXdfXCJdW2NsYXNzKj1cImd2cF9wbGF5ZXJfX21vZGFsXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsICRsaWdodGJveE9wYWNpdHkpICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG5cbiAgW2NsYXNzXj1cImd2cF9wbGF5ZXJfX2Nsb3NlQnV0dG9uXCJdW2NsYXNzKj1cImd2cF9wbGF5ZXJfX21vZGFsXCJdIHtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiIsIi8qPT09PT09PVxuICBNQVJRVUVFXG4gID09PT09PT0qL1xuXG4gIC5tYXJxdWVlIHtcbiAgICAvLyBkaXNwbGF5OiBub25lO1xuXG4gICAgLm1hcnF1ZWVfX3dyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAubWFycXVlZV9fc2xpZGVzIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoNTAwbXMpO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgJi5mbGlja2l0eS1lbmFibGVkIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmJhbm5lcl9fY29udGVudCB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0gLSAxKSB7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQW5jaG9yIGJhbm5lciBjb250ZW50IHRvIGJvdHRvbSAqL1xuXG4gICAgLmJhbm5lcl9fY29udGVudCAuY29udGVudF9fd3JhcCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMCU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhbm5lcl9fdGV4dCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UgLSAxKSB7XG4gICAgICAgIG1heC13aWR0aDogNjUlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFkanVzdCBiYW5uZXIgaGVhZGxpbmUgc2l6ZSAqL1xuXG4gICAgLmJhbm5lcl9fdGV4dCAuYmFubmVyX19oZWFkbGluZS0tdGV4dCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0MCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg1MCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg2MCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teHhMYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIE1ha2Ugc3VyZSBhbnkgdmlkZW8gYmFubmVycyBhcmUgdGFsbCBlbm91Z2ggKi9cblxuICAgIC5iYW5uZXJfX3ZpZGVvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIxNXB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQyNXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IDU2NXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4TGFyZ2UgKyAxKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYzMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFRpZ2h0ZW4gbW9iaWxlIHNwYWNpbmcgYWJvdmUgY3RhIGZvciBiYW5uZXJzIHVzZWQgaW4gbWFycXVlZXMgKi9cblxuICAgIC5iYW5uZXJfX2N0YSB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iYW5uZXJfX2N0YSAuY3RhLS1idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlIC0gMSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iYW5uZXItLWZlYXR1cmVkIC5iYW5uZXJfX2N0YSB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBNYWtlIHN1cmUgYW55IHZpZGVvIGJhbm5lciBjb250ZW50IG92ZXJsYXlzIGl0cyB2aWRlbyAqL1xuXG4gICAgW2NsYXNzKj1cImd2cF9ndnAtYmFja2dyb3VuZF9fXCJdIHtcbiAgICAgIHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cblxuICAvKiBNYXJxdWVlIENvbnRyb2xzICovXG5cbiAgLm1hcnF1ZWVfX2NvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBjZW50ZXJIb3Jpem9udGFsbHk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwICRhaXItLXhTbWFsbDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoI3skbWF4Q29udGVudFdpZHRofSArIDIwcHgpO1xuICAgICAgbWFyZ2luOiA1cHggYXV0bztcblxuICAgICAgLyogQmVnaW4gZmxleGJveCBhbmQgZmxleGJveCBmYWxsYmFjayAqL1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgJiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIEVuZCBmbGV4Ym94IHN0dWZmICovXG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDIwcHggNnB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMSU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAzOTJweDtcbiAgICAgIH1cblxuICAgICAgLyogQWRkIGZsZXhib3ggYW5kIGZsZXhib3ggZmFsbGJhY2sgKi9cblxuICAgICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSAmIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jb250cm9sLS1hY3RpdmUge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tY3RhO1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCAtIDEpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5yZWdpb24tLWJsdWUgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuY29udHJvbC0tYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLS1jdGE7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMTUwbXMpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWdHcmF5O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkbGd0R3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgICAgIGNvbG9yOiAkbGd0R3JheTtcblxuICAgICAgICAucmVnaW9uLS1uZWFyLWJsYWNrICYsXG4gICAgICAgIC5yZWdpb24tLWJsYWNrICYge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE3KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIENhcm91c2VsIFZlbmRvciBTdHlsZSBPdmVycmlkZXMgKi9cblxuICAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCA3MDBtcyBlYXNlLWluLW91dDtcbiAgfVxuIiwiLyo9PT09PVxuICBNRURJQVxuICA9PT09PSovXG5cbiAgLm1lZGlhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8qIE1lZGlhIEl0ZW1zICovXG5cbiAgLm1lZGlhX19pbWcsXG4gIC5tZWRpYV9fdmlkZW8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLm1lZGlhLS1sZXR0ZXJib3hlZCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIE1lZGlhIEl0ZW0gLSBJbWFnZSAqL1xuXG4gIC5tZWRpYV9faW1nIHtcbiAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAubWVkaWEtLWxldHRlcmJveGVkICYge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5tZWRpYVtkYXRhLXR5cGU9XCJpbWFnZVwiXSAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgLm1lZGlhLS1jZW50ZXJlZCAmLFxuICAgICAgLm1lZGlhLS1sZXR0ZXJib3hlZCAmIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogTWVkaWEgSXRlbSAtIFZpZGVvICovXG5cbiAgLm1lZGlhX192aWRlbyB7XG5cbiAgICAubWVkaWFbZGF0YS10eXBlPVwidmlkZW9cIl0gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBbY2xhc3MqPVwiZW1iZWQtLVwiXSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLm1lZGlhLS1jZW50ZXJlZCAmLFxuICAgICAgLm1lZGlhLS1jb25zdHJhaW5lZCAmLFxuICAgICAgLm1lZGlhLS1sZXR0ZXJib3hlZCAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWZyYW1lLFxuICAgIGF0dC1ndnAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8qIE1lZGlhIEl0ZW0gQ2FwdGlvbiAqL1xuXG4gIC5tZWRpYV9fY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwICRndXR0ZXItLXNtYWxsO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UgLSAxKSB7XG4gICAgICAucm93ICYge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm1lZGlhLS1jZW50ZXJlZCAmLFxuICAgIC5tZWRpYS0tbGV0dGVyYm94ZWQgJiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zaWRlYmFyICYge1xuICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gJixcbiAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAmIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItLWxpbms7XG4gICAgfVxuICB9XG4iLCIvKj09PT09PT09PT09PT09XG4gIE1FRElBIENBUk9VU0VMXG4gID09PT09PT09PT09PT09Ki9cblxuICAubWVkaWEtY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcblxuICAgIC5jYXJvdXNlbF9fd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6ICRtYXhSb3dXaWR0aDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xuXG4gICAgICAgIC5jb2wgJiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2Fyb3VzZWxfX3NsaWRlcyB7XG5cbiAgICAgIC8qIEFwcGx5IG5lZ2F0aXZlIG1hcmdpbiB0byBuZWdhdGUgaW5uZXIgcGFkZGluZyBvZiBjb2x1bW5zICovXG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2xpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29sdW1uKDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb2x1bW4oNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWl0ZW0ge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1fX21lZGlhLFxuICAgIC5pdGVtX19pbWcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLml0ZW1fX3ByZXZpZXcge1xuICAgICAgY29sb3I6ICRjb2xvci0tY3RhO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaXRlbV9fdGh1bWJuYWlsIHtcbiAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgJHJlZ0dyYXk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgaGVpZ2h0OjI0MHB4O1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0b3A6NTAlO1xuICAgICAgICAgICAgbGVmdDo1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgICBoZWlnaHQ6MjY3cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgICBoZWlnaHQ6Mjk1cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG5cblxuICAgICAgICAvLyBtYXgtaGVpZ2h0OiAyNjBweDtcblxuICAgICAgICAvLyBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIC8vICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIC5yZWdpb24tLWJsdWUgJiB7XG4gICAgICAgIC8vICAgYm9yZGVyLWNvbG9yOiAkbWVkR3JheTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvL1xuICAgICAgICAvLyAucmVnaW9uLS1kYXJrLWJsdWUgJixcbiAgICAgICAgLy8gLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gJiB7XG4gICAgICAgIC8vICAgYm9yZGVyLWNvbG9yOiAkZHJrR3JheTtcbiAgICAgICAgLy8gfVxuICAgICAgfVxuXG4gICAgICAuaXRlbV9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDtcblxuICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgJiB7XG4gICAgICAgICAgLml0ZW1fX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgICAgIC5pdGVtX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jb3B5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlZ2lvbi0tZ3JheSAmIHtcbiAgICAgICAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tbGluayAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdICYge1xuICAgICAgICAgIC5pdGVtX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFByZXYvTmV4dCBCdXR0b25zICovXG5cbiAgICAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoNjApO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkFsbCgzMDBtcyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lZEdyYXk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkbWVkR3JheTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbi8vS0ItTmV3XG4gICAgICAgIHRvcDogMTIxcHg7XG5cbiAgICAgICAgLmNvbDpub3QoLmNvbC0xMikgJiB7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teHhMYXJnZSkge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcblxuICAgICAgICAuY29sOm5vdCguY29sLTEyKSAmIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJlZ2lvbi0tYmx1ZSAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJlZ2lvbi0tZGFyay1ibHVlICYge1xuICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci0tbGluaztcbiAgICAgICAgY29sb3I6ICRjb2xvci0tbGluaztcblxuICAgICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAmIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcm91c2VsX19idXR0b24tLXByZXYge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA1OHB4KTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgbGVmdDogLTc1cHg7XG5cbiAgICAgICAgLmNvbDpub3QoLmNvbC0xMikgJiB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA1OHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4TGFyZ2UpIHtcbiAgICAgICAgbGVmdDogLTg1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcm91c2VsX19idXR0b24tLW5leHQge1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gNThweCk7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIHJpZ2h0OiAtNzVweDtcblxuICAgICAgICAuY29sOm5vdCguY29sLTEyKSAmIHtcbiAgICAgICAgICByaWdodDogY2FsYyg1MCUgLSA1OHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4TGFyZ2UpIHtcbiAgICAgICAgcmlnaHQ6IC04NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdG9yeSAuY29sOm5vdCguY29sLTEyKSAubWVkaWEtY2Fyb3VzZWwgLmNhcm91c2VsX193cmFwIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG4gIH1cbiAgLnN0b3J5IC5jb2w6bm90KC5jb2wtMTIpIC5tZWRpYS1jYXJvdXNlbCAuY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgIHRvcDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYmxvZy1wb3N0IC5ibG9nX193cmFwIC5tZWRpYS1jYXJvdXNlbCxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLm1lZGlhLWNhcm91c2VsIHtcbiAgICAmID4gLnJvdyB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gLnJvdyAucm93X193cmFwIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuY2Fyb3VzZWxfX3dyYXAge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAubWVkaWEtY2Fyb3VzZWwsXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5yZWdpb24gLm1lZGlhLWNhcm91c2VsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiA+IC5yb3cge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UgLSAxKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcm91c2VsX193cmFwIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTVweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiIsIi8qPT09PT09PT09PT09PVxuICBNRURJQSBMSUJSQVJZXG4gID09PT09PT09PT09PT0qL1xuXG4gIC5tZWRpYS1saWJyYXJ5IHtcblxuICAgIC5yb3cge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuY29sLTIge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4oMi40KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLml0ZW1fX21lZGlhIHtcbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDIyMHB4O1xuXG4gICAgICAuaXRlbV9faW1nIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtX19tZWRpYSxcbiAgICAuaXRlbV9faW1nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5pdGVtX19wcmV2aWV3IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItLWN0YTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gLml0ZW1fX3RodW1ibmFpbCB7XG4gICAgICAvLyAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWdHcmF5O1xuICAgICAgLy9cbiAgICAgIC8vICAgLnJlZ2lvbi0tYmx1ZSAmIHtcbiAgICAgIC8vICAgICBib3JkZXItY29sb3I6ICRtZWRHcmF5O1xuICAgICAgLy8gICB9XG4gICAgICAvL1xuICAgICAgLy8gICAucmVnaW9uLS1kYXJrLWJsdWUgJixcbiAgICAgIC8vICAgLnJlZ2lvbltjbGFzcyo9XCItYmxhY2tcIl0gJiB7XG4gICAgICAvLyAgICAgYm9yZGVyLWNvbG9yOiAkZHJrR3JheTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuXG4gICAgICAuaXRlbV9fdGh1bWJuYWlsOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAuaXRlbV9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgJiB7XG4gICAgICAgICAgLml0ZW1fX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgICAgIC5pdGVtX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jb3B5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlZ2lvbi0tZ3JheSAmLFxuICAgICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAmIHtcbiAgICAgICAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlicmFyeV9fY3RhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuXG4gICAgICAvLyBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgLy8gICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIC5zdG9yeSAuc3RvcnlfX3dyYXAgLm1lZGlhLWxpYnJhcnkgLnJvd19fd3JhcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0gLSAxKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLm1lZGlhLWxpYnJhcnksXG4gIC5tZWRpYS1raXQtcGFnZSAubWVkaWEta2l0X193cmFwIC5tZWRpYS1saWJyYXJ5IHtcbiAgICAmID4gLnJvdyB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gLnJvdyAucm93X193cmFwIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9nLXBvc3QgLmJsb2dfX3dyYXAgLnJlZ2lvbiAubWVkaWEtbGlicmFyeSxcbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX3dyYXAgLnJlZ2lvbiAubWVkaWEtbGlicmFyeSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogJG1heENvbnRlbnRXaWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYgPiAucm93IHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlIC0gMSkge1xuICAgICAgICBwYWRkaW5nOiAwIDU1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4iLCIvKj09PT09PT09PT09PT1cbiAgTUlDUk9TSVRFIE5BVlxuICA9PT09PT09PT09PT09Ki9cblxuICAubWljcm9zaXRlLW5hdixcbiAgLm1pY3Jvc2l0ZS1uYXZfX3dyYXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5taWNyb3NpdGUtbmF2X193cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZHJrR3JheTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZHJrR3JheTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLS1zZWNvbmRhcnkgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0gLSAxKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogTUlDUk8gR0xPQkFMIE5BViAqL1xuICAvKiA9PT09PT09PT09PT09PT09ICovXG5cbiAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkcmtHcmF5O1xuICAgIH1cblxuICAgIC5oZWFkZXItLXNlY29uZGFyeSAubWljcm9zaXRlLW5hdi0tcGx1c0dsb2JhbCAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5taWNyb3NpdGUtbmF2X19nbG9iYWwtbmF2X191dGlscyB7XG4gICAgaGVpZ2h0OiAkbWljcm9zaXRlR2xvYmFsTmF2SGd0O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZHJrR3JheTtcbiAgICB9XG5cbiAgICAud3JhcCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1heC13aWR0aDogJG1heENvbnRlbnRXaWR0aDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGd1dHRlci0tc21hbGw7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdl9fbG9nbyAubG9nb19faWNvbiB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtaW4td2lkdGg6IDc1cHg7XG4gICAgfVxuXG4gICAgLm5hdl9fdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIC5iYXIge1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIH1cblxuICAgICAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXYtLW9wZW4gJiAuYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXZfX3dyYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuaGVhZGVyLS1zZWNvbmRhcnkgLm1pY3Jvc2l0ZS1uYXYtLXBsdXNHbG9iYWwgLm1pY3Jvc2l0ZS1uYXZfX2dsb2JhbC1uYXYtLW9wZW4gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vIHRvcDogJG1vYmlsZU5hdkhndDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgfVxuICB9XG5cbiAgLm1pY3JvLWdsb2JhbC1uYXZfX21lbnUge1xuXG4gICAgJjpub3QoLm5hdl9fbWVudS0tbmVzdGVkKSB7XG4gICAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTVweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLm5hdl9fbWVudS0tbmVzdGVkKSA+IGxpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuXG4gICAgICAubm8tZmxleGJveC5uby1mbGV4Ym94dHdlZW5lci5uby1mbGV4Ym94bGVnYWN5ICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhTbWFsbCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IC5uYXZfX21lbnUtaXRlbSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsIC0gMSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZHJrR3JheTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICBmb250LWZhbWlseTogJGFyaWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAkbWVkR3JheTtcblxuICAgICAgLm5hdl9fbWVudS1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgbm8tZm9udC1zbW9vdGhpbmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIGNvbG9yOiAkbWVkR3JheTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2X19tZW51LS1uZXN0ZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5uYXZfX21lbnUtLW5lc3RlZCBsaSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAubWljcm8tZ2xvYmFsLW5hdl9fbWVudS0tdGVydGlhcnkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLyogTUlDUk9TSVRFLVNQRUNJRklDIE5BViAqL1xuICAvKiA9PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLm1pY3Jvc2l0ZS1uYXZfX3NpdGUtbmF2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgIC5oZWFkZXItLXNlY29uZGFyeSAmIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlci0tc2Vjb25kYXJ5IC5taWNyb3NpdGUtbmF2LS1wbHVzR2xvYmFsICYge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JG1pY3Jvc2l0ZUdsb2JhbE5hdkhndH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5taWNyb3NpdGUtbmF2X191dGlscyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgaGVpZ2h0OiA2OHB4O1xuICAgIC8vIGhlaWdodDogJG1vYmlsZU5hdkhndDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwICRndXR0ZXItLXNtYWxsO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oZWFkZXItLXNlY29uZGFyeSAmIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIC8vIEBpbmNsdWRlIGNlbnRlclZlcnRpY2FsbHk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5taWNyb3NpdGUtbmF2X19sb2dvLFxuICAgIC5taWNyb3NpdGUtbmF2X190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBjZW50ZXJWZXJ0aWNhbGx5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAubWljcm9zaXRlLW5hdl9fbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWljcm9zaXRlLW5hdl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICBmb250LWZhbWlseTogJGFsZWNrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNik7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1pY3Jvc2l0ZS1uYXZfX3RvZ2dsZSB7XG4gICAgICBAaW5jbHVkZSBjZW50ZXJWZXJ0aWNhbGx5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDI2cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG5cbiAgICAgICAgLm1pY3Jvc2l0ZS1uYXYtLW9wZW4gJiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTMxNWRlZyk7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1pY3Jvc2l0ZS1uYXZfX21lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAubWljcm9zaXRlLW5hdi0tb3BlbiAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaGVhZGVyLS1zZWNvbmRhcnkgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGNlbnRlclZlcnRpY2FsbHk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXgtd2lkdGg6ICRtYXhDb250ZW50V2lkdGg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuaGVhZGVyLS1zZWNvbmRhcnkgJiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkcmtHcmF5O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGd1dHRlci0tc21hbGw7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAyOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuaGVhZGVyLS1zZWNvbmRhcnkgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICBAaW5jbHVkZSBmb250LXNtb290aGluZztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMjhweCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItLWN0YTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgaGlnaGxpZ2h0LWJhcigkaGlnaGxpZ2h0QmFyKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcjpiZWZvcmUsXG4gICAgICAgICY6Zm9jdXM6YmVmb3JlLFxuICAgICAgICAmLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhlYWRlci0tc2Vjb25kYXJ5ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2VudGVyVmVydGljYWxseTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teHhMYXJnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhlYWRlci0tZml4ZWQgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiIsIi8qPT09PT09PT09PT09XG4gIFJFTEFURUQgTkVXU1xuICA9PT09PT09PT09PT0qL1xuXG4gIC5yZWxhdGVkLW5ld3Mge1xuXG4gICAgLm5ld3NfX2ZlZWQge1xuICAgICAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRhbGVja0JsYWNrO1xuICAgICAgICBjb2xvcjogJGNvbG9yLS1saW5rO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcblxuICAgICAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItLWNvcHk7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLS1kYXJrLWJsdWUgJiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWdpb24ucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAmIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgfVxuICAgIH1cblxuICB9XG4iLCIvKj09PT09PT09PT09PVxuICBTRUFSQ0ggRklFTERcbiAgPT09PT09PT09PT09Ki9cblxuICAuc2VhcmNoLWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC5jb2wgJiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgZmllbGRzZXQge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLS1zZWFyY2gtYm9yZGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLnJlZ2lvbltjbGFzcyo9XCJibGFja1wiXSAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGd0R3JheTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgfVxuXG4gICAgICAvLyBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgLy8gICAuY29sLTIgJixcbiAgICAgIC8vICAgLmNvbC0zICYsXG4gICAgICAvLyAgIC5jb2wtNCAmIHtcbiAgICAgIC8vICAgICBtYXgtd2lkdGg6IDI0NXB4O1xuICAgICAgLy8gICAgIG1hcmdpbjogMDtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGhpZGRlbi1zcG9rZW47XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAuY29sLTIgJixcbiAgICAgICAgLmNvbC0zICYsXG4gICAgICAgIC5jb2wtNCAmIHtcbiAgICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAucmVnaW9uW2NsYXNzKj1cImJsYWNrXCJdICYge1xuICAgICAgICBjb2xvcjogJHJlZ0dyYXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogU2VhcmNoIElucHV0IEZpZWxkICovXG5cbiAgICAuc2VhcmNoX19pbnB1dCB7XG4gICAgICBwYWRkaW5nOiA2cHggMCA4cHggMTVweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIC5jb2wtMiAmLFxuICAgICAgICAuY29sLTMgJixcbiAgICAgICAgLmNvbC00ICYge1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAwIDZweCAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogU2VhcmNoIFN1Ym1pdCBCdXR0b24gKi9cblxuICAgIC5zZWFyY2hfX3N1Ym1pdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgICByaWdodDogNXB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAuY29sLTIgJixcbiAgICAgICAgLmNvbC0zICYsXG4gICAgICAgIC5jb2wtNCAmIHtcbiAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci0tY3RhO1xuICAgICAgICAgIHRvcDogNTIlO1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgICAgLmNvbC0yICYsXG4gICAgICAgICAgICAuY29sLTMgJixcbiAgICAgICAgICAgIC5jb2wtNCAmIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucmVnaW9uW2NsYXNzKj1cImJsYWNrXCJdICYge1xuICAgICAgICAgICAgY29sb3I6ICRsZ3RHcmF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PVxuICBTT0NJQUwgQ0hBTk5FTC9TSEFSRVxuICA9PT09PT09PT09PT09PT09PT09PSovXG5cbiAgLnNvY2lhbC1jaGFubmVscyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICB1bCB7XG4gICAgICBAaW5jbHVkZSBjZW50ZXJIb3Jpem9udGFsbHk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAkYWlyLS1zbWFsbCAwO1xuXG4gICAgICAuY29tcG9uZW50LS1ib3JkZXItYm90dG9tICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMTBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBtYXJnaW46IDAgMTIuNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICB9XG4iLCIvKj09PT09PT09PT09PVxuICBTVE9DSyBUSUNLRVJcbiAgPT09PT09PT09PT09Ki9cblxuICAuc3RvY2stdGlja2VyLFxuICAuc3RvY2stdGlja2VyX193cmFwIHtcbiAgICAucm93LS1lcXVhbC1oZWlnaHRzICYge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5zdG9jay10aWNrZXJfX3dyYXAge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogJGFpci0teFNtYWxsO1xuICAgIGZvbnQtZmFtaWx5OiAkYWxlY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAvKiBOT1RFOiBTdG9jayB0aWNrZXIgYmFja2dyb3VuZCBjb2xvciBjYW4gdmFyeSBiYXNlZCBvbiB0aGUgcGFnZSBjYXRlZ29yeSAodGhlbWUpLiBEZWZhdWx0IHRyZWF0bWVudCBpcyBzaWx2ZXIuICovXG5cbiAgICBAaW5jbHVkZSBia2ctc2lsdmVyO1xuICAgIEBlYWNoICRjYXRlZ29yeSwgJGNvbG9yIGluICR0aGVtZUNvbG9ycyB7XG4gICAgICAkY29sb3JOYW1lOiBudGgoJGNvbG9yLCAxKTtcbiAgICAgICRjb2xvclZhbHVlOiBudGgoJGNvbG9yLCAyKTtcblxuICAgICAgLnRoZW1lLS0jeyRjYXRlZ29yeX0gJiB7XG5cbiAgICAgICAgQGlmICRjb2xvck5hbWUgPT0gXCJzaWx2ZXJcIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYmtnLXNpbHZlcjtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JWYWx1ZTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBAaWYgJGNvbG9yTmFtZSA9PSBcImJsdWVcIiB7XG4gICAgICAgICAgICAuc3RvY2stdGlja2VyX190aW1lc3RhbXAge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGFsZWNrTWVkaXVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmN0YS0tbGluayB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC5jdGEtLWxpbmsge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICAgIEBpbmNsdWRlIGNlbnRlclZlcnRpY2FsbHk7XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhTbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teHhTbWFsbCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBUaWNrZXIgUHJpY2UgKi9cblxuICAuc3RvY2stdGlja2VyX19wcmljZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRhbGVja01lZGl1bTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14U21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC8qIFRpY2tlciBDaGFuZ2UgKi9cblxuICAuc3RvY2stdGlja2VyX19jaGFuZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMTVweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jaGFuZ2VfX3N5bWJvbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0yLjVweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14U21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogVGlja2VyIFRpbWVzdGFtcCAqL1xuXG4gIC5zdG9jay10aWNrZXJfX3RpbWVzdGFtcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICBtYXJnaW46IDAgMTVweCAxMHB4IDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXh4U21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRvcDogLTFweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhTbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZXhjaGFuZ2VfX2RhdGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLyogVGlja2VyIEluZm8gKi9cblxuICAuc3RvY2stdGlja2VyX19pbmZvIHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhTbWFsbCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgfVxuXG4gICAgLmN0YS0tbGluayB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuXG4gICAgICAucmVnaW9uW2NsYXNzKj1cImJsdWVcIl0gJiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItLWxpbms7XG4gICAgICB9XG4gICAgfVxuICB9XG4iLCIvKj09PT1cbiAgVEVYVFxuICA9PT09Ki9cblxuJHRleHRNYXJnaW4tLWxhcmdlOiA0NXB4O1xuXG4ubmFycm93LXRleHQgLmNvbC0xMiAuY29tcG9uZW50Pi50ZXh0LFxuLm5hcnJvdy10ZXh0IC5yZWdpb25fX3dyYXA+LnRleHQgLmNvbXBvbmVudD4udGV4dCB7XG4gIG1heC13aWR0aDogMTAyNHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNvbXBvbmVudD4udGV4dCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwICRhaXItLXhTbWFsbDtcblxuICAuY29sICYge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgcGFkZGluZzogMCAkZ3V0dGVyLS1zbWFsbDtcblxuICAgIC5jb2wtOSAmLFxuICAgIC5jb2wtOCAmLFxuICAgIC5jb2wtNiAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLmNvbC00ICYsXG4gICAgLmNvbC0zICYsXG4gICAgLmNvbC0yICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuXG4gICAgLmNvbC05ICYsXG4gICAgLmNvbC04ICYsXG4gICAgLmNvbC02ICYsXG4gICAgLmNvbC00ICYge1xuICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICB9XG5cbiAgICAuY29sLTMgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAuY29sLTMgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgIC5jb2wtMiAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyogSGVhZGluZ3MgKi9cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYWlyLS14U21hbGw7XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICAuY29tcG9uZW50Om5vdCguY29tcG9uZW50LS1uby1tYXJnaW4tYm90dG9tKSAmOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIHAraDEsXG4gIHAraDIsXG4gIHAraDMsXG4gIHAraDQsXG4gIHAraDUsXG4gIHAraDYsXG4gIHVsK2gxLFxuICB1bCtoMixcbiAgdWwraDMsXG4gIHVsK2g0LFxuICB1bCtoNSxcbiAgdWwraDYge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogJGd1dHRlci0tc21hbGw7XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdICYge1xuICAgICAgY29sb3I6ICRhdHRCbHVlO1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuXG4gIC8qIExpbmtzICovXG5cbiAgLnRleHRfX3dyYXA+YSxcbiAgcCBhLFxuICBsaSBhLFxuICB0YWJsZSBhLFxuICBibG9ja3F1b3RlIGEge1xuICAgIGNvbG9yOiAkY29sb3ItLWxpbms7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gJiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAucmVnaW9uLS1ibHVlICYge1xuICAgICAgY29sb3I6ICRjb2xvci0tY29weTtcbiAgICB9XG5cbiAgICAucmVnaW9uLS1kYXJrLWJsdWUgJiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdICYge1xuICAgICAgY29sb3I6ICRjb2xvci0tY3RhO1xuICAgIH1cbiAgfVxuXG4gIC8qIEltYWdlcyAqL1xuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogSG9yaXp0b25hbCBSdWxlcyAqL1xuXG4gIGhyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogNHB4O1xuICAgIGJvcmRlci1jb2xvcjogJGF0dEJsdWU7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46IDUwcHggYXV0bztcblxuICAgIC5yZWdpb24tLWRhcmstYmx1ZSAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICBtYXJnaW46IDgwcHggYXV0bztcbiAgICB9XG4gIH1cblxuICAvKiBUYWJsZXMgKi9cblxuICB0YWJsZSB7XG4gICAgbWFyZ2luOiA0NXB4IDA7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICBmb250LWZhbWlseTogJGFsZWNrQmxhY2s7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWdHcmF5O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG5cbiAgICAgIC5yZWdpb24tLWRhcmstYmx1ZSAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5yZWdpb24tLWJsdWUgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgfVxuXG4gICAgICAmK3RkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBNb2RpZmljYXRpb25zICovXG5cbiAgJi50ZXh0LS1oZWFkbGluZS1ibHVlIHtcblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgIGNvbG9yOiAkYXR0Qmx1ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkcmtHcmF5O1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcblxuICAgICAgLnJlZ2lvbi0tYmx1ZSAmIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci0tY29weTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItLWNvcHk7XG4gICAgICB9XG5cbiAgICAgIC5yZWdpb24tLWRhcmstYmx1ZSAmIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM4KTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xuICAgIH1cbiAgfVxuXG4gICYudGV4dC0tZmVhdHVyZWQge1xuXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBzdHJvbmcsXG4gICAgYiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxuXG4gICYudGV4dC0tc3BlY2lhbC1ib2xkIHtcblxuICAgIGgxLFxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIHNwZWNpYWwtYm9sZCgkYXR0Qmx1ZSk7XG4gICAgfVxuICB9XG5cbiAgJi50ZXh0LS1mb290ZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMyk7XG4gICAgZm9udC1mYW1pbHk6ICRhbGVjaztcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgIH1cblxuICAgIGgxLFxuICAgIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjYpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICY+bGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcblxuICAgICAgICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsdWVcIl0gJjpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XG4gICAgfVxuICB9XG59XG5cbi8qIEJsb2NrcW91dGVzICovXG5cbi50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDMwcHggMCAyMHB4O1xuICBmb250LWZhbWlseTogJGFsZWNrU2xhYjtcbiAgY29sb3I6ICRhdHRCbHVlO1xuXG4gIGgxIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLnJlZ2lvbltjbGFzcyo9XCItYmx1ZVwiXSAmIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjZW50ZXJWZXJ0aWNhbGx5O1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDYyKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgICB3aWR0aDogNjVweDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRyZWdHcmF5O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBmb250LWZhbWlseTogJGF0dC1pY29ucztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICRyZWdHcmF5O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGF0dEljb25zLCBxdW90ZSk7XG4gICAgICB9XG5cbiAgICAgIC8qIFRvIGFjY29tb2RhdGUgYmx1ZSBiYWNrZ3JvdW5kcyAqL1xuXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibHVlXCJdICYsXG4gICAgICAucmVnaW9uW2NsYXNzKj1cIi1ibGFja1wiXSAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC8qIFRvIGNlbnRlciB0aGUgaWNvbiAqL1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIC5uby1mbGV4Ym94Lm5vLWZsZXhib3h0d2VlbmVyLm5vLWZsZXhib3hsZWdhY3kgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogLjY1O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBUZXh0IHdpdGggSWNvbnMgKi9cblxuW2NsYXNzKj1cInRleHQtLWljb24tXCJdIC50ZXh0X193cmFwIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjZW50ZXJWZXJ0aWNhbGx5O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg2Mik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHJlZ0dyYXk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IC0xNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYXR0LWljb25zO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkcmVnR3JheTtcblxuICAgIC8qIFRvIGFjY29tb2RhdGUgYmx1ZSBiYWNrZ3JvdW5kcyAqL1xuXG4gICAgLnJlZ2lvbltjbGFzcyo9XCItYmx1ZVwiXSAmLFxuICAgIC5yZWdpb25bY2xhc3MqPVwiLWJsYWNrXCJdICYge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC8qIFRvIGNlbnRlciB0aGUgaWNvbiAqL1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLm5vLWZsZXhib3gubm8tZmxleGJveHR3ZWVuZXIubm8tZmxleGJveGxlZ2FjeSAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IC42NTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGxhYmVsLFxuJGljb24gaW4gJGF0dEljb25zIHtcbiAgLnRleHQtLWljb24tI3skbGFiZWx9IC50ZXh0X193cmFwIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkaWNvbjtcbiAgICB9XG4gIH1cbn1cblxuLnRleHQtLWJsb2NrcXVvdGUgLnRleHRfX3dyYXAsXG5bY2xhc3MqPVwidGV4dC0taWNvbi1cIl0gLnRleHRfX3dyYXAge1xuXG4gIC8qIFRvIHJlcG9zaXRpb24gZm9yIG5hcnJvdyBjb2x1bW5zICovXG5cbiAgLmNvbC0yICYsXG4gIC5jb2wtMyAmLFxuICAuY29sLTQgJiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY2VudGVySG9yaXpvbnRhbGx5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHJlZ0dyYXk7XG4gICAgfVxuICB9XG59XG5cbi8qIENUQXMgKi9cblxuLnRleHRfX2N0YSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn0iLCIvKj09PT1cbiAgVElMRVxuICA9PT09Ki9cblxuICAudGlsZSB7XG4gICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICAudGlsZV9fd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAucm93LS1lcXVhbC1oZWlnaHRzICYge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRpbGVfX2ltZyB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtb3ZlcmxheSgzMCUsIC42KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIFxuICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgJiB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICAgICYuY29tcGF0LW9iamVjdC1maXQge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25BbGwoMXMpO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5yb3ctLWVxdWFsLWhlaWdodHMgLnRpbGU6aG92ZXIgJi5jb21wYXQtb2JqZWN0LWZpdCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMSkgcm90YXRlKDAuMWRlZyk7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICYgPiBkaXYge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQWxsKDFzKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLnJvdy0tZXF1YWwtaGVpZ2h0cyAmIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6Y292ZXI7XG4gICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aWxlOmhvdmVyICYge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpIHJvdGF0ZSgwLjFkZWcpO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRpbGVfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAvKiBCb3R0b20gY29sb3IgYmFyICovXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHdpZHRoOiAxMDAuNSU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICAvKiBOT1RFOiBCb3R0b20gY29sb3IgYmFyIGNhbiB2YXJ5IGJhc2VkIG9uIHRoZSBwYWdlIGNhdGVnb3J5ICh0aGVtZSkuIERlZmF1bHQgdHJlYXRtZW50IGlzIHNpbHZlci4gKi9cblxuICAgICAgQGluY2x1ZGUgYmtnLXNpbHZlcjtcbiAgICAgIEBlYWNoICRjYXRlZ29yeSwgJGNvbG9yIGluICR0aGVtZUNvbG9ycyB7XG4gICAgICAgICRjb2xvck5hbWU6IG50aCgkY29sb3IsIDIpO1xuXG4gICAgICAgIC50aGVtZS0tI3skY2F0ZWdvcnl9ICYge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvck5hbWU7XG4gICAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRjb2xvck5hbWUgPT0gXCJzaWx2ZXJcIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYmtnLXNpbHZlcjtcbiAgICAgICAgfSBAZWxzZWlmICRjb2xvck5hbWUgPT0gJGF0dEJsdWUge1xuICAgICAgICAgIC50aGVtZS0tI3skY2F0ZWdvcnl9IC5yZWdpb24tLWJsdWUgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGF0dEJsdWUsIDglKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLyoqL1xuXG4gICAgLnRpbGVfX2hlYWRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDYwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzOCk7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICBib3R0b206IDg1cHg7XG4gICAgICB9XG5cbiAgICAgIC5jb2wtMiAmLFxuICAgICAgLmNvbC0zICYsXG4gICAgICAuY29sLTQgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMwKTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICBib3R0b206IDY1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbC00ICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM4KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wtOSArIC5jb2wtMyAmLFxuICAgICAgLmNvbC04ICsgLmNvbC00ICYge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgIGJvdHRvbTogODVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50aWxlX19zdWJoZWFkbGluZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgZm9udC1mYW1pbHk6ICRhbGVjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE5KTtcbiAgICAgIH1cblxuICAgICAgLmNvbC0yICYsXG4gICAgICAuY29sLTMgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sLTQgJiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4iLCIvKj09PT09PT09PT09PT09XG4gIFNUT1JZIFRFTVBMQVRFXG4gID09PT09PT09PT09PT09Ki9cblxuICAvKiBTdG9yeSBIZWFkZXIgKi9cblxuICAuc3RvcnlfX2hlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmZlYXR1cmVkLWltYWdlLFxuICAgIC5mZWF0dXJlZF9faW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgbWF4LWhlaWdodDogNDgzcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0b3J5X19oZWFkZXItLWxpZ2h0IC5mZWF0dXJlZC1pbWFnZSxcbiAgICAmLnN0b3J5X19oZWFkZXItLWxpZ2h0IC5mZWF0dXJlZF9faW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC8qIFN0b3J5IFByZWZhY2UgKi9cblxuICAuc3RvcnlfX3ByZWZhY2UgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuc3RvcnlfX3ByZWZhY2U6Zmlyc3QtY2hpbGQgKyAuc3RvcnlfX3dyYXAge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8qIFNlYXJjaCBXaWRnZXQgKi9cblxuICAud2lkZ2V0LS1zZWFyY2gge1xuICAgIC5jb21wb25lbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvKiBUb3AgVmlkZW9zIFdpZGdldCAqL1xuXG4gIC53aWRnZXQtLXZpZGVvcyB7XG5cbiAgICAud2lkZ2V0X19pdGVtcyB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0gLSAxKSB7XG4gICAgICAgIG1hcmdpbjogMCAtMTBweDtcbiAgICAgIH1cblxuICAgICAgLmNvbXBvbmVudCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsIC0gMSkge1xuICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbig2KTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb2x1bW4oNCk7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBDb21wb25lbnQgU3R5bGUgT3ZlcnJpZGVzICovXG5cbiAgLnN0b3J5IHtcblxuICAgIC5zdG9yeV9fd3JhcCAucm93X193cmFwIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBcnRpY2xlICovXG4gICAgLmFydGljbGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLS1sYXJnZTtcbiAgICAgIH1cblxuICAgICAgPiAuY29udGVudF9fd3JhcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgICAgLyogQXJ0aWNsZSBCYW5uZXIgQ29tcG9uZW50cyAqL1xuICAgICAgLmJhbm5lciAuYmFubmVyX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAuYmFubmVyIC5iYW5uZXJfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIFNpZGViYXIgKi9cblxuICAgIC5zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAvKiBTaWRlYmFyIENvbXBvbmVudHMgKi9cblxuICAgICAgLnNpZGViYXJfX2NvbnRlbnQge1xuICAgICAgICAuY29tcG9uZW50IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAgICAgJi5jb21wb25lbnQtLW5vLW1hcmdpbi1ib3R0b20ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmNvbXBvbmVudC0tYm9yZGVyLWJvdHRvbSA+IGRpdiB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuY29tcG9uZW50LS1ib3JkZXItYm90dG9tID4gZGl2OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogU2lkZWJhciBGZWF0dXJlZCBJdGVtIENvbXBvbmVudHMgKi9cblxuICAgICAgLmZlYXR1cmVkLWl0ZW0ge1xuICAgICAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAuY29tcG9uZW50Omxhc3QtY2hpbGQgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuaXRlbV9fbWVkaWEgKyAuaXRlbV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAuaXRlbV9fbWVkaWEge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaXRlbV9fcHJldmlldyB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC53aWRnZXQtLXZpZGVvcyB7XG4gICAgICAgIC5pdGVtX19tZWRpYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3NePVwiaXRlbV9fdmlkZW9cIl0ge1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTY1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogU2lkZWJhciBNZWRpYSBDb21wb25lbnRzICovXG5cbiAgICAgIC5tZWRpYV9fY2FwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICB9XG5cbiAgICAgIC8qIFNpZGViYXIgVGV4dCBDb21wb25lbnRzICovXG5cbiAgICAgIC50ZXh0LS1ibG9ja3F1b3RlIC50ZXh0X193cmFwLFxuICAgICAgLnRleHQgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUsXG4gICAgLnNpZGViYXIge1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gICAgICB9XG5cbiAgICAgIC5jb21wb25lbnQgPiAudGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcnlfX3ByZWZhY2UgLmFsZXJ0IHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlci0tc21hbGw7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yeV9fcHJlZmFjZSAuYWxlcnRfX21lc3NhZ2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skZ3V0dGVyLS1sYXJnZX0gLSAxMHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRndXR0ZXItLWxhcmdlfSAtIDEwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuIiwiLyo9PT09PT09PT09PT09PVxuICBCTE9HIFRFTVBMQVRFU1xuICA9PT09PT09PT09PT09PSovXG5cbiAgLyogR2VuZXJhbCBCbG9nIEVsZW1lbnRzICovXG5cbiAgLmFydGljbGUgW2NsYXNzXj1cImJsb2dfX1wiXXtcbiAgICAuY29sLmNvbC04IHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UgLSAxKSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmxvZ19faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICAuaGVhZGVyLS10cmFuc3BhcmVudCArIC5jb250ZW50ICYge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skZGVza3RvcE5hdkhndH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZV9fY3RhIHtcbiAgICAgIG1hcmdpbjogMjVweCAwO1xuXG4gICAgICAuY3RhLS1saW5rIHtcbiAgICAgICAgY29sb3I6ICRhdHRCbHVlO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1jYXRlZ29yeSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRhdHRCbHVlO1xuICAgICAgQGluY2x1ZGUgc3BlY2lhbC1ib2xkKCR3aGl0ZSk7XG4gICAgfVxuXG4gICAgJi5ibG9nX19oZWFkZXItLWxpZ2h0IC5mZWF0dXJlZC1jYXRlZ29yeSB7XG4gICAgICBAaW5jbHVkZSBzcGVjaWFsLWJvbGQoJGJsYWNrKTtcbiAgICB9XG4gIH1cblxuICAvKiBCbG9nIExhbmRpbmcgU3R5bGVzICovXG4gIC8qID09PT09PT09PT09PT09PT09PT0gKi9cblxuICAuYmxvZy1sYW5kaW5nIC5ibG9nX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmLmJsb2dfX2hlYWRlci0tbGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0gLSAxKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlci0tc21hbGw7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVySG9yaXpvbnRhbGx5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJG1heENvbnRlbnRXaWR0aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM1KTtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDUwKTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNjApO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS14TGFyZ2UpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZWQtaGVhZGxpbmUsXG4gICAgICAuZmVhdHVyZWQtZGVzY3JpcHRpb24ge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlIC0gMSkge1xuICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQmxvZyBQb3N0IFN0eWxlcyAqL1xuICAvKiA9PT09PT09PT09PT09PT09ICovXG5cbiAgLmJsb2ctcG9zdCAuYmxvZ19faGVhZGVyIHtcbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtY2F0ZWdvcnkgYixcbiAgICAuZmVhdHVyZWQtY2F0ZWdvcnkgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5ibG9nX19hdXRob3JzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgIC5hdXRob3JfX21ldGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcmVnR3JheTtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuYXV0aG9yIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICAudGl0bGUsXG4gICAgICAuaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQ29tcG9uZW50IFN0eWxlIE92ZXJyaWRlcyAqL1xuXG4gIC5ibG9nIHtcblxuICAgIC8qIEFydGljbGUgKi9cblxuICAgIC5hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvZ19faGVhZGVyIC5jb2wsXG4gICAgLmJsb2dfX2F1dGhvcnMgLmNvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fbWV0YSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgfVxuXG4gICAgICAubWV0YV9faW5mbyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09XG4gIE1FRElBIEtJVCBURU1QTEFURVNcbiAgPT09PT09PT09PT09PT09PT09PSovXG5cbiAgLyogR2VuZXJhbCBNZWRpYSBLaXQgRWxlbWVudHMgKi9cblxuICAuYXJ0aWNsZSBbY2xhc3NePVwibWVkaWEta2l0X19cIl17XG4gICAgLmNvbC5jb2wtOCB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlIC0gMSkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLWtpdF9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICAuaGVhZGVyLS10cmFuc3BhcmVudCArIC5jb250ZW50ICYge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skZGVza3RvcE5hdkhndH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLWxhcmdlKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZV9fY3RhIHtcbiAgICAgIG1hcmdpbjogMjVweCAwO1xuXG4gICAgICAuY3RhLS1saW5rIHtcbiAgICAgICAgY29sb3I6ICRhdHRCbHVlO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjEpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1jYXRlZ29yeSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIHNwZWNpYWwtYm9sZCgkYXR0Qmx1ZSk7XG4gICAgfVxuXG4gICAgJi5tZWRpYS1raXRfX2hlYWRlci0tbGlnaHQgLmZlYXR1cmVkLWNhdGVnb3J5IHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgLyogTWVkaWEgS2l0IExhbmRpbmcgU3R5bGVzICovXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC5tZWRpYS1raXQtbGFuZGluZyAubWVkaWEta2l0X19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmLm1lZGlhLWtpdF9faGVhZGVyLS1saWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXItLXNtYWxsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLS1zbWFsbDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBjZW50ZXJIb3Jpem9udGFsbHk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4Q29udGVudFdpZHRoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZWQtaGVhZGxpbmUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzUpO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1tZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNTApO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg2MCk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhMYXJnZSkge1xuICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlZC1oZWFkbGluZSxcbiAgICAgIC5mZWF0dXJlZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC0tbGFyZ2UgLSAxKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEta2l0LWxhbmRpbmcgLm1lZGlhLWtpdF9fd3JhcCB7XG4gICAgLmZlYXR1cmVkLXN0b3JpZXMge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LS1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBNZWRpYSBLaXQgUGFnZSBTdHlsZXMgKi9cbiAgLyogPT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLm1lZGlhLWtpdC1wYWdlIC5tZWRpYS1raXRfX2hlYWRlciB7XG4gICAgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgcGFkZGluZzogNDBweCAwIDMwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWNhdGVnb3J5IHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWNhdGVnb3J5IGIsXG4gICAgLmZlYXR1cmVkLWNhdGVnb3J5IHN0cm9uZyB7XG4gICAgICBjb2xvcjogJGF0dEJsdWU7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWhlYWRsaW5lIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jb2wge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLyogQ29tcG9uZW50IFN0eWxlIE92ZXJyaWRlcyAqL1xuXG4gIC5tZWRpYS1raXQge1xuXG4gICAgLyogQXJ0aWNsZSAqL1xuXG4gICAgLmFydGljbGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0tbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX19oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fbWV0YSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAubWV0YV9faW5mbyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQUxMIFBPU1RTL1NFQVJDSCBSRVNVTFRTIFRFTVBMQVRFXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiAgLmFsbC1wb3N0cyB7XG4gICAgLnJlZ2lvbl9fd3JhcCB7XG4gICAgICBtYXgtd2lkdGg6IDgxMHB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGd1dHRlci0tc21hbGw7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teExhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5zZWFyY2gtY29udHJvbHMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLW1lZGl1bSkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVycyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtLXhTbWFsbCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgIH1cblxuICAgICAgZm9ybSB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHJlZ0dyYXk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICAgIH1cblxuICAgICAgZm9ybSB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQudHh0IHtcbiAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWdHcmF5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWxlY2tNZWRpdW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0teFNtYWxsKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hfX3N1Ym1pdCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAuaWNvbi0tc2VhcmNoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1jdGE7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVZKC0xODBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5wb3N0cyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHJlZ0dyYXk7XG4gICAgICBwYWRkaW5nOiA0MHB4IDA7XG5cbiAgICAgIFtjbGFzc149XCJwYWdlXCJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cblxuICAgICAgLnRpbWVzdGFtcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5tZXRhLFxuICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogJGFsZWNrQmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGgyICsgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci0tY3RhO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtY3RhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLmN0YS0tYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LS14U21hbGwgLSAxKSB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHggMTdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuIl19 */
