/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/normalize.css ***!
  \***************************************************************************************************************************************************************************************************/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }
  
  /* Sections
     ========================================================================== */
  
  /**
   * Remove the margin in all browsers.
   */
  
  body {
    margin: 0;
  }
  
  
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  /* Grouping content
     ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /* Text-level semantics
     ========================================================================== */
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  
  a {
    background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b,
  strong {
    font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* Embedded content
     ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
    border-style: none;
  }
  
  /* Forms
     ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  button,
  input { /* 1 */
    overflow: visible;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  button,
  select { /* 1 */
    text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  
  /**
   * Correct the padding in Firefox.
   */
  
  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  
  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  progress {
    vertical-align: baseline;
  }
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  textarea {
    overflow: auto;
  }
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
  [type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  details {
    display: block;
  }
  
  /*
   * Add the correct display in all browsers.
   */
  
  summary {
    display: list-item;
  }
  
  /* Misc
     ========================================================================== */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  template {
    display: none;
  }
  
  /**
   * Add the correct display in IE 10.
   */
  
  [hidden] {
    display: none;
  }
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/app.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
* {
  font-family: "Inclusive Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

body {
  box-sizing: border-box;
  background-color: whitesmoke;
  height: 100vh;
}

a {
  text-decoration: none;
  color: black;
  font-weight: normal;
}

ul {
  margin-block-start: 0;
  margin-block-end: 0;
}

h1 {
  display: block;
  text-align: left;
  width: 85%;
  color: #771002;
  font-style: italic;
}
h1 .mainTitle {
  width: 80%;
  text-justify: auto;
}

.linkRow {
  color: rgb(40, 40, 40);
}

.bold {
  font-weight: bold;
}

.hidden {
  display: none !important;
}

.relative {
  position: relative;
}

.subtitle {
  font-style: italic;
  font-size: 24px;
}
.subtitle a {
  color: rgb(85, 85, 85);
}
.subtitle a:hover {
  color: #07a69d;
}

.shown {
  display: block; /* ou flex, table, selon le contexte */
}

.inRow {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}

.inColumn {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin-top: 15px;
}

.fullWidth {
  width: 100%;
  justify-content: center;
  align-items: center;
}

.status {
  width: 100%;
  font-size: 24px;
  font-style: italic;
  margin-inline: 25px;
  text-shadow: lightgray 1px 2px 7px;
}
.status.proposition {
  color: #e91e32;
}
.status.expertise {
  color: #FF5722;
}
.status.remaniement {
  color: #FF9800;
}
.status.BPAG {
  color: #c1b229;
}
.status.regulBPAG {
  color: #97a41d;
}
.status.validationAG {
  color: #8BC34A;
}
.status.paru {
  color: #30a334;
}
.status.HAG {
  color: #009688;
}
.status.memoire {
  color: #6c7d7f;
}
.status.refuse {
  color: #4c4c4c;
}
.status.abandon {
  color: #4c4c4c;
}

.space {
  width: 10px;
  border: transparent;
}

.mediumBloc {
  width: 45%;
}

.btn {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.basicInfo {
  color: rgb(90, 90, 90);
  font-size: 20px;
  font-style: italic;
  margin-left: 25px;
}

.basicBtn {
  border-radius: 15px;
  padding: 5px 10px;
  box-shadow: 0 0 2px rgb(20, 20, 20);
  background-color: white;
  transition: all 0.3s;
}

.basicBtn:hover {
  color: #008174;
  box-shadow: 0 0 2px #07a69d;
  transition: all 0.3s;
}

ul, nav, .searchContainer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

nav {
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  z-index: 9999;
  box-shadow: 0 0 5px rgb(20, 20, 20);
  background-color: white;
  padding-block: 10px;
}
nav .casualBtn {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  padding: 5px 10px 1px;
}
nav .casualBtn div {
  margin-left: 35px;
  margin-top: 5px;
}
nav .casualBtn a {
  color: rgb(50, 50, 50);
}
nav .casualBtn a:hover {
  filter: drop-shadow(0 0 2px #008174);
}
nav .navBar {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
nav .navBar > div {
  margin-inline: 10px;
}
nav .navBar .loginContainer {
  margin-inline: 20px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}
nav .navBar .loginContainer span > a {
  margin-right: 20px;
}
nav .navBar .loginContainer span .userProfil {
  font-size: 20px;
}
nav .navBar .loginContainer .logoutBtn {
  border-radius: 10px;
  box-shadow: inset 1px 1px 3px rgb(50, 50, 50);
  background-color: whitesmoke;
  width: 40px;
  overflow: hidden;
}
nav .navBar .loginContainer .logoutBtn a {
  display: block;
  height: 40px;
  width: 40px;
  color: #b8080a;
  font-weight: bold;
}
nav .navBar .loginContainer .logoutBtn a svg {
  margin-top: 7px;
  margin-left: 8px;
}
nav .navBar .loginContainer .logoutBtn a:hover {
  color: white;
  background-color: #b8080a;
  transition: all 0.3s;
  box-shadow: inset 1px 1px 5px rgb(20, 20, 20);
}
nav .btn > a:hover svg {
  filter: drop-shadow(0 7px 2px rgb(169, 169, 169));
  margin-top: -7px;
}
nav .darkMode:hover {
  cursor: pointer;
  scale: 1.2;
  transition: all 0.3s;
}

.sideBar {
  position: fixed;
  width: 15%;
  opacity: 0.9;
  background: linear-gradient(35deg, black, rgb(65, 115, 115));
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  box-shadow: inset 0 -3px 4px rgb(103, 103, 103);
  height: 92vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-block: 10vh 10px;
  box-sizing: border-box;
}
.sideBar .navigation ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 0;
}
.sideBar ul > li {
  box-sizing: border-box;
  width: 100%;
  color: whitesmoke;
}
.sideBar ul > li a {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.sideBar #toggleDropDown, .sideBar #bookDropDown {
  padding: 10px 25px;
}
.sideBar .aboutContainer {
  border-top: solid 1px rgb(190, 190, 190);
  padding-top: 10px;
}
.sideBar .aboutContainer span > a {
  font-size: 14px;
  color: rgb(155, 155, 155);
}
.sideBar .btn a {
  padding: 10px 25px;
  width: 100%;
  color: whitesmoke;
  transition: all, 0.8s;
}
.sideBar .btn:hover {
  background: linear-gradient(35deg, #008174, whitesmoke);
  cursor: pointer;
  color: black;
}
.sideBar .btn:hover a {
  color: black;
}
.sideBar .dropDownBtn, .sideBar .bookDropDownBtn {
  display: none;
}
.sideBar .dropDownBtn.flex, .sideBar .bookDropDownBtn.flex {
  display: flex;
  padding-left: 20px;
}
.sideBar .dropDownBtn.flex span, .sideBar .dropDownBtn.flex svg, .sideBar .bookDropDownBtn.flex span, .sideBar .bookDropDownBtn.flex svg {
  font-size: 14px;
  font-style: italic;
}
.sideBar #toggleDropDown, .sideBar #bookDropDown {
  justify-content: space-between;
}
.sideBar .focusPage {
  background: linear-gradient(35deg, #008174, whitesmoke);
  cursor: pointer;
  color: black;
}
.sideBar .focusPage a {
  color: black;
}

.sideBar .navigation {
  flex: 1;
  overflow-y: auto;
}

main {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  position: absolute;
  top: 10vh;
  left: 15.5vw;
  padding: 20px;
}

.btnContainer {
  width: 100%;
}

.searchResult {
  width: 90%;
}

.displayNone {
  display: none;
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/form.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Corps de page */
/* Style global pour le formulaire */
main > form {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 700px;
  min-width: 350px;
  margin-block: 50px;
  padding: 40px;
  background-color: #fff;
  border-radius: 12px; /* Coins arrondis plus prononcés */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* Ombre plus prononcée pour un effet de "carte" */
  border: 1px solid #e3e3e3; /* Bordure légère pour le cadre */
  transition: transform 0.3s ease;
}
main > form > div {
  width: 80%;
}

form:hover,
form:focus-within {
  transform: scale(1.02); /* Effet zoom léger au survol */
}

/* Style des champs de formulaire */
form input[type=text],
form input[type=date],
form input[type=number],
form input[type=datetime-local],
form input[type=email],
form input[type=password],
form select,
form textarea {
  width: 100%;
  padding: 12px 15px;
  margin: 10px 0 30px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f8f8f8;
  box-sizing: border-box;
  font-size: 16px;
  transition: all 0.3s ease;
}

form input[type=text]:focus,
form input[type=date]:focus,
form select:focus,
form textarea:focus {
  border-color: #a6ce7a;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(74, 76, 78, 0.2);
  outline: none;
}

/* Style des labels */
form label {
  font-weight: 500;
  font-size: 14px;
  color: #666;
  margin-bottom: 5px;
  padding-left: 25px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Style des champs multiples (select) */
.select-multiple {
  height: auto;
  min-height: 120px;
  max-height: 250px;
  overflow-y: auto;
  padding: 10px;
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  border-radius: 8px;
}

.radioForm > div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-block: 10px 25px;
}
.radioForm > div > label {
  padding-left: 5px;
  padding-right: 30px;
  margin-bottom: 2px;
}

.formPrototype {
  margin-bottom: 30px;
}

/* Messages d'erreur ou de validation */
.formError {
  color: #dc3545;
  font-size: 18px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.formError p {
  font-weight: bold;
}

.existingUserForm {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 20px;
}
.existingUserForm > label {
  padding-right: 15px;
  margin-bottom: 2px;
}

/* Style personnalisé pour les cases à cocher et boutons radio */
input[type=checkbox],
input[type=radio] {
  accent-color: #007bff; /* Personnalisation des cases à cocher */
  width: 18px;
  height: 18px;
}

/* Effet pour les groupes de formulaire */
.form-group {
  margin-bottom: 30px;
}

/* Ajout d'une barre de progression pour les étapes du formulaire */
.progress-bar {
  height: 6px;
  background-color: #007bff;
  width: 0;
  transition: width 0.4s ease;
  margin-bottom: 30px;
  border-radius: 3px;
}

.publicFormContainer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  position: absolute;
  left: 0;
  /* Carte vide */
}
.publicFormContainer h1 {
  text-align: center;
  font-size: 2.3em;
  color: white;
}
.publicFormContainer .btn {
  background-color: rgb(250, 250, 250);
}
.publicFormContainer .presentationForm {
  padding-inline: 10vw;
  font-size: 1.1em;
  font-style: italic;
  color: white;
  opacity: 0.9;
}
.publicFormContainer #directeurs-summaries .directeur-summary {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  background-color: rgb(250, 250, 250);
  box-shadow: inset 0 0 3px rgb(20, 20, 20);
  padding: 1rem;
  border-radius: 10px;
  margin-block: 1rem;
  transform: translateY(10px);
  opacity: 0;
  transition: all 0.3s ease;
}
.publicFormContainer #directeurs-summaries .directeur-summary .summary-main {
  font-size: 1.1rem;
  margin-bottom: 0.3rem;
  color: rgb(40, 40, 40);
}
.publicFormContainer #directeurs-summaries .directeur-summary .summary-fonction {
  margin-bottom: 0.4rem;
}
.publicFormContainer #directeurs-summaries .directeur-summary .summary-tags {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 0.4rem;
}
.publicFormContainer #directeurs-summaries .directeur-summary .badge-adherent {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  margin: 2px;
  color: white;
}
.publicFormContainer #directeurs-summaries .directeur-summary .sum-fonction {
  background-color: #4b8cfb;
}
.publicFormContainer #directeurs-summaries .directeur-summary .badge-comite {
  background-color: #771002;
}
.publicFormContainer #directeurs-summaries .directeur-summary .badge-biblio {
  background-color: #008174;
}
.publicFormContainer #directeurs-summaries .directeur-summary .summary-actions {
  margin-top: 0.7rem;
}
.publicFormContainer #directeurs-summaries .directeur-summary.visible {
  transform: translateY(0);
  opacity: 1;
}
.publicFormContainer .directeur-empty-message {
  text-align: center;
  padding: 30px;
  opacity: 0.7;
  font-size: 1.1rem;
}

/* Responsive design pour les petits écrans */
@media (max-width: 768px) {
  form {
    padding: 30px;
  }
  form button[type=submit],
  form input[type=submit] {
    width: 100%;
    padding: 15px 0;
  }
}
.searchContainer > form > div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  border-radius: 15px;
}
.searchContainer > form > div .searchInput {
  box-sizing: border-box;
  background-color: transparent;
  border: none;
  border-bottom-left-radius: 15px;
  border-top-left-radius: 15px;
  padding: 5px 10px;
  background-color: rgb(225, 225, 225);
}
.searchContainer > form > div .searchInput:focus {
  outline: none;
}
.searchContainer > form > div .searchBtn {
  height: 29px;
  border: solid 1px lightgray;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
  background-color: whitesmoke;
  color: #008174;
  padding: 0 5px;
}
.searchContainer > form > div .searchBtn:hover {
  box-shadow: 0 0 2px #07a69d;
  color: #07a69d;
  background-color: white;
  transition: all 0.3s;
}

.searchContainer > form {
  padding: 0;
  margin: 0;
  border: none;
}
.searchContainer > form > div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  border-radius: 15px;
}
.searchContainer > form > div .searchInput {
  box-sizing: border-box;
  background-color: transparent;
  border-bottom-left-radius: 15px;
  border-top-left-radius: 15px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  padding: 5px 10px;
  background-color: rgb(225, 225, 225);
  margin: 0;
}
.searchContainer > form > div .searchInput:focus {
  outline: none;
}
.searchContainer > form > div .searchBtn {
  height: 29px;
  border: solid 1px lightgray;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  background-color: whitesmoke;
  color: #008174;
  padding: 0 5px;
  transform: translateY(0);
  box-shadow: none;
}
.searchContainer > form > div .searchBtn:hover {
  box-shadow: 0 0 2px #07a69d;
  color: #07a69d;
  background-color: white;
  transition: all 0.3s;
}

.deleteForm {
  padding: 0;
  border: none;
  box-shadow: none;
  background-color: transparent;
  margin-top: 0;
}

.formContainer {
  width: 85%;
}
.formContainer h1 {
  text-align: center;
  margin-left: 0;
}
.formContainer form .embeddedFormTitle {
  display: block;
  text-align: center;
  margin-block: 10px;
  color: black;
}

input:-webkit-autofill {
  box-shadow: 0 0 0px 100px rgb(200, 200, 200) inset !important;
}

.download {
  margin-block: 25px;
  padding: 5px 8px;
  border: solid 1px rgba(0, 0, 0, 0.4);
}

.download:hover {
  scale: 1.15;
  background-color: white;
  box-shadow: inset 0 0 3px 0.4 black;
}

.downloadBox {
  margin-bottom: 25px;
}

#newTiersFormContainer {
  display: none;
}

.suggestion-list {
  border: 1px solid #ccc;
  max-height: 150px;
  overflow-y: auto;
  list-style: none;
  padding: 0;
  margin: 0;
  position: absolute;
  background: white;
  z-index: 10;
}

.suggestion-list li {
  padding: 5px 10px;
  cursor: pointer;
}

.suggestion-list li:hover {
  background-color: #eee;
}

.filters {
  width: 100%;
}

.filterForm {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
}
.filterForm .filterBox {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px;
}
.filterForm .filterBox div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 220px;
}
.filterForm .filterBox div label {
  margin-bottom: 5px;
  color: #005a51;
  font-size: 14px;
  text-align: center;
}
.filterForm .filterBox div select {
  width: 100%;
  color: #005a51;
  opacity: 0.9;
  padding: 5px 8px;
  box-sizing: border-box;
}
.filterForm .filterBtn {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.filterForm:hover, .filterForm:focus-within {
  transform: scale(1);
}
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/showPage.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.showView {
  margin-block: 5vh;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.showView > div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: white;
  min-height: 40vh;
  border-radius: 15px;
  box-shadow: 0 0 3px rgb(20, 20, 20);
  margin-block: 10px;
  padding-block: 10px;
}
.showView > div div {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  width: 90%;
  padding-block: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.showView > div div div {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.showView > div div :first-child {
  font-weight: bold;
}
.showView .fullBloc {
  width: 100%;
}
.showView .fullBloc h2 {
  margin-block: 25px;
}
.showView .fullBloc > div {
  border-top: solid 1px #771002;
  padding-block: 15px 25px;
  width: 80%;
}
.showView .fullBloc > div a {
  width: 100%;
}
.showView .split {
  border-top: solid 1px lightgrey;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/listePage.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.newItem {
  width: 100%;
}
.newItem a {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 20%;
  margin: 20px;
  padding: 10px;
  border-radius: 20px;
  background-color: white;
  box-shadow: 0 0 2px rgb(20, 20, 20);
  text-align: center;
}
.newItem a:hover {
  color: #48921f;
  box-shadow: 0 0 5px #72bb71;
  transition: all 0.3s;
}

.pageTitle {
  margin-block: 20px 40px;
}

table {
  width: 80vw;
  table-layout: fixed;
  border-radius: 5px;
  background-color: whitesmoke;
  box-shadow: 0 0 3px rgb(20, 20, 20);
  overflow: hidden;
  margin-block: 10px;
}
table tbody,
table thead {
  width: 100%;
}
table tbody tr,
table thead tr {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
table tbody tr > th,
table thead tr > th {
  padding: 5px 5px 5px 50px;
  line-height: 1.5;
  flex: 1;
  text-align: left;
  color: #771002;
  opacity: 0.8;
}
table tbody tr > th a,
table thead tr > th a {
  color: #771002;
  opacity: 0.9;
}
table tbody tr > th.blankSpace,
table thead tr > th.blankSpace {
  flex: none;
}
table tbody tr > td,
table thead tr > td {
  padding: 5px 5px 5px 35px;
  line-height: 1.5;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
table tbody tr > td a,
table thead tr > td a {
  color: rgb(75, 75, 75);
}
table tbody tr > td a:hover,
table thead tr > td a:hover {
  color: #07a69d;
}
table tbody tr > td.shortData,
table tbody tr th.shortData,
table thead tr > td.shortData,
table thead tr th.shortData {
  text-align: center;
  flex: 0.6;
  padding-left: 0;
}
table tbody tr > td.mediumData,
table tbody tr th.mediumData,
table thead tr > td.mediumData,
table thead tr th.mediumData {
  flex: 0.8;
}
table tbody tr > th.mediumData,
table thead tr > th.mediumData {
  padding-left: 40px;
}
table tbody tr > td.largeData,
table tbody tr th.largeData,
table thead tr > td.largeData,
table thead tr th.largeData {
  flex: 2;
}
table tbody tr > td.libraryColor,
table thead tr > td.libraryColor {
  margin-left: 15px;
  height: 20px;
  width: 30px;
  border-radius: 5px;
  box-shadow: 0 0 2px rgb(20, 20, 20);
  flex: none;
  padding: 0;
}
table tbody tr .italic,
table thead tr .italic {
  font-style: italic;
}
table tbody tr .comiteThemeCard1,
table thead tr .comiteThemeCard1 {
  background: linear-gradient(175deg, #fbea51, rgb(100, 100, 100));
}
table tbody tr .comiteThemeCard2,
table thead tr .comiteThemeCard2 {
  background: linear-gradient(175deg, #2495d0, rgb(100, 100, 100));
}
table tbody tr .comiteThemeCard3,
table thead tr .comiteThemeCard3 {
  background: linear-gradient(175deg, #e70d0d, rgb(100, 100, 100));
}
table tbody tr .comiteThemeCard4,
table thead tr .comiteThemeCard4 {
  background: linear-gradient(175deg, #d898c0, rgb(100, 100, 100));
}
table tbody tr .comiteThemeCard5,
table thead tr .comiteThemeCard5 {
  background: linear-gradient(175deg, #86c054, rgb(100, 100, 100));
}
table tbody tr .comiteThemeCard6,
table thead tr .comiteThemeCard6 {
  background: linear-gradient(175deg, white, rgb(140, 140, 140));
}
table tbody tr .comiteThemeCard7,
table thead tr .comiteThemeCard7 {
  background: linear-gradient(175deg, #005a51, silver);
}
table tbody .linkRow:hover,
table thead .linkRow:hover {
  color: #008174;
  box-shadow: inset 0 0 2px #07a69d;
  transition: all 0.3s;
  border-bottom: transparent;
  cursor: pointer;
}

.listTable thead > tr {
  background-color: white;
}
.listTable tbody > tr:nth-child(even) {
  background-color: white;
}

.tableLegend {
  text-align: center;
  font-weight: bold;
}

.tableLegend:hover {
  box-shadow: 0px 0px 0px;
}

.pagination span {
  padding-inline: 5px;
}
.pagination span a {
  color: #771002;
}
.pagination span a:hover {
  color: #73c1b1;
  border-bottom: solid 2px #73c1b1;
}
.pagination .current {
  color: #008174;
  font-weight: bold;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/modules.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.flex {
  display: flex;
}

.editContainer.libCards {
  margin-bottom: 15px;
}
.editContainer.libCards a svg {
  margin-bottom: 2px;
}

.comiteTitle {
  font-style: italic;
  margin-top: 30px;
}

.libContainer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-block: 15px;
  background-color: white;
  border-radius: 5px;
  box-shadow: inset 0 0 5px rgb(20, 20, 20);
  width: 100%;
}
.libContainer .libCard {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  background: linear-gradient(175deg, white, rgb(220, 220, 220));
  width: 250px;
  height: 215px;
  margin: 15px 15px 5px;
  border-radius: 10px;
  box-shadow: 0 0 3px rgb(20, 20, 20);
  padding-inline: 10px;
}
.libContainer .libCard .libTitle {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  height: 60px;
}
.libContainer .libCard h4 {
  text-align: center;
  font-size: 18px;
  margin-block: 10px 0;
}
.libContainer .libCard div {
  width: 100%;
  margin-bottom: 10px;
}
.libContainer .libCard div p {
  padding-left: 25px;
  font-style: italic;
  margin-block: 5px;
}
.libContainer .libCard div p span {
  color: #008174;
  margin-left: 5px;
}
.libContainer .libCard div .libCardColor {
  height: 8px;
  width: 75%;
  margin: 10px auto 0;
  border-radius: 15px;
  box-shadow: 0 0 1px rgb(20, 20, 20);
}
.libContainer .libCardEmpty {
  height: 170px;
}
.libContainer .libCard:hover {
  box-shadow: 0 0 7px rgb(20, 20, 20);
  scale: 1.05;
}
.libContainer .comiteThemeCard1 {
  background: linear-gradient(175deg, #fbea51, rgb(100, 100, 100));
}
.libContainer .comiteThemeCard2 {
  background: linear-gradient(175deg, #2495d0, rgb(100, 100, 100));
}
.libContainer .comiteThemeCard3 {
  background: linear-gradient(175deg, #e70d0d, rgb(100, 100, 100));
}
.libContainer .comiteThemeCard4 {
  background: linear-gradient(175deg, #d898c0, rgb(100, 100, 100));
}
.libContainer .comiteThemeCard5 {
  background: linear-gradient(175deg, #86c054, rgb(100, 100, 100));
}
.libContainer .comiteThemeCard6 {
  background: linear-gradient(175deg, white, rgb(140, 140, 140));
}
.libContainer .comiteThemeCard7 {
  background: linear-gradient(175deg, #005a51, silver);
}

.dashboard {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  box-sizing: content-box;
  width: 80vw;
}
.dashboard h1, .dashboard h2 {
  margin-block: 10px;
  width: 100%;
}
.dashboard h1 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 30px;
  text-align: left;
  padding: 20px;
  color: #771002;
  font-style: italic;
  vertical-align: middle;
}
.dashboard h1 .info {
  margin-left: 40px;
  margin-bottom: -7px;
  border-radius: 25px;
  box-shadow: inset 0 0 2px rgb(140, 140, 140);
  color: rgb(120, 120, 120);
  padding: 5px;
}
.dashboard h1 .info:hover {
  scale: 1.05;
  transition: all 0.3s;
}
.dashboard .otherInfo {
  font-size: 20px;
  font-style: italic;
}
.dashboard h2 {
  color: rgb(100, 100, 100);
  font-size: 24px;
  text-align: center;
  margin-top: 25px;
}
.dashboard .director {
  margin-bottom: 25px;
  font-size: 20px;
}
.dashboard .director span {
  font-style: italic;
  opacity: 0.8;
}
.dashboard .director .settingDirector {
  color: #005a51;
}
.dashboard .director .nominationDate, .dashboard .director .data {
  font-size: 16px;
}
.dashboard .board {
  background-color: white;
  border-radius: 0;
  box-shadow: inset 0 0 5px rgb(86, 86, 86);
  padding: 10px;
  box-sizing: border-box;
}
.dashboard .board tbody tr {
  padding-inline: 10px;
  flex-direction: column;
  align-items: flex-start;
  border-bottom: solid 1px rgb(220, 220, 220);
}
.dashboard .board tbody tr th {
  font-weight: normal;
  opacity: 0.8;
  color: #771002;
  font-size: 14px;
  padding-bottom: 5px;
  width: 100%;
  text-align: left;
}
.dashboard .board tbody tr td {
  white-space: wrap;
  text-align: left;
  padding-top: 0;
  color: rgb(74, 74, 74);
  width: 100%;
}
.dashboard .board tbody tr td .decisionCA svg {
  margin-bottom: -7px;
  margin-right: 5px;
  color: #62b122;
}
.dashboard .board tbody .emphasize {
  font-weight: 400;
  scale: 1.2;
  text-align: center;
  margin-block: 10px;
}
.dashboard .fullBoard {
  width: 100%;
}
.dashboard .fullBoard tbody {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}
.dashboard .fullBoard tbody tr {
  width: 10%;
  border-bottom: none;
  border-inline: solid 1px #005a51;
  border-block: solid 1px white;
}
.dashboard .fullBoard tbody tr th, .dashboard .fullBoard tbody tr td {
  text-align: center;
  padding-inline: 0;
}
.dashboard .fullBoard tbody tr th {
  opacity: 1;
}
.dashboard .fullBoard tbody tr td {
  padding-top: 5px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.dashboard .fullBoard tbody tr td .dataIcon {
  margin-left: 8px;
  margin-bottom: -7px;
}
.dashboard .fullBoard tbody tr td span {
  vertical-align: middle;
}
.dashboard .fullBoard tbody tr:hover {
  cursor: pointer;
  border: solid 1px #005a51;
  background-color: whitesmoke;
  transition: all 0.3s;
}
.dashboard .tabs {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
.dashboard .tabs :first-child {
  margin-right: 20px;
}
.dashboard .tabs .tabBtn.active {
  color: black;
  border-bottom: solid 2px #771002;
}
.dashboard .tabs .tabBtn {
  color: rgb(100, 100, 100);
}
.dashboard .tabs .tabBtn:hover {
  cursor: pointer;
}
.dashboard .halfBoard {
  display: block;
  width: 39.5vw;
  height: 450px;
  box-sizing: border-box;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgb(165, 108, 108) white;
  scroll-behavior: smooth;
}
.dashboard .halfBoard thead {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.dashboard .halfBoard thead tr th {
  color: #771002;
  padding-left: 5px;
  padding-bottom: 20px;
  font-size: 20px;
}
.dashboard .halfBoard tbody {
  display: block;
  padding-left: 3%;
}
.dashboard .halfBoard tbody tr {
  width: 90%;
}
.dashboard .halfBoard tbody tr td {
  flex: 1.7;
}
.dashboard .halfBoard tbody tr .customTiers {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.dashboard .halfBoard tbody tr .customTiers span {
  width: 50%;
}
.dashboard .halfBoard tbody a {
  color: rgb(70, 70, 70);
}
.dashboard .halfBoard tbody a:hover {
  color: #07a69d;
}
.dashboard .halfBoard .cessionEtablissement {
  display: block;
}
.dashboard .choiceSection div label {
  color: rgb(90, 90, 90);
  font-size: 24px;
  margin-bottom: 15px;
}
.dashboard .choiceSection div select {
  padding: 5px 15px;
  border-radius: 10px;
  border: transparent;
  box-shadow: 0 0 3px rgb(20, 20, 20);
  background: linear-gradient(165deg, #73c1b1, whitesmoke);
}
.dashboard .choiceSection div select option {
  box-shadow: inset 0 0 0 100px whitesmoke;
}
.dashboard .choiceSection div select option:checked, .dashboard .choiceSection div select option:hover {
  box-shadow: inset 0 0 0 100px #07a69d;
}
.dashboard .choiceSection div select:focus {
  outline: none;
}
.dashboard .choiceSection .board {
  height: 250px;
}
.dashboard .choiceSection .board tbody {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}
.dashboard .choiceSection .board tbody tr {
  width: 40%;
  margin: 10px 3%;
}
.dashboard .choiceSection .board tbody tr td, .dashboard .choiceSection .board tbody tr th {
  width: 100%;
}
.dashboard .choiceSection.fullSection {
  width: 100%;
}
.dashboard .hiddenSection {
  display: none;
}
.dashboard .hiddenCard {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: none;
  z-index: 999;
  position: absolute;
  top: 0;
  left: -16vw;
  right: 0;
  bottom: 0;
  backdrop-filter: blur(5px);
}
.dashboard .hiddenCard a {
  margin-inline: 50px;
}
.dashboard .hiddenCard .hiddenContainer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  width: 20vw;
  height: 500px;
  background: radial-gradient(circle, #005a51, rgb(40, 40, 40));
  border-radius: 10px;
  box-shadow: 0 0 5px rgb(90, 90, 90);
  box-sizing: border-box;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #008174 white;
  scroll-behavior: smooth;
}
.dashboard .hiddenCard .hiddenContainer span:not(.category, .centerCell) {
  padding: 8px 40px;
  color: rgb(225, 225, 225);
}
.dashboard .hiddenCard .hiddenContainer .centerCell {
  color: rgb(225, 225, 225);
  width: 100%;
  text-align: center;
}
.dashboard .hiddenCard .hiddenContainer .category {
  width: 100%;
  text-align: center;
  padding-top: 25px;
  padding-bottom: 10px;
  font-style: italic;
  font-size: 16px;
  color: white;
}
.dashboard .hiddenCard .hiddenContainer:hover {
  cursor: pointer;
  box-shadow: inset 0 0 7px whitesmoke;
  transform: scale(1.02);
  transition: all 0.3s;
}
.dashboard .hiddenCard .noData {
  position: fixed;
  left: 10%;
  right: 0;
  bottom: 50%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: rgb(90, 90, 90);
  font-size: 24px;
}
.dashboard .hiddenCard.visible {
  display: flex;
}
.dashboard .container {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding: 15px;
  width: 100%;
}
.dashboard .container .card {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border-radius: 10px;
  box-shadow: 0 0 3px rgb(20, 20, 20);
  min-width: 22%;
  min-height: 135px;
  background-color: white;
}
.dashboard .container .card h2 {
  font-size: 20px;
  text-align: center;
  margin-block: 15px 10px;
}
.dashboard .container .card .contentCard .dataCard {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  text-align: center;
  padding: 5px 10px;
}
.dashboard .container .card:hover {
  scale: 1.05;
  box-shadow: inset 0 0 4px whitesmoke;
  transition: all 0.3s;
}
.dashboard .container .smallCard h2 {
  color: white;
  font-size: 18px;
}
.dashboard .container .smallCard .contentCard {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.dashboard .container .smallCard .contentCard .dataCard {
  color: whitesmoke;
  font-size: 14px;
}
.dashboard .container .smallCard .contentCard .dataCard.dataInt {
  font-size: 28px;
  padding-top: 15px;
}
.dashboard .container .smallCard:hover {
  box-shadow: 0 0 5px rgb(20, 20, 20);
}
.dashboard .container .smallCard:nth-of-type(1) {
  background: linear-gradient(5deg, #272c86, rgb(60, 60, 60));
}
.dashboard .container .smallCard:nth-of-type(2) {
  background: linear-gradient(5deg, #701369, rgb(60, 60, 60));
}
.dashboard .container .smallCard:nth-of-type(3) {
  background: linear-gradient(5deg, #027350, rgb(60, 60, 60));
}
.dashboard .container .smallCard:nth-of-type(4) {
  background: linear-gradient(5deg, #b15700, rgb(60, 60, 60));
}
.dashboard .container .box {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border-radius: 10px;
  box-shadow: 0 0 3px rgb(20, 20, 20);
  min-height: 200px;
  background-color: white;
}
.dashboard .container .smallBox {
  width: 33%;
}
.dashboard .container .mediumBox {
  width: 47.5%;
}
.dashboard .container .largeBox {
  width: 62%;
}
.dashboard .container .fullBox {
  width: 90%;
}
.dashboard .mainBoard {
  width: 100%;
}
.dashboard .mainBoard tbody {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}
.dashboard .mainBoard tbody tr {
  width: 35%;
  margin: 15px 40px;
}
.dashboard .mainBoard tbody tr td {
  text-align: center;
  padding-left: 5px;
}
.dashboard .mainBoard tbody tr th {
  font-size: 16px;
}
.dashboard .mainBoard tbody .largeRow {
  width: 85%;
}
.dashboard .mainBoard tbody .largeRow th {
  text-align: center;
  padding-left: 5px;
}
.dashboard .mainBoard tbody .largeRow td {
  text-align: left;
  padding-top: 10px;
}

.searchPage h1 {
  text-align: center;
}
.searchPage h2 {
  margin-top: 40px;
  width: 90%;
  margin-left: 10%;
  color: #771002;
}

.docxPreview {
  color: #000;
  padding: 1em;
  border: 1px solid #ccc;
  box-shadow: inset 0 0 5px rgb(90, 90, 90);
  max-height: 600px;
  width: 100%;
  overflow: auto;
}

.publicPage {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 100vw;
  min-height: 100vh;
  background: linear-gradient(175deg, #008174, black);
  background-attachment: fixed;
}
.publicPage .successIcon {
  color: whitesmoke;
}
.publicPage .detailCard {
  width: 70%;
  border-radius: 15px;
  box-shadow: inset 0 0 5px rgb(20, 20, 20);
  background-color: whitesmoke;
  padding: 15px;
  margin-block: 15px;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/buttons.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
button {
  border: none;
}

.editContainer, .newBtn {
  width: 100%;
  text-align: right;
}
.editContainer a, .newBtn a {
  margin: 25px;
  padding: 19px 7px 0;
  border-radius: 10px;
  background: linear-gradient(35deg, #62b122, #2c6d17);
}
.editContainer a svg, .newBtn a svg {
  color: whitesmoke;
}
.editContainer a:hover, .newBtn a:hover {
  background: linear-gradient(35deg, #62b122, #48921f);
  box-shadow: 0 0 3px rgb(20, 20, 20);
  transform: scale(1.02);
}

.newBtn a {
  background: linear-gradient(35deg, white, rgb(220, 220, 220));
}
.newBtn a svg {
  color: #62b122;
}
.newBtn a:hover {
  background: linear-gradient(35deg, #62b122, #48921f);
}
.newBtn a:hover svg {
  color: whitesmoke;
}

.backBtn, .editBtn, .deleteBtn {
  margin: 10px;
  padding: 5px 10px;
  border-radius: 5px;
  border: solid 1px darkgrey;
}

.editBtn > a, .addBtn > a {
  color: #2c6d17;
}

.deleteBtn {
  color: #b8080a;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.deleteBtn span {
  padding-left: 10px;
  padding-top: 3px;
}

.btn {
  border-radius: 10px;
  transition: all 0.3s;
  padding-block: 5px;
}

.centeredBtn {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.validateBtn {
  border: solid 1px #62b122;
  color: #62b122;
}

.settingBtn, .showBtn {
  border: solid 1px #07a69d;
  color: #008174;
  margin-bottom: 5px;
  padding-inline: 5px;
}

.addRelatedObjectBtn {
  border: solid 1px #771002;
  color: #771002;
}

.validateBtn, .addRelatedObjectBtn {
  margin: 10px;
}

.validateBtn:hover, .addRelatedObjectBtn:hover {
  cursor: pointer;
  color: whitesmoke;
}

.validateBtn:hover {
  background-color: #62b122;
}

.settingBtn:hover, .showBtn:hover {
  background-color: #6ebdc8;
  color: whitesmoke;
}

.resetBtn {
  border: solid 1px #b8080a;
  color: #b8080a;
  margin-bottom: 5px;
  padding-inline: 5px;
}

.confirmBtn {
  border: solid 1px #62b122;
  color: #62b122;
  margin-bottom: 15px;
  padding-inline: 5px;
}

.addFormRow {
  border: solid 1px #73c1b1;
  color: #73c1b1;
  margin-bottom: 10px;
  padding-inline: 5px;
}

.resetBtn:hover {
  background-color: #e70d0d;
  color: whitesmoke;
}

.addRelatedObjectBtn:hover {
  background-color: #771002;
}

.backBtn:hover {
  background-color: #771002;
  transition: all 0.3s;
}
.backBtn:hover > a {
  color: whitesmoke;
}

.editBtn:hover {
  background-color: #62b122;
  transition: all 0.3s;
}
.editBtn:hover > a {
  color: whitesmoke;
}

.deleteBtn:hover {
  background-color: #b8080a;
  color: whitesmoke;
  transition: all 0.3s;
  cursor: pointer;
}

.removeColumn {
  border: solid 1px #e9462c;
  background-color: whitesmoke;
  color: #e9462c;
  padding: 0px 5px;
  border-radius: 25px;
  transition: all 0.3s;
  margin-block: -23px 20px;
  cursor: pointer;
}

.removeColumn:hover {
  background-color: #e9462c;
  color: whitesmoke;
}

.addFormRow:hover {
  background-color: #73c1b1;
  color: whitesmoke;
}

.confirmBtn:hover {
  background-color: #62b122;
  color: whitesmoke;
}

.formBtn, .mailBtn {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-block: 25px;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/kanban.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Variables pour le mode clair et le mode sombre */
/* Styles globaux */
.kanbanChoice {
  margin-left: 3%;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.7);
  border: transparent;
  border-radius: 5px;
  padding: 5px;
  font-size: 20px;
}
.kanbanChoice .kanbanName {
  color: #771002;
  padding: 5px 10px;
}

.kanbanChoice:focus {
  outline: none;
}

.dragging {
  opacity: 0.5;
}

.dragover {
  background-color: #f0f0f0;
  border: 2px dashed #ccc;
}

#kanban-page, .kanban-readonly {
  width: 100%;
}

[contenteditable].placeholder::before {
  color: #888;
}

.kanbanContainer {
  display: block !important;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.7);
  padding: 15px;
  margin-top: 20px;
  background-color: white;
}

.kanbanTitle {
  color: #771002;
  font-size: 28px;
  font-style: italic;
  padding: 20px;
  margin-top: 30px;
  width: 100%;
}

.kanbanListTitle {
  color: #410d00;
  font-size: 24px;
  font-style: italic;
  margin: 0 auto 10px;
  opacity: 0.9;
}

.kanbanBoard {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  justify-content: space-between;
  transition: background 0.3s ease-in-out;
}

.kanbanColumn {
  flex: 1;
  max-width: 350px;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  background-color: white;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  transition: background 0.3s ease-in-out;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}
.kanbanColumn .kanbanColumnHeader {
  padding: 1rem;
  font-weight: bold;
  color: whitesmoke;
  text-align: center;
  background-color: rgb(82, 118, 105);
}
.kanbanColumn .kanbanTasks {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.5rem;
}
.kanbanColumn .kanbanTask {
  background-color: whitesmoke;
  padding: 1rem;
  margin-bottom: 5px;
  border-radius: 6px;
  transition: background 0.3s ease-in-out, transform 0.1s ease;
  cursor: pointer;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5);
}
.kanbanColumn .kanbanTask:hover {
  transform: scale(1.02);
  background-color: rgba(0, 129, 116, 0.2);
}
.kanbanColumn .kanbanTask .taskHeader {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 10px;
}
.kanbanColumn .kanbanTask .taskHeader .closeBtn.endOfLine {
  padding: 0 5px;
  margin-top: -10px;
  font-size: 1rem;
  font-weight: bold;
  color: #771002;
}
.kanbanColumn .kanbanTask .taskHeader .closeBtn:hover {
  color: #b8080a;
  box-shadow: inset 0 0 2px #b8080a;
  border-radius: 25px;
}
.kanbanColumn .kanbanTask .taskHeader .closeBtn:hover svg {
  font-weight: bold;
}
.kanbanColumn .kanbanTask .task-title {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: inherit;
}
.kanbanColumn .kanbanTask .task-description {
  font-size: 0.875rem;
  color: #1a1a1a;
}
.kanbanColumn .kanbanTask .task-description, .kanbanColumn .kanbanTask .task-title, .kanbanColumn .kanbanTask .project-number {
  padding: 7px 10px;
}
.kanbanColumn .kanbanTask .task-description:focus, .kanbanColumn .kanbanTask .task-title:focus, .kanbanColumn .kanbanTask .project-number:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.5);
}
.kanbanColumn .add-task-btn {
  display: block;
  margin: 1rem auto;
  background-color: #771002;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 2.1rem;
  height: 2.1rem;
  font-size: 1.5rem;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s;
}
.kanbanColumn .add-task-btn:hover {
  background-color: #450901;
  transform: scale(1.05);
}

.add-column-btn {
  display: inline-block;
  background-color: #682615;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 3.1rem;
  height: 3.1rem;
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s;
  align-self: center;
  margin-top: 1rem;
  margin-inline: 5%;
}
.add-column-btn:hover {
  background-color: #3e160c;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/debriefing.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
main.debriefing {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
main.debriefing h1, main.debriefing h2, main.debriefing h3, main.debriefing h4 {
  color: #402054;
  font-weight: 600;
  margin-bottom: 1rem;
}
main.debriefing ul {
  padding-left: 1.5rem;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  align-items: flex-start;
}
main.debriefing section {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 1.5rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
main.debriefing .projetHeader {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
}
main.debriefing .projetHeader .projetMeta {
  flex: 2;
}
main.debriefing .projetHeader .projetMeta p {
  margin: 0.3rem 0;
}
main.debriefing .projetHeader .projetSource {
  background-color: #86d08e;
  padding: 1rem;
  border-radius: 10px;
  flex: 1;
}
main.debriefing .projetHeader .projetSource p {
  margin: 0.3rem 0;
}
main.debriefing .projetHeader .projetStatut {
  width: 100%;
  font-weight: 500;
  text-align: right;
  color: #402054;
}
main.debriefing .avisSection {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
main.debriefing .avisSection .rapport {
  background-color: #e0f2fe;
  border: 1px solid #e5e7eb;
  padding: 1rem;
  border-radius: 10px;
}
main.debriefing .avisSection .rapport p {
  margin: 0.4rem 0;
}
main.debriefing .montageFinancier {
  background-color: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #402054;
  padding: 1rem;
  border-radius: 10px;
}
main.debriefing .montageFinancier ul {
  list-style: disc;
  margin-left: 1.5rem;
}
main.debriefing .manuscrit {
  background-color: #fbffe7;
  border-radius: 10px;
  padding: 1rem;
  border: 1px solid #e5e7eb;
  font-style: italic;
}
main.debriefing .comitesEditoriaux ul {
  list-style-type: none;
  padding-left: 0;
}
main.debriefing .comitesEditoriaux ul li {
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 768px) {
  .projetHeader {
    flex-direction: column;
  }
  .projetStatut {
    text-align: left;
  }
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/mails.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.inboxTitle {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 50vw;
}
.inboxTitle h1 {
  display: flex;
  width: auto;
}
.inboxTitle a {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 120px;
  border: 1px solid #008174;
  border-radius: 25px;
  height: 25px;
  padding: 5px 10px;
}
.inboxTitle a:hover {
  background-color: #07a69d;
  color: white;
}

.mailPreview {
  margin-top: 25px;
}
.mailPreview h5 {
  font-size: 1.2em;
  color: #771002;
  margin-top: 5px;
}
.mailPreview .mailSource {
  font-style: italic;
}
.mailPreview div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}
.mailPreview div a {
  padding: 5px 10px;
  margin: 0;
}
.mailPreview .badgeSuccess {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  color: #62b122;
}
.mailPreview pre {
  width: 80vw;
}
.mailPreview .mailFooter {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}
.mailPreview .mailFooter span {
  width: 80vw;
}
.mailPreview form:hover {
  transform: none;
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/notifications.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ===============================
   Dropdown général
================================*/
#notificationDropdown {
  position: absolute;
  top: 36px; /* juste sous l’icône */
  right: 0;
  width: 340px;
  max-height: 0;
  max-width: 0;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
  z-index: 1000;
  transition: max-height 0.3s ease-in-out;
}

#notificationDropdown.visible {
  max-height: 420px;
  max-width: 340px;
}

/* Scrollbar discrète */
#notificationDropdown::-webkit-scrollbar {
  width: 6px;
}

#notificationDropdown::-webkit-scrollbar-thumb {
  background-color: #979a9f;
  border-radius: 3px;
}

/* ===============================
   Élément individuel
================================*/
#notificationButton {
  background-color: transparent;
  cursor: pointer;
}
#notificationButton svg, #notificationButton .badge {
  pointer-events: none;
}
#notificationButton:hover {
  opacity: 1;
}

.notificationItem {
  padding: 12px 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-bottom: 1px solid #f3f4f6;
  cursor: pointer;
  background-color: #fff;
  transition: background-color 0.15s ease;
}

.notificationItem:hover {
  background-color: #f9fafb;
}

/* ===============================
   Icône / pastille de type
================================*/
.notificationIcon {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 5px;
  flex-shrink: 0;
}

.notificationIcon.info {
  background-color: #3b82f6; /* bleu */
}

.notificationIcon.success {
  background-color: #10b981; /* vert */
}

.notificationIcon.warning {
  background-color: #f59e0b; /* jaune */
}

.notificationIcon.alert {
  background-color: #ef4444; /* rouge */
}

/* ===============================
   Texte de la notification
================================*/
.notificationContent {
  flex-grow: 1;
}

.notificationTitle {
  font-size: 0.9rem;
  font-weight: 600;
  color: #111827;
  margin-bottom: 3px;
}

.notificationMessage {
  font-size: 0.85rem;
  color: #4b5563;
  line-height: 1.3;
}

.notificationTime {
  font-size: 0.75rem;
  color: #9ca3af;
  margin-top: 4px;
}

/* ===============================
   État non lu
================================*/
.notificationItem.unread {
  background-color: #f0f9ff;
  border-left: 3px solid #3bc1f6;
}

.notificationItem.unread:hover {
  background-color: #e0f2fe;
}

/* ===============================
   Pied de menu
================================*/
.notificationFooter {
  text-align: center;
  padding: 10px 0;
  font-size: 0.85rem;
  color: #6b7280;
  cursor: pointer;
}

.notificationFooter:hover {
  background-color: #f9fafb;
  color: #111827;
}

.badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background-color: #e53935;
  color: white;
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: bold;
  padding: 2px 6px;
  line-height: 1;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
  transform: scale(1); /* pour une éventuelle animation */
  transition: transform 0.2s ease;
}

/* Effet d’apparition */
.badge:not(.hidden) {
  animation: popIn 0.25s ease;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/frontPage.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.frontPage {
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  background: linear-gradient(175deg, #008174, black);
  overflow: hidden;
  /* Styles pour la vague */
}
.frontPage h1 {
  width: 70vw;
  margin-block: 90px 20px;
  line-height: 3rem;
  color: white;
  text-align: center;
  filter: drop-shadow(0 0 2px rgb(20, 20, 20));
}
.frontPage .loginForm {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.frontPage .loginForm .card {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  width: 25vw;
  margin-block: 60px;
  border-radius: 15px;
  background: linear-gradient(183deg, rgb(50, 50, 50), rgb(70, 70, 70));
  box-shadow: inset 0 0 3px rgb(20, 20, 20);
  opacity: 0.9;
}
.frontPage .loginForm .card span {
  padding: 5px 10px;
  margin-block: 20px;
  text-align: center;
  color: whitesmoke;
}
.frontPage .loginForm .card .basicBtn {
  background: transparent;
  box-shadow: 0 0 2px whitesmoke;
}
.frontPage .loginForm .card .basicBtn a {
  color: whitesmoke;
}
.frontPage .loginForm .card .basicBtn:hover {
  box-shadow: 0 0 5px whitesmoke;
  background-color: rgb(100, 100, 100);
}
.frontPage .loginForm .card:hover {
  box-shadow: 0 0 5px white;
  opacity: 1;
  transition: all 0.3s;
  box-shadow: inset 0 0 4px rgb(20, 20, 20);
  cursor: pointer;
}
.frontPage .wave {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  line-height: 0;
}
.frontPage .wave:first-of-type svg {
  fill: #005a51;
}
.frontPage .wave:first-of-type svg path {
  filter: drop-shadow(0 0 2px #07a69d);
}
.frontPage .wave:last-of-type svg {
  fill: rgb(35, 35, 35);
}
.frontPage .wave:last-of-type svg path {
  filter: drop-shadow(0 0 5px rgb(20, 20, 20));
}
.frontPage .bottomPage {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 8vh;
}
.frontPage .bottomPage div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  padding: 0 50px;
}
.frontPage .bottomPage div span {
  color: whitesmoke;
  list-style: none;
  text-align: center;
}
.frontPage .bottomPage div span a {
  color: whitesmoke;
}
.frontPage .bottomPage div span:hover {
  scale: 1.2;
  transition: all 0.3s;
}

.userContainer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  min-width: 40vw;
  min-height: 400px;
  max-width: 80vw;
  max-height: 800px;
}
.userContainer .userCard {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 220px;
  border-radius: 25px;
  box-shadow: inset 0 0 5px rgb(20, 20, 20);
  background-color: lightgray;
  padding-block: 25px;
  margin-inline: 20px;
}
.userContainer .userCard .userIcon {
  color: #005a51;
}
.userContainer .userCard .userName {
  color: #771002;
  opacity: 0.9;
  font-size: 20px;
  margin: 25px 5px;
}
.userContainer .userCard a {
  color: #005a51;
  border: #005a51 solid 1px;
}
.userContainer .userCard a:hover {
  background-color: #005a51;
  color: whitesmoke;
}

.basicForm {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 30vw;
  background: linear-gradient(183deg, rgb(50, 50, 50), rgb(70, 70, 70));
  padding: 20px;
  border-radius: 15px;
  border: none;
  box-shadow: 0 0 3px rgb(20, 20, 20);
}
.basicForm > label {
  width: 70%;
  margin-top: 10px;
  padding-top: 10px;
  color: rgb(200, 200, 200);
}
.basicForm input[type=email], .basicForm input[type=password] {
  width: 70%;
  background-color: rgb(80, 80, 80);
  color: white;
  padding-block: 5px;
  box-shadow: inset 0 0 3px rgb(20, 20, 20);
  border: none;
  outline: none;
  margin-bottom: 10px;
}
.basicForm input[type=email]:focus, .basicForm input[type=password]:focus {
  box-shadow: 0 0 3px #72bb71;
}
.basicForm .loginValidation {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-block: 15px;
}
.basicForm .loginValidation label {
  padding-left: 10px;
  margin: 0;
  color: rgb(200, 200, 200);
}

.publicHeader {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background-color: white;
  box-shadow: 0 0 5px rgb(20, 20, 20);
}

.publicView {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100vw;
  position: relative;
  left: 0;
  top: 0;
  background: linear-gradient(180deg, whitesmoke, whitesmoke);
}
.publicView form {
  width: 80%;
  margin: 0;
  padding: 20px;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/animations.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* toggle / transitions */
.slide {
  overflow: hidden;
  transition: height 0.25s ease, opacity 0.25s ease;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSwyRUFBMkU7O0FBRTNFOytFQUMrRTs7QUFFL0U7OztFQUdFOztDQUVEO0lBQ0csaUJBQWlCLEVBQUUsTUFBTTtJQUN6Qiw4QkFBOEIsRUFBRSxNQUFNO0VBQ3hDOztFQUVBO2lGQUMrRTs7RUFFL0U7O0lBRUU7O0VBRUY7SUFDRSxTQUFTO0VBQ1g7Ozs7RUFJQTs7O0lBR0U7O0VBRUY7SUFDRSxjQUFjO0lBQ2QsZ0JBQWdCO0VBQ2xCOztFQUVBO2lGQUMrRTs7RUFFL0U7OztJQUdFOztFQUVGO0lBQ0UsdUJBQXVCLEVBQUUsTUFBTTtJQUMvQixTQUFTLEVBQUUsTUFBTTtJQUNqQixpQkFBaUIsRUFBRSxNQUFNO0VBQzNCOztFQUVBOzs7SUFHRTs7RUFFRjtJQUNFLGlDQUFpQyxFQUFFLE1BQU07SUFDekMsY0FBYyxFQUFFLE1BQU07RUFDeEI7O0VBRUE7aUZBQytFOztFQUUvRTs7SUFFRTs7RUFFRjtJQUNFLDZCQUE2QjtFQUMvQjs7RUFFQTs7O0lBR0U7O0VBRUY7SUFDRSxtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLDBCQUEwQixFQUFFLE1BQU07SUFDbEMsaUNBQWlDLEVBQUUsTUFBTTtFQUMzQzs7RUFFQTs7SUFFRTs7RUFFRjs7SUFFRSxtQkFBbUI7RUFDckI7O0VBRUE7OztJQUdFOztFQUVGOzs7SUFHRSxpQ0FBaUMsRUFBRSxNQUFNO0lBQ3pDLGNBQWMsRUFBRSxNQUFNO0VBQ3hCOztFQUVBOztJQUVFOztFQUVGO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTs7O0lBR0U7O0VBRUY7O0lBRUUsY0FBYztJQUNkLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsd0JBQXdCO0VBQzFCOztFQUVBO0lBQ0UsZUFBZTtFQUNqQjs7RUFFQTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtpRkFDK0U7O0VBRS9FOztJQUVFOztFQUVGO0lBQ0Usa0JBQWtCO0VBQ3BCOztFQUVBO2lGQUMrRTs7RUFFL0U7OztJQUdFOztFQUVGOzs7OztJQUtFLG9CQUFvQixFQUFFLE1BQU07SUFDNUIsZUFBZSxFQUFFLE1BQU07SUFDdkIsaUJBQWlCLEVBQUUsTUFBTTtJQUN6QixTQUFTLEVBQUUsTUFBTTtFQUNuQjs7RUFFQTs7O0lBR0U7O0VBRUY7VUFDUSxNQUFNO0lBQ1osaUJBQWlCO0VBQ25COztFQUVBOzs7SUFHRTs7RUFFRjtXQUNTLE1BQU07SUFDYixvQkFBb0I7RUFDdEI7O0VBRUE7O0lBRUU7O0VBRUY7Ozs7SUFJRSwwQkFBMEI7RUFDNUI7O0VBRUE7O0lBRUU7O0VBRUY7Ozs7SUFJRSxrQkFBa0I7SUFDbEIsVUFBVTtFQUNaOztFQUVBOztJQUVFOztFQUVGOzs7O0lBSUUsOEJBQThCO0VBQ2hDOztFQUVBOztJQUVFOztFQUVGO0lBQ0UsOEJBQThCO0VBQ2hDOztFQUVBOzs7OztJQUtFOztFQUVGO0lBQ0Usc0JBQXNCLEVBQUUsTUFBTTtJQUM5QixjQUFjLEVBQUUsTUFBTTtJQUN0QixjQUFjLEVBQUUsTUFBTTtJQUN0QixlQUFlLEVBQUUsTUFBTTtJQUN2QixVQUFVLEVBQUUsTUFBTTtJQUNsQixtQkFBbUIsRUFBRSxNQUFNO0VBQzdCOztFQUVBOztJQUVFOztFQUVGO0lBQ0Usd0JBQXdCO0VBQzFCOztFQUVBOztJQUVFOztFQUVGO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTs7O0lBR0U7O0VBRUY7O0lBRUUsc0JBQXNCLEVBQUUsTUFBTTtJQUM5QixVQUFVLEVBQUUsTUFBTTtFQUNwQjs7RUFFQTs7SUFFRTs7RUFFRjs7SUFFRSxZQUFZO0VBQ2Q7O0VBRUE7OztJQUdFOztFQUVGO0lBQ0UsNkJBQTZCLEVBQUUsTUFBTTtJQUNyQyxvQkFBb0IsRUFBRSxNQUFNO0VBQzlCOztFQUVBOztJQUVFOztFQUVGO0lBQ0Usd0JBQXdCO0VBQzFCOztFQUVBOzs7SUFHRTs7RUFFRjtJQUNFLDBCQUEwQixFQUFFLE1BQU07SUFDbEMsYUFBYSxFQUFFLE1BQU07RUFDdkI7O0VBRUE7aUZBQytFOztFQUUvRTs7SUFFRTs7RUFFRjtJQUNFLGNBQWM7RUFDaEI7O0VBRUE7O0lBRUU7O0VBRUY7SUFDRSxrQkFBa0I7RUFDcEI7O0VBRUE7aUZBQytFOztFQUUvRTs7SUFFRTs7RUFFRjtJQUNFLGFBQWE7RUFDZjs7RUFFQTs7SUFFRTs7RUFFRjtJQUNFLGFBQWE7RUFDZixDOzs7O0FDaFZGO0VBQ0k7RUFDQTtFQUNBO0FDTEo7O0FEUUE7RUFDSTtFQUNBLDRCRVZpQjtFRldqQjtBQ0xKOztBRFFBO0VBQ0k7RUFDQSxZRWRZO0VGZVo7QUNMSjs7QURRQTtFQUNJO0VBQ0E7QUNMSjs7QURRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGNFdUJLO0VGdEJMO0FDTEo7QURPSTtFQUNJO0VBQ0E7QUNMUjs7QURTQTtFQUNJO0FDTko7O0FEU0E7RUFDTTtBQ05OOztBRFNBO0VBQ0k7QUNOSjs7QURTQTtFQUNJO0FDTko7O0FEU0E7RUFDSTtFQUNBO0FDTko7QURPSTtFQUNJO0FDTFI7QURRSTtFQUNJLGNFeEJBO0FEa0JSOztBRFVBO0VBQ0k7QUNQSjs7QURXQTtFRzFFSTtFQUNBO0VBQ0EsbUJIeUVlO0VHckVmLDZCSHNFa0I7RUdyRWxCLG1CSHFFZ0M7QUNMcEM7O0FET0E7RUc5RUk7RUFDQTtFQUNBLHNCSDZFZTtFQUNmO0FDRko7O0FESUE7RUFDSTtFRzdFQSx1Qkg4RWtCO0VHN0VsQixtQkg2RTBCO0FDQTlCOztBREdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0FKO0FERUk7RUFBZSxjRVRUO0FEVVY7QURBSTtFQUFhLGNFVFA7QURZVjtBREZJO0VBQWUsY0VUVDtBRGNWO0FESkk7RUFBUSxjRVRGO0FEZ0JWO0FETkk7RUFBYSxjRVRQO0FEa0JWO0FEUkk7RUFBZ0IsY0VUVjtBRG9CVjtBRFZJO0VBQVEsY0VURjtBRHNCVjtBRFpJO0VBQU8sY0VURDtBRHdCVjtBRGRJO0VBQVcsY0VUTDtBRDBCVjtBRGhCSTtFQUFVLGNFVEg7QUQ0Qlg7QURsQkk7RUFBVyxjRVZKO0FEK0JYOztBRGpCQTtFQUNJO0VBQ0E7QUNvQko7O0FEakJBO0VBQ0k7QUNvQko7O0FEakJBO0VHckhJO0VBQ0E7RUFDQSxtQkhvSGU7RUdoSGYsdUJIaUhrQjtFR2hIbEIsbUJIZ0gwQjtBQ3VCOUI7O0FEcEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUN1Qko7O0FEcEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsdUJFbkllO0VGb0lmO0FDdUJKOztBRHBCQTtFQUNJLGNFaEdJO0VGaUdKO0VBQ0E7QUN1Qko7O0FEbkJBO0VHaEpJO0VBQ0E7RUFDQSxtQkgrSWU7RUczSWYsOEJINElrQjtFRzNJbEIsbUJIMklpQztBQ3lCckM7O0FEbkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsdUJFN0plO0VGOEpmO0FDc0JKO0FEcEJJO0VHbEtBO0VBQ0E7RUFDQSxtQkhpS21CO0VBQ2Y7QUN3QlI7QUR0QlE7RUFDSTtFQUNBO0FDd0JaO0FEckJRO0VBQ0k7QUN1Qlo7QURwQlE7RUFDSTtBQ3NCWjtBRGpCSTtFR3JMQTtFQUNBO0VBQ0EsbUJIb0xtQjtFR2hMbkIsOEJIaUxzQjtFR2hMdEIsbUJIZ0xxQztBQ3NCekM7QURuQlE7RUFDSTtBQ3FCWjtBRGxCUTtFQUNJO0VHL0xSO0VBQ0E7RUFDQSxtQkg4THVCO0VHMUx2QiwyQkgyTDBCO0VHMUwxQixtQkgwTHNDO0FDdUIxQztBRG5CZ0I7RUFDSTtBQ3FCcEI7QURsQmdCO0VBQ0k7QUNvQnBCO0FEYlk7RUFDSTtFQUNBO0VBQ0EsNEJFak5LO0VGa05MO0VBQ0E7QUNlaEI7QURiZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjRXRLWDtFRnVLVztBQ2VwQjtBRGJvQjtFQUNJO0VBQ0E7QUNleEI7QURYZ0I7RUFDSSxZRXBPRDtFRnFPQyx5QkVqTFg7RUZrTFc7RUFDQTtBQ2FwQjtBRE5RO0VBQ0k7RUFDQTtBQ1FaO0FESkk7RUFDSTtFQUNBO0VBQ0E7QUNNUjs7QURFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDQ0o7QURDSTtFR2hSQTtFQUNBO0VBQ0Esc0JIK1FtQjtFQUNmO0FDR1I7QURESTtFQUNJO0VBQ0E7RUFDQSxpQkVwUmE7QUR1UnJCO0FERFE7RUd6Uko7RUFDQTtFQUNBLG1CSHdSdUI7RUdwUnZCLDhCSHFSMEI7RUdwUjFCLG1CSG9SeUM7QUNNN0M7QURESTtFQUNJO0FDR1I7QURBSTtFQUNJO0VBQ0E7QUNFUjtBREFRO0VBQ0k7RUFDQTtBQ0VaO0FFdlJJO0VBQ0k7RUFDQTtFQUNBLGlCRHJCYTtFQ3NCYjtBRnlSUjtBRXRSSTtFQUNJO0VBQ0E7RUFDQSxZRDFCUTtBRGtUaEI7QUV0UlE7RUFDSSxZRDdCSTtBRHFUaEI7QURSSTtFQUNJO0FDVVI7QURSSTtFQUNJO0VBQ0E7QUNVUjtBRFJRO0VBQ0k7RUFDQTtBQ1VaO0FEUEk7RUFDSTtBQ1NSO0FETkk7RUFDSTtFQUNBO0VBQ0EsWUVoVVE7QUR3VWhCO0FETlE7RUFDSSxZRW5VSTtBRDJVaEI7O0FESEE7RUFDSTtFQUNBO0FDTUo7O0FERUE7RUFDSTtFR3hWQTtFQUNBO0VBQ0Esc0JIdVZlO0VHblZmLDZCSG9Wa0I7RUduVmxCLG1CSG1WZ0M7RUFDaEM7RUFDQTtFQUNBO0VBRUE7QUNHSjs7QURDQTtFQUNJO0FDRUo7O0FEQ0E7RUFDSTtBQ0VKOztBRENBO0VBQ0k7QUNFSixDOzs7O0FHeFdBLGdCQ1dBO0FEZkE7QUFHQTtBQUNBO0VETkk7RUFDQTtFQUNBLHNCQ0tlO0VERGYsdUJDRWtCO0VERGxCLG1CQ0MwQjtFQUMxQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNBSjtBREVJO0VBQ0k7QUNBUjs7QURJQTs7RUFFSTtBQ0RKOztBREtBO0FBQ0E7Ozs7Ozs7O0VBUUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDRko7O0FES0E7Ozs7RUFJSSxxQkZ3Qkk7RUV2Qko7RUFDQTtFQUNBO0FDRko7O0FES0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDRko7O0FETUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNISjs7QURRSTtFRHRGQTtFQUNBO0VBQ0EsbUJDcUZtQjtFRGpGbkIsdUJDa0ZzQjtFRGpGdEIsbUJDaUY4QjtFQUMxQjtBQ0ZSO0FESVE7RUFDSTtFQUNBO0VBQ0E7QUNGWjs7QURPQTtFQUNJO0FDSko7O0FET0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FDSko7QURNSTtFQUNJO0FDSlI7O0FEUUE7RURuSEk7RUFDQTtFQUNBLG1CQ2tIZTtFRDlHZiwyQkMrR2tCO0VEOUdsQixtQkM4RzhCO0VBQzlCO0FDRko7QURJSTtFQUNJO0VBQ0E7QUNGUjs7QURNQTtBQUNBOztFQUVJO0VBQ0E7RUFDQTtBQ0hKOztBRE1BO0FBQ0E7RUFDSTtBQ0hKOztBRE1BO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNISjs7QURNQTtFRHJKSTtFQUNBO0VBQ0Esc0JDb0plO0VEaEpmLDJCQ2lKa0I7RURoSmxCLG1CQ2dKOEI7RUFDOUI7RUFDQTtFQUNBO0VBaUZBO0FDaEZKO0FEQ0k7RUFDSTtFQUNBO0VBQ0EsWUY3Slc7QUc4Sm5CO0FEQ0k7RUFDSTtBQ0NSO0FERUk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxZRnZLVztFRXdLWDtBQ0FSO0FES1E7RUQvS0o7RUFDQTtFQUNBLHNCQzhLdUI7RUFDZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDRFo7QURHWTtFQUNJO0VBQ0E7RUFDQTtBQ0RoQjtBRElZO0VBQ0k7QUNGaEI7QURLWTtFRHBNUjtFQUNBO0VBQ0EsbUJDbU0yQjtFQUNmO0VBQ0E7RUFDQTtBQ0RoQjtBRElZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNGaEI7QURLWTtFQUNJO0FDSGhCO0FETVk7RUFDSSx5QkZuS1A7QUcrSlQ7QURPWTtFQUNJLHlCRnBMUjtBRytLUjtBRFFZO0VBQ0k7QUNOaEI7QURVUTtFQUNJO0VBQ0E7QUNSWjtBRFlJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUNWUjs7QURlQTtBQUNBO0VBQ0k7SUFDSTtFQ1pOO0VEZUU7O0lBRUk7SUFDQTtFQ2JOO0FBQ0Y7QURrQkE7RURwUUk7RUFDQTtFQUNBLG1CQ21RZTtFRC9QZix1QkNnUWtCO0VEL1BsQixtQkMrUDBCO0VBQzFCO0VBQ0E7QUNiSjtBRGVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNiUjtBRGdCSTtFQUNJO0FDZFI7QURpQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDRCRjFSYTtFRTJSYixjRnBQQTtFRXFQQTtBQ2ZSO0FEaUJJO0VBQ0k7RUFDQSxjRjFQQTtFRTJQQSx1QkZsU1c7RUVtU1g7QUNmUjs7QUR1QkE7RUFDSTtFQUNBO0VBQ0E7QUNwQko7QURzQkk7RURsVEE7RUFDQTtFQUNBLG1CQ2lUbUI7RUQ3U25CLHVCQzhTc0I7RUQ3U3RCLG1CQzZTOEI7RUFDMUI7RUFDQTtBQ2pCUjtBRG9CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2xCWjtBRHNCUTtFQUNJO0FDcEJaO0FEdUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNEJGOVVTO0VFK1VULGNGeFNKO0VFeVNJO0VBQ0E7RUFDQTtBQ3JCWjtBRHdCUTtFQUNJO0VBQ0EsY0ZqVEo7RUVrVEksdUJGelZPO0VFMFZQO0FDdEJaOztBRDJCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUN4Qko7O0FEMkJBO0VBQ0k7QUN4Qko7QUQwQkk7RUFDSTtFQUNBO0FDeEJSO0FENEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWUZqWEk7QUd1VmhCOztBRCtCQTtFQUNJO0FDNUJKOztBRCtCQTtFQUNJO0VBQ0E7RUFDQTtBQzVCSjs7QUQ4QkE7RUFDSTtFQUNBO0VBQ0E7QUMzQko7O0FEOEJBO0VBQ0k7QUMzQko7O0FEK0JBO0VBQ0k7QUM1Qko7O0FEK0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDNUJKOztBRDhCQTtFQUNJO0VBQ0E7QUMzQko7O0FENkJBO0VBQ0k7QUMxQko7O0FENEJBO0VBQ0k7QUN6Qko7O0FEMkJBO0VEeGFJO0VBQ0E7RUFDQSxzQkN1YWU7RURuYWYsdUJDb2FrQjtFRG5hbEIsdUJDbWEwQjtFQUMxQjtBQ3JCSjtBRHVCSTtFRDdhQTtFQUNBO0VBQ0EsbUJDNGFtQjtFRHhhbkIsMkJDeWFzQjtFRHhhdEIsdUJDd2FrQztFQUM5QjtBQ2xCUjtBRG9CUTtFRGxiSjtFQUNBO0VBQ0Esc0JDaWJ1QjtFRDdhdkIsMkJDOGEwQjtFRDdhMUIsbUJDNmFzQztFQUM5QjtBQ2ZaO0FEaUJZO0VBQ0k7RUFDQSxjRjlZUjtFRStZUTtFQUNBO0FDZmhCO0FEa0JZO0VBQ0k7RUFDQSxjRnJaUjtFRXNaUTtFQUNBO0VBQ0E7QUNoQmhCO0FEcUJJO0VEeGNBO0VBQ0E7RUFDQSxtQkN1Y21CO0VEbmNuQiwyQkNvY3NCO0VEbmN0QixtQkNtY2tDO0VBQzlCO0FDaEJSO0FEbUJJO0VBRUk7QUNsQlIsQzs7OztBQzViQTtFQUNJO0VISEE7RUFDQTtFQUNBLG1CR0VlO0VIRWYsOEJHRGtCO0VIRWxCLHVCR0ZpQztFQUNqQztBQ0NKO0FEQUk7RUhQQTtFQUNBO0VBQ0Esc0JHTW1CO0VIRm5CLHVCR0dzQjtFSEZ0QixtQkdFOEI7RUFDMUIsdUJKUlc7RUlTWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDS1I7QURIUTtFQUNJO0VBQ0E7RUhiUiw2QkdjMEI7RUhiMUIsbUJHYXdDO0VBQ2hDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ01aO0FESFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQ0toQjtBREZZO0VBQ0k7QUNJaEI7QURDSTtFQUNJO0FDQ1I7QURDUTtFQUNJO0FDQ1o7QURFUTtFQUNJO0VBQ0E7RUFDQTtBQ0FaO0FERVk7RUFDSTtBQ0FoQjtBREtJO0VBQ0k7QUNIUixDOzs7O0FDeERBO0VBQ0k7QUNGSjtBRElJO0VMTEE7RUFDQTtFQUNBLG1CS0ltQjtFTEFuQiw4QktDc0I7RUxBdEI7RUtDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVCTlZXO0VNV1g7RUFDQTtBQ0NSO0FERUk7RUFDSSxjTitEQTtFTTlEQTtFQUNBO0FDQVI7O0FESUE7RUFDSTtBQ0RKOztBRElBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsNEJON0JpQjtFTThCakI7RUFDQTtFQUNBO0FDREo7QURHSTs7RUFFSTtBQ0RSO0FER1E7O0VMekNKO0VBQ0E7RUFDQSxtQkt3Q3VCO0VMcEN2Qiw4QktxQzBCO0VMcEMxQixtQktvQ3lDO0FDRzdDO0FERFk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjTktQO0VNSk87QUNJaEI7QUREZ0I7O0VBQ0k7RUFDQTtBQ0lwQjtBRENZOztFQUNJO0FDRWhCO0FEQ1k7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDRWhCO0FEQWdCOztFQUNJO0FDR3BCO0FEQWdCOztFQUNJLGNOckNaO0FPd0NSO0FEQ1k7Ozs7RUFFSTtFQUNBO0VBQ0E7QUNHaEI7QURBWTs7OztFQUVJO0FDSWhCO0FERFk7O0VBQ0k7QUNJaEI7QUREWTs7OztFQUVJO0FDS2hCO0FERlk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNLaEI7QURGWTs7RUFDSTtBQ0toQjtBREZZOztFQUNJO0FDS2hCO0FERlk7O0VBQ0k7QUNLaEI7QURGWTs7RUFDSTtBQ0toQjtBREZZOztFQUNJO0FDS2hCO0FERlk7O0VBQ0k7QUNLaEI7QURGWTs7RUFDSTtBQ0toQjtBREZZOztFQUNJO0FDS2hCO0FEQVE7O0VBQ0ksY04xR0o7RU0yR0k7RUFDQTtFQUNBO0VBQ0E7QUNHWjs7QURJSTtFQUNJLHVCTjlKVztBTzZKbkI7QURJSTtFQUNJLHVCTmxLVztBT2dLbkI7O0FETUE7RUFDSTtFQUNBO0FDSEo7O0FETUE7RUFDSTtBQ0hKOztBRFFJO0VBQ0k7QUNMUjtBRE9RO0VBQ0ksY05oSUg7QU8ySFQ7QURPUTtFQUNJLGNObEpKO0VNbUpJO0FDTFo7QURVSTtFQUNJLGNOdkpBO0VNd0pBO0FDUlIsQzs7OztBQ3hMQTtFQUNJO0FDRko7O0FES0E7RUFDSTtBQ0ZKO0FETVE7RUFDSTtBQ0paOztBRFNBO0VBQ0k7RUFDQTtBQ05KOztBRFNBO0VQdEJJO0VBQ0E7RUFDQSxtQk9xQmU7RVBqQmYsdUJPa0JrQjtFUGpCbEIsbUJPaUIwQjtFQUMxQjtFQUNBLHVCUnhCZTtFUXlCZjtFQUNBO0VBQ0E7QUNISjtBRE1JO0VQaENBO0VBQ0E7RUFDQSxzQk8rQm1CO0VQM0JuQiw4Qk80QnNCO0VQM0J0Qix1Qk8yQnFDO0VBQ2pDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDRFI7QURHUTtFUDNDSjtFQUNBO0VBQ0EsbUJPMEN1QjtFUHRDdkIsdUJPdUMwQjtFUHRDMUIsbUJPc0NrQztFQUMxQjtFQUNBO0FDRVo7QURDUTtFQUNJO0VBQ0E7RUFDQTtBQ0NaO0FERVE7RUFDSTtFQUNBO0FDQVo7QURDWTtFQUNJO0VBQ0E7RUFDQTtBQ0NoQjtBRENnQjtFQUNJLGNSdkJaO0VRd0JZO0FDQ3BCO0FER1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDRGhCO0FET0k7RUFDSTtBQ0xSO0FEUUk7RUFDSTtFQUNBO0FDTlI7QURTSTtFQUNJO0FDUFI7QURVSTtFQUNJO0FDUlI7QURXSTtFQUNJO0FDVFI7QURZSTtFQUNJO0FDVlI7QURhSTtFQUNJO0FDWFI7QURjSTtFQUNJO0FDWlI7QURlSTtFQUNJO0FDYlI7O0FENkJBO0VQbklJO0VBQ0E7RUFDQSxtQk9rSWU7RVA5SGYsOEJPK0hrQjtFUDlIbEIsdUJPOEhpQztFQUNqQztFQUNBO0FDdkJKO0FEeUJJO0VBQ0k7RUFDQTtBQ3ZCUjtBRDBCSTtFUDlJQTtFQUNBO0VBQ0EsbUJPNkltQjtFUHpJbkIsMkJPMElzQjtFUHpJdEIsbUJPeUlrQztFQUM5QjtFQUNBO0VBQ0E7RUFDQSxjUjdGQztFUThGRDtFQUNBO0FDckJSO0FEdUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDckJaO0FEeUJRO0VBQ0k7RUFDQTtBQ3ZCWjtBRDJCSTtFQUNJO0VBQ0E7QUN6QlI7QUQ2Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQzNCUjtBRDhCSTtFQUNJO0VBQ0E7QUM1QlI7QUQ4QlE7RUFDSTtFQUNBO0FDNUJaO0FEK0JRO0VBQ0ksY1JwSko7QVN1SFI7QUQrQlE7RUFDSTtBQzdCWjtBRGlDSTtFQUNJLHVCUnJNVztFUXNNWDtFQUNBO0VBQ0E7RUFDQTtBQy9CUjtBRG1DWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FDakNoQjtBRG1DZ0I7RUFDSTtFQUNBO0VBQ0EsY1JqS1g7RVFrS1c7RUFDQTtFQUNBO0VBQ0E7QUNqQ3BCO0FEb0NnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNsQ3BCO0FEc0N3QjtFQUNJO0VBQ0E7RUFDQSxjUjNKcEI7QVN1SFI7QUQyQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQ3pDaEI7QUQ4Q0k7RUFDSTtBQzVDUjtBRDhDUTtFUDlQSjtFQUNBO0VBQ0EsbUJPNlB1QjtFUHpQdkIsNkJPMFAwQjtFUHpQMUIsbUJPeVB3QztBQ3pDNUM7QUQyQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQ3pDaEI7QUQyQ2dCO0VBQ0k7RUFDQTtBQ3pDcEI7QUQ0Q2dCO0VBQ0k7QUMxQ3BCO0FENkNnQjtFQUNJO0VQbFJoQjtFQUNBO0VBQ0EsbUJPaVIrQjtFUDdRL0IsdUJPOFFrQztFUDdRbEMsbUJPNlEwQztBQ3hDOUM7QUQwQ29CO0VBQ0k7RUFDQTtBQ3hDeEI7QUQyQ29CO0VBQ0k7QUN6Q3hCO0FEOENZO0VBQ0k7RUFDQTtFQUNBLDRCUmpTSztFUWtTTDtBQzVDaEI7QURrREk7RVAzU0E7RUFDQTtFQUNBLG1CTzBTbUI7QUM5Q3ZCO0FEZ0RRO0VBQ0k7QUM5Q1o7QURpRFE7RUFDSSxZUjlTSTtFUStTSjtBQy9DWjtBRGtEUTtFQUNJO0FDaERaO0FEbURRO0VBQ0k7QUNqRFo7QURzREk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDcERSO0FEc0RRO0VQM1VKO0VBQ0E7RUFDQSxtQk8wVXVCO0VQdFV2Qix1Qk91VTBCO0VQdFUxQixtQk9zVWtDO0VBQzFCO0FDakRaO0FEb0RnQjtFQUNJLGNSM1JYO0VRNFJXO0VBQ0E7RUFDQTtBQ2xEcEI7QUR3RFE7RUFDSTtFQUNBO0FDdERaO0FEd0RZO0VBQ0k7QUN0RGhCO0FEd0RnQjtFQUNJO0FDdERwQjtBRHlEZ0I7RVB0V1o7RUFDQTtFQUNBLG1CT3FXK0I7RVBqVy9CLDhCT2tXa0M7RVBqV2xDLG1CT2lXaUQ7QUNwRHJEO0FEc0RvQjtFQUNJO0FDcER4QjtBRDBEWTtFQUNJO0FDeERoQjtBRDJEWTtFQUNJLGNSN1VSO0FTb1JSO0FENkRRO0VBQ0k7QUMzRFo7QURtRVk7RUFDSTtFQUNBO0VBQ0E7QUNqRWhCO0FEb0VZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2xFaEI7QURvRWdCO0VBQ0k7QUNsRXBCO0FEcUVnQjtFQUNJO0FDbkVwQjtBRHVFWTtFQUNJO0FDckVoQjtBRHlFUTtFQUNJO0FDdkVaO0FEeUVZO0VQamFSO0VBQ0E7RUFDQSxtQk9nYTJCO0VQNVozQiwyQk82WjhCO0VQNVo5QixtQk80WjBDO0FDcEU5QztBRHNFZ0I7RUFDSTtFQUNBO0FDcEVwQjtBRHNFb0I7RUFDSTtBQ3BFeEI7QUQyRUk7RUFDSTtBQ3pFUjtBRGdGSTtFQUNJO0FDOUVSO0FEaUZJO0VQN2JBO0VBQ0E7RUFDQSxtQk80Ym1CO0VQeGJuQix1Qk95YnNCO0VQeGJ0QixtQk93YjhCO0VBQzFCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUM1RVI7QUQ4RVE7RUFDSTtBQzVFWjtBRCtFUTtFUDdjSjtFQUNBO0VBQ0Esc0JPNGN1QjtFUHhjdkIsMkJPeWMwQjtFUHhjMUIsdUJPd2NzQztFQUM5QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDMUVaO0FENEVZO0VBQ0k7RUFDQTtBQzFFaEI7QUQ2RVk7RUFDSTtFQUNBO0VBQ0E7QUMzRWhCO0FEOEVZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWVI1ZUc7QVNnYW5CO0FEZ0ZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUM5RVo7QURpRlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFUDdmUjtFQUNBO0VBQ0Esc0JPNGZ1QjtFUHhmdkIsdUJPeWYwQjtFUHhmMUIsbUJPd2ZrQztFQUMxQjtFQUNBO0FDNUVaO0FEZ0ZJO0VBQ0k7QUM5RVI7QURpRkk7RUFDSTtFUDFnQko7RUFDQTtFQUNBLG1CT3lnQm1CO0VQcmdCbkIsOEJPc2dCc0I7RVByZ0J0Qix1Qk9xZ0JxQztFQUNqQztFQUNBO0FDNUVSO0FEOEVRO0VQaGhCSjtFQUNBO0VBQ0Esc0JPK2dCdUI7RVAzZ0J2QiwyQk80Z0IwQjtFUDNnQjFCLG1CTzJnQnNDO0VBQzlCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsdUJScmhCTztBUzRjbkI7QUQyRVk7RUFDSTtFQUNBO0VBQ0E7QUN6RWhCO0FEOEVnQjtFUGppQlo7RUFDQTtFQUNBLG1CT2dpQitCO0VQNWhCL0IsOEJPNmhCa0M7RVA1aEJsQyxtQk80aEJpRDtFQUNqQztFQUNBO0VBQ0E7QUN6RXBCO0FEOEVRO0VBQ0k7RUFDQTtFQUNBO0FDNUVaO0FEaUZZO0VBQ0ksWVJsakJHO0VRbWpCSDtBQy9FaEI7QURrRlk7RVB4akJSO0VBQ0E7RUFDQSxzQk91akIyQjtFUG5qQjNCLDJCT29qQjhCO0VQbmpCOUIsbUJPbWpCMEM7QUM3RTlDO0FEK0VnQjtFQUNJLGlCUjFqQkM7RVEyakJEO0FDN0VwQjtBRGlGZ0I7RUFDSTtFQUNBO0FDL0VwQjtBRG9GUTtFQUNJO0FDbEZaO0FEb0ZRO0VBQ0k7QUNsRlo7QURvRlE7RUFDSTtBQ2xGWjtBRG9GUTtFQUNJO0FDbEZaO0FEb0ZRO0VBQ0k7QUNsRlo7QURxRlE7RVB6bEJKO0VBQ0E7RUFDQSxzQk93bEJ1QjtFUHBsQnZCLDJCT3FsQjBCO0VQcGxCMUIsbUJPb2xCc0M7RUFDOUI7RUFDQTtFQUNBO0VBQ0EsdUJSN2xCTztBUzZnQm5CO0FEbUZRO0VBQ0k7QUNqRlo7QURvRlE7RUFDSTtBQ2xGWjtBRHFGUTtFQUNJO0FDbkZaO0FEc0ZRO0VBQ0k7QUNwRlo7QUR3Rkk7RUFDSTtBQ3RGUjtBRHdGUTtFUHRuQko7RUFDQTtFQUNBLG1CT3FuQnVCO0VQam5CdkIsNkJPa25CMEI7RVBqbkIxQixtQk9pbkJ3QztBQ25GNUM7QURxRlk7RUFDSTtFQUNBO0FDbkZoQjtBRHFGZ0I7RUFDSTtFQUNBO0FDbkZwQjtBRHNGZ0I7RUFDSTtBQ3BGcEI7QUR3Rlk7RUFDSTtBQ3RGaEI7QUR3RmdCO0VBQ0k7RUFDQTtBQ3RGcEI7QUR3RmdCO0VBQ0k7RUFDQTtBQ3RGcEI7O0FEK0ZJO0VBQ0k7QUM1RlI7QUQrRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjUjNtQkM7QVM4Z0JUOztBRGlHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDOUZKOztBRGlHQTtFUGhyQkk7RUFDQTtFQUNBLHNCTytxQmU7RVAzcUJmLHVCTzRxQmtCO0VQM3FCbEIsbUJPMnFCMEI7RUFDMUI7RUFDQTtFQUNBO0VBQ0E7QUMzRko7QUQ2Rkk7RUFDSTtBQzNGUjtBRDhGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzVGUixDOzs7O0FDcG1CQTtFQUNJO0FDRko7O0FESUE7RUFDSTtFQUNBO0FDREo7QURHSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FDRFI7QURHUTtFQUNJLGlCVmJTO0FXWXJCO0FES0k7RUFDSTtFQUNBO0VBQ0E7QUNIUjs7QURTSTtFQUNJO0FDTlI7QURRUTtFQUNJLGNWK0NKO0FXckRSO0FEVUk7RUFDSTtBQ1JSO0FEVVE7RUFDSSxpQlZ0Q1M7QVc4QnJCOztBRFlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUNUSjs7QURjSTtFQUNJLGNWMkJBO0FXdENSOztBRGdCQTtFQUNJLGNWUEs7RUN0REw7RUFDQTtFQUNBLG1CUzREZTtFVHhEZix1QlN5RGtCO0VUeERsQixtQlN3RDBCO0FDVjlCO0FEWUk7RUFDSTtFQUNBO0FDVlI7O0FEY0E7RUFDSTtFQUNBO0VBQ0E7QUNYSjs7QURjQTtFVDdFSTtFQUNBO0VBQ0EsbUJTNEVlO0VUeEVmLHVCU3lFa0I7RVR4RWxCLG1CU3dFMEI7RUFDMUI7QUNSSjs7QURXQTtFQUNJO0VBQ0EsY1ZMSTtBV0hSOztBRFdBO0VBQ0k7RUFDQSxjVmhESTtFVWlESjtFQUNBO0FDUko7O0FEV0E7RUFDSTtFQUNBLGNWMUNLO0FXa0NUOztBRFdBO0VBQ0k7QUNSSjs7QURXQTtFQUNJO0VBQ0EsaUJWdkdpQjtBVytGckI7O0FEV0E7RUFDSSx5QlY5Qkk7QVdzQlI7O0FEV0E7RUFDSSx5QlYzRUk7RVU0RUo7QUNSSjs7QURXQTtFQUNJO0VBQ0EsY1ZsRUs7RVVtRUw7RUFDQTtBQ1JKOztBRFdBO0VBQ0k7RUFDQSxjVi9DSTtFVWdESjtFQUNBO0FDUko7O0FEV0E7RUFDSTtFQUNBLGNWOUZJO0VVK0ZKO0VBQ0E7QUNSSjs7QURZQTtFQUNJLHlCVnhGSztFVXlGTDtBQ1RKOztBRGFBO0VBQ0kseUJWNUZLO0FXa0ZUOztBRGFBO0VBQ0kseUJWaEdLO0VVaUdMO0FDVko7QURXSTtFQUNJLGlCVnZKYTtBVzhJckI7O0FEYUE7RUFDSSx5QlYvRUk7RVVnRko7QUNWSjtBRFlJO0VBQ0ksaUJWaEthO0FXc0pyQjs7QURjQTtFQUNJLHlCVmxISztFVW1ITCxpQlZ0S2lCO0VVdUtqQjtFQUNBO0FDWEo7O0FEY0E7RUFDSTtFQUNBO0VBQ0EsY1Y3SEs7RVU4SEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ1hKOztBRGNBO0VBQ0kseUJWdElLO0VVdUlMO0FDWEo7O0FEY0E7RUFDSSx5QlZ2Skk7RVV3Sko7QUNYSjs7QURhQTtFQUNJLHlCVm5ISTtFVW9ISjtBQ1ZKOztBRGFBO0VUdk1JO0VBQ0E7RUFDQSxtQlNzTWU7RVRsTWYseUJTbU1rQjtFVGxNbEIsbUJTa000QjtFQUM1QjtFQUNBO0FDUEosQzs7OztBQ2xNQTtBQVdBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNiSjtBRGVJO0VBQ0ksY1orQkM7RVk5QkQ7QUNiUjs7QURnQkE7RUFDSTtBQ2JKOztBRGdCQTtFQUNJO0FDYko7O0FEZ0JBO0VBQ0k7RUFDQTtBQ2JKOztBRGdCQTtFQUNJO0FDYko7O0FEZ0JBO0VBQ0k7QUNiSjs7QURnQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDYko7O0FEZ0JBO0VBQ0ksY1pISztFWUlMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNiSjs7QURnQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDYko7O0FEZ0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2JKOztBRGdCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDYko7QURlSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNiUjtBRGdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FDZFI7QURpQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2ZSO0FEaUJRO0VBQ0k7RUFDQTtBQ2ZaO0FEbUJRO0VYNUhKO0VBQ0E7RUFDQSxtQlcySHVCO0VYdkh2Qix5Qld3SDBCO0VYdkgxQixtQld1SG9DO0VBQzVCO0FDZFo7QURnQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNaL0VQO0FhaUVUO0FEaUJZO0VBQ0ksY1pwRlA7RVlxRk87RUFDQTtBQ2ZoQjtBRGlCZ0I7RUFDSTtBQ2ZwQjtBRG9CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FDbEJaO0FEcUJRO0VBQ0k7RUFDQTtBQ25CWjtBRHNCUTtFQUNJO0FDcEJaO0FEdUJRO0VBQ0k7RUFDQTtBQ3JCWjtBRHlCSTtFQUNJO0VBQ0E7RUFDQSx5Qlp0SEM7RVl1SEQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUN2QlI7QUR5QlE7RUFDSTtFQUNBO0FDdkJaOztBRDZCQTtFQUNJO0VBQ0EseUJBeExXO0VBeUxYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDMUJKO0FENEJJO0VBQ0k7QUMxQlIsQzs7OztBQ3ZLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FDbEJKO0FEcUJJO0VBQ0UsY0FyQlM7RUFzQlQ7RUFDQTtBQ25CTjtBRHdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUN0QlI7QUR5Qkk7RUFDRTtFQUNBO0VBQ0EsbUJBbENHO0VBbUNIO0VBQ0EseUNBbkNHO0VBb0NIO0VBQ0E7RUFDQTtFQUNBO0FDdkJOO0FENkJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUMzQk47QUQ2Qk07RUFDRTtBQzNCUjtBRDRCUTtFQUNFO0FDMUJWO0FEOEJNO0VBQ0UseUJBaEVPO0VBaUVQO0VBQ0EsbUJBOURDO0VBK0REO0FDNUJSO0FENkJRO0VBQ0U7QUMzQlY7QUQrQk07RUFDRTtFQUNBO0VBQ0E7RUFDQSxjQTlFTztBQ2lEZjtBRG9DSTtFQUNFO0VBQ0E7RUFDQTtBQ2xDTjtBRG9DTTtFQUNFLHlCQXpGVTtFQTBGVjtFQUNBO0VBQ0EsbUJBekZDO0FDdURUO0FEb0NRO0VBQ0U7QUNsQ1Y7QUQwQ0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CQXpHRztBQ2lFVDtBRDBDTTtFQUNFO0VBQ0E7QUN4Q1I7QUQrQ0k7RUFDRSx5QkF2SGU7RUF3SGYsbUJBdEhHO0VBdUhIO0VBQ0E7RUFDQTtBQzdDTjtBRG9ETTtFQUNFO0VBQ0E7QUNsRFI7QURvRFE7RUFDRTtFQUNBO0VBQ0EsbUJBdklEO0VBd0lDO0VBQ0E7QUNsRFY7O0FEK0RBO0VBQ0U7SUFDRTtFQzVERjtFRCtEQTtJQUNFO0VDN0RGO0FBQ0YsQzs7OztBQ3ZHQTtFZkhJO0VBQ0E7RUFDQSxtQmVFZTtFZkVmLDhCZURrQjtFZkVsQixtQmVGaUM7RUFDakM7QUNBSjtBREVJO0VBQ0k7RUFDQTtBQ0FSO0FER0k7RWZiQTtFQUNBO0VBQ0EsbUJlWW1CO0VmUm5CLDhCZVNzQjtFZlJ0QixtQmVRcUM7RUFDakM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0VSO0FEQ0k7RUFDSSx5QmhCaUJBO0VnQmhCQTtBQ0NSOztBREdBO0VBQ0k7QUNBSjtBREVJO0VBQ0k7RUFDQSxjaEJxQkM7RWdCcEJEO0FDQVI7QURHSTtFQUNJO0FDRFI7QURJSTtFZjFDQTtFQUNBO0VBQ0EsbUJleUNtQjtFZnJDbkIsdUJlc0NzQjtFZnJDdEIsbUJlcUM4QjtFQUMxQjtBQ0NSO0FEQ1E7RUFDSTtFQUNBO0FDQ1o7QURHSTtFZnJEQTtFQUNBO0VBQ0EsbUJlb0RtQjtFZmhEbkIsMkJlaURzQjtFZmhEdEIsbUJlZ0RrQztFQUM5QixjaEJ3QkE7QWlCdEJSO0FEQ0k7RUFDSTtBQ0NSO0FERUk7RWYvREE7RUFDQTtFQUNBLHNCZThEbUI7RWYxRG5CLHVCZTJEc0I7RWYxRHRCLG1CZTBEOEI7RUFDMUI7QUNHUjtBRERRO0VBQ0k7QUNHWjtBREVJO0VBQ0k7QUNBUixDOzs7O0FDNUVBO0FBQUE7O2lDQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0VKOztBRENBO0VBQ0k7RUFDQTtBQ0VKOztBREVBO0FBQ0E7RUFDSTtBQ0NKOztBRENBO0VBQ0k7RUFDQTtBQ0VKOztBRENBOztpQ0FBQTtBQUdBO0VBQ0k7RUFDQTtBQ0VKO0FEQUk7RUFDSTtBQ0VSO0FEQ0k7RUFDSTtBQ0NSOztBRElBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0RKOztBRElBO0VBQ0k7QUNESjs7QURJQTs7aUNBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNESjs7QURJQTtFQUNJO0FDREo7O0FESUE7RUFDSTtBQ0RKOztBRElBO0VBQ0k7QUNESjs7QURJQTtFQUNJO0FDREo7O0FESUE7O2lDQUFBO0FBR0E7RUFDSTtBQ0RKOztBRElBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUNESjs7QURJQTtFQUNJO0VBQ0E7RUFDQTtBQ0RKOztBRElBO0VBQ0k7RUFDQTtFQUNBO0FDREo7O0FESUE7O2lDQUFBO0FBR0E7RUFDSTtFQUNBO0FDREo7O0FESUE7RUFDSTtBQ0RKOztBRElBOztpQ0FBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0RKOztBRElBO0VBQ0k7RUFDQTtBQ0RKOztBREtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDRko7O0FES0E7QUFDQTtFQUNJO0FDRkosQzs7OztBQ3RLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VuQk5BO0VBQ0E7RUFDQSxzQm1CS2U7RUFDZjtFQUNBO0VBQ0E7RUEwREE7QUN6REo7QURDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFlwQmRXO0VvQmVYO0VBQ0E7QUNDUjtBREVJO0VuQnJCQTtFQUNBO0VBQ0EsbUJtQm9CbUI7RW5CaEJuQix1Qm1CaUJzQjtFbkJoQnRCLG1CbUJnQjhCO0FDR2xDO0FERFE7RW5CekJKO0VBQ0E7RUFDQSxzQm1Cd0J1QjtFbkJwQnZCLDJCbUJxQjBCO0VuQnBCMUIsbUJtQm9Cc0M7RUFDOUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNNWjtBREpZO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsaUJwQnJDSztBcUIyQ3JCO0FESFk7RUFDSTtFQUNBO0FDS2hCO0FESGdCO0VBQ0ksaUJwQjdDQztBcUJrRHJCO0FERFk7RUFDSTtFQUNBO0FDR2hCO0FERVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDQVo7QURLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0hSO0FEUVE7RUFDSSxhcEJ0Q0o7QXFCZ0NSO0FEUVk7RUFFSTtBQ1BoQjtBRGNRO0VBQ0k7QUNaWjtBRGFZO0VBRUk7QUNaaEI7QURpQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDZlI7QURpQlE7RW5CNUdKO0VBQ0E7RUFDQSxtQm1CMkd1QjtFbkJ2R3ZCLDZCbUJ3RzBCO0VuQnZHMUIsbUJtQnVHd0M7RUFDaEM7QUNaWjtBRGNZO0VBQ0ksaUJwQi9HSztFb0JnSEw7RUFDQTtBQ1poQjtBRGNnQjtFQUNJLGlCcEJwSEM7QXFCd0dyQjtBRGVZO0VBQ0k7RUFDQTtBQ2JoQjs7QURvQkE7RW5CbklJO0VBQ0E7RUFDQSxtQm1Ca0llO0VuQjlIZix1Qm1CK0hrQjtFbkI5SGxCLG1CbUI4SDBCO0VBQzFCO0VBQ0E7RUFDQTtFQUNBO0FDZEo7QURnQkk7RW5CM0lBO0VBQ0E7RUFDQSxzQm1CMEltQjtFbkJ0SW5CLHVCbUJ1SXNCO0VuQnRJdEIsbUJtQnNJOEI7RUFDMUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDWFI7QURhUTtFQUNJLGNwQjNHSjtBcUJnR1I7QURjUTtFQUNJLGNwQm5HSDtFb0JvR0c7RUFDQTtFQUNBO0FDWlo7QURlUTtFQUNJLGNwQnRISjtFb0J1SEk7QUNiWjtBRGVZO0VBQ0kseUJwQjFIUjtFb0IySFE7QUNiaEI7O0FEbUJBO0VuQjVLSTtFQUNBO0VBQ0Esc0JtQjJLZTtFbkJ2S2YsOEJtQndLa0I7RW5CdktsQixtQm1CdUtpQztFQUNqQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNiSjtBRGVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUNiUjtBRGVJO0VBQ0k7RUFDQTtFQUNBLFlwQjdMVztFb0I4TFg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2JSO0FEZUk7RUFDSTtBQ2JSO0FEZ0JJO0VuQjFNQTtFQUNBO0VBQ0EsbUJtQnlNbUI7RW5Cck1uQix1Qm1Cc01zQjtFbkJyTXRCLG1CbUJxTThCO0VBQzFCO0FDWFI7QURhUTtFQUNJO0VBQ0E7RUFDQTtBQ1haOztBRGdCQTtFbkJ2Tkk7RUFDQTtFQUNBLG1CbUJzTmU7RW5CbE5mLDhCbUJtTmtCO0VuQmxObEIsbUJtQmtOaUM7RUFDakM7RUFDQSx1QnBCek5lO0VvQjBOZjtBQ1ZKOztBRGFBO0VuQi9OSTtFQUNBO0VBQ0Esc0JtQjhOZTtFbkIxTmYsOEJtQjJOa0I7RW5CMU5sQixtQm1CME5pQztFQUNqQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDUEo7QURTSTtFQUNJO0VBQ0E7RUFDQTtBQ1BSLEM7Ozs7QUM5TkE7QUFDQTtFQUNJO0VBQ0E7QUNOSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9ub3JtYWxpemUuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL1Byb2pldCUyMFNlcHRlbnRyaW9uL0FwcGxpY2F0aW9uL0VkaW5vdmEvYXNzZXRzL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL1Byb2pldCUyMFNlcHRlbnRyaW9uL0FwcGxpY2F0aW9uL0VkaW5vdmEvYXNzZXRzL3N0eWxlcy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zaG93UGFnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9Qcm9qZXQlMjBTZXB0ZW50cmlvbi9BcHBsaWNhdGlvbi9FZGlub3ZhL2Fzc2V0cy9zdHlsZXMvc2hvd1BhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2xpc3RlUGFnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9Qcm9qZXQlMjBTZXB0ZW50cmlvbi9BcHBsaWNhdGlvbi9FZGlub3ZhL2Fzc2V0cy9zdHlsZXMvbGlzdGVQYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9tb2R1bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL1Byb2pldCUyMFNlcHRlbnRyaW9uL0FwcGxpY2F0aW9uL0VkaW5vdmEvYXNzZXRzL3N0eWxlcy9tb2R1bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL1Byb2pldCUyMFNlcHRlbnRyaW9uL0FwcGxpY2F0aW9uL0VkaW5vdmEvYXNzZXRzL3N0eWxlcy9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9rYW5iYW4uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vUHJvamV0JTIwU2VwdGVudHJpb24vQXBwbGljYXRpb24vRWRpbm92YS9hc3NldHMvc3R5bGVzL2thbmJhbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZGVicmllZmluZy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9Qcm9qZXQlMjBTZXB0ZW50cmlvbi9BcHBsaWNhdGlvbi9FZGlub3ZhL2Fzc2V0cy9zdHlsZXMvZGVicmllZmluZy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbWFpbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vUHJvamV0JTIwU2VwdGVudHJpb24vQXBwbGljYXRpb24vRWRpbm92YS9hc3NldHMvc3R5bGVzL21haWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9ub3RpZmljYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL1Byb2pldCUyMFNlcHRlbnRyaW9uL0FwcGxpY2F0aW9uL0VkaW5vdmEvYXNzZXRzL3N0eWxlcy9ub3RpZmljYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9mcm9udFBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vUHJvamV0JTIwU2VwdGVudHJpb24vQXBwbGljYXRpb24vRWRpbm92YS9hc3NldHMvc3R5bGVzL2Zyb250UGFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9Qcm9qZXQlMjBTZXB0ZW50cmlvbi9BcHBsaWNhdGlvbi9FZGlub3ZhL2Fzc2V0cy9zdHlsZXMvYW5pbWF0aW9ucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG4gaHRtbCB7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qIFNlY3Rpb25zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgYm9keSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gICAqL1xyXG4gIFxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcclxuICB9XHJcbiAgXHJcbiAgLyogR3JvdXBpbmcgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICAgKi9cclxuICBcclxuICBociB7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gICAgaGVpZ2h0OiAwOyAvKiAxICovXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuICBcclxuICBwcmUge1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gICAqL1xyXG4gIFxyXG4gIGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBhYmJyW3RpdGxlXSB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYixcclxuICBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgY29kZSxcclxuICBrYmQsXHJcbiAgc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIHNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuICAgKiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgc3ViLFxyXG4gIHN1cCB7XHJcbiAgICBmb250LXNpemU6IDc1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuICBcclxuICBzdWIge1xyXG4gICAgYm90dG9tOiAtMC4yNWVtO1xyXG4gIH1cclxuICBcclxuICBzdXAge1xyXG4gICAgdG9wOiAtMC41ZW07XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXHJcbiAgICovXHJcbiAgXHJcbiAgaW1nIHtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyogRm9ybXNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBidXR0b24sXHJcbiAgaW5wdXQsXHJcbiAgb3B0Z3JvdXAsXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXHJcbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAgICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuICAgKi9cclxuICBcclxuICBidXR0b24sXHJcbiAgaW5wdXQgeyAvKiAxICovXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXHJcbiAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gICAqL1xyXG4gIFxyXG4gIGJ1dHRvbixcclxuICBzZWxlY3QgeyAvKiAxICovXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBidXR0b24sXHJcbiAgW3R5cGU9XCJidXR0b25cIl0sXHJcbiAgW3R5cGU9XCJyZXNldFwiXSxcclxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICAgKi9cclxuICBcclxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcclxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAgICovXHJcbiAgXHJcbiAgZmllbGRzZXQge1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgbGVnZW5kIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXHJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiAzICovXHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbiAgICovXHJcbiAgXHJcbiAgcHJvZ3Jlc3Mge1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICAgKi9cclxuICBcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gICAqL1xyXG4gIFxyXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuICAgKi9cclxuICBcclxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxyXG4gICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gICAqL1xyXG4gIFxyXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAgICovXHJcbiAgXHJcbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qIEludGVyYWN0aXZlXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcbiAgICovXHJcbiAgXHJcbiAgZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgXHJcbiAgLypcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgfVxyXG4gIFxyXG4gIC8qIE1pc2NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICAgKi9cclxuICBcclxuICB0ZW1wbGF0ZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cclxuICAgKi9cclxuICBcclxuICBbaGlkZGVuXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH0iLCJAaW1wb3J0IFwiLi4vc3R5bGVzL21peGlucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzXCI7XG5cblxuLy8gR0VORVJBTCBTVFlMRVNcblxuKiB7XG4gICAgZm9udC1mYW1pbHk6IFwiSW5jbHVzaXZlIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuYm9keSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuYXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxudWx7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG59XG5cbmgxe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBjb2xvcjogJHJvdWdlODtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAubWFpblRpdGxle1xuICAgICAgICB3aWR0aDo4MCU7XG4gICAgICAgIHRleHQtanVzdGlmeTogYXV0bztcbiAgICB9XG59XG5cbi5saW5rUm93e1xuICAgIGNvbG9yOiByZ2IoNDAsIDQwLCA0MCk7XG59XG5cbi5ib2xkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucmVsYXRpdmV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3VidGl0bGV7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBhe1xuICAgICAgICBjb2xvcjogcmdiKDg1LCA4NSwgODUpO1xuICAgIH1cblxuICAgIGE6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkYmxldTY7XG4gICAgfVxufVxuXG4uc2hvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvKiBvdSBmbGV4LCB0YWJsZSwgc2Vsb24gbGUgY29udGV4dGUgKi9cbn1cblxuXG4uaW5Sb3d7XG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1hcm91bmQsIGNlbnRlcik7XG59XG4uaW5Db2x1bW57XG4gICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuLmZ1bGxXaWR0aHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XG59XG5cbi5zdGF0dXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLWlubGluZTogMjVweDtcbiAgICB0ZXh0LXNoYWRvdzogbGlnaHRncmF5IDFweCAycHggN3B4O1xuXG4gICAgJi5wcm9wb3NpdGlvbnsgY29sb3I6ICRzdGF0dXMxOyB9XG4gICAgJi5leHBlcnRpc2V7IGNvbG9yOiAkc3RhdHVzMjsgfVxuICAgICYucmVtYW5pZW1lbnR7IGNvbG9yOiAkc3RhdHVzMzsgfVxuICAgICYuQlBBR3sgY29sb3I6ICRzdGF0dXM0OyB9XG4gICAgJi5yZWd1bEJQQUd7IGNvbG9yOiAkc3RhdHVzNTsgfVxuICAgICYudmFsaWRhdGlvbkFHeyBjb2xvcjogJHN0YXR1czY7IH1cbiAgICAmLnBhcnV7IGNvbG9yOiAkc3RhdHVzNzsgfVxuICAgICYuSEFHeyBjb2xvcjogJHN0YXR1czg7IH1cbiAgICAmLm1lbW9pcmV7IGNvbG9yOiAkc3RhdHVzOTsgfVxuICAgICYucmVmdXNleyBjb2xvcjogJHN0YXR1czEwOyB9XG4gICAgJi5hYmFuZG9ueyBjb2xvcjogJHN0YXR1czEwOyB9XG5cbn1cblxuLnNwYWNle1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGJvcmRlcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZWRpdW1CbG9je1xuICAgIHdpZHRoOiA0NSU7XG59XG5cbi5idG57XG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XG59XG5cbi5iYXNpY0luZm97XG4gICAgY29sb3I6IHJnYig5MCwgOTAsIDkwKTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xufVxuXG4uYmFzaWNCdG57XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4ICRzaGFkb3dDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuXG4uYmFzaWNCdG46aG92ZXJ7XG4gICAgY29sb3I6ICRibGV1NztcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4ICRibGV1NjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuLy8gRElTUExBWSBFTEVNRU5UU1xudWwsIG5hdiwgLnNlYXJjaENvbnRhaW5lcntcbiAgICBAaW5jbHVkZSBkRmxleChyb3cpO1xuICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG59XG5cblxuLy8gICAgICBOQVZCQVIgU1RZTEVTXG5cbm5hdntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRzaGFkb3dDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuICAgIHBhZGRpbmctYmxvY2s6IDEwcHg7XG4gICAgXG4gICAgLmNhc3VhbEJ0bntcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHggMXB4O1xuXG4gICAgICAgIGRpdntcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6IHJnYig1MCwgNTAsIDUwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6aG92ZXJ7XG4gICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggJGJsZXU3KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgICAubmF2QmFye1xuICAgICAgICBAaW5jbHVkZSBkRmxleChyb3cpO1xuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xuXG4gICAgICAgIFxuICAgICAgICA+ZGl2e1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogMTBweDsgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5sb2dpbkNvbnRhaW5lcntcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDIwcHg7IFxuICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHNwYW57XG5cbiAgICAgICAgICAgICAgICA+YXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC51c2VyUHJvZmlse1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICAubG9nb3V0QnRue1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAzcHggcmdiKDUwLCA1MCwgNTApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJvdWdlNztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGE6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm91Z2U3O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCA1cHggJHNoYWRvd0NvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4+YTpob3ZlcntcbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDdweCAycHggcmdiKDE2OSwgMTY5LCAxNjkpKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGFya01vZGU6aG92ZXJ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgc2NhbGU6IDEuMjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgfVxuICAgIFxufVxuXG5cbi8vICAgICAgU0lERUJBUiBTVFlMRVNcblxuLnNpZGVCYXJ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxNSU7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNWRlZywgYmxhY2ssIHJnYig2NSwgMTE1LCAxMTUpKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTNweCA0cHggcmdiKDEwMywgMTAzLCAxMDMpO1xuICAgIGhlaWdodDogOTJ2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctYmxvY2s6IDEwdmggMTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLm5hdmlnYXRpb24gdWwge1xuICAgICAgICBAaW5jbHVkZSBkRmxleChjb2x1bW4pO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICB1bD5saXtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG5cbiAgICAgICAgYXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgXG4gICAgI3RvZ2dsZURyb3BEb3duLCAjYm9va0Ryb3BEb3due1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgfVxuXG4gICAgLmFib3V0Q29udGFpbmVye1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiKDE5MCwgMTkwLCAxOTApO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICAgICBzcGFuPmF7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBjb2xvcjogcmdiKDE1NSwgMTU1LCAxNTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bntcbiAgICAgICAgQGluY2x1ZGUgc2lkZUJhckJ0bjtcbiAgICB9XG5cbiAgICAuZHJvcERvd25CdG4sIC5ib29rRHJvcERvd25CdG57XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5kcm9wRG93bkJ0bi5mbGV4LCAuYm9va0Ryb3BEb3duQnRuLmZsZXh7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICBzcGFuLCBzdmd7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgI3RvZ2dsZURyb3BEb3duLCAjYm9va0Ryb3BEb3due1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIFxuICAgIC5mb2N1c1BhZ2V7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNWRlZywgJGJsZXU3LCAkc2Vjb25kYXJ5Q29sb3IpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgICAgICBcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2lkZUJhciAubmF2aWdhdGlvbntcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cblxuXG5cblxuLy8gTWFpbiBzdHlsZXNcbm1haW57XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaW5jbHVkZSBkRmxleChjb2x1bW4pO1xuICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWFyb3VuZCwgY2VudGVyKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHZoO1xuICAgIGxlZnQ6IDE1LjV2dztcbiAgICAvLyB3aWR0aDogODUlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbn1cblxuLmJ0bkNvbnRhaW5lcntcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYXJjaFJlc3VsdHtcbiAgICB3aWR0aDogOTAlO1xufVxuXG4uZGlzcGxheU5vbmV7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG5cblxuIiwiKiB7XG4gIGZvbnQtZmFtaWx5OiBcIkluY2x1c2l2ZSBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuYm9keSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxudWwge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG59XG5cbmgxIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiA4NSU7XG4gIGNvbG9yOiAjNzcxMDAyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5oMSAubWFpblRpdGxlIHtcbiAgd2lkdGg6IDgwJTtcbiAgdGV4dC1qdXN0aWZ5OiBhdXRvO1xufVxuXG4ubGlua1JvdyB7XG4gIGNvbG9yOiByZ2IoNDAsIDQwLCA0MCk7XG59XG5cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN1YnRpdGxlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDI0cHg7XG59XG4uc3VidGl0bGUgYSB7XG4gIGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7XG59XG4uc3VidGl0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDdhNjlkO1xufVxuXG4uc2hvd24ge1xuICBkaXNwbGF5OiBibG9jazsgLyogb3UgZmxleCwgdGFibGUsIHNlbG9uIGxlIGNvbnRleHRlICovXG59XG5cbi5pblJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pbkNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmZ1bGxXaWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnN0YXR1cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luLWlubGluZTogMjVweDtcbiAgdGV4dC1zaGFkb3c6IGxpZ2h0Z3JheSAxcHggMnB4IDdweDtcbn1cbi5zdGF0dXMucHJvcG9zaXRpb24ge1xuICBjb2xvcjogI2U5MWUzMjtcbn1cbi5zdGF0dXMuZXhwZXJ0aXNlIHtcbiAgY29sb3I6ICNGRjU3MjI7XG59XG4uc3RhdHVzLnJlbWFuaWVtZW50IHtcbiAgY29sb3I6ICNGRjk4MDA7XG59XG4uc3RhdHVzLkJQQUcge1xuICBjb2xvcjogI2MxYjIyOTtcbn1cbi5zdGF0dXMucmVndWxCUEFHIHtcbiAgY29sb3I6ICM5N2E0MWQ7XG59XG4uc3RhdHVzLnZhbGlkYXRpb25BRyB7XG4gIGNvbG9yOiAjOEJDMzRBO1xufVxuLnN0YXR1cy5wYXJ1IHtcbiAgY29sb3I6ICMzMGEzMzQ7XG59XG4uc3RhdHVzLkhBRyB7XG4gIGNvbG9yOiAjMDA5Njg4O1xufVxuLnN0YXR1cy5tZW1vaXJlIHtcbiAgY29sb3I6ICM2YzdkN2Y7XG59XG4uc3RhdHVzLnJlZnVzZSB7XG4gIGNvbG9yOiAjNGM0YzRjO1xufVxuLnN0YXR1cy5hYmFuZG9uIHtcbiAgY29sb3I6ICM0YzRjNGM7XG59XG5cbi5zcGFjZSB7XG4gIHdpZHRoOiAxMHB4O1xuICBib3JkZXI6IHRyYW5zcGFyZW50O1xufVxuXG4ubWVkaXVtQmxvYyB7XG4gIHdpZHRoOiA0NSU7XG59XG5cbi5idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYmFzaWNJbmZvIHtcbiAgY29sb3I6IHJnYig5MCwgOTAsIDkwKTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xufVxuXG4uYmFzaWNCdG4ge1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCByZ2IoMjAsIDIwLCAyMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuLmJhc2ljQnRuOmhvdmVyIHtcbiAgY29sb3I6ICMwMDgxNzQ7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggIzA3YTY5ZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG5cbnVsLCBuYXYsIC5zZWFyY2hDb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxubmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYigyMCwgMjAsIDIwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmctYmxvY2s6IDEwcHg7XG59XG5uYXYgLmNhc3VhbEJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcGFkZGluZzogNXB4IDEwcHggMXB4O1xufVxubmF2IC5jYXN1YWxCdG4gZGl2IHtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbm5hdiAuY2FzdWFsQnRuIGEge1xuICBjb2xvcjogcmdiKDUwLCA1MCwgNTApO1xufVxubmF2IC5jYXN1YWxCdG4gYTpob3ZlciB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDJweCAjMDA4MTc0KTtcbn1cbm5hdiAubmF2QmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5uYXYgLm5hdkJhciA+IGRpdiB7XG4gIG1hcmdpbi1pbmxpbmU6IDEwcHg7XG59XG5uYXYgLm5hdkJhciAubG9naW5Db250YWluZXIge1xuICBtYXJnaW4taW5saW5lOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbm5hdiAubmF2QmFyIC5sb2dpbkNvbnRhaW5lciBzcGFuID4gYSB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cbm5hdiAubmF2QmFyIC5sb2dpbkNvbnRhaW5lciBzcGFuIC51c2VyUHJvZmlsIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxubmF2IC5uYXZCYXIgLmxvZ2luQ29udGFpbmVyIC5sb2dvdXRCdG4ge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDNweCByZ2IoNTAsIDUwLCA1MCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XG4gIHdpZHRoOiA0MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxubmF2IC5uYXZCYXIgLmxvZ2luQ29udGFpbmVyIC5sb2dvdXRCdG4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBjb2xvcjogI2I4MDgwYTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5uYXYgLm5hdkJhciAubG9naW5Db250YWluZXIgLmxvZ291dEJ0biBhIHN2ZyB7XG4gIG1hcmdpbi10b3A6IDdweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbm5hdiAubmF2QmFyIC5sb2dpbkNvbnRhaW5lciAubG9nb3V0QnRuIGE6aG92ZXIge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiODA4MGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDVweCByZ2IoMjAsIDIwLCAyMCk7XG59XG5uYXYgLmJ0biA+IGE6aG92ZXIgc3ZnIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDdweCAycHggcmdiKDE2OSwgMTY5LCAxNjkpKTtcbiAgbWFyZ2luLXRvcDogLTdweDtcbn1cbm5hdiAuZGFya01vZGU6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHNjYWxlOiAxLjI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuXG4uc2lkZUJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDE1JTtcbiAgb3BhY2l0eTogMC45O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzVkZWcsIGJsYWNrLCByZ2IoNjUsIDExNSwgMTE1KSk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDE1cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0zcHggNHB4IHJnYigxMDMsIDEwMywgMTAzKTtcbiAgaGVpZ2h0OiA5MnZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctYmxvY2s6IDEwdmggMTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5zaWRlQmFyIC5uYXZpZ2F0aW9uIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwO1xufVxuLnNpZGVCYXIgdWwgPiBsaSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogd2hpdGVzbW9rZTtcbn1cbi5zaWRlQmFyIHVsID4gbGkgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnNpZGVCYXIgI3RvZ2dsZURyb3BEb3duLCAuc2lkZUJhciAjYm9va0Ryb3BEb3duIHtcbiAgcGFkZGluZzogMTBweCAyNXB4O1xufVxuLnNpZGVCYXIgLmFib3V0Q29udGFpbmVyIHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYigxOTAsIDE5MCwgMTkwKTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG4uc2lkZUJhciAuYWJvdXRDb250YWluZXIgc3BhbiA+IGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiByZ2IoMTU1LCAxNTUsIDE1NSk7XG59XG4uc2lkZUJhciAuYnRuIGEge1xuICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogd2hpdGVzbW9rZTtcbiAgdHJhbnNpdGlvbjogYWxsLCAwLjhzO1xufVxuLnNpZGVCYXIgLmJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNWRlZywgIzAwODE3NCwgd2hpdGVzbW9rZSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGJsYWNrO1xufVxuLnNpZGVCYXIgLmJ0bjpob3ZlciBhIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLnNpZGVCYXIgLmRyb3BEb3duQnRuLCAuc2lkZUJhciAuYm9va0Ryb3BEb3duQnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaWRlQmFyIC5kcm9wRG93bkJ0bi5mbGV4LCAuc2lkZUJhciAuYm9va0Ryb3BEb3duQnRuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4uc2lkZUJhciAuZHJvcERvd25CdG4uZmxleCBzcGFuLCAuc2lkZUJhciAuZHJvcERvd25CdG4uZmxleCBzdmcsIC5zaWRlQmFyIC5ib29rRHJvcERvd25CdG4uZmxleCBzcGFuLCAuc2lkZUJhciAuYm9va0Ryb3BEb3duQnRuLmZsZXggc3ZnIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uc2lkZUJhciAjdG9nZ2xlRHJvcERvd24sIC5zaWRlQmFyICNib29rRHJvcERvd24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc2lkZUJhciAuZm9jdXNQYWdlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDM1ZGVnLCAjMDA4MTc0LCB3aGl0ZXNtb2tlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogYmxhY2s7XG59XG4uc2lkZUJhciAuZm9jdXNQYWdlIGEge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5zaWRlQmFyIC5uYXZpZ2F0aW9uIHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxubWFpbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHZoO1xuICBsZWZ0OiAxNS41dnc7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5idG5Db250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYXJjaFJlc3VsdCB7XG4gIHdpZHRoOiA5MCU7XG59XG5cbi5kaXNwbGF5Tm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLy8gSWRlbnRpdMOpIGdyYXBoaXF1ZVxyXG5cclxuLy8gTGlnaHQgTW9kZVxyXG4gICAgJHByaW1hcnlDb2xvcjogd2hpdGUgO1xyXG4gICAgJHNlY29uZGFyeUNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgJHRlcnRpYXJ5Q29sb3I6IHJnYigyMjAsIDIyMCwgMjIwKTtcclxuICAgICR0ZXh0Q29sb3I6IGJsYWNrO1xyXG4gICAgJHNoYWRvd0NvbG9yOiByZ2IoMjAsIDIwLCAyMCk7XHJcblxyXG5cclxuLy8gRGFyayBNb2RlXHJcbiAgICAkcHJpbWFyeUNvbG9yRGFyazogcmdiKDMwLCAzMCwgMzApIDtcclxuICAgICRzZWNvbmRhcnlDb2xvckRhcms6IHJnYig2MCwgNjAsIDYwKTtcclxuICAgICR0ZXJ0aWFyeUNvbG9yRGFyazogcmdiKDEwMCwgMTAwLCAxMDApO1xyXG4gICAgJHRleHRDb2xvckRhcms6IHdoaXRlc21va2U7XHJcbiAgICAkc2hhZG93Q29sb3JEYXJrOiB3aGl0ZXNtb2tlO1xyXG5cclxuXHJcbi8vIENvbGxlY3Rpb24gTGl0dMOpcmF0dXJlcyBldCBQaGlsb3NvcGhpZVxyXG5cclxuJGdhbW1lMTogI2IxNTcwMDtcclxuJGdhbW1lMjogI2NkNmYwMTtcclxuJGdhbW1lMzogI2U4OTEwMDtcclxuJGdhbW1lNDogI2Y4YTUwMjtcclxuJGdhbW1lNTogI2ZiYjkwYztcclxuJGdhbW1lNjogI2Y4YzgyZDtcclxuJGdhbW1lNzogI2ZiZWE1MTtcclxuJGdhbW1lODogI2ZiZDM1ZDtcclxuJGdhbW1lOTogI2Y0YTcyZDtcclxuJGdhbW1lMTA6ICNmMTdmMWE7XHJcbiRnYW1tZTExOiAjZWU2MTAyO1xyXG4kZ2FtbWUxMjogI2Q1NDIwMTtcclxuJGdhbW1lMTM6ICNjNDJjMDU7XHJcbiRnYW1tZTE0OiAjYWEyMDA0O1xyXG5cclxuLy8gQ29sbGVjdGlvbiDDqWR1Y2F0aW9uLCBmb3JtYXRpb24gZXQgY29tbXVuaWNhdGlvblxyXG5cclxuJGJsZXUxOiAjMjcyYzg2O1xyXG4kYmxldTI6ICMwNzVjYTY7XHJcbiRibGV1MzogIzI0OTVkMDtcclxuJGJsZXU0OiAjNmViZGM4O1xyXG4kYmxldTU6ICM3M2MxYjE7XHJcbiRibGV1NjogIzA3YTY5ZDtcclxuJGJsZXU3OiAjMDA4MTc0O1xyXG4kYmxldTg6ICMwMDVhNTE7XHJcblxyXG5cclxuLy8gQ29sbGVjdGlvbiBTb2Npw6l0w6lzIGV0IHByb2Jsw6htZXMgY29tdGVtcG9yYWluc1xyXG5cclxuJHJvdWdlMTogIzcyMWYyYTtcclxuJHJvdWdlMjogI2E2MjEyZDtcclxuJHJvdWdlMzogI2Q3MzI0MDtcclxuJHJvdWdlNDogI2ViNWY0ZTtcclxuJHJvdWdlNTogI2U5NDYyYztcclxuJHJvdWdlNjogI2U3MGQwZDtcclxuJHJvdWdlNzogI2I4MDgwYTtcclxuJHJvdWdlODogIzc3MTAwMjtcclxuJHJvdWdlOTogIzQxMGQwMDtcclxuXHJcblxyXG4vLyBDb2xsZWN0aW9uIEFydHMsIEN1bHR1cmVzIG1hdMOpcmllbGxlcyBldCBQYXRyaW1vaW5lc1xyXG5cclxuJHZpb2xldDE6ICM3MDEzNjk7XHJcbiR2aW9sZXQyOiAjOTQxNDgwO1xyXG4kdmlvbGV0MzogI2E1NDY5MztcclxuJHZpb2xldDQ6ICNjMTY4YTU7XHJcbiR2aW9sZXQ1OiAjZDg5OGMwO1xyXG4kdmlvbGV0NjogI2U4YTBiYjtcclxuJHZpb2xldDc6ICNlOThhYTI7XHJcbiR2aW9sZXQ4OiAjZWM2Yjg2O1xyXG4kdmlvbGV0OTogI2U5NDA3YztcclxuJHZpb2xldDEwOiAjY2IwZDYwO1xyXG4kdmlvbGV0MTE6ICNhMDA0Mzk7XHJcblxyXG4vLyBDb2xsZWN0aW9uIFRlbXBzICYgU29jacOpdMOpc1xyXG5cclxuJHZlcnQxOiAjMDI3MzUwO1xyXG4kdmVydDI6ICMwMDk2NjE7XHJcbiR2ZXJ0MzogIzcyYmI3MTtcclxuJHZlcnQ0OiAjYTZjZTdhO1xyXG4kdmVydDU6ICM4NmMwNTQ7XHJcbiR2ZXJ0NjogIzYyYjEyMjtcclxuJHZlcnQ3OiAjNDg5MjFmO1xyXG4kdmVydDg6ICMyYzZkMTc7XHJcblxyXG5cclxuJHN0YXR1czE6ICNlOTFlMzI7XHJcbiRzdGF0dXMyOiAjRkY1NzIyO1xyXG4kc3RhdHVzMzogI0ZGOTgwMDtcclxuJHN0YXR1czQ6ICNjMWIyMjk7XHJcbiRzdGF0dXM1OiAjOTdhNDFkO1xyXG4kc3RhdHVzNjogIzhCQzM0QTtcclxuJHN0YXR1czc6ICMzMGEzMzQ7XHJcbiRzdGF0dXM4OiAjMDA5Njg4O1xyXG4kc3RhdHVzOTogIzZjN2Q3ZjtcclxuJHN0YXR1czEwOiAjNGM0YzRjOyIsIkBtaXhpbiBkRmxleCgkZGlyZWN0aW9uKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXJYWSgkWHMsICRZcykge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkWHM7XHJcbiAgICBhbGlnbi1pdGVtczogJFlzO1xyXG59XHJcblxyXG5AbWl4aW4gaWNvbkJ0biB7XHJcbiAgICBjb2xvcjogJHJvdWdlOTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2lkZUJhckJ0biB7XHJcbiAgICBhe1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCwgMC44cztcclxuICAgIH1cclxuICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDM1ZGVnLCAkYmxldTcsICRzZWNvbmRhcnlDb2xvcik7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBpbXBvcnQgXCIuLi9zdHlsZXMvbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXMuc2Nzc1wiO1xyXG5cclxuLyogQ29ycHMgZGUgcGFnZSAqL1xyXG5cclxuXHJcbi8qIFN0eWxlIGdsb2JhbCBwb3VyIGxlIGZvcm11bGFpcmUgKi9cclxubWFpbj5mb3JtIHtcclxuICAgIEBpbmNsdWRlIGRGbGV4KGNvbHVtbik7XHJcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XHJcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xyXG4gICAgbWluLXdpZHRoOiAzNTBweDtcclxuICAgIG1hcmdpbi1ibG9jazogNTBweDtcclxuICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDsgLyogQ29pbnMgYXJyb25kaXMgcGx1cyBwcm9ub25jw6lzICovXHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIE9tYnJlIHBsdXMgcHJvbm9uY8OpZSBwb3VyIHVuIGVmZmV0IGRlIFwiY2FydGVcIiAqL1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMzsgLyogQm9yZHVyZSBsw6lnw6hyZSBwb3VyIGxlIGNhZHJlICovXHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG5cclxuICAgID5kaXZ7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgIH1cclxufVxyXG5cclxuZm9ybTpob3ZlcixcclxuZm9ybTpmb2N1cy13aXRoaW4ge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgLyogRWZmZXQgem9vbSBsw6lnZXIgYXUgc3Vydm9sICovXHJcbn1cclxuXHJcblxyXG4vKiBTdHlsZSBkZXMgY2hhbXBzIGRlIGZvcm11bGFpcmUgKi9cclxuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5mb3JtIHNlbGVjdCxcclxuZm9ybSB0ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEycHggMTVweDtcclxuICAgIG1hcmdpbjogMTBweCAwIDMwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxufVxyXG5cclxuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcclxuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcclxuZm9ybSBzZWxlY3Q6Zm9jdXMsXHJcbmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkdmVydDQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoNzQsIDc2LCA3OCwgMC4yKTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFN0eWxlIGRlcyBsYWJlbHMgKi9cclxuZm9ybSBsYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG5cclxuLyogU3R5bGUgZGVzIGNoYW1wcyBtdWx0aXBsZXMgKHNlbGVjdCkgKi9cclxuLnNlbGVjdC1tdWx0aXBsZSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLnJhZGlvRm9ybXtcclxuXHJcbiAgICA+ZGl2e1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoY2VudGVyLCBjZW50ZXIpO1xyXG4gICAgICAgIG1hcmdpbi1ibG9jazogMTBweCAyNXB4O1xyXG5cclxuICAgICAgICA+bGFiZWx7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybVByb3RvdHlwZXtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi8qIE1lc3NhZ2VzIGQnZXJyZXVyIG91IGRlIHZhbGlkYXRpb24gKi9cclxuLmZvcm1FcnJvciB7XHJcbiAgICBjb2xvcjogI2RjMzU0NTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgXHJcbiAgICBwe1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXhpc3RpbmdVc2VyRm9ybXtcclxuICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShmbGV4LXN0YXJ0LCBjZW50ZXIpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICA+bGFiZWx7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFN0eWxlIHBlcnNvbm5hbGlzw6kgcG91ciBsZXMgY2FzZXMgw6AgY29jaGVyIGV0IGJvdXRvbnMgcmFkaW8gKi9cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgYWNjZW50LWNvbG9yOiAjMDA3YmZmOyAvKiBQZXJzb25uYWxpc2F0aW9uIGRlcyBjYXNlcyDDoCBjb2NoZXIgKi9cclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG59XHJcblxyXG4vKiBFZmZldCBwb3VyIGxlcyBncm91cGVzIGRlIGZvcm11bGFpcmUgKi9cclxuLmZvcm0tZ3JvdXAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLyogQWpvdXQgZCd1bmUgYmFycmUgZGUgcHJvZ3Jlc3Npb24gcG91ciBsZXMgw6l0YXBlcyBkdSBmb3JtdWxhaXJlICovXHJcbi5wcm9ncmVzcy1iYXIge1xyXG4gICAgaGVpZ2h0OiA2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2U7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG4ucHVibGljRm9ybUNvbnRhaW5lcntcclxuICAgIEBpbmNsdWRlIGRGbGV4KGNvbHVtbik7XHJcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShmbGV4LXN0YXJ0LCBjZW50ZXIpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBoMXtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjNlbTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgIH1cclxuICAgIC5idG57XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MCwgMjUwLCAyNTApO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcmVzZW50YXRpb25Gb3Jte1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAxMHZ3O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuOTtcclxuICAgIH1cclxuXHJcbiAgICAjZGlyZWN0ZXVycy1zdW1tYXJpZXN7XHJcblxyXG4gICAgICAgIC5kaXJlY3RldXItc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KGNvbHVtbik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUwLCAyNTAsIDI1MCk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggJHNoYWRvd0NvbG9yO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDFyZW07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG5cclxuICAgICAgICAgICAgLnN1bW1hcnktbWFpbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4zcmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYig0MCwgNDAsIDQwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN1bW1hcnktZm9uY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjRyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zdW1tYXJ5LXRhZ3Mge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNHJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJhZGdlLWFkaGVyZW50IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC44cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3VtLWZvbmN0aW9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YjhjZmI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5iYWRnZS1jb21pdGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJvdWdlODtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJhZGdlLWJpYmxpbyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxldTc7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zdW1tYXJ5LWFjdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLjdyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kaXJlY3RldXItc3VtbWFyeS52aXNpYmxlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIENhcnRlIHZpZGUgKi9cclxuICAgIC5kaXJlY3RldXItZW1wdHktbWVzc2FnZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBwb3VyIGxlcyBwZXRpdHMgw6ljcmFucyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIGZvcm0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXHJcbiAgICBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gICAgICBTRUFSQ0hCQVIgU1RZTEVTXHJcblxyXG4uc2VhcmNoQ29udGFpbmVyPmZvcm0+ZGl2e1xyXG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgXHJcbiAgICAuc2VhcmNoSW5wdXR7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTVweDtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjUsIDIyNSwgMjI1KTtcclxuICAgICAgICAvLyBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4ICRzaGFkb3dDb2xvcjtcclxuICAgIH1cclxuICAgIC5zZWFyY2hJbnB1dDpmb2N1c3tcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2hCdG57XHJcbiAgICAgICAgaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IGxpZ2h0Z3JheTtcclxuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTVweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgY29sb3I6ICRibGV1NztcclxuICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIH1cclxuICAgIC5zZWFyY2hCdG46aG92ZXJ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAkYmxldTY7XHJcbiAgICAgICAgY29sb3I6ICRibGV1NjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi8vICAgICAgU0VBUkNIQkFSIFNUWUxFU1xyXG5cclxuLnNlYXJjaENvbnRhaW5lcj5mb3Jte1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICA+ZGl2e1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoY2VudGVyLCBjZW50ZXIpO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAuc2VhcmNoSW5wdXR7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI1LCAyMjUsIDIyNSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy8gYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCAkc2hhZG93Q29sb3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoSW5wdXQ6Zm9jdXN7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgLnNlYXJjaEJ0bntcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCBsaWdodGdyYXk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsZXU3O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuc2VhcmNoQnRuOmhvdmVye1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4ICRibGV1NjtcclxuICAgICAgICAgICAgY29sb3I6ICRibGV1NjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZGVsZXRlRm9ybXtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4uZm9ybUNvbnRhaW5lcntcclxuICAgIHdpZHRoOiA4NSU7XHJcblxyXG4gICAgaDF7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgZm9ybXtcclxuXHJcbiAgICAgICAgLmVtYmVkZGVkRm9ybVRpdGxle1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMHB4IDEwMHB4IHJnYigyMDAsIDIwMCwgMjAwKSBpbnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZG93bmxvYWR7XHJcbiAgICBtYXJnaW4tYmxvY2s6IDI1cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogMC40KTtcclxufVxyXG4uZG93bmxvYWQ6aG92ZXJ7XHJcbiAgICBzY2FsZTogMS4xNTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCAwLjQgYmxhY2s7XHJcbn1cclxuXHJcbi5kb3dubG9hZEJveHtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG59XHJcblxyXG4jbmV3VGllcnNGb3JtQ29udGFpbmVye1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24tbGlzdCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcbi5zdWdnZXN0aW9uLWxpc3QgbGkge1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLnN1Z2dlc3Rpb24tbGlzdCBsaTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG59XHJcbi5maWx0ZXJze1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmZpbHRlckZvcm17XHJcbiAgICBAaW5jbHVkZSBkRmxleChjb2x1bW4pO1xyXG4gICAgQGluY2x1ZGUgY2VudGVyWFkoY2VudGVyLCBmbGV4LXN0YXJ0KTtcclxuICAgIGdhcDogMTBweDtcclxuXHJcbiAgICAuZmlsdGVyQm94e1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIGRpdntcclxuICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoZmxleC1zdGFydCwgY2VudGVyKTtcclxuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG5cclxuICAgICAgICAgICAgbGFiZWx7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsZXU4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzZWxlY3R7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxldTg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWx0ZXJCdG57XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShmbGV4LXN0YXJ0LCBjZW50ZXIpO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBDb3JwcyBkZSBwYWdlICovXG4vKiBTdHlsZSBnbG9iYWwgcG91ciBsZSBmb3JtdWxhaXJlICovXG5tYWluID4gZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1pbi13aWR0aDogMzUwcHg7XG4gIG1hcmdpbi1ibG9jazogNTBweDtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDsgLyogQ29pbnMgYXJyb25kaXMgcGx1cyBwcm9ub25jw6lzICovXG4gIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgLyogT21icmUgcGx1cyBwcm9ub25jw6llIHBvdXIgdW4gZWZmZXQgZGUgXCJjYXJ0ZVwiICovXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlM2UzZTM7IC8qIEJvcmR1cmUgbMOpZ8OocmUgcG91ciBsZSBjYWRyZSAqL1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxubWFpbiA+IGZvcm0gPiBkaXYge1xuICB3aWR0aDogODAlO1xufVxuXG5mb3JtOmhvdmVyLFxuZm9ybTpmb2N1cy13aXRoaW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyAvKiBFZmZldCB6b29tIGzDqWdlciBhdSBzdXJ2b2wgKi9cbn1cblxuLyogU3R5bGUgZGVzIGNoYW1wcyBkZSBmb3JtdWxhaXJlICovXG5mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG5mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG5mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbmZvcm0gaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0sXG5mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmZvcm0gc2VsZWN0LFxuZm9ybSB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gIG1hcmdpbjogMTBweCAwIDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG5mb3JtIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG5mb3JtIGlucHV0W3R5cGU9ZGF0ZV06Zm9jdXMsXG5mb3JtIHNlbGVjdDpmb2N1cyxcbmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNhNmNlN2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDc0LCA3NiwgNzgsIDAuMik7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFN0eWxlIGRlcyBsYWJlbHMgKi9cbmZvcm0gbGFiZWwge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiBTdHlsZSBkZXMgY2hhbXBzIG11bHRpcGxlcyAoc2VsZWN0KSAqL1xuLnNlbGVjdC1tdWx0aXBsZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogMTIwcHg7XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5yYWRpb0Zvcm0gPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYmxvY2s6IDEwcHggMjVweDtcbn1cbi5yYWRpb0Zvcm0gPiBkaXYgPiBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5mb3JtUHJvdG90eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLyogTWVzc2FnZXMgZCdlcnJldXIgb3UgZGUgdmFsaWRhdGlvbiAqL1xuLmZvcm1FcnJvciB7XG4gIGNvbG9yOiAjZGMzNTQ1O1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZm9ybUVycm9yIHAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmV4aXN0aW5nVXNlckZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5leGlzdGluZ1VzZXJGb3JtID4gbGFiZWwge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi8qIFN0eWxlIHBlcnNvbm5hbGlzw6kgcG91ciBsZXMgY2FzZXMgw6AgY29jaGVyIGV0IGJvdXRvbnMgcmFkaW8gKi9cbmlucHV0W3R5cGU9Y2hlY2tib3hdLFxuaW5wdXRbdHlwZT1yYWRpb10ge1xuICBhY2NlbnQtY29sb3I6ICMwMDdiZmY7IC8qIFBlcnNvbm5hbGlzYXRpb24gZGVzIGNhc2VzIMOgIGNvY2hlciAqL1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuXG4vKiBFZmZldCBwb3VyIGxlcyBncm91cGVzIGRlIGZvcm11bGFpcmUgKi9cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLyogQWpvdXQgZCd1bmUgYmFycmUgZGUgcHJvZ3Jlc3Npb24gcG91ciBsZXMgw6l0YXBlcyBkdSBmb3JtdWxhaXJlICovXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2U7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnB1YmxpY0Zvcm1Db250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgLyogQ2FydGUgdmlkZSAqL1xufVxuLnB1YmxpY0Zvcm1Db250YWluZXIgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMi4zZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5wdWJsaWNGb3JtQ29udGFpbmVyIC5idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUwLCAyNTAsIDI1MCk7XG59XG4ucHVibGljRm9ybUNvbnRhaW5lciAucHJlc2VudGF0aW9uRm9ybSB7XG4gIHBhZGRpbmctaW5saW5lOiAxMHZ3O1xuICBmb250LXNpemU6IDEuMWVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgb3BhY2l0eTogMC45O1xufVxuLnB1YmxpY0Zvcm1Db250YWluZXIgI2RpcmVjdGV1cnMtc3VtbWFyaWVzIC5kaXJlY3RldXItc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MCwgMjUwLCAyNTApO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYigyMCwgMjAsIDIwKTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbWFyZ2luLWJsb2NrOiAxcmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4ucHVibGljRm9ybUNvbnRhaW5lciAjZGlyZWN0ZXVycy1zdW1tYXJpZXMgLmRpcmVjdGV1ci1zdW1tYXJ5IC5zdW1tYXJ5LW1haW4ge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICBjb2xvcjogcmdiKDQwLCA0MCwgNDApO1xufVxuLnB1YmxpY0Zvcm1Db250YWluZXIgI2RpcmVjdGV1cnMtc3VtbWFyaWVzIC5kaXJlY3RldXItc3VtbWFyeSAuc3VtbWFyeS1mb25jdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbn1cbi5wdWJsaWNGb3JtQ29udGFpbmVyICNkaXJlY3RldXJzLXN1bW1hcmllcyAuZGlyZWN0ZXVyLXN1bW1hcnkgLnN1bW1hcnktdGFncyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAyMHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbn1cbi5wdWJsaWNGb3JtQ29udGFpbmVyICNkaXJlY3RldXJzLXN1bW1hcmllcyAuZGlyZWN0ZXVyLXN1bW1hcnkgLmJhZGdlLWFkaGVyZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDJweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLnB1YmxpY0Zvcm1Db250YWluZXIgI2RpcmVjdGV1cnMtc3VtbWFyaWVzIC5kaXJlY3RldXItc3VtbWFyeSAuc3VtLWZvbmN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRiOGNmYjtcbn1cbi5wdWJsaWNGb3JtQ29udGFpbmVyICNkaXJlY3RldXJzLXN1bW1hcmllcyAuZGlyZWN0ZXVyLXN1bW1hcnkgLmJhZGdlLWNvbWl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NzEwMDI7XG59XG4ucHVibGljRm9ybUNvbnRhaW5lciAjZGlyZWN0ZXVycy1zdW1tYXJpZXMgLmRpcmVjdGV1ci1zdW1tYXJ5IC5iYWRnZS1iaWJsaW8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MTc0O1xufVxuLnB1YmxpY0Zvcm1Db250YWluZXIgI2RpcmVjdGV1cnMtc3VtbWFyaWVzIC5kaXJlY3RldXItc3VtbWFyeSAuc3VtbWFyeS1hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMC43cmVtO1xufVxuLnB1YmxpY0Zvcm1Db250YWluZXIgI2RpcmVjdGV1cnMtc3VtbWFyaWVzIC5kaXJlY3RldXItc3VtbWFyeS52aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBvcGFjaXR5OiAxO1xufVxuLnB1YmxpY0Zvcm1Db250YWluZXIgLmRpcmVjdGV1ci1lbXB0eS1tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAzMHB4O1xuICBvcGFjaXR5OiAwLjc7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBwb3VyIGxlcyBwZXRpdHMgw6ljcmFucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGZvcm0ge1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cbiAgZm9ybSBidXR0b25bdHlwZT1zdWJtaXRdLFxuICBmb3JtIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICB9XG59XG4uc2VhcmNoQ29udGFpbmVyID4gZm9ybSA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG59XG4uc2VhcmNoQ29udGFpbmVyID4gZm9ybSA+IGRpdiAuc2VhcmNoSW5wdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxNXB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNXB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyNSwgMjI1LCAyMjUpO1xufVxuLnNlYXJjaENvbnRhaW5lciA+IGZvcm0gPiBkaXYgLnNlYXJjaElucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zZWFyY2hDb250YWluZXIgPiBmb3JtID4gZGl2IC5zZWFyY2hCdG4ge1xuICBoZWlnaHQ6IDI5cHg7XG4gIGJvcmRlcjogc29saWQgMXB4IGxpZ2h0Z3JheTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE1cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xuICBjb2xvcjogIzAwODE3NDtcbiAgcGFkZGluZzogMCA1cHg7XG59XG4uc2VhcmNoQ29udGFpbmVyID4gZm9ybSA+IGRpdiAuc2VhcmNoQnRuOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAjMDdhNjlkO1xuICBjb2xvcjogIzA3YTY5ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuXG4uc2VhcmNoQ29udGFpbmVyID4gZm9ybSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuLnNlYXJjaENvbnRhaW5lciA+IGZvcm0gPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xufVxuLnNlYXJjaENvbnRhaW5lciA+IGZvcm0gPiBkaXYgLnNlYXJjaElucHV0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDE1cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE1cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjUsIDIyNSwgMjI1KTtcbiAgbWFyZ2luOiAwO1xufVxuLnNlYXJjaENvbnRhaW5lciA+IGZvcm0gPiBkaXYgLnNlYXJjaElucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zZWFyY2hDb250YWluZXIgPiBmb3JtID4gZGl2IC5zZWFyY2hCdG4ge1xuICBoZWlnaHQ6IDI5cHg7XG4gIGJvcmRlcjogc29saWQgMXB4IGxpZ2h0Z3JheTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE1cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xuICBjb2xvcjogIzAwODE3NDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5zZWFyY2hDb250YWluZXIgPiBmb3JtID4gZGl2IC5zZWFyY2hCdG46aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMnB4ICMwN2E2OWQ7XG4gIGNvbG9yOiAjMDdhNjlkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG5cbi5kZWxldGVGb3JtIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmZvcm1Db250YWluZXIge1xuICB3aWR0aDogODUlO1xufVxuLmZvcm1Db250YWluZXIgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmZvcm1Db250YWluZXIgZm9ybSAuZW1iZWRkZWRGb3JtVGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYmxvY2s6IDEwcHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwcHggMTAwcHggcmdiKDIwMCwgMjAwLCAyMDApIGluc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi5kb3dubG9hZCB7XG4gIG1hcmdpbi1ibG9jazogMjVweDtcbiAgcGFkZGluZzogNXB4IDhweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4uZG93bmxvYWQ6aG92ZXIge1xuICBzY2FsZTogMS4xNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggMC40IGJsYWNrO1xufVxuXG4uZG93bmxvYWRCb3gge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4jbmV3VGllcnNGb3JtQ29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN1Z2dlc3Rpb24tbGlzdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uc3VnZ2VzdGlvbi1saXN0IGxpIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnN1Z2dlc3Rpb24tbGlzdCBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5maWx0ZXJzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5maWx0ZXJGb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTBweDtcbn1cbi5maWx0ZXJGb3JtIC5maWx0ZXJCb3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMjBweDtcbn1cbi5maWx0ZXJGb3JtIC5maWx0ZXJCb3ggZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyMjBweDtcbn1cbi5maWx0ZXJGb3JtIC5maWx0ZXJCb3ggZGl2IGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBjb2xvcjogIzAwNWE1MTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmlsdGVyRm9ybSAuZmlsdGVyQm94IGRpdiBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICMwMDVhNTE7XG4gIG9wYWNpdHk6IDAuOTtcbiAgcGFkZGluZzogNXB4IDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5maWx0ZXJGb3JtIC5maWx0ZXJCdG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xufVxuLmZpbHRlckZvcm06aG92ZXIsIC5maWx0ZXJGb3JtOmZvY3VzLXdpdGhpbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59IiwiQGltcG9ydCBcIi4uL3N0eWxlcy9taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzXCI7XHJcblxyXG4uc2hvd1ZpZXcge1xyXG4gICAgbWFyZ2luLWJsb2NrOiA1dmg7XHJcbiAgICBAaW5jbHVkZSBkRmxleChyb3cpO1xyXG4gICAgQGluY2x1ZGUgY2VudGVyWFkoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgID5kaXZ7XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MHZoO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAkc2hhZG93Q29sb3I7XHJcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDEwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgZGl2e1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1hcm91bmQsIGNlbnRlcik7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDVweDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGRpdntcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZnVsbEJsb2N7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICBcclxuICAgICAgICBoMntcclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgID5kaXZ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkcm91Z2U4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAxNXB4IDI1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICBcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zcGxpdHtcclxuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggbGlnaHRncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIuc2hvd1ZpZXcge1xuICBtYXJnaW4tYmxvY2s6IDV2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaG93VmlldyA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBtaW4taGVpZ2h0OiA0MHZoO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYigyMCwgMjAsIDIwKTtcbiAgbWFyZ2luLWJsb2NrOiAxMHB4O1xuICBwYWRkaW5nLWJsb2NrOiAxMHB4O1xufVxuLnNob3dWaWV3ID4gZGl2IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogOTAlO1xuICBwYWRkaW5nLWJsb2NrOiA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2hvd1ZpZXcgPiBkaXYgZGl2IGRpdiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2hvd1ZpZXcgPiBkaXYgZGl2IDpmaXJzdC1jaGlsZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnNob3dWaWV3IC5mdWxsQmxvYyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNob3dWaWV3IC5mdWxsQmxvYyBoMiB7XG4gIG1hcmdpbi1ibG9jazogMjVweDtcbn1cbi5zaG93VmlldyAuZnVsbEJsb2MgPiBkaXYge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzc3MTAwMjtcbiAgcGFkZGluZy1ibG9jazogMTVweCAyNXB4O1xuICB3aWR0aDogODAlO1xufVxuLnNob3dWaWV3IC5mdWxsQmxvYyA+IGRpdiBhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2hvd1ZpZXcgLnNwbGl0IHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IGxpZ2h0Z3JleTtcbn0iLCJAaW1wb3J0IFwiLi4vc3R5bGVzL21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9zdHlsZXMvdmFyaWFibGVzLnNjc3NcIjtcclxuXHJcbi5uZXdJdGVtIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoc3BhY2UtYmV0d2VlbiwgY2VudGVyKTtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIG1hcmdpbjogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4ICRzaGFkb3dDb2xvcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYTpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR2ZXJ0NztcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4ICR2ZXJ0MztcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2VUaXRsZSB7XHJcbiAgICBtYXJnaW4tYmxvY2s6IDIwcHggNDBweDtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgd2lkdGg6IDgwdnc7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDNweCAkc2hhZG93Q29sb3I7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWFyZ2luLWJsb2NrOiAxMHB4O1xyXG5cclxuICAgIHRib2R5LFxyXG4gICAgdGhlYWQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XHJcblxyXG4gICAgICAgICAgICA+dGgge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggNTBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcm91Z2U4O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJvdWdlODtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+dGguYmxhbmtTcGFjZSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+dGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMzVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2IoNzUsIDc1LCA3NSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYTpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsZXU2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+dGQuc2hvcnREYXRhLFxyXG4gICAgICAgICAgICB0aC5zaG9ydERhdGEge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleDogMC42O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+dGQubWVkaXVtRGF0YSxcclxuICAgICAgICAgICAgdGgubWVkaXVtRGF0YSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwLjg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID50aC5tZWRpdW1EYXRhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPnRkLmxhcmdlRGF0YSxcclxuICAgICAgICAgICAgdGgubGFyZ2VEYXRhIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID50ZC5saWJyYXJ5Q29sb3Ige1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggJHNoYWRvd0NvbG9yO1xyXG4gICAgICAgICAgICAgICAgZmxleDogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pdGFsaWMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29taXRlVGhlbWVDYXJkMSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAkZ2FtbWU3LCByZ2IoMTAwLCAxMDAsIDEwMCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29taXRlVGhlbWVDYXJkMiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAkYmxldTMsIHJnYigxMDAsIDEwMCwgMTAwKSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb21pdGVUaGVtZUNhcmQzIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICRyb3VnZTYsIHJnYigxMDAsIDEwMCwgMTAwKSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb21pdGVUaGVtZUNhcmQ0IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICR2aW9sZXQ1LCByZ2IoMTAwLCAxMDAsIDEwMCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29taXRlVGhlbWVDYXJkNSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAkdmVydDUsIHJnYigxMDAsIDEwMCwgMTAwKSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb21pdGVUaGVtZUNhcmQ2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsIHdoaXRlLCByZ2IoMTQwLCAxNDAsIDE0MCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29taXRlVGhlbWVDYXJkNyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAkYmxldTgsIHNpbHZlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGlua1Jvdzpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxldTc7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggJGJsZXU2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saXN0VGFibGUge1xyXG5cclxuICAgIHRoZWFkPnRyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIHRib2R5PnRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlTGVnZW5kIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4udGFibGVMZWdlbmQ6aG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHg7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9ue1xyXG5cclxuICAgIHNwYW57XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDVweDtcclxuICAgICAgICBcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogJHJvdWdlODtcclxuICAgICAgICB9XHJcbiAgICAgICAgYTpob3ZlcntcclxuICAgICAgICAgICAgY29sb3I6ICRibGV1NTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRibGV1NTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5jdXJyZW50e1xyXG4gICAgICAgIGNvbG9yOiAkYmxldTc7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn0iLCIubmV3SXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm5ld0l0ZW0gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMjAlO1xuICBtYXJnaW46IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYigyMCwgMjAsIDIwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm5ld0l0ZW0gYTpob3ZlciB7XG4gIGNvbG9yOiAjNDg5MjFmO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICM3MmJiNzE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuXG4ucGFnZVRpdGxlIHtcbiAgbWFyZ2luLWJsb2NrOiAyMHB4IDQwcHg7XG59XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDgwdnc7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2IoMjAsIDIwLCAyMCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ibG9jazogMTBweDtcbn1cbnRhYmxlIHRib2R5LFxudGFibGUgdGhlYWQge1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlIHRib2R5IHRyLFxudGFibGUgdGhlYWQgdHIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbnRhYmxlIHRib2R5IHRyID4gdGgsXG50YWJsZSB0aGVhZCB0ciA+IHRoIHtcbiAgcGFkZGluZzogNXB4IDVweCA1cHggNTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZmxleDogMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICM3NzEwMDI7XG4gIG9wYWNpdHk6IDAuODtcbn1cbnRhYmxlIHRib2R5IHRyID4gdGggYSxcbnRhYmxlIHRoZWFkIHRyID4gdGggYSB7XG4gIGNvbG9yOiAjNzcxMDAyO1xuICBvcGFjaXR5OiAwLjk7XG59XG50YWJsZSB0Ym9keSB0ciA+IHRoLmJsYW5rU3BhY2UsXG50YWJsZSB0aGVhZCB0ciA+IHRoLmJsYW5rU3BhY2Uge1xuICBmbGV4OiBub25lO1xufVxudGFibGUgdGJvZHkgdHIgPiB0ZCxcbnRhYmxlIHRoZWFkIHRyID4gdGQge1xuICBwYWRkaW5nOiA1cHggNXB4IDVweCAzNXB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmbGV4OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbnRhYmxlIHRib2R5IHRyID4gdGQgYSxcbnRhYmxlIHRoZWFkIHRyID4gdGQgYSB7XG4gIGNvbG9yOiByZ2IoNzUsIDc1LCA3NSk7XG59XG50YWJsZSB0Ym9keSB0ciA+IHRkIGE6aG92ZXIsXG50YWJsZSB0aGVhZCB0ciA+IHRkIGE6aG92ZXIge1xuICBjb2xvcjogIzA3YTY5ZDtcbn1cbnRhYmxlIHRib2R5IHRyID4gdGQuc2hvcnREYXRhLFxudGFibGUgdGJvZHkgdHIgdGguc2hvcnREYXRhLFxudGFibGUgdGhlYWQgdHIgPiB0ZC5zaG9ydERhdGEsXG50YWJsZSB0aGVhZCB0ciB0aC5zaG9ydERhdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAuNjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxudGFibGUgdGJvZHkgdHIgPiB0ZC5tZWRpdW1EYXRhLFxudGFibGUgdGJvZHkgdHIgdGgubWVkaXVtRGF0YSxcbnRhYmxlIHRoZWFkIHRyID4gdGQubWVkaXVtRGF0YSxcbnRhYmxlIHRoZWFkIHRyIHRoLm1lZGl1bURhdGEge1xuICBmbGV4OiAwLjg7XG59XG50YWJsZSB0Ym9keSB0ciA+IHRoLm1lZGl1bURhdGEsXG50YWJsZSB0aGVhZCB0ciA+IHRoLm1lZGl1bURhdGEge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG50YWJsZSB0Ym9keSB0ciA+IHRkLmxhcmdlRGF0YSxcbnRhYmxlIHRib2R5IHRyIHRoLmxhcmdlRGF0YSxcbnRhYmxlIHRoZWFkIHRyID4gdGQubGFyZ2VEYXRhLFxudGFibGUgdGhlYWQgdHIgdGgubGFyZ2VEYXRhIHtcbiAgZmxleDogMjtcbn1cbnRhYmxlIHRib2R5IHRyID4gdGQubGlicmFyeUNvbG9yLFxudGFibGUgdGhlYWQgdHIgPiB0ZC5saWJyYXJ5Q29sb3Ige1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYigyMCwgMjAsIDIwKTtcbiAgZmxleDogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbnRhYmxlIHRib2R5IHRyIC5pdGFsaWMsXG50YWJsZSB0aGVhZCB0ciAuaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxudGFibGUgdGJvZHkgdHIgLmNvbWl0ZVRoZW1lQ2FyZDEsXG50YWJsZSB0aGVhZCB0ciAuY29taXRlVGhlbWVDYXJkMSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICNmYmVhNTEsIHJnYigxMDAsIDEwMCwgMTAwKSk7XG59XG50YWJsZSB0Ym9keSB0ciAuY29taXRlVGhlbWVDYXJkMixcbnRhYmxlIHRoZWFkIHRyIC5jb21pdGVUaGVtZUNhcmQyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgIzI0OTVkMCwgcmdiKDEwMCwgMTAwLCAxMDApKTtcbn1cbnRhYmxlIHRib2R5IHRyIC5jb21pdGVUaGVtZUNhcmQzLFxudGFibGUgdGhlYWQgdHIgLmNvbWl0ZVRoZW1lQ2FyZDMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAjZTcwZDBkLCByZ2IoMTAwLCAxMDAsIDEwMCkpO1xufVxudGFibGUgdGJvZHkgdHIgLmNvbWl0ZVRoZW1lQ2FyZDQsXG50YWJsZSB0aGVhZCB0ciAuY29taXRlVGhlbWVDYXJkNCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICNkODk4YzAsIHJnYigxMDAsIDEwMCwgMTAwKSk7XG59XG50YWJsZSB0Ym9keSB0ciAuY29taXRlVGhlbWVDYXJkNSxcbnRhYmxlIHRoZWFkIHRyIC5jb21pdGVUaGVtZUNhcmQ1IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgIzg2YzA1NCwgcmdiKDEwMCwgMTAwLCAxMDApKTtcbn1cbnRhYmxlIHRib2R5IHRyIC5jb21pdGVUaGVtZUNhcmQ2LFxudGFibGUgdGhlYWQgdHIgLmNvbWl0ZVRoZW1lQ2FyZDYge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCB3aGl0ZSwgcmdiKDE0MCwgMTQwLCAxNDApKTtcbn1cbnRhYmxlIHRib2R5IHRyIC5jb21pdGVUaGVtZUNhcmQ3LFxudGFibGUgdGhlYWQgdHIgLmNvbWl0ZVRoZW1lQ2FyZDcge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAjMDA1YTUxLCBzaWx2ZXIpO1xufVxudGFibGUgdGJvZHkgLmxpbmtSb3c6aG92ZXIsXG50YWJsZSB0aGVhZCAubGlua1Jvdzpob3ZlciB7XG4gIGNvbG9yOiAjMDA4MTc0O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4ICMwN2E2OWQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBib3JkZXItYm90dG9tOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGlzdFRhYmxlIHRoZWFkID4gdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5saXN0VGFibGUgdGJvZHkgPiB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnRhYmxlTGVnZW5kIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhYmxlTGVnZW5kOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHg7XG59XG5cbi5wYWdpbmF0aW9uIHNwYW4ge1xuICBwYWRkaW5nLWlubGluZTogNXB4O1xufVxuLnBhZ2luYXRpb24gc3BhbiBhIHtcbiAgY29sb3I6ICM3NzEwMDI7XG59XG4ucGFnaW5hdGlvbiBzcGFuIGE6aG92ZXIge1xuICBjb2xvcjogIzczYzFiMTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICM3M2MxYjE7XG59XG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIGNvbG9yOiAjMDA4MTc0O1xuICBmb250LXdlaWdodDogYm9sZDtcbn0iLCJAaW1wb3J0IFwiLi4vc3R5bGVzL21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9zdHlsZXMvdmFyaWFibGVzLnNjc3NcIjtcclxuXHJcbi5mbGV4e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmVkaXRDb250YWluZXIubGliQ2FyZHN7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgIGF7XHJcblxyXG4gICAgICAgIHN2Z3tcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbWl0ZVRpdGxle1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweFxyXG59XHJcblxyXG4ubGliQ29udGFpbmVye1xyXG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuICAgIHBhZGRpbmctYmxvY2s6IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCAkc2hhZG93Q29sb3I7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBcclxuICAgIC5saWJDYXJke1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KGNvbHVtbik7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgJHByaW1hcnlDb2xvciwgJHRlcnRpYXJ5Q29sb3IpO1xyXG4gICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDIxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAxNXB4IDVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggJHNoYWRvd0NvbG9yO1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAxMHB4O1xyXG5cclxuICAgICAgICAubGliVGl0bGV7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDR7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDEwcHggMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpdntcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDVweDtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGV1NztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubGliQ2FyZENvbG9ye1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMXB4ICRzaGFkb3dDb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxpYkNhcmRFbXB0eXtcclxuICAgICAgICBoZWlnaHQ6IDE3MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5saWJDYXJkOmhvdmVye1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA3cHggJHNoYWRvd0NvbG9yO1xyXG4gICAgICAgIHNjYWxlOiAxLjA1O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb21pdGVUaGVtZUNhcmQxe1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICRnYW1tZTcsIHJnYigxMDAsIDEwMCwgMTAwKSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb21pdGVUaGVtZUNhcmQye1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICRibGV1MywgcmdiKDEwMCwgMTAwLCAxMDApKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbWl0ZVRoZW1lQ2FyZDN7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgJHJvdWdlNiwgcmdiKDEwMCwgMTAwLCAxMDApKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbWl0ZVRoZW1lQ2FyZDR7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgJHZpb2xldDUsIHJnYigxMDAsIDEwMCwgMTAwKSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb21pdGVUaGVtZUNhcmQ1e1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICR2ZXJ0NSwgcmdiKDEwMCwgMTAwLCAxMDApKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbWl0ZVRoZW1lQ2FyZDZ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgd2hpdGUsIHJnYigxNDAsIDE0MCwgMTQwKSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb21pdGVUaGVtZUNhcmQ3e1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICRibGV1OCwgc2lsdmVyKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gLmNvbWl0ZVRoZW1lQ2FyZDh7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgJGdhbW1lMTAsIHJnYigxMDAsIDEwMCwgMTAwKSk7XHJcbiAgICAvLyB9XHJcbiAgICBcclxuICAgIC8vIC5jb21pdGVUaGVtZUNhcmQ5e1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICRnYW1tZTE0LCByZ2IoMTAwLCAxMDAsIDEwMCkpO1xyXG4gICAgLy8gfSAgIFxyXG4gICAgXHJcbiAgICAvLyAuY29taXRlVGhlbWVDYXJkMTB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgJGdhbW1lNywgcmdiKDEwMCwgMTAwLCAxMDApKTtcclxuICAgIC8vIH1cclxufVxyXG5cclxuLmRhc2hib2FyZHtcclxuICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgd2lkdGg6IDgwdnc7XHJcblxyXG4gICAgaDEsIGgye1xyXG4gICAgICAgIG1hcmdpbi1ibG9jazogMTBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaDF7XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShmbGV4LXN0YXJ0LCBjZW50ZXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICRyb3VnZTg7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICAgIC5pbmZve1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTdweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2IoMTQwLCAxNDAsIDE0MCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMTIwLCAxMjAsIDEyMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5mbzpob3ZlcntcclxuICAgICAgICAgICAgc2NhbGU6IDEuMDU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3RoZXJJbmZve1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICBoMntcclxuICAgICAgICBjb2xvcjogcmdiKDEwMCwgMTAwLCAxMDApO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGlyZWN0b3J7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuc2V0dGluZ0RpcmVjdG9ye1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsZXU4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubm9taW5hdGlvbkRhdGUsIC5kYXRhe1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuYm9hcmR7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggcmdiKDg2LCA4NiwgODYpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAgICAgdGJvZHl7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0cntcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICR0ZXJ0aWFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJvdWdlODtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICB0ZHtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2IoNzQsIDc0LCA3NCk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWNpc2lvbkNBe1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Zne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR2ZXJ0NjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZW1waGFzaXple1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIHNjYWxlOiAxLjI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZ1bGxCb2FyZHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgdGJvZHl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWFyb3VuZCwgY2VudGVyKTtcclxuXHJcbiAgICAgICAgICAgIHRye1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItaW5saW5lOiBzb2xpZCAxcHggJGJsZXU4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJsb2NrOiBzb2xpZCAxcHggJHByaW1hcnlDb2xvcjtcclxuXHJcbiAgICAgICAgICAgICAgICB0aCwgdGR7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICB0aHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRke1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5kYXRhSWNvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTdweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRyOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGJsZXU4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC50YWJze1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcblxyXG4gICAgICAgIDpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhYkJ0bi5hY3RpdmV7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJHJvdWdlODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50YWJCdG57XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMTAwLCAxMDAsIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC50YWJCdG46aG92ZXJ7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5oYWxmQm9hcmR7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDM5LjV2dztcclxuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2IoMTY1LCAxMDgsIDEwOCkgJHByaW1hcnlDb2xvcjtcclxuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxuXHJcbiAgICAgICAgdGhlYWR7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRye1xyXG5cclxuICAgICAgICAgICAgICAgIHRoe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm91Z2U4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRib2R5e1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzJTtcclxuXHJcbiAgICAgICAgICAgIHRye1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgdGR7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMS43O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5jdXN0b21UaWVyc3tcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBkRmxleChyb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiKDcwLCA3MCwgNzApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGV1NjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNlc3Npb25FdGFibGlzc2VtZW50e1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNob2ljZVNlY3Rpb257XHJcblxyXG4gICAgICAgIGRpdntcclxuXHJcbiAgICAgICAgICAgIGxhYmVse1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYig5MCwgOTAsIDkwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNlbGVjdHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgM3B4ICRzaGFkb3dDb2xvcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjVkZWcsICRibGV1NSwgJHNlY29uZGFyeUNvbG9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICBvcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEwMHB4ICRzZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBvcHRpb246Y2hlY2tlZCwgb3B0aW9uOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEwMHB4ICRibGV1NjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgc2VsZWN0OmZvY3Vze1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJvYXJke1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xyXG5cclxuICAgICAgICAgICAgdGJvZHl7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkRmxleChyb3cpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoZmxleC1zdGFydCwgY2VudGVyKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0cntcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAzJTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0ZCwgdGh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2hvaWNlU2VjdGlvbi5mdWxsU2VjdGlvbntcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICBcclxuICAgIFxyXG5cclxuICAgIC5oaWRkZW5TZWN0aW9ue1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5oaWRkZW5DYXJke1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoY2VudGVyLCBjZW50ZXIpO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogLTE2dnc7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGlkZGVuQ29udGFpbmVye1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkRmxleChjb2x1bW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcclxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHZ3O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkYmxldTgsIHJnYig0MCwgNDAsIDQwKSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiKDkwLCA5MCwgOTApO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG4gICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6ICRibGV1NyAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxuXHJcbiAgICAgICAgICAgIHNwYW46bm90KC5jYXRlZ29yeSwgLmNlbnRlckNlbGwpe1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiKDIyNSwgMjI1LCAyMjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAuY2VudGVyQ2VsbHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2IoMjI1LCAyMjUsIDIyNSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLmNhdGVnb3J5e1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oaWRkZW5Db250YWluZXI6aG92ZXJ7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDdweCAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5vRGF0YXtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICBsZWZ0OiAxMCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDUwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoY2VudGVyLCBjZW50ZXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiKDkwLCA5MCwgOTApO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oaWRkZW5DYXJkLnZpc2libGV7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGFpbmVye1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAuY2FyZHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoZmxleC1zdGFydCwgY2VudGVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAkc2hhZG93Q29sb3I7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjIlO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlDb2xvcjtcclxuXHJcbiAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAxNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5jb250ZW50Q2FyZHtcclxuXHJcbiAgICAgICAgICAgICAgICAuZGF0YUNhcmR7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmQ6aG92ZXJ7XHJcbiAgICAgICAgICAgIHNjYWxlOiAxLjA1O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4ICRzZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc21hbGxDYXJke1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNvbnRlbnRDYXJke1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKGZsZXgtc3RhcnQsIGNlbnRlcik7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC5kYXRhQ2FyZHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAuZGF0YUNhcmQuZGF0YUludHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnNtYWxsQ2FyZDpob3ZlcntcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAkc2hhZG93Q29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zbWFsbENhcmQ6bnRoLW9mLXR5cGUoMSl7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg1ZGVnLCAkYmxldTEsIHJnYig2MCwgNjAsIDYwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zbWFsbENhcmQ6bnRoLW9mLXR5cGUoMil7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg1ZGVnLCAkdmlvbGV0MSwgcmdiKDYwLCA2MCwgNjApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNtYWxsQ2FyZDpudGgtb2YtdHlwZSgzKXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDVkZWcsICR2ZXJ0MSwgcmdiKDYwLCA2MCwgNjApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNtYWxsQ2FyZDpudGgtb2YtdHlwZSg0KXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDVkZWcsICRnYW1tZTEsIHJnYig2MCwgNjAsIDYwKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYm94e1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkRmxleChjb2x1bW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShmbGV4LXN0YXJ0LCBjZW50ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgM3B4ICRzaGFkb3dDb2xvcjtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5Q29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgLnNtYWxsQm94e1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lZGl1bUJveHtcclxuICAgICAgICAgICAgd2lkdGg6IDQ3LjUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhcmdlQm94e1xyXG4gICAgICAgICAgICB3aWR0aDogNjIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZ1bGxCb3h7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubWFpbkJvYXJke1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgXHJcbiAgICAgICAgdGJvZHl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWFyb3VuZCwgY2VudGVyKTtcclxuICAgIFxyXG4gICAgICAgICAgICB0cntcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggNDBweDtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgdGR7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoe1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxhcmdlUm93e1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoUGFnZXtcclxuXHJcbiAgICBoMXtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGgye1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xyXG4gICAgICAgIGNvbG9yOiAkcm91Z2U4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jeFByZXZpZXcge1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBwYWRkaW5nOiAxZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCByZ2IoOTAsIDkwLCA5MCk7XHJcbiAgICBtYXgtaGVpZ2h0OiA2MDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi5wdWJsaWNQYWdle1xyXG4gICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuICAgIG1pbi13aWR0aDogMTAwdnc7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICRibGV1NywgYmxhY2spO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuXHJcbiAgICAuc3VjY2Vzc0ljb257XHJcbiAgICAgICAgY29sb3I6IHdoaXRlc21va2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmRldGFpbENhcmR7XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggJHNoYWRvd0NvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBtYXJnaW4tYmxvY2s6IDE1cHg7XHJcbiAgICB9XHJcbn0iLCIuZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5lZGl0Q29udGFpbmVyLmxpYkNhcmRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5lZGl0Q29udGFpbmVyLmxpYkNhcmRzIGEgc3ZnIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4uY29taXRlVGl0bGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5saWJDb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJsb2NrOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IHJnYigyMCwgMjAsIDIwKTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubGliQ29udGFpbmVyIC5saWJDYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCB3aGl0ZSwgcmdiKDIyMCwgMjIwLCAyMjApKTtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDIxNXB4O1xuICBtYXJnaW46IDE1cHggMTVweCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiKDIwLCAyMCwgMjApO1xuICBwYWRkaW5nLWlubGluZTogMTBweDtcbn1cbi5saWJDb250YWluZXIgLmxpYkNhcmQgLmxpYlRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLmxpYkNvbnRhaW5lciAubGliQ2FyZCBoNCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYmxvY2s6IDEwcHggMDtcbn1cbi5saWJDb250YWluZXIgLmxpYkNhcmQgZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ubGliQ29udGFpbmVyIC5saWJDYXJkIGRpdiBwIHtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbi1ibG9jazogNXB4O1xufVxuLmxpYkNvbnRhaW5lciAubGliQ2FyZCBkaXYgcCBzcGFuIHtcbiAgY29sb3I6ICMwMDgxNzQ7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4ubGliQ29udGFpbmVyIC5saWJDYXJkIGRpdiAubGliQ2FyZENvbG9yIHtcbiAgaGVpZ2h0OiA4cHg7XG4gIHdpZHRoOiA3NSU7XG4gIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiKDIwLCAyMCwgMjApO1xufVxuLmxpYkNvbnRhaW5lciAubGliQ2FyZEVtcHR5IHtcbiAgaGVpZ2h0OiAxNzBweDtcbn1cbi5saWJDb250YWluZXIgLmxpYkNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYigyMCwgMjAsIDIwKTtcbiAgc2NhbGU6IDEuMDU7XG59XG4ubGliQ29udGFpbmVyIC5jb21pdGVUaGVtZUNhcmQxIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgI2ZiZWE1MSwgcmdiKDEwMCwgMTAwLCAxMDApKTtcbn1cbi5saWJDb250YWluZXIgLmNvbWl0ZVRoZW1lQ2FyZDIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAjMjQ5NWQwLCByZ2IoMTAwLCAxMDAsIDEwMCkpO1xufVxuLmxpYkNvbnRhaW5lciAuY29taXRlVGhlbWVDYXJkMyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICNlNzBkMGQsIHJnYigxMDAsIDEwMCwgMTAwKSk7XG59XG4ubGliQ29udGFpbmVyIC5jb21pdGVUaGVtZUNhcmQ0IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgI2Q4OThjMCwgcmdiKDEwMCwgMTAwLCAxMDApKTtcbn1cbi5saWJDb250YWluZXIgLmNvbWl0ZVRoZW1lQ2FyZDUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCAjODZjMDU0LCByZ2IoMTAwLCAxMDAsIDEwMCkpO1xufVxuLmxpYkNvbnRhaW5lciAuY29taXRlVGhlbWVDYXJkNiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsIHdoaXRlLCByZ2IoMTQwLCAxNDAsIDE0MCkpO1xufVxuLmxpYkNvbnRhaW5lciAuY29taXRlVGhlbWVDYXJkNyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsICMwMDVhNTEsIHNpbHZlcik7XG59XG5cbi5kYXNoYm9hcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogODB2dztcbn1cbi5kYXNoYm9hcmQgaDEsIC5kYXNoYm9hcmQgaDIge1xuICBtYXJnaW4tYmxvY2s6IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmRhc2hib2FyZCBoMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDMwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGNvbG9yOiAjNzcxMDAyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZGFzaGJvYXJkIGgxIC5pbmZvIHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IC03cHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggcmdiKDE0MCwgMTQwLCAxNDApO1xuICBjb2xvcjogcmdiKDEyMCwgMTIwLCAxMjApO1xuICBwYWRkaW5nOiA1cHg7XG59XG4uZGFzaGJvYXJkIGgxIC5pbmZvOmhvdmVyIHtcbiAgc2NhbGU6IDEuMDU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuLmRhc2hib2FyZCAub3RoZXJJbmZvIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uZGFzaGJvYXJkIGgyIHtcbiAgY29sb3I6IHJnYigxMDAsIDEwMCwgMTAwKTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG4uZGFzaGJvYXJkIC5kaXJlY3RvciB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5kYXNoYm9hcmQgLmRpcmVjdG9yIHNwYW4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5kYXNoYm9hcmQgLmRpcmVjdG9yIC5zZXR0aW5nRGlyZWN0b3Ige1xuICBjb2xvcjogIzAwNWE1MTtcbn1cbi5kYXNoYm9hcmQgLmRpcmVjdG9yIC5ub21pbmF0aW9uRGF0ZSwgLmRhc2hib2FyZCAuZGlyZWN0b3IgLmRhdGEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uZGFzaGJvYXJkIC5ib2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IHJnYig4NiwgODYsIDg2KTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5kYXNoYm9hcmQgLmJvYXJkIHRib2R5IHRyIHtcbiAgcGFkZGluZy1pbmxpbmU6IDEwcHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiKDIyMCwgMjIwLCAyMjApO1xufVxuLmRhc2hib2FyZCAuYm9hcmQgdGJvZHkgdHIgdGgge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBvcGFjaXR5OiAwLjg7XG4gIGNvbG9yOiAjNzcxMDAyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmRhc2hib2FyZCAuYm9hcmQgdGJvZHkgdHIgdGQge1xuICB3aGl0ZS1zcGFjZTogd3JhcDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGNvbG9yOiByZ2IoNzQsIDc0LCA3NCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmRhc2hib2FyZCAuYm9hcmQgdGJvZHkgdHIgdGQgLmRlY2lzaW9uQ0Egc3ZnIHtcbiAgbWFyZ2luLWJvdHRvbTogLTdweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGNvbG9yOiAjNjJiMTIyO1xufVxuLmRhc2hib2FyZCAuYm9hcmQgdGJvZHkgLmVtcGhhc2l6ZSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNjYWxlOiAxLjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJsb2NrOiAxMHB4O1xufVxuLmRhc2hib2FyZCAuZnVsbEJvYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZGFzaGJvYXJkIC5mdWxsQm9hcmQgdGJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmRhc2hib2FyZCAuZnVsbEJvYXJkIHRib2R5IHRyIHtcbiAgd2lkdGg6IDEwJTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWlubGluZTogc29saWQgMXB4ICMwMDVhNTE7XG4gIGJvcmRlci1ibG9jazogc29saWQgMXB4IHdoaXRlO1xufVxuLmRhc2hib2FyZCAuZnVsbEJvYXJkIHRib2R5IHRyIHRoLCAuZGFzaGJvYXJkIC5mdWxsQm9hcmQgdGJvZHkgdHIgdGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctaW5saW5lOiAwO1xufVxuLmRhc2hib2FyZCAuZnVsbEJvYXJkIHRib2R5IHRyIHRoIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5kYXNoYm9hcmQgLmZ1bGxCb2FyZCB0Ym9keSB0ciB0ZCB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZGFzaGJvYXJkIC5mdWxsQm9hcmQgdGJvZHkgdHIgdGQgLmRhdGFJY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogLTdweDtcbn1cbi5kYXNoYm9hcmQgLmZ1bGxCb2FyZCB0Ym9keSB0ciB0ZCBzcGFuIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5kYXNoYm9hcmQgLmZ1bGxCb2FyZCB0Ym9keSB0cjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzAwNWE1MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG4uZGFzaGJvYXJkIC50YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLmRhc2hib2FyZCAudGFicyA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG4uZGFzaGJvYXJkIC50YWJzIC50YWJCdG4uYWN0aXZlIHtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggIzc3MTAwMjtcbn1cbi5kYXNoYm9hcmQgLnRhYnMgLnRhYkJ0biB7XG4gIGNvbG9yOiByZ2IoMTAwLCAxMDAsIDEwMCk7XG59XG4uZGFzaGJvYXJkIC50YWJzIC50YWJCdG46aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZGFzaGJvYXJkIC5oYWxmQm9hcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDM5LjV2dztcbiAgaGVpZ2h0OiA0NTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHJnYigxNjUsIDEwOCwgMTA4KSB3aGl0ZTtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG4uZGFzaGJvYXJkIC5oYWxmQm9hcmQgdGhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5kYXNoYm9hcmQgLmhhbGZCb2FyZCB0aGVhZCB0ciB0aCB7XG4gIGNvbG9yOiAjNzcxMDAyO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5kYXNoYm9hcmQgLmhhbGZCb2FyZCB0Ym9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDMlO1xufVxuLmRhc2hib2FyZCAuaGFsZkJvYXJkIHRib2R5IHRyIHtcbiAgd2lkdGg6IDkwJTtcbn1cbi5kYXNoYm9hcmQgLmhhbGZCb2FyZCB0Ym9keSB0ciB0ZCB7XG4gIGZsZXg6IDEuNztcbn1cbi5kYXNoYm9hcmQgLmhhbGZCb2FyZCB0Ym9keSB0ciAuY3VzdG9tVGllcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5kYXNoYm9hcmQgLmhhbGZCb2FyZCB0Ym9keSB0ciAuY3VzdG9tVGllcnMgc3BhbiB7XG4gIHdpZHRoOiA1MCU7XG59XG4uZGFzaGJvYXJkIC5oYWxmQm9hcmQgdGJvZHkgYSB7XG4gIGNvbG9yOiByZ2IoNzAsIDcwLCA3MCk7XG59XG4uZGFzaGJvYXJkIC5oYWxmQm9hcmQgdGJvZHkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDdhNjlkO1xufVxuLmRhc2hib2FyZCAuaGFsZkJvYXJkIC5jZXNzaW9uRXRhYmxpc3NlbWVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRhc2hib2FyZCAuY2hvaWNlU2VjdGlvbiBkaXYgbGFiZWwge1xuICBjb2xvcjogcmdiKDkwLCA5MCwgOTApO1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4uZGFzaGJvYXJkIC5jaG9pY2VTZWN0aW9uIGRpdiBzZWxlY3Qge1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2IoMjAsIDIwLCAyMCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjVkZWcsICM3M2MxYjEsIHdoaXRlc21va2UpO1xufVxuLmRhc2hib2FyZCAuY2hvaWNlU2VjdGlvbiBkaXYgc2VsZWN0IG9wdGlvbiB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEwMHB4IHdoaXRlc21va2U7XG59XG4uZGFzaGJvYXJkIC5jaG9pY2VTZWN0aW9uIGRpdiBzZWxlY3Qgb3B0aW9uOmNoZWNrZWQsIC5kYXNoYm9hcmQgLmNob2ljZVNlY3Rpb24gZGl2IHNlbGVjdCBvcHRpb246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxMDBweCAjMDdhNjlkO1xufVxuLmRhc2hib2FyZCAuY2hvaWNlU2VjdGlvbiBkaXYgc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5kYXNoYm9hcmQgLmNob2ljZVNlY3Rpb24gLmJvYXJkIHtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cbi5kYXNoYm9hcmQgLmNob2ljZVNlY3Rpb24gLmJvYXJkIHRib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZGFzaGJvYXJkIC5jaG9pY2VTZWN0aW9uIC5ib2FyZCB0Ym9keSB0ciB7XG4gIHdpZHRoOiA0MCU7XG4gIG1hcmdpbjogMTBweCAzJTtcbn1cbi5kYXNoYm9hcmQgLmNob2ljZVNlY3Rpb24gLmJvYXJkIHRib2R5IHRyIHRkLCAuZGFzaGJvYXJkIC5jaG9pY2VTZWN0aW9uIC5ib2FyZCB0Ym9keSB0ciB0aCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmRhc2hib2FyZCAuY2hvaWNlU2VjdGlvbi5mdWxsU2VjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmRhc2hib2FyZCAuaGlkZGVuU2VjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZGFzaGJvYXJkIC5oaWRkZW5DYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTE2dnc7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xufVxuLmRhc2hib2FyZCAuaGlkZGVuQ2FyZCBhIHtcbiAgbWFyZ2luLWlubGluZTogNTBweDtcbn1cbi5kYXNoYm9hcmQgLmhpZGRlbkNhcmQgLmhpZGRlbkNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIHdpZHRoOiAyMHZ3O1xuICBoZWlnaHQ6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjMDA1YTUxLCByZ2IoNDAsIDQwLCA0MCkpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYig5MCwgOTAsIDkwKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjMDA4MTc0IHdoaXRlO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cbi5kYXNoYm9hcmQgLmhpZGRlbkNhcmQgLmhpZGRlbkNvbnRhaW5lciBzcGFuOm5vdCguY2F0ZWdvcnksIC5jZW50ZXJDZWxsKSB7XG4gIHBhZGRpbmc6IDhweCA0MHB4O1xuICBjb2xvcjogcmdiKDIyNSwgMjI1LCAyMjUpO1xufVxuLmRhc2hib2FyZCAuaGlkZGVuQ2FyZCAuaGlkZGVuQ29udGFpbmVyIC5jZW50ZXJDZWxsIHtcbiAgY29sb3I6IHJnYigyMjUsIDIyNSwgMjI1KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kYXNoYm9hcmQgLmhpZGRlbkNhcmQgLmhpZGRlbkNvbnRhaW5lciAuY2F0ZWdvcnkge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogd2hpdGU7XG59XG4uZGFzaGJvYXJkIC5oaWRkZW5DYXJkIC5oaWRkZW5Db250YWluZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA3cHggd2hpdGVzbW9rZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG4uZGFzaGJvYXJkIC5oaWRkZW5DYXJkIC5ub0RhdGEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDEwJTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogcmdiKDkwLCA5MCwgOTApO1xuICBmb250LXNpemU6IDI0cHg7XG59XG4uZGFzaGJvYXJkIC5oaWRkZW5DYXJkLnZpc2libGUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmRhc2hib2FyZCAuY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5kYXNoYm9hcmQgLmNvbnRhaW5lciAuY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYigyMCwgMjAsIDIwKTtcbiAgbWluLXdpZHRoOiAyMiU7XG4gIG1pbi1oZWlnaHQ6IDEzNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5kYXNoYm9hcmQgLmNvbnRhaW5lciAuY2FyZCBoMiB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYmxvY2s6IDE1cHggMTBweDtcbn1cbi5kYXNoYm9hcmQgLmNvbnRhaW5lciAuY2FyZCAuY29udGVudENhcmQgLmRhdGFDYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuLmRhc2hib2FyZCAuY29udGFpbmVyIC5jYXJkOmhvdmVyIHtcbiAgc2NhbGU6IDEuMDU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggd2hpdGVzbW9rZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG4uZGFzaGJvYXJkIC5jb250YWluZXIgLnNtYWxsQ2FyZCBoMiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLmRhc2hib2FyZCAuY29udGFpbmVyIC5zbWFsbENhcmQgLmNvbnRlbnRDYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZGFzaGJvYXJkIC5jb250YWluZXIgLnNtYWxsQ2FyZCAuY29udGVudENhcmQgLmRhdGFDYXJkIHtcbiAgY29sb3I6IHdoaXRlc21va2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5kYXNoYm9hcmQgLmNvbnRhaW5lciAuc21hbGxDYXJkIC5jb250ZW50Q2FyZCAuZGF0YUNhcmQuZGF0YUludCB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG4uZGFzaGJvYXJkIC5jb250YWluZXIgLnNtYWxsQ2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiKDIwLCAyMCwgMjApO1xufVxuLmRhc2hib2FyZCAuY29udGFpbmVyIC5zbWFsbENhcmQ6bnRoLW9mLXR5cGUoMSkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNWRlZywgIzI3MmM4NiwgcmdiKDYwLCA2MCwgNjApKTtcbn1cbi5kYXNoYm9hcmQgLmNvbnRhaW5lciAuc21hbGxDYXJkOm50aC1vZi10eXBlKDIpIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDVkZWcsICM3MDEzNjksIHJnYig2MCwgNjAsIDYwKSk7XG59XG4uZGFzaGJvYXJkIC5jb250YWluZXIgLnNtYWxsQ2FyZDpudGgtb2YtdHlwZSgzKSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg1ZGVnLCAjMDI3MzUwLCByZ2IoNjAsIDYwLCA2MCkpO1xufVxuLmRhc2hib2FyZCAuY29udGFpbmVyIC5zbWFsbENhcmQ6bnRoLW9mLXR5cGUoNCkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNWRlZywgI2IxNTcwMCwgcmdiKDYwLCA2MCwgNjApKTtcbn1cbi5kYXNoYm9hcmQgLmNvbnRhaW5lciAuYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiKDIwLCAyMCwgMjApO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uZGFzaGJvYXJkIC5jb250YWluZXIgLnNtYWxsQm94IHtcbiAgd2lkdGg6IDMzJTtcbn1cbi5kYXNoYm9hcmQgLmNvbnRhaW5lciAubWVkaXVtQm94IHtcbiAgd2lkdGg6IDQ3LjUlO1xufVxuLmRhc2hib2FyZCAuY29udGFpbmVyIC5sYXJnZUJveCB7XG4gIHdpZHRoOiA2MiU7XG59XG4uZGFzaGJvYXJkIC5jb250YWluZXIgLmZ1bGxCb3gge1xuICB3aWR0aDogOTAlO1xufVxuLmRhc2hib2FyZCAubWFpbkJvYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZGFzaGJvYXJkIC5tYWluQm9hcmQgdGJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmRhc2hib2FyZCAubWFpbkJvYXJkIHRib2R5IHRyIHtcbiAgd2lkdGg6IDM1JTtcbiAgbWFyZ2luOiAxNXB4IDQwcHg7XG59XG4uZGFzaGJvYXJkIC5tYWluQm9hcmQgdGJvZHkgdHIgdGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuLmRhc2hib2FyZCAubWFpbkJvYXJkIHRib2R5IHRyIHRoIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLmRhc2hib2FyZCAubWFpbkJvYXJkIHRib2R5IC5sYXJnZVJvdyB7XG4gIHdpZHRoOiA4NSU7XG59XG4uZGFzaGJvYXJkIC5tYWluQm9hcmQgdGJvZHkgLmxhcmdlUm93IHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cbi5kYXNoYm9hcmQgLm1haW5Cb2FyZCB0Ym9keSAubGFyZ2VSb3cgdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLnNlYXJjaFBhZ2UgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2VhcmNoUGFnZSBoMiB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbi1sZWZ0OiAxMCU7XG4gIGNvbG9yOiAjNzcxMDAyO1xufVxuXG4uZG9jeFByZXZpZXcge1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IHJnYig5MCwgOTAsIDkwKTtcbiAgbWF4LWhlaWdodDogNjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnB1YmxpY1BhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDEwMHZ3O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgIzAwODE3NCwgYmxhY2spO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xufVxuLnB1YmxpY1BhZ2UgLnN1Y2Nlc3NJY29uIHtcbiAgY29sb3I6IHdoaXRlc21va2U7XG59XG4ucHVibGljUGFnZSAuZGV0YWlsQ2FyZCB7XG4gIHdpZHRoOiA3MCU7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggcmdiKDIwLCAyMCwgMjApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tYmxvY2s6IDE1cHg7XG59IiwiQGltcG9ydCBcIi4uL3N0eWxlcy9taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzXCI7XHJcblxyXG5idXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcbi5lZGl0Q29udGFpbmVyLCAubmV3QnRue1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICBhe1xyXG4gICAgICAgIG1hcmdpbjogMjVweDtcclxuICAgICAgICBwYWRkaW5nOiAxOXB4IDdweCAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDM1ZGVnLCAkdmVydDYsICR2ZXJ0OCk7XHJcblxyXG4gICAgICAgIHN2Z3tcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYTpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzVkZWcsICR2ZXJ0NiwgJHZlcnQ3KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgM3B4ICRzaGFkb3dDb2xvcjtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmV3QnRuIHtcclxuXHJcbiAgICBhe1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNWRlZywgJHByaW1hcnlDb2xvciwgJHRlcnRpYXJ5Q29sb3IpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHN2Z3tcclxuICAgICAgICAgICAgY29sb3I6ICR2ZXJ0NjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYTpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzVkZWcsICR2ZXJ0NiwgJHZlcnQ3KTtcclxuXHJcbiAgICAgICAgc3Zne1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYmFja0J0biwgLmVkaXRCdG4sIC5kZWxldGVCdG57XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4IGRhcmtncmV5O1xyXG59XHJcblxyXG4uZWRpdEJ0biwgLmFkZEJ0bntcclxuXHJcbiAgICA+YXtcclxuICAgICAgICBjb2xvcjogJHZlcnQ4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmRlbGV0ZUJ0bntcclxuICAgIGNvbG9yOiAkcm91Z2U3O1xyXG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuXHJcbiAgICBzcGFue1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRue1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgcGFkZGluZy1ibG9jazogNXB4O1xyXG4gICAgXHJcbn1cclxuLmNlbnRlcmVkQnRue1xyXG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnZhbGlkYXRlQnRue1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJHZlcnQ2O1xyXG4gICAgY29sb3I6ICR2ZXJ0NjtcclxufVxyXG5cclxuLnNldHRpbmdCdG4sIC5zaG93QnRue1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGJsZXU2O1xyXG4gICAgY29sb3I6ICRibGV1NztcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIHBhZGRpbmctaW5saW5lOiA1cHg7XHJcbn1cclxuXHJcbi5hZGRSZWxhdGVkT2JqZWN0QnRue1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJHJvdWdlODtcclxuICAgIGNvbG9yOiAkcm91Z2U4O1xyXG59XHJcblxyXG4udmFsaWRhdGVCdG4sIC5hZGRSZWxhdGVkT2JqZWN0QnRue1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4udmFsaWRhdGVCdG46aG92ZXIsIC5hZGRSZWxhdGVkT2JqZWN0QnRuOmhvdmVye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcclxufVxyXG5cclxuLnZhbGlkYXRlQnRuOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZlcnQ2O1xyXG59XHJcblxyXG4uc2V0dGluZ0J0bjpob3ZlciwgLnNob3dCdG46aG92ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxldTQ7XHJcbiAgICBjb2xvcjogd2hpdGVzbW9rZTtcclxufVxyXG5cclxuLnJlc2V0QnRue1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJHJvdWdlNztcclxuICAgIGNvbG9yOiAkcm91Z2U3O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgcGFkZGluZy1pbmxpbmU6IDVweDtcclxufVxyXG5cclxuLmNvbmZpcm1CdG57XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkdmVydDY7XHJcbiAgICBjb2xvcjogJHZlcnQ2O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIHBhZGRpbmctaW5saW5lOiA1cHg7XHJcbn1cclxuXHJcbi5hZGRGb3JtUm93e1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGJsZXU1O1xyXG4gICAgY29sb3I6ICRibGV1NTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLWlubGluZTogNXB4O1xyXG59XHJcblxyXG5cclxuLnJlc2V0QnRuOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJvdWdlNjtcclxuICAgIGNvbG9yOiB3aGl0ZXNtb2tlO1xyXG59XHJcblxyXG5cclxuLmFkZFJlbGF0ZWRPYmplY3RCdG46aG92ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm91Z2U4O1xyXG59XHJcblxyXG4uYmFja0J0bjpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRyb3VnZTg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgID5he1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lZGl0QnRuOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZlcnQ2O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICBcclxuICAgID5he1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICB9ICAgXHJcbn1cclxuXHJcbi5kZWxldGVCdG46aG92ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm91Z2U3O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnlDb2xvcjsgICAgXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnJlbW92ZUNvbHVtbntcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICRyb3VnZTU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgY29sb3I6ICRyb3VnZTU7XHJcbiAgICBwYWRkaW5nOiAwcHggNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgbWFyZ2luLWJsb2NrOiAtMjNweCAyMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucmVtb3ZlQ29sdW1uOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJvdWdlNTtcclxuICAgIGNvbG9yOiB3aGl0ZXNtb2tlO1xyXG59XHJcblxyXG4uYWRkRm9ybVJvdzpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGV1NTtcclxuICAgIGNvbG9yOiB3aGl0ZXNtb2tlO1xyXG59XHJcbi5jb25maXJtQnRuOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZlcnQ2O1xyXG4gICAgY29sb3I6IHdoaXRlc21va2U7XHJcbn1cclxuXHJcbi5mb3JtQnRuLCAubWFpbEJ0bntcclxuICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShmbGV4LWVuZCwgY2VudGVyKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJsb2NrOiAyNXB4O1xyXG59IiwiYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZWRpdENvbnRhaW5lciwgLm5ld0J0biB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5lZGl0Q29udGFpbmVyIGEsIC5uZXdCdG4gYSB7XG4gIG1hcmdpbjogMjVweDtcbiAgcGFkZGluZzogMTlweCA3cHggMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDM1ZGVnLCAjNjJiMTIyLCAjMmM2ZDE3KTtcbn1cbi5lZGl0Q29udGFpbmVyIGEgc3ZnLCAubmV3QnRuIGEgc3ZnIHtcbiAgY29sb3I6IHdoaXRlc21va2U7XG59XG4uZWRpdENvbnRhaW5lciBhOmhvdmVyLCAubmV3QnRuIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzVkZWcsICM2MmIxMjIsICM0ODkyMWYpO1xuICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYigyMCwgMjAsIDIwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbn1cblxuLm5ld0J0biBhIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDM1ZGVnLCB3aGl0ZSwgcmdiKDIyMCwgMjIwLCAyMjApKTtcbn1cbi5uZXdCdG4gYSBzdmcge1xuICBjb2xvcjogIzYyYjEyMjtcbn1cbi5uZXdCdG4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNWRlZywgIzYyYjEyMiwgIzQ4OTIxZik7XG59XG4ubmV3QnRuIGE6aG92ZXIgc3ZnIHtcbiAgY29sb3I6IHdoaXRlc21va2U7XG59XG5cbi5iYWNrQnRuLCAuZWRpdEJ0biwgLmRlbGV0ZUJ0biB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggZGFya2dyZXk7XG59XG5cbi5lZGl0QnRuID4gYSwgLmFkZEJ0biA+IGEge1xuICBjb2xvcjogIzJjNmQxNztcbn1cblxuLmRlbGV0ZUJ0biB7XG4gIGNvbG9yOiAjYjgwODBhO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmRlbGV0ZUJ0biBzcGFuIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXRvcDogM3B4O1xufVxuXG4uYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIHBhZGRpbmctYmxvY2s6IDVweDtcbn1cblxuLmNlbnRlcmVkQnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udmFsaWRhdGVCdG4ge1xuICBib3JkZXI6IHNvbGlkIDFweCAjNjJiMTIyO1xuICBjb2xvcjogIzYyYjEyMjtcbn1cblxuLnNldHRpbmdCdG4sIC5zaG93QnRuIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzA3YTY5ZDtcbiAgY29sb3I6ICMwMDgxNzQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgcGFkZGluZy1pbmxpbmU6IDVweDtcbn1cblxuLmFkZFJlbGF0ZWRPYmplY3RCdG4ge1xuICBib3JkZXI6IHNvbGlkIDFweCAjNzcxMDAyO1xuICBjb2xvcjogIzc3MTAwMjtcbn1cblxuLnZhbGlkYXRlQnRuLCAuYWRkUmVsYXRlZE9iamVjdEJ0biB7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLnZhbGlkYXRlQnRuOmhvdmVyLCAuYWRkUmVsYXRlZE9iamVjdEJ0bjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHdoaXRlc21va2U7XG59XG5cbi52YWxpZGF0ZUJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MmIxMjI7XG59XG5cbi5zZXR0aW5nQnRuOmhvdmVyLCAuc2hvd0J0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWJkYzg7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4ucmVzZXRCdG4ge1xuICBib3JkZXI6IHNvbGlkIDFweCAjYjgwODBhO1xuICBjb2xvcjogI2I4MDgwYTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nLWlubGluZTogNXB4O1xufVxuXG4uY29uZmlybUJ0biB7XG4gIGJvcmRlcjogc29saWQgMXB4ICM2MmIxMjI7XG4gIGNvbG9yOiAjNjJiMTIyO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWlubGluZTogNXB4O1xufVxuXG4uYWRkRm9ybVJvdyB7XG4gIGJvcmRlcjogc29saWQgMXB4ICM3M2MxYjE7XG4gIGNvbG9yOiAjNzNjMWIxO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWlubGluZTogNXB4O1xufVxuXG4ucmVzZXRCdG46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTcwZDBkO1xuICBjb2xvcjogd2hpdGVzbW9rZTtcbn1cblxuLmFkZFJlbGF0ZWRPYmplY3RCdG46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcxMDAyO1xufVxuXG4uYmFja0J0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NzEwMDI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuLmJhY2tCdG46aG92ZXIgPiBhIHtcbiAgY29sb3I6IHdoaXRlc21va2U7XG59XG5cbi5lZGl0QnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYyYjEyMjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG4uZWRpdEJ0bjpob3ZlciA+IGEge1xuICBjb2xvcjogd2hpdGVzbW9rZTtcbn1cblxuLmRlbGV0ZUJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiODA4MGE7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVtb3ZlQ29sdW1uIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2U5NDYyYztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbiAgY29sb3I6ICNlOTQ2MmM7XG4gIHBhZGRpbmc6IDBweCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBtYXJnaW4tYmxvY2s6IC0yM3B4IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJlbW92ZUNvbHVtbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOTQ2MmM7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4uYWRkRm9ybVJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3M2MxYjE7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4uY29uZmlybUJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MmIxMjI7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4uZm9ybUJ0biwgLm1haWxCdG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYmxvY2s6IDI1cHg7XG59IiwiQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vc3R5bGVzL21peGlucy5zY3NzXCI7XHJcblxyXG4vKiBWYXJpYWJsZXMgcG91ciBsZSBtb2RlIGNsYWlyIGV0IGxlIG1vZGUgc29tYnJlICovXHJcbiRjb2xvci1iYWNrZ3JvdW5kLWxpZ2h0OiAjZjVmNWY1O1xyXG4kY29sb3ItdGV4dC1saWdodDogIzMzMztcclxuJGNvbG9yLWNvbHVtbi1saWdodDogI2UwZTBlMDtcclxuXHJcbiRjb2xvci1iYWNrZ3JvdW5kLWRhcms6ICMyZTJlMmU7XHJcbiRjb2xvci10ZXh0LWRhcms6ICNlMGUwZTA7XHJcbiRjb2xvci1jb2x1bW4tZGFyazogIzRiNGI0YjtcclxuXHJcbiRjb2xvci1hY2NlbnQ6ICM2ODI2MTU7IC8vIEFjY2VudCBjb2xvciBwb3VyIHVuIHN0eWxlIG1vZGVybmVcclxuXHJcbi8qIFN0eWxlcyBnbG9iYXV4ICovXHJcblxyXG4ua2FuYmFuQ2hvaWNle1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgICBib3JkZXI6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgIC5rYW5iYW5OYW1le1xyXG4gICAgICAgIGNvbG9yOiAkcm91Z2U4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgfVxyXG59XHJcbi5rYW5iYW5DaG9pY2U6Zm9jdXN7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uZHJhZ2dpbmcge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4uZHJhZ292ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcclxuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjY2NjO1xyXG59XHJcblxyXG4ja2FuYmFuLXBhZ2UsIC5rYW5iYW4tcmVhZG9ubHl7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuW2NvbnRlbnRlZGl0YWJsZV0ucGxhY2Vob2xkZXI6OmJlZm9yZSB7XHJcbiAgICBjb2xvcjogIzg4ODtcclxufVxyXG5cclxuLmthbmJhbkNvbnRhaW5lcntcclxuICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmthbmJhblRpdGxle1xyXG4gICAgY29sb3I6ICRyb3VnZTg7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ua2FuYmFuTGlzdFRpdGxle1xyXG4gICAgY29sb3I6ICM0MTBkMDA7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xyXG4gICAgb3BhY2l0eTogMC45O1xyXG59XHJcblxyXG4ua2FuYmFuQm9hcmQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogMXJlbTtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5rYW5iYW5Db2x1bW4ge1xyXG4gICAgZmxleDogMTtcclxuICAgIG1heC13aWR0aDogMzUwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgXHJcbiAgICAua2FuYmFuQ29sdW1uSGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoODIsIDExOCwgMTA1KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmthbmJhblRhc2tzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5rYW5iYW5UYXNrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxldTcsIDAuMik7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLnRhc2tIZWFkZXJ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKGZsZXgtZW5kLCBjZW50ZXIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgLmNsb3NlQnRuLmVuZE9mTGluZXtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcm91Z2U4O1xyXG4gICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAuY2xvc2VCdG46aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJvdWdlNztcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggJHJvdWdlNztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHN2Z3tcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhc2stdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhc2stZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci10ZXh0LWxpZ2h0LCAxMCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhc2stZGVzY3JpcHRpb24sIC50YXNrLXRpdGxlLCAucHJvamVjdC1udW1iZXJ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhc2stZGVzY3JpcHRpb246Zm9jdXMgLCAudGFzay10aXRsZTpmb2N1cywgLnByb2plY3QtbnVtYmVyOmZvY3Vze1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWRkLXRhc2stYnRuIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDFyZW0gYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm91Z2U4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgd2lkdGg6IDIuMXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDIuMXJlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XHJcbiAgICBcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRyb3VnZTgsIDEwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5hZGQtY29sdW1uLWJ0biB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMy4xcmVtO1xyXG4gICAgaGVpZ2h0OiAzLjFyZW07XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgbWFyZ2luLWlubGluZTogNSU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1hY2NlbnQsIDEwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qIFZhcmlhYmxlcyBwb3VyIGxlIG1vZGUgY2xhaXIgZXQgbGUgbW9kZSBzb21icmUgKi9cbi8qIFN0eWxlcyBnbG9iYXV4ICovXG4ua2FuYmFuQ2hvaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDMlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5rYW5iYW5DaG9pY2UgLmthbmJhbk5hbWUge1xuICBjb2xvcjogIzc3MTAwMjtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG5cbi5rYW5iYW5DaG9pY2U6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uZHJhZ2dpbmcge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5kcmFnb3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjY2NjO1xufVxuXG4ja2FuYmFuLXBhZ2UsIC5rYW5iYW4tcmVhZG9ubHkge1xuICB3aWR0aDogMTAwJTtcbn1cblxuW2NvbnRlbnRlZGl0YWJsZV0ucGxhY2Vob2xkZXI6OmJlZm9yZSB7XG4gIGNvbG9yOiAjODg4O1xufVxuXG4ua2FuYmFuQ29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ua2FuYmFuVGl0bGUge1xuICBjb2xvcjogIzc3MTAwMjtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ua2FuYmFuTGlzdFRpdGxlIHtcbiAgY29sb3I6ICM0MTBkMDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5rYW5iYW5Cb2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5rYW5iYW5Db2x1bW4ge1xuICBmbGV4OiAxO1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICBib3gtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4ua2FuYmFuQ29sdW1uIC5rYW5iYW5Db2x1bW5IZWFkZXIge1xuICBwYWRkaW5nOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHdoaXRlc21va2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDgyLCAxMTgsIDEwNSk7XG59XG4ua2FuYmFuQ29sdW1uIC5rYW5iYW5UYXNrcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC41cmVtO1xuICBwYWRkaW5nOiAxLjVyZW07XG59XG4ua2FuYmFuQ29sdW1uIC5rYW5iYW5UYXNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5rYW5iYW5Db2x1bW4gLmthbmJhblRhc2s6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyOSwgMTE2LCAwLjIpO1xufVxuLmthbmJhbkNvbHVtbiAua2FuYmFuVGFzayAudGFza0hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5rYW5iYW5Db2x1bW4gLmthbmJhblRhc2sgLnRhc2tIZWFkZXIgLmNsb3NlQnRuLmVuZE9mTGluZSB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM3NzEwMDI7XG59XG4ua2FuYmFuQ29sdW1uIC5rYW5iYW5UYXNrIC50YXNrSGVhZGVyIC5jbG9zZUJ0bjpob3ZlciB7XG4gIGNvbG9yOiAjYjgwODBhO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4ICNiODA4MGE7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG59XG4ua2FuYmFuQ29sdW1uIC5rYW5iYW5UYXNrIC50YXNrSGVhZGVyIC5jbG9zZUJ0bjpob3ZlciBzdmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5rYW5iYW5Db2x1bW4gLmthbmJhblRhc2sgLnRhc2stdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmthbmJhbkNvbHVtbiAua2FuYmFuVGFzayAudGFzay1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMWExYTFhO1xufVxuLmthbmJhbkNvbHVtbiAua2FuYmFuVGFzayAudGFzay1kZXNjcmlwdGlvbiwgLmthbmJhbkNvbHVtbiAua2FuYmFuVGFzayAudGFzay10aXRsZSwgLmthbmJhbkNvbHVtbiAua2FuYmFuVGFzayAucHJvamVjdC1udW1iZXIge1xuICBwYWRkaW5nOiA3cHggMTBweDtcbn1cbi5rYW5iYW5Db2x1bW4gLmthbmJhblRhc2sgLnRhc2stZGVzY3JpcHRpb246Zm9jdXMsIC5rYW5iYW5Db2x1bW4gLmthbmJhblRhc2sgLnRhc2stdGl0bGU6Zm9jdXMsIC5rYW5iYW5Db2x1bW4gLmthbmJhblRhc2sgLnByb2plY3QtbnVtYmVyOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5rYW5iYW5Db2x1bW4gLmFkZC10YXNrLWJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3MTAwMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMi4xcmVtO1xuICBoZWlnaHQ6IDIuMXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbn1cbi5rYW5iYW5Db2x1bW4gLmFkZC10YXNrLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTA5MDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5hZGQtY29sdW1uLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4MjYxNTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMy4xcmVtO1xuICBoZWlnaHQ6IDMuMXJlbTtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWlubGluZTogNSU7XG59XG4uYWRkLWNvbHVtbi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UxNjBjO1xufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGZvbnQtZmFtaWx5OiAnSW5jbHVzaXZlIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4kY29sb3ItYmc6ICNmOWZhZmI7XHJcbiRjb2xvci10ZXh0OiAjMzc0MTUxO1xyXG4kY29sb3ItYWNjZW50OiAjNDAyMDU0O1xyXG4kY29sb3IteWVsbG93OiAjODZkMDhlO1xyXG4kY29sb3ItcmVwb3J0LWJnOiAjZTBmMmZlO1xyXG4kY29sb3ItbWFudXNjcml0LWJnOiAjZmJmZmU3O1xyXG4kY29sb3ItYm9yZGVyOiAjZTVlN2ViO1xyXG4kcmFkaXVzOiAxMHB4O1xyXG4kc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gR2xvYmFsIHN0eWxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxubWFpbi5kZWJyaWVmaW5nIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDJyZW07XHJcblxyXG5cclxuICAgIGgxLCBoMiwgaDMsIGg0IHtcclxuICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgXHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIHNlY3Rpb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBnYXA6IDFyZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBQcm9qZXQgSGVhZGVyXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAucHJvamV0SGVhZGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGdhcDogMXJlbTtcclxuICAgIFxyXG4gICAgICAucHJvamV0TWV0YSB7XHJcbiAgICAgICAgZmxleDogMjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbjogMC4zcmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgLnByb2pldFNvdXJjZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXllbGxvdztcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbjogMC4zcmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgLnByb2pldFN0YXR1dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBBdmlzIC8gUmFwcG9ydHNcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC5hdmlzU2VjdGlvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGdhcDogMXJlbTtcclxuICAgIFxyXG4gICAgICAucmFwcG9ydCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlcG9ydC1iZztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIFxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luOiAwLjRyZW0gMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gTW9udGFnZSBGaW5hbmNpZXJcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC5tb250YWdlRmluYW5jaWVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNjtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29sb3ItYWNjZW50O1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gTWFudXNjcml0XHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAubWFudXNjcml0IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1hbnVzY3JpdC1iZztcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlcjtcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBDb21pdMOpIMOpZGl0b3JpYWxcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC5jb21pdGVzRWRpdG9yaWF1eCB7XHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXI7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgICAgcGFkZGluZzogMC43NXJlbTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBTZWN0aW9uIFByb2pldFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFJlc3BvbnNpdmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC5wcm9qZXRIZWFkZXIge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB9XHJcblxyXG4gIC5wcm9qZXRTdGF0dXQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuIiwibWFpbi5kZWJyaWVmaW5nIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnJlbTtcbn1cbm1haW4uZGVicmllZmluZyBoMSwgbWFpbi5kZWJyaWVmaW5nIGgyLCBtYWluLmRlYnJpZWZpbmcgaDMsIG1haW4uZGVicmllZmluZyBoNCB7XG4gIGNvbG9yOiAjNDAyMDU0O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxubWFpbi5kZWJyaWVmaW5nIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbm1haW4uZGVicmllZmluZyBzZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5tYWluLmRlYnJpZWZpbmcgLnByb2pldEhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDFyZW07XG59XG5tYWluLmRlYnJpZWZpbmcgLnByb2pldEhlYWRlciAucHJvamV0TWV0YSB7XG4gIGZsZXg6IDI7XG59XG5tYWluLmRlYnJpZWZpbmcgLnByb2pldEhlYWRlciAucHJvamV0TWV0YSBwIHtcbiAgbWFyZ2luOiAwLjNyZW0gMDtcbn1cbm1haW4uZGVicmllZmluZyAucHJvamV0SGVhZGVyIC5wcm9qZXRTb3VyY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZkMDhlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmbGV4OiAxO1xufVxubWFpbi5kZWJyaWVmaW5nIC5wcm9qZXRIZWFkZXIgLnByb2pldFNvdXJjZSBwIHtcbiAgbWFyZ2luOiAwLjNyZW0gMDtcbn1cbm1haW4uZGVicmllZmluZyAucHJvamV0SGVhZGVyIC5wcm9qZXRTdGF0dXQge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiAjNDAyMDU0O1xufVxubWFpbi5kZWJyaWVmaW5nIC5hdmlzU2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbn1cbm1haW4uZGVicmllZmluZyAuYXZpc1NlY3Rpb24gLnJhcHBvcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBmMmZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxubWFpbi5kZWJyaWVmaW5nIC5hdmlzU2VjdGlvbiAucmFwcG9ydCBwIHtcbiAgbWFyZ2luOiAwLjRyZW0gMDtcbn1cbm1haW4uZGVicmllZmluZyAubW9udGFnZUZpbmFuY2llciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzQwMjA1NDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cbm1haW4uZGVicmllZmluZyAubW9udGFnZUZpbmFuY2llciB1bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG59XG5tYWluLmRlYnJpZWZpbmcgLm1hbnVzY3JpdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmZmZTc7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbm1haW4uZGVicmllZmluZyAuY29taXRlc0VkaXRvcmlhdXggdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbm1haW4uZGVicmllZmluZyAuY29taXRlc0VkaXRvcmlhdXggdWwgbGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9qZXRIZWFkZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnByb2pldFN0YXR1dCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufSIsIkBpbXBvcnQgXCIuLi9zdHlsZXMvbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXMuc2Nzc1wiO1xyXG5cclxuXHJcbi5pbmJveFRpdGxle1xyXG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XHJcbiAgICB3aWR0aDogNTB2dztcclxuXHJcbiAgICBoMXtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIGF7XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xyXG4gICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxldTc7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgYTpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxldTY7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWFpbFByZXZpZXd7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG5cclxuICAgIGg1e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgY29sb3I6ICRyb3VnZTg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWlsU291cmNle1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxuXHJcbiAgICBkaXZ7XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuXHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJhZGdlU3VjY2Vzc3tcclxuICAgICAgICBAaW5jbHVkZSBkRmxleChyb3cpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNlbnRlclhZKGZsZXgtc3RhcnQsIGNlbnRlcik7XHJcbiAgICAgICAgY29sb3I6ICR2ZXJ0NjtcclxuICAgIH1cclxuXHJcbiAgICBwcmV7XHJcbiAgICAgICAgd2lkdGg6IDgwdnc7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haWxGb290ZXJ7XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuXHJcbiAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgd2lkdGg6IDgwdnc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBmb3JtOmhvdmVye1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIuaW5ib3hUaXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogNTB2dztcbn1cbi5pbmJveFRpdGxlIGgxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGF1dG87XG59XG4uaW5ib3hUaXRsZSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwODE3NDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbn1cbi5pbmJveFRpdGxlIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDdhNjlkO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5tYWlsUHJldmlldyB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG4ubWFpbFByZXZpZXcgaDUge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBjb2xvcjogIzc3MTAwMjtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLm1haWxQcmV2aWV3IC5tYWlsU291cmNlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLm1haWxQcmV2aWV3IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ubWFpbFByZXZpZXcgZGl2IGEge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luOiAwO1xufVxuLm1haWxQcmV2aWV3IC5iYWRnZVN1Y2Nlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM2MmIxMjI7XG59XG4ubWFpbFByZXZpZXcgcHJlIHtcbiAgd2lkdGg6IDgwdnc7XG59XG4ubWFpbFByZXZpZXcgLm1haWxGb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLm1haWxQcmV2aWV3IC5tYWlsRm9vdGVyIHNwYW4ge1xuICB3aWR0aDogODB2dztcbn1cbi5tYWlsUHJldmlldyBmb3JtOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRHJvcGRvd24gZ8OpbsOpcmFsXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuI25vdGlmaWNhdGlvbkRyb3Bkb3duIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMzZweDsgLyoganVzdGUgc291cyBs4oCZaWPDtG5lICovXHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAzNDBweDtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4jbm90aWZpY2F0aW9uRHJvcGRvd24udmlzaWJsZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiA0MjBweDtcclxuICAgIG1heC13aWR0aDogMzQwcHg7XHJcbn1cclxuXHJcblxyXG4vKiBTY3JvbGxiYXIgZGlzY3LDqHRlICovXHJcbiNub3RpZmljYXRpb25Ecm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDZweDtcclxufVxyXG4jbm90aWZpY2F0aW9uRHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NzlhOWY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgw4lsw6ltZW50IGluZGl2aWR1ZWxcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4jbm90aWZpY2F0aW9uQnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIHN2ZywgLmJhZGdlIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLm5vdGlmaWNhdGlvbkl0ZW0ge1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmM2Y0ZjY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uSXRlbTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmYWZiO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEljw7RuZSAvIHBhc3RpbGxlIGRlIHR5cGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4ubm90aWZpY2F0aW9uSWNvbiB7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uSWNvbi5pbmZvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjgyZjY7IC8qIGJsZXUgKi9cclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbkljb24uc3VjY2VzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTBiOTgxOyAvKiB2ZXJ0ICovXHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb25JY29uLndhcm5pbmcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1OWUwYjsgLyogamF1bmUgKi9cclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbkljb24uYWxlcnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmNDQ0NDsgLyogcm91Z2UgKi9cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0ZSBkZSBsYSBub3RpZmljYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4ubm90aWZpY2F0aW9uQ29udGVudCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb25UaXRsZSB7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogIzExMTgyNztcclxuICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbk1lc3NhZ2Uge1xyXG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgY29sb3I6ICM0YjU1NjM7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uVGltZSB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBjb2xvcjogIzljYTNhZjtcclxuICAgIG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICDDiXRhdCBub24gbHVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4ubm90aWZpY2F0aW9uSXRlbS51bnJlYWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjlmZjtcclxuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzNiYzFmNjtcclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbkl0ZW0udW5yZWFkOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGYyZmU7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUGllZCBkZSBtZW51XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLm5vdGlmaWNhdGlvbkZvb3RlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICBjb2xvcjogIzZiNzI4MDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbkZvb3Rlcjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmYWZiO1xyXG4gICAgY29sb3I6ICMxMTE4Mjc7XHJcbn1cclxuXHJcblxyXG4uYmFkZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtNHB4OyAgICAgICAgICBcclxuICAgIHJpZ2h0OiAtNHB4OyAgICAgICAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUzOTM1OyBcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nOiAycHggNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBtaW4td2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsMCwwLDAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyAvKiBwb3VyIHVuZSDDqXZlbnR1ZWxsZSBhbmltYXRpb24gKi9cclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEVmZmV0IGTigJlhcHBhcml0aW9uICovXHJcbi5iYWRnZTpub3QoLmhpZGRlbikge1xyXG4gICAgYW5pbWF0aW9uOiBwb3BJbiAwLjI1cyBlYXNlO1xyXG59XHJcblxyXG5cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRHJvcGRvd24gZ8OpbsOpcmFsXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jbm90aWZpY2F0aW9uRHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzZweDsgLyoganVzdGUgc291cyBs4oCZaWPDtG5lICovXG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMzQwcHg7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuI25vdGlmaWNhdGlvbkRyb3Bkb3duLnZpc2libGUge1xuICBtYXgtaGVpZ2h0OiA0MjBweDtcbiAgbWF4LXdpZHRoOiAzNDBweDtcbn1cblxuLyogU2Nyb2xsYmFyIGRpc2Nyw6h0ZSAqL1xuI25vdGlmaWNhdGlvbkRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA2cHg7XG59XG5cbiNub3RpZmljYXRpb25Ecm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5YTlmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIMOJbMOpbWVudCBpbmRpdmlkdWVsXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jbm90aWZpY2F0aW9uQnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNub3RpZmljYXRpb25CdXR0b24gc3ZnLCAjbm90aWZpY2F0aW9uQnV0dG9uIC5iYWRnZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuI25vdGlmaWNhdGlvbkJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5ub3RpZmljYXRpb25JdGVtIHtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YzZjRmNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5ub3RpZmljYXRpb25JdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWPDtG5lIC8gcGFzdGlsbGUgZGUgdHlwZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLm5vdGlmaWNhdGlvbkljb24ge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ub3RpZmljYXRpb25JY29uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I4MmY2OyAvKiBibGV1ICovXG59XG5cbi5ub3RpZmljYXRpb25JY29uLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTBiOTgxOyAvKiB2ZXJ0ICovXG59XG5cbi5ub3RpZmljYXRpb25JY29uLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU5ZTBiOyAvKiBqYXVuZSAqL1xufVxuXG4ubm90aWZpY2F0aW9uSWNvbi5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZjQ0NDQ7IC8qIHJvdWdlICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHRlIGRlIGxhIG5vdGlmaWNhdGlvblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLm5vdGlmaWNhdGlvbkNvbnRlbnQge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5ub3RpZmljYXRpb25UaXRsZSB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzExMTgyNztcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4ubm90aWZpY2F0aW9uTWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6ICM0YjU1NjM7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5ub3RpZmljYXRpb25UaW1lIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzljYTNhZjtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICDDiXRhdCBub24gbHVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5ub3RpZmljYXRpb25JdGVtLnVucmVhZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGY5ZmY7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzNiYzFmNjtcbn1cblxuLm5vdGlmaWNhdGlvbkl0ZW0udW5yZWFkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZjJmZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGllZCBkZSBtZW51XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ubm90aWZpY2F0aW9uRm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6ICM2YjcyODA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5vdGlmaWNhdGlvbkZvb3Rlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmI7XG4gIGNvbG9yOiAjMTExODI3O1xufVxuXG4uYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgcmlnaHQ6IC00cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTM5MzU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtaW4td2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyAvKiBwb3VyIHVuZSDDqXZlbnR1ZWxsZSBhbmltYXRpb24gKi9cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLyogRWZmZXQgZOKAmWFwcGFyaXRpb24gKi9cbi5iYWRnZTpub3QoLmhpZGRlbikge1xuICBhbmltYXRpb246IHBvcEluIDAuMjVzIGVhc2U7XG59IiwiQGltcG9ydCBcIi4uL3N0eWxlcy9taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzXCI7XHJcblxyXG4uZnJvbnRQYWdle1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBAaW5jbHVkZSBkRmxleChjb2x1bW4pO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgJGJsZXU3LCBibGFjayk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGgxe1xyXG4gICAgICAgIHdpZHRoOiA3MHZ3O1xyXG4gICAgICAgIG1hcmdpbi1ibG9jazogOTBweCAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggJHNoYWRvd0NvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAubG9naW5Gb3Jte1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoY2VudGVyLCBjZW50ZXIpO1xyXG5cclxuICAgICAgICAuY2FyZHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoZmxleC1zdGFydCwgY2VudGVyKTtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgd2lkdGg6IDI1dnc7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogNjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4M2RlZywgcmdiKDUwLCA1MCwgNTApLCByZ2IoNzAsIDcwLCA3MCkpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYigyMCwgMjAsIDIwKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJhc2ljQnRue1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4ICRzZWNvbmRhcnlDb2xvcjtcclxuXHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5iYXNpY0J0bjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwMCwgMTAwLCAxMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuY2FyZDpob3ZlcntcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDRweCAkc2hhZG93Q29sb3I7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogU3R5bGVzIHBvdXIgbGEgdmFndWUgKi9cclxuICAgIC53YXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAud2F2ZTpmaXJzdC1vZi10eXBle1xyXG5cclxuICAgICAgICBzdmd7XHJcbiAgICAgICAgICAgIGZpbGw6ICRibGV1ODtcclxuXHJcbiAgICAgICAgICAgIHBhdGh7XHJcblxyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMnB4ICRibGV1Nik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC53YXZlOmxhc3Qtb2YtdHlwZXtcclxuICAgICAgICBcclxuICAgICAgICBzdmd7XHJcbiAgICAgICAgICAgIGZpbGw6IHJnYigzNSwgMzUsIDM1KTtcclxuICAgICAgICAgICAgcGF0aHtcclxuXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA1cHggJHNoYWRvd0NvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYm90dG9tUGFnZXtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiA4dmg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgZGl2e1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkRmxleChyb3cpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1hcm91bmQsIGNlbnRlcik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcclxuXHJcbiAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbjpob3ZlcntcclxuICAgICAgICAgICAgICAgIHNjYWxlOiAxLjI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51c2VyQ29udGFpbmVye1xyXG4gICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKGNlbnRlciwgY2VudGVyKTtcclxuICAgIG1pbi13aWR0aDogNDB2dztcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA4MHZ3O1xyXG4gICAgbWF4LWhlaWdodDogODAwcHg7XHJcblxyXG4gICAgLnVzZXJDYXJke1xyXG4gICAgICAgIEBpbmNsdWRlIGRGbGV4KGNvbHVtbik7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyWFkoY2VudGVyLCBjZW50ZXIpO1xyXG4gICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggJHNoYWRvd0NvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcclxuICAgICAgICBwYWRkaW5nLWJsb2NrOiAyNXB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDIwcHg7XHJcblxyXG4gICAgICAgIC51c2VySWNvbntcclxuICAgICAgICAgICAgY29sb3I6ICRibGV1ODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51c2VyTmFtZXtcclxuICAgICAgICAgICAgY29sb3I6ICRyb3VnZTg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDI1cHggNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgY29sb3I6ICRibGV1ODtcclxuICAgICAgICAgICAgYm9yZGVyOiAkYmxldTggc29saWQgMXB4O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGV1ODtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZXNtb2tlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYXNpY0Zvcm17XHJcbiAgICBAaW5jbHVkZSBkRmxleChjb2x1bW4pO1xyXG4gICAgQGluY2x1ZGUgY2VudGVyWFkoc3BhY2UtYmV0d2VlbiwgY2VudGVyKTtcclxuICAgIHdpZHRoOiAzMHZ3O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4M2RlZywgcmdiKDUwLCA1MCwgNTApLCByZ2IoNzAsIDcwLCA3MCkpO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgM3B4ICRzaGFkb3dDb2xvcjtcclxuXHJcbiAgICA+bGFiZWx7XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiByZ2IoMjAwLCAyMDAsIDIwMCk7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXXtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig4MCwgODAsIDgwKTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnlDb2xvcjtcclxuICAgICAgICBwYWRkaW5nLWJsb2NrOiA1cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCAkc2hhZG93Q29sb3I7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3Vze1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggJHZlcnQzO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpblZhbGlkYXRpb257XHJcbiAgICAgICAgQGluY2x1ZGUgZEZsZXgocm93KTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJYWShjZW50ZXIsIGNlbnRlcik7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogMTVweDtcclxuXHJcbiAgICAgICAgbGFiZWx7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiKDIwMCwgMjAwLCAyMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnB1YmxpY0hlYWRlcntcclxuICAgIEBpbmNsdWRlIGRGbGV4KHJvdyk7XHJcbiAgICBAaW5jbHVkZSBjZW50ZXJYWShzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAkc2hhZG93Q29sb3I7XHJcbn1cclxuXHJcbi5wdWJsaWNWaWV3e1xyXG4gICAgQGluY2x1ZGUgZEZsZXgoY29sdW1uKTtcclxuICAgIEBpbmNsdWRlIGNlbnRlclhZKHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XHJcbiAgICB3aWR0aDogMTAwdnc7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCAxODBkZWcsICRzZWNvbmRhcnlDb2xvciwgd2hpdGVzbW9rZSk7XHJcblxyXG4gICAgZm9ybXtcclxuICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG59IiwiLmZyb250UGFnZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgIzAwODE3NCwgYmxhY2spO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBTdHlsZXMgcG91ciBsYSB2YWd1ZSAqL1xufVxuLmZyb250UGFnZSBoMSB7XG4gIHdpZHRoOiA3MHZ3O1xuICBtYXJnaW4tYmxvY2s6IDkwcHggMjBweDtcbiAgbGluZS1oZWlnaHQ6IDNyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggcmdiKDIwLCAyMCwgMjApKTtcbn1cbi5mcm9udFBhZ2UgLmxvZ2luRm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZnJvbnRQYWdlIC5sb2dpbkZvcm0gLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI1dnc7XG4gIG1hcmdpbi1ibG9jazogNjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4M2RlZywgcmdiKDUwLCA1MCwgNTApLCByZ2IoNzAsIDcwLCA3MCkpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYigyMCwgMjAsIDIwKTtcbiAgb3BhY2l0eTogMC45O1xufVxuLmZyb250UGFnZSAubG9naW5Gb3JtIC5jYXJkIHNwYW4ge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luLWJsb2NrOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuLmZyb250UGFnZSAubG9naW5Gb3JtIC5jYXJkIC5iYXNpY0J0biB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IHdoaXRlc21va2U7XG59XG4uZnJvbnRQYWdlIC5sb2dpbkZvcm0gLmNhcmQgLmJhc2ljQnRuIGEge1xuICBjb2xvcjogd2hpdGVzbW9rZTtcbn1cbi5mcm9udFBhZ2UgLmxvZ2luRm9ybSAuY2FyZCAuYmFzaWNCdG46aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHdoaXRlc21va2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDAsIDEwMCwgMTAwKTtcbn1cbi5mcm9udFBhZ2UgLmxvZ2luRm9ybSAuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggd2hpdGU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHJnYigyMCwgMjAsIDIwKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZyb250UGFnZSAud2F2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG4uZnJvbnRQYWdlIC53YXZlOmZpcnN0LW9mLXR5cGUgc3ZnIHtcbiAgZmlsbDogIzAwNWE1MTtcbn1cbi5mcm9udFBhZ2UgLndhdmU6Zmlyc3Qtb2YtdHlwZSBzdmcgcGF0aCB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDJweCAjMDdhNjlkKTtcbn1cbi5mcm9udFBhZ2UgLndhdmU6bGFzdC1vZi10eXBlIHN2ZyB7XG4gIGZpbGw6IHJnYigzNSwgMzUsIDM1KTtcbn1cbi5mcm9udFBhZ2UgLndhdmU6bGFzdC1vZi10eXBlIHN2ZyBwYXRoIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNXB4IHJnYigyMCwgMjAsIDIwKSk7XG59XG4uZnJvbnRQYWdlIC5ib3R0b21QYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDh2aDtcbn1cbi5mcm9udFBhZ2UgLmJvdHRvbVBhZ2UgZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCA1MHB4O1xufVxuLmZyb250UGFnZSAuYm90dG9tUGFnZSBkaXYgc3BhbiB7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZnJvbnRQYWdlIC5ib3R0b21QYWdlIGRpdiBzcGFuIGEge1xuICBjb2xvcjogd2hpdGVzbW9rZTtcbn1cbi5mcm9udFBhZ2UgLmJvdHRvbVBhZ2UgZGl2IHNwYW46aG92ZXIge1xuICBzY2FsZTogMS4yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuLnVzZXJDb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDQwdnc7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIG1heC1oZWlnaHQ6IDgwMHB4O1xufVxuLnVzZXJDb250YWluZXIgLnVzZXJDYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDIyMHB4O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IHJnYigyMCwgMjAsIDIwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xuICBwYWRkaW5nLWJsb2NrOiAyNXB4O1xuICBtYXJnaW4taW5saW5lOiAyMHB4O1xufVxuLnVzZXJDb250YWluZXIgLnVzZXJDYXJkIC51c2VySWNvbiB7XG4gIGNvbG9yOiAjMDA1YTUxO1xufVxuLnVzZXJDb250YWluZXIgLnVzZXJDYXJkIC51c2VyTmFtZSB7XG4gIGNvbG9yOiAjNzcxMDAyO1xuICBvcGFjaXR5OiAwLjk7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luOiAyNXB4IDVweDtcbn1cbi51c2VyQ29udGFpbmVyIC51c2VyQ2FyZCBhIHtcbiAgY29sb3I6ICMwMDVhNTE7XG4gIGJvcmRlcjogIzAwNWE1MSBzb2xpZCAxcHg7XG59XG4udXNlckNvbnRhaW5lciAudXNlckNhcmQgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVhNTE7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4uYmFzaWNGb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAzMHZ3O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgzZGVnLCByZ2IoNTAsIDUwLCA1MCksIHJnYig3MCwgNzAsIDcwKSk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2IoMjAsIDIwLCAyMCk7XG59XG4uYmFzaWNGb3JtID4gbGFiZWwge1xuICB3aWR0aDogNzAlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgY29sb3I6IHJnYigyMDAsIDIwMCwgMjAwKTtcbn1cbi5iYXNpY0Zvcm0gaW5wdXRbdHlwZT1lbWFpbF0sIC5iYXNpY0Zvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xuICB3aWR0aDogNzAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoODAsIDgwLCA4MCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZy1ibG9jazogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYigyMCwgMjAsIDIwKTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmJhc2ljRm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cywgLmJhc2ljRm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggIzcyYmI3MTtcbn1cbi5iYXNpY0Zvcm0gLmxvZ2luVmFsaWRhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYmxvY2s6IDE1cHg7XG59XG4uYmFzaWNGb3JtIC5sb2dpblZhbGlkYXRpb24gbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHJnYigyMDAsIDIwMCwgMjAwKTtcbn1cblxuLnB1YmxpY0hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiKDIwLCAyMCwgMjApO1xufVxuXG4ucHVibGljVmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB3aGl0ZXNtb2tlLCB3aGl0ZXNtb2tlKTtcbn1cbi5wdWJsaWNWaWV3IGZvcm0ge1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59IiwiQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vc3R5bGVzL21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9zdHlsZXMva2V5ZnJhbWVzLnNjc3NcIjtcclxuXHJcblxyXG5cclxuXHJcbi8qIHRvZ2dsZSAvIHRyYW5zaXRpb25zICovXHJcbi5zbGlkZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4yNXMgZWFzZSwgb3BhY2l0eSAuMjVzIGVhc2U7XHJcbn0iLCIvKiB0b2dnbGUgLyB0cmFuc2l0aW9ucyAqL1xuLnNsaWRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4yNXMgZWFzZTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/