/* input[placeholder] */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700|Open+Sans+Condensed:300,700|PT+Sans+Narrow:400,700|PT+Sans+Caption:400,700|PT+Sans:400,700|Montserrat:300,400,700);
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300,400,500,600,700,800,900,100i,200i,300i,400i,500i,600i,700i,800i,900i|Source+Serif+Pro:400,600,700,400i,600i,700i);
::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #555 !important;
}
:-moz-placeholder {
  /* Firefox 18- */
  color: #555 !important;
  opacity: 1;
}
::-moz-placeholder {
  /* Firefox 19+ */
  color: #555 !important;
  opacity: 1;
}
:-ms-input-placeholder {
  /* IE 10+ */
  color: #555 !important;
}
/* Imports */
body {
  font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}
/* Font Sizes */
/* Screen Sizes */
/* CCC CO 2019 */
/* Nav Header Background */
/* ==========================================================================
   Colors
   ========================================================================== */
/* Simple Colors */
/* Grayscale colors: 1 is lightest, 10 is darkest */
/* Colors */
/* Status Indicators */
/* Warm Grays */
/* Component Colors */
.hilight-animation {
  animation-name: move-color;
  animation-duration: 2s;
  animation-timing: ease;
  animation-iteration-count: infinite;
}
#portalPageBody {
  position: relative;
}
.modal-header .close .glyphicon-remove {
  font-size: 80%;
}
input[type="text"].form-control,
input[type="date"].form-control {
  line-height: 1;
}
.app-launcher-portlet a {
  color: #0069A2;
}
.app-launcher-portlet a:hover,
.app-launcher-portlet a:focus {
  color: #007CC0;
}
.container-fluid .row {
  margin-left: 0;
  margin-right: 0;
}
.no-margins {
  margin: 0;
}
.container {
  width: 100%;
}
.container,
.container-fluid {
  padding-left: 2%;
  padding-right: 2%;
}
ng-transclude,
portlet-content,
[portlet-content] {
  display: block;
}
#portalPageBody.portal-content {
  background-color: rgba(0, 0, 0, 0.05);
}
.portal-global.row {
  display: none;
}
.edit-chrome {
  height: 2em;
  position: relative;
  background-color: rgba(255, 165, 0, 0.3);
  border-radius: 5px 0 0 5px;
  margin: 0.5em;
  width: 99%;
  display: none;
}
.edit-chrome .child-settings a.btn {
  opacity: 0;
  transition: opacity 0.5s;
}
.move-mode .edit-chrome {
  display: block;
}
.move-mode .edit-chrome .child-settings a.btn {
  opacity: 1;
}
.edit-chrome.child-portlet .chrome .child-settings .remove-btn {
  display: none;
}
.edit-chrome .child-settings {
  padding: 0.25em;
}
.edit-chrome .child-settings .portlet-properties {
  border-radius: 0.5em;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  padding: 0 0.5em;
  background-color: white;
}
.edit-chrome .child-settings .portlet-properties,
.edit-chrome .child-settings input,
.edit-chrome .child-settings label,
.edit-chrome .child-settings .checkbox {
  display: inline-block;
}
up-content-folder {
  width: 100%;
  display: inline-block;
}
.move-mode up-content-folder {
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
  min-height: 2em;
}
up-content-folder .highlighted > span > portlet-content,
up-content-folder .highlighted > up-content-folder {
  animation-name: move-color;
  animation-duration: 2s;
  animation-timing: ease;
  animation-iteration-count: infinite;
}
@keyframes move-color {
  0% {
    box-shadow: 0 0 15px rgba(50, 80, 139, 0.7);
  }
  50% {
    box-shadow: 0 0 30px #32508B;
  }
  100% {
    box-shadow: 0 0 15px rgba(50, 80, 139, 0.7);
  }
}
li.folder-tab {
  position: relative;
}
li.folder-tab .remove-folder {
  opacity: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
}
li.folder-tab img.logo {
  height: 2em;
}
li.folder-tab .remove-folder:focus,
li.folder-tab:hover .remove-folder {
  opacity: 1;
}
.portal-power {
  margin-left: 5em;
}
.pinboard {
  padding: 20px 2%;
  background-color: #8C8C8C;
  /* Small devices (tablets, 768px and up) */
}
.pinboard > up-content-folder {
  text-align: center;
}
.pinboard .app {
  background: #FFFFFF;
  position: relative;
}
.pinboard .app:hover,
.pinboard .app:focus {
  cursor: pointer;
}
.pinboard .app:nth-child(6) {
  margin-right: 0;
}
.pinboard .app .wrapper {
  overflow: hidden;
  position: relative;
}
.pinboard .app .visual {
  background: #22346B;
}
.pinboard .app .wrapper-link:focus .visual {
  background: #283d7e;
}
.pinboard .app .favorite,
.pinboard .app .remove,
.pinboard .app .pinned {
  background: white;
  font-size: 0.8em;
  padding: 5px 10px;
  position: absolute;
}
.pinboard .app .favorite i,
.pinboard .app .remove i,
.pinboard .app .pinned i {
  margin-left: 5px;
}
.pinboard .app .favorite,
.pinboard .app .remove {
  text-decoration: none;
}
.pinboard .app .favorite:hover,
.pinboard .app .remove:hover,
.pinboard .app .favorite:focus,
.pinboard .app .remove:focus {
  background: #e5e5e5;
}
.pinboard .app .pinned {
  display: block;
  z-index: 1;
}
.pinboard .app .body {
  padding: 10px;
  height: 80px;
  overflow: hidden;
}
.pinboard .app .body .title {
  font-size: 1.50px;
  font-weight: 400;
  min-height: 1.2em;
  margin: 0;
  position: relative;
  word-wrap: break-word;
}
.pinboard .app .body .title .text-fade {
  display: none;
  /*height: 1.2em;
                    width: 45px;
                    position: absolute;
                    top: 0;
                    right: 0;
                    .horizontal-gradient(rgba(255,255,255, 0), rgba(255,255,255, 1));*/
}
.pinboard .app .body .description {
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.85em;
}
.pinboard .app .body .category {
  color: transparentize(0, 0, 0, 0.5);
  font-style: italic;
  margin: 0 0 2.5px 0;
}
.pinboard .app .body .links-to {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  color: transparentize(black, 0.5);
  font-size: 0.9em;
  margin: 10px 0 0 0;
  padding: 10px 0 0 0;
}
.pinboard .app .body .url i {
  font-size: 0.85em;
  margin-left: 0.25em;
}
@media (max-width: 767px) {
  .pinboard .app {
    background: #22346B;
    color: #FFFFFF;
    margin-bottom: 5px;
  }
  .pinboard .app .visual {
    float: left;
    height: 100%;
  }
  .pinboard .app .visual img {
    max-height: 40px;
    max-width: 40px;
    margin: 10px;
  }
  .pinboard .app .body {
    background: #FFFFFF;
    color: #333333;
    font-size: 10px;
    margin-left: 60px;
    min-height: 60px;
    height: auto;
  }
  .pinboard .app .body .title {
    font-size: 15px;
  }
  .pinboard .app .favorite,
  .pinboard .app .remove {
    bottom: 0;
    right: 0;
  }
  .pinboard .app .pinned {
    bottom: 0;
    right: 80px;
  }
  .pinboard > span {
    margin: 0;
  }
}
@media (min-width: 768px) {
  .pinboard {
    display: block;
    display: flex;
    flex-wrap: wrap;
  }
  .pinboard .app {
    border-radius: 2.5px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    height: 270px;
    margin: 0 0.5% 1% 0.5%;
    width: 180px;
  }
  .pinboard .app:hover {
    transform: scale(1.025);
  }
  .pinboard .app .visual {
    background: #22346B;
    border: 1px solid rgba(0, 0, 0, 0.2);
    font-size: 0;
    height: 160px;
    margin-bottom: 10px;
    overflow: hidden;
    text-align: center;
  }
  .pinboard .app .visual:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
  }
  .pinboard .app .visual img {
    max-height: 120px;
    max-width: 120px;
    margin: 20px;
  }
  .pinboard .app .body {
    margin-top: 10px;
    padding: 10px;
  }
  .pinboard .app .body .title {
    font-size: 1.2em;
  }
  .pinboard .app .favorite,
  .pinboard .app .remove,
  .pinboard .app .pinned {
    font-size: 0.8em;
    padding: 5px 10px;
    position: absolute;
    top: -1.5px;
  }
  .pinboard .app .favorite i,
  .pinboard .app .remove i,
  .pinboard .app .pinned i {
    margin-left: 5px;
  }
  .pinboard .app .favorite,
  .pinboard .app .remove {
    display: block;
    opacity: 0;
    right: 0;
  }
  .pinboard .app .pinned {
    left: 0;
  }
  .pinboard .app:hover .favorite,
  .pinboard .app:hover .remove {
    opacity: 1;
  }
  .pinboard .app .favorite:focus,
  .pinboard .app .remove:focus {
    opacity: 1;
  }
}
@media (min-width: 768px) and (pointer: coarse) {
  .pinboard .app .favorite,
  .pinboard .app .remove {
    opacity: 1;
  }
}
@media (min-width: 768px) and (hover: 0) {
  .pinboard .app .favorite,
  .pinboard .app .remove {
    opacity: 1;
  }
}
.pinboard > h2 {
  color: #FFFFFF;
  text-shadow: 1px 1px #000000;
}
.pinboard .intro-card {
  position: relative;
  height: 275px;
  width: 220px;
  margin: 14px 0;
  background-color: #fff;
}
.pinboard .intro-card .title {
  background-color: #D8D8D8;
  margin: 0 0 0.5em 0;
  padding: 10px 20px;
  font-size: 1.5em;
  font-weight: 600;
  text-transform: uppercase;
}
.pinboard .intro-card .body {
  text-align: center;
  padding: 10px 20px 20px 20px;
}
.pinboard .intro-card .icon {
  color: #8C8C8C;
  display: block;
  font-size: 3em;
  text-align: center;
}
.pinboard .intro-card p {
  text-align: left;
  margin: 0 auto;
  padding: 2.5px 5px;
}
@media (min-width: 768px) {
  .pinboard .item-list > span {
    margin: 0 5px 15px 0;
    display: inline-block;
  }
  .pinboard .app {
    margin: 0;
  }
  .pinboard .app:hover {
    transform: scale(1.02);
  }
}
@media (max-width: 767px) {
  .pinboard .intro-card {
    width: 100%;
    height: auto;
  }
}
/* appstyle mixin gives the app launchers their style */
[up-display="app-launcher"] {
  justify-content: center;
  /* Small devices (tablets, 768px and up) */
}
[up-display="app-launcher"] h2:first-of-type {
  display: block;
  width: 100%;
}
[up-display="app-launcher"] > span {
  margin: 0 5px 10px 0;
}
[up-display="app-launcher"] > span .portlet-content {
  padding: 0;
}
[up-display="app-launcher"] > span:hover .app,
[up-display="app-launcher"] > span:focus .app {
  transform: scale(1.025);
}
[up-display="app-launcher"] > span:hover .app .favorite,
[up-display="app-launcher"] > span:focus .app .favorite,
[up-display="app-launcher"] > span:hover .app .remove,
[up-display="app-launcher"] > span:focus .app .remove {
  display: block;
}
[up-display="app-launcher"] > span:hover .app .pinned,
[up-display="app-launcher"] > span:focus .app .pinned {
  left: 0;
}
[up-display="app-launcher"] .highlighted portlet-content {
  animation-name: none;
}
[up-display="app-launcher"] .highlighted .app {
  animation-name: move-color;
  animation-duration: 2s;
  animation-timing: ease;
  animation-iteration-count: infinite;
}
[up-display="app-launcher"] .app {
  background: #FFFFFF;
  position: relative;
}
[up-display="app-launcher"] .app:hover,
[up-display="app-launcher"] .app:focus {
  cursor: pointer;
}
[up-display="app-launcher"] .app:nth-child(6) {
  margin-right: 0;
}
[up-display="app-launcher"] .app .wrapper {
  overflow: hidden;
  position: relative;
}
[up-display="app-launcher"] .app .visual {
  background: #22346B;
}
[up-display="app-launcher"] .app .wrapper-link:focus .visual {
  background: #283d7e;
}
[up-display="app-launcher"] .app .favorite,
[up-display="app-launcher"] .app .remove,
[up-display="app-launcher"] .app .pinned {
  background: white;
  font-size: 0.8em;
  padding: 5px 10px;
  position: absolute;
}
[up-display="app-launcher"] .app .favorite i,
[up-display="app-launcher"] .app .remove i,
[up-display="app-launcher"] .app .pinned i {
  margin-left: 5px;
}
[up-display="app-launcher"] .app .favorite,
[up-display="app-launcher"] .app .remove {
  text-decoration: none;
}
[up-display="app-launcher"] .app .favorite:hover,
[up-display="app-launcher"] .app .remove:hover,
[up-display="app-launcher"] .app .favorite:focus,
[up-display="app-launcher"] .app .remove:focus {
  background: #e5e5e5;
}
[up-display="app-launcher"] .app .pinned {
  display: block;
  z-index: 1;
}
[up-display="app-launcher"] .app .body {
  padding: 10px;
  height: 80px;
  overflow: hidden;
}
[up-display="app-launcher"] .app .body .title {
  font-size: 1.50px;
  font-weight: 400;
  min-height: 1.2em;
  margin: 0;
  position: relative;
  word-wrap: break-word;
}
[up-display="app-launcher"] .app .body .title .text-fade {
  display: none;
  /*height: 1.2em;
                    width: 45px;
                    position: absolute;
                    top: 0;
                    right: 0;
                    .horizontal-gradient(rgba(255,255,255, 0), rgba(255,255,255, 1));*/
}
[up-display="app-launcher"] .app .body .description {
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.85em;
}
[up-display="app-launcher"] .app .body .category {
  color: transparentize(0, 0, 0, 0.5);
  font-style: italic;
  margin: 0 0 2.5px 0;
}
[up-display="app-launcher"] .app .body .links-to {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  color: transparentize(black, 0.5);
  font-size: 0.9em;
  margin: 10px 0 0 0;
  padding: 10px 0 0 0;
}
[up-display="app-launcher"] .app .body .url i {
  font-size: 0.85em;
  margin-left: 0.25em;
}
@media (max-width: 767px) {
  [up-display="app-launcher"] .app {
    background: #22346B;
    color: #FFFFFF;
    margin-bottom: 5px;
  }
  [up-display="app-launcher"] .app .visual {
    float: left;
    height: 100%;
  }
  [up-display="app-launcher"] .app .visual img {
    max-height: 40px;
    max-width: 40px;
    margin: 10px;
  }
  [up-display="app-launcher"] .app .body {
    background: #FFFFFF;
    color: #333333;
    font-size: 10px;
    margin-left: 60px;
    min-height: 60px;
    height: auto;
  }
  [up-display="app-launcher"] .app .body .title {
    font-size: 15px;
  }
  [up-display="app-launcher"] .app .favorite,
  [up-display="app-launcher"] .app .remove {
    bottom: 0;
    right: 0;
  }
  [up-display="app-launcher"] .app .pinned {
    bottom: 0;
    right: 80px;
  }
  [up-display="app-launcher"] > span {
    margin: 0;
  }
}
@media (min-width: 768px) {
  [up-display="app-launcher"] {
    display: block;
    display: flex;
    flex-wrap: wrap;
  }
  [up-display="app-launcher"] .app {
    border-radius: 2.5px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    height: 270px;
    margin: 0 0.5% 1% 0.5%;
    width: 180px;
  }
  [up-display="app-launcher"] .app:hover {
    transform: scale(1.025);
  }
  [up-display="app-launcher"] .app .visual {
    background: #22346B;
    border: 1px solid rgba(0, 0, 0, 0.2);
    font-size: 0;
    height: 160px;
    margin-bottom: 10px;
    overflow: hidden;
    text-align: center;
  }
  [up-display="app-launcher"] .app .visual:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
  }
  [up-display="app-launcher"] .app .visual img {
    max-height: 120px;
    max-width: 120px;
    margin: 20px;
  }
  [up-display="app-launcher"] .app .body {
    margin-top: 10px;
    padding: 10px;
  }
  [up-display="app-launcher"] .app .body .title {
    font-size: 1.2em;
  }
  [up-display="app-launcher"] .app .favorite,
  [up-display="app-launcher"] .app .remove,
  [up-display="app-launcher"] .app .pinned {
    font-size: 0.8em;
    padding: 5px 10px;
    position: absolute;
    top: -1.5px;
  }
  [up-display="app-launcher"] .app .favorite i,
  [up-display="app-launcher"] .app .remove i,
  [up-display="app-launcher"] .app .pinned i {
    margin-left: 5px;
  }
  [up-display="app-launcher"] .app .favorite,
  [up-display="app-launcher"] .app .remove {
    display: block;
    opacity: 0;
    right: 0;
  }
  [up-display="app-launcher"] .app .pinned {
    left: 0;
  }
  [up-display="app-launcher"] .app:hover .favorite,
  [up-display="app-launcher"] .app:hover .remove {
    opacity: 1;
  }
  [up-display="app-launcher"] .app .favorite:focus,
  [up-display="app-launcher"] .app .remove:focus {
    opacity: 1;
  }
}
@media (min-width: 768px) and (pointer: coarse) {
  [up-display="app-launcher"] .app .favorite,
  [up-display="app-launcher"] .app .remove {
    opacity: 1;
  }
}
@media (min-width: 768px) and (hover: 0) {
  [up-display="app-launcher"] .app .favorite,
  [up-display="app-launcher"] .app .remove {
    opacity: 1;
  }
}
up-content-folder[up-display="container"] {
  display: block;
}
[up-display="row"],
[up-display="row-alternate"] {
  display: block;
}
[up-display="row-alternate"] [up-display="row"].alt {
  background-color: #22346B;
  color: #FFFFFF;
}
[up-display="row-alternate"] [up-display="row"].alt a,
[up-display="row-alternate"] [up-display="row"].alt .btn-link {
  color: #66b2ff;
  text-decoration: underline;
}
[up-display="column"] {
  vertical-align: top;
}
[up-display="row-btm-border"] {
  border-bottom: 10px solid #CCCCCC;
}
@media (min-width: 768px) {
  /*required for IE; SSP-1736 */
  [up-display="app-launcher"] portlet-content {
    width: 180px;
    display: inline-block;
  }
}
.customize {
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
}
.customize.pinned {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
}
.customize-drawer,
.customize-handle {
  background-color: #cccccc;
  overflow: auto;
}
.customize-handle {
  width: 10em;
  text-align: center;
  padding: 0.25em;
  cursor: pointer;
  border-radius: 0 0 0.5em 0.5em;
}
.customize-drawer {
  display: none;
  margin: 0;
  padding: 1em;
  flex-wrap: wrap;
}
.customize.open .customize-drawer {
  display: block;
  /*IE10+ fix*/
  display: flex;
}
.customize-drawer .add-folder {
  cursor: copy;
  width: 10em;
  padding: 1em;
  float: left;
  align-self: flex-end;
  border-radius: 0.5em;
  transition: background-color 1s;
}
.customize-drawer .add-folder:hover,
.customize-drawer .add-folder:active {
  background-color: rgba(0, 0, 0, 0.2);
}
.customize-drawer > .action-bar {
  width: 100%;
}
.customize-drawer > .action-bar a {
  cursor: pointer;
  margin: 0.2em;
  text-decoration: none;
  color: black;
}
@media (min-width: 768px) {
  .customize-drawer > .action-bar .input-group,
  .customize-drawer > .action-bar .input-group-addon {
    display: flex;
  }
  .customize-drawer > .action-bar .input-group .form-control {
    display: inline-block;
  }
  .customize-drawer > .action-bar .input-group .input-group-addon {
    width: auto;
  }
}
.customize-drawer .categories {
  width: calc(84%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.customize-drawer .category-name {
  display: inline-block;
  margin: 2.5px;
  padding: 5px;
  font-size: 1.5em;
  border-radius: 0.5em;
  cursor: pointer;
}
.customize-drawer .category-name.current {
  background-color: #5e81c5;
}
.customize-drawer .category-name.current:hover {
  background-color: #3f66b1;
}
.customize-drawer .category-name:hover {
  background-color: #839ed3;
}
.customize-drawer .portlet-list-row {
  display: block;
  width: 100%;
}
.customize-drawer .customize-portlet-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.customize-drawer .customize-portlet {
  display: inline-block;
  margin: 0.5em;
  border-radius: 0.5em;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.25);
  background-color: rgba(0, 0, 0, 0.2);
  max-width: 30%;
}
@media (max-width: 960px) {
  .customize-drawer .customize-portlet {
    max-width: 50%;
  }
}
@media (max-width: 300px) {
  .customize-drawer .customize-portlet {
    max-width: 100%;
  }
}
.customize-drawer .customize-portlet .action-bar {
  cursor: move;
  border-radius: 0.5em 0.5em 0 0;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.2);
  display: block;
  position: relative;
}
.customize-drawer .customize-portlet .action-bar .add {
  margin-left: 0.5em;
  cursor: pointer;
  padding: 0.25em;
  float: right;
  opacity: 0;
  background-color: #2b4578;
  color: white;
  text-decoration: none;
}
.customize-drawer .customize-portlet .action-bar .add:first-child {
  border-radius: 0 0.5em 0 0;
}
.customize-drawer .customize-portlet .action-bar .add:focus {
  opacity: 1;
}
.customize-drawer .customize-portlet .portlet-name {
  display: block;
  color: black;
  text-decoration: none;
  font-size: 1.1em;
  cursor: pointer;
}
.customize-drawer .customize-portlet .portlet-name:hover {
  text-decoration: underline;
}
.customize-drawer .customize-portlet .portlet-body {
  padding: 0.5em;
}
.customize-drawer .customize-portlet .portlet-body img {
  margin: 0 0.5em 0.5em 0;
  float: left;
}
.customize-drawer .customize-portlet .description {
  font-size: 0.75em;
}
.customize-drawer .customize-portlet:hover {
  background-color: rgba(0, 0, 0, 0.4);
}
.customize-drawer .customize-portlet:hover .action-bar .add {
  opacity: 1;
}
.customize-drawer .customize-portlet .serach-results {
  display: flex;
  flex-wrap: true;
}
portlet-content.maximized {
  padding-top: 15px;
}
portlet-content .maintenance {
  font-size: 25px;
  font-weight: bold;
}
portlet-content.moving,
portlet-content.moving.chrome {
  animation-name: move-color;
  animation-duration: 2s;
  animation-timing: ease;
  animation-iteration-count: infinite;
}
portlet-content.chrome {
  border-radius: 12.5px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}
portlet-content.chrome .right-menu a:focus {
  opacity: 1;
}
portlet-content.chrome .right-menu .options-menu.shown {
  display: block;
}
portlet-content.chrome:hover ng-transclude:first-child h1 .right-menu {
  display: block;
}
portlet-content.chrome:hover ng-transclude:first-child h1 .right-menu a {
  opacity: 1;
}
portlet-content.chrome:hover ng-transclude:first-child h1 .right-menu .options-menu.shown {
  display: block;
}
portlet-content.chrome > ng-transclude h1 {
  overflow: auto;
  font-size: 22.5px;
  padding: 2.5px;
}
portlet-content.chrome > ng-transclude h1 .right-menu {
  position: relative;
}
portlet-content.chrome > ng-transclude h1 .right-menu a {
  opacity: 0;
  transition: opacity 0.5s ease;
}
portlet-content.chrome > ng-transclude h1 .right-menu span {
  margin: 0 0.25em;
}
portlet-content.chrome > ng-transclude h1 .right-menu .options-menu {
  display: none;
  color: black;
  background-color: white;
  border-radius: 0.25em;
  padding: 0.25em;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
  z-index: 3;
}
portlet-content.chrome > ng-transclude h1 a {
  color: white;
  cursor: pointer;
  text-decoration: none;
}
portlet-content.chrome > ng-transclude h1 a:hover {
  text-decoration: none;
  color: #F5F5F5;
}
portlet-content.chrome > .portlet-content-js {
  display: block;
  margin-top: 0;
  overflow: auto;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0 0 12.5px 12.5px;
}
portlet-content > ng-transclude > h1 {
  text-align: center;
  padding: 12.5px;
  border-radius: 12.5px 12.5px 0 0;
  background-color: #696969;
  color: white;
  margin-bottom: 0;
}
portlet-content > ng-transclude > h1:hover {
  background-color: #404040;
}
.ptl-mgr .alert h3 {
  margin-top: 0;
}
[flickity].no-prev-next .flickity-prev-next-button {
  display: none;
}
header.global-header {
  z-index: 10;
}
.college-cover {
  background-color: #002F6D;
  background-image: url('/uPortal/images/ccc-tenant-bg-default.jpg');
  background-attachment: fixed;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
.college-cover,
.college-cover-mask {
  width: 100%;
}
@media (max-width: 767px) {
  .college-cover,
  .college-cover-mask {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .college-cover,
  .college-cover-mask {
    height: 200px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .college-cover,
  .college-cover-mask {
    height: 250px;
  }
}
@media (min-width: 1200px) {
  .college-cover,
  .college-cover-mask {
    height: 300px;
  }
}
.portlet-bg-cover {
  width: 100%;
  background-size: cover;
}
@media (max-width: 767px) {
  .portlet-bg-cover {
    background-image: none !important;
  }
}
.bg-cover {
  background-size: cover;
}
.item-content {
  height: 350px;
}
.skip-nav {
  padding: 5px;
  background-color: white;
  border-radius: 0 0 10px 10px;
  z-index: 11;
  position: absolute;
  top: 0;
  left: 30px;
  transform: translateY(-40px);
  transition: transform 1s;
}
.skip-nav:focus,
.skip-nav:hover,
.skip-nav:active {
  transform: translateY(0);
}
.navbar-default .navbar-nav > li > a {
  color: #727272;
}
.portal-login {
  float: right;
  color: #333333;
  background-color: #DAAD28;
  border-radius: 4px;
  margin: 0 0 3px 2px;
  padding: 4px 12px;
  font-size: 110%;
  text-decoration: none;
}
.portal-login:focus,
.portal-login:active,
.portal-login:hover {
  color: #000000;
  background-color: #F4C742;
}
.portal-login .login-icon {
  margin-left: 10px;
}
@media (max-width: 767px) {
  .portal-login {
    width: 100%;
  }
  .portal-login + .popover {
    display: none !important;
  }
}
.portal {
  /* College Switcher */
  /* Header */
  /* Content */
  /* Footer */
}
.portal .main-nav {
  min-height: 60px;
}
.portal #co-switcher-toggle {
  background-color: rgba(0, 0, 0, 0.54);
  position: absolute;
  top: 10px;
  right: 0;
  z-index: 1;
  border: none;
  border-radius: 4px 0 0 4px;
  padding: 1em 1.3em;
  color: #FFFFFF;
  text-decoration: none;
}
.portal #co-switcher-toggle:focus,
.portal #co-switcher-toggle:active,
.portal #co-switcher-toggle:hover {
  background-color: #3D3935;
  font-weight: bold;
}
.portal > .wrapper > .wrapper-content {
  position: static;
  right: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  min-height: 100%;
}
.portal > .wrapper > .wrapper-side {
  background-color: #3D3935;
  display: none;
  z-index: -1;
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
.portal > .wrapper.side-open > .wrapper-content {
  position: relative;
  transform: translate3d(-250px, 0px, 0px);
}
.portal > .wrapper.side-open > .wrapper-side {
  display: block;
  width: 250px;
  z-index: 2;
}
.portal #co-switcher-nav {
  list-style: none;
  padding: 1em;
}
.portal #co-switcher-nav > li {
  margin-bottom: 1em;
}
.portal #co-switcher-nav > li > a {
  background-color: #FFFFFF;
  border-radius: 2px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  display: block;
  padding: 0.5em;
  text-align: center;
  text-decoration: none;
}
.portal #co-switcher-nav > li > a:focus,
.portal #co-switcher-nav > li > a:active,
.portal #co-switcher-nav > li > a:hover {
  background-color: #002F6D;
  color: #FFFFFF;
}
.portal #co-switcher-nav > li .logomark {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
  padding: 1em;
}
.portal #co-switcher-nav > li .logomark > img {
  max-width: 144px;
  max-height: 40px;
}
.portal #co-switcher-nav > li .college-name {
  margin: 0;
  padding: 0.5em 0;
  font-size: 1em;
  line-height: 1.1;
  font-weight: 600;
}
.portal .portal-header {
  background: transparent;
  padding: 0;
  width: 100%;
  z-index: 10;
}
.portal .portal-header .container-fluid > .navbar-header {
  margin: 0;
}
.portal .portal-header .portal-nav {
  font-weight: normal;
}
.portal .portal-header .portal-nav .menu-toggle {
  position: relative;
  top: 0;
  right: 20px;
}
.portal .portal-header .ccc-nav {
  margin-bottom: 10px;
}
.portal .portal-header .ccc-nav .navbar-form {
  margin: 0;
  padding: 0;
  box-shadow: none;
}
.portal .portal-header .ccc-nav .navbar-form .input-group ::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.65) !important;
}
.portal .portal-header .ccc-nav .navbar-form .input-group :-moz-placeholder {
  color: rgba(255, 255, 255, 0.65) !important;
}
.portal .portal-header .ccc-nav .navbar-form .input-group ::-moz-placeholder {
  color: rgba(255, 255, 255, 0.65) !important;
}
.portal .portal-header .ccc-nav .navbar-form .input-group :-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.65) !important;
}
.portal .portal-header .ccc-nav .navbar-form .input-group .form-control {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background-color: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
}
.portal .portal-header .ccc-nav .navbar-form .input-group .btn {
  border-color: rgba(255, 255, 255, 0.65);
}
@media (max-width: 767px) {
  .portal .portal-header .ccc-nav .navbar-form {
    margin-right: 50px;
  }
}
.portal .portal-header .ccc-nav .input-group .form-control {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.portal .portal-header .ccc-nav #webSearchContainer {
  margin: 0;
}
@media (min-width: 768px) {
  .portal .portal-header .ccc-nav:after {
    content: '';
    display: block;
    clear: both;
  }
  .portal .portal-header .ccc-nav .input-group,
  .portal .portal-header .ccc-nav .input-group-addon {
    display: flex;
  }
}
.portal .portal-header .navbar-brand.logo {
  padding: 0;
  margin: 0;
  color: white;
  font-size: 0.9em;
  line-height: 1.1em;
  text-decoration: none;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .portal .portal-header .navbar-brand.logo {
    z-index: 10;
    position: relative;
  }
}
.portal .portal-header .navbar-brand.logo img {
  display: inline-block;
  width: 100%;
  max-height: 55px;
  max-width: 240px;
}
.portal .portal-header .navbar-brand.logo img.visible-xs-inline-block {
  max-height: 42px;
  max-width: 100px;
}
.portal .portal-header .navbar-brand.logo .logomark,
.portal .portal-header .navbar-brand.logo .text {
  display: inline-block;
  vertical-align: top;
}
.portal .portal-header .navbar-brand.logo .logomark {
  width: 48px;
}
.portal .portal-header .navbar-brand.logo .text {
  margin: 5px;
  line-height: 1.4em;
}
@media (max-width: 479px) {
  .portal .portal-header .navbar-brand.logo .text {
    display: inline;
    margin-left: -1000% !important;
  }
}
@media (max-width: 767px) {
  .portal .portal-header .navbar-brand.logo .text {
    margin: 10px;
  }
}
@media (min-width: 768px) {
  .portal .portal-header .navbar-brand.logo .text {
    width: 80px;
    font-size: 16px;
  }
}
.portal .portal-header .remove-folder {
  top: 5px;
  right: 5px;
}
.portal .portal-header #portalNavigation {
  margin-bottom: 0;
  clear: right;
}
.portal .portal-header #portalNavigation .container-fluid,
.portal .portal-header #portalNavigation .navbar-collapse {
  padding: 0;
}
.portal .portal-header #portalNavigation .navbar-collapse {
  margin: 0 0 0 -25px;
}
.portal .portal-header #portalNavigation .xs-message-count {
  opacity: 0;
  transition: opacity 0.25s;
  position: absolute;
  top: -1em;
  right: -1em;
  background-color: #996900;
}
.portal .portal-header #portalNavigation .collapsed .xs-message-count {
  opacity: 1;
}
.portal .portal-header #portalNavigation .menu {
  margin-top: -5px;
  margin-left: 0;
}
.portal .portal-header #portalNavigation .menu li {
  margin-right: 0.5em;
  border-bottom: none;
}
.portal .portal-header #portalNavigation .menu li > a {
  color: #FFFFFF;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: normal;
  line-height: normal;
  text-transform: uppercase;
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.25);
}
.portal .portal-header #portalNavigation .menu li > a .badge {
  margin: -3px 0 -3px 10px;
  background-color: #996900;
}
.portal .portal-header #portalNavigation .menu li > a .badge.right {
  float: right;
}
.portal .portal-header #portalNavigation .menu li.active > a {
  background-color: rgba(0, 0, 0, 0.15);
}
.portal .portal-header #portalNavigation .menu li > a:hover,
.portal .portal-header #portalNavigation .menu li > a:focus {
  background-color: rgba(0, 0, 0, 0.3);
}
.portal .portal-header #portalNavigation .menu li.active > a:hover,
.portal .portal-header #portalNavigation .menu li.active > a:focus {
  background-color: rgba(0, 0, 0, 0.45);
}
.portal .portal-header #portalNavigation .menu .recommendations .menu {
  padding: 0;
  margin: 0;
}
.portal .portal-header #portalNavigation .menu .dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
  width: 100%;
}
.portal .portal-header #portalNavigation .menu .dropdown-menu > li > a:hover,
.portal .portal-header #portalNavigation .menu .dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
}
@media (max-width: 767px) {
  .portal .portal-header #portalNavigation .menu .dropdown-menu > li > a {
    color: #FFFFFF;
  }
  .portal .portal-header #portalNavigation .menu .dropdown-menu > li > a:hover,
  .portal .portal-header #portalNavigation .menu .dropdown-menu > li > a:focus {
    color: #FFFFFF;
    border-radius: 5px;
    background-color: rgba(0, 0, 0, 0.3);
  }
}
.portal .portal-header #portalNavigation.navbar.navbar-default .navbar-toggle {
  float: right;
  margin: 0 0 0 10px;
}
@media (min-width: 768px) {
  .portal .portal-header #portalNavigation .menu .recommendations {
    float: left;
  }
}
@media (max-width: 767px) {
  .portal .portal-header #portalNavigation {
    margin-top: -50px;
  }
  .portal .portal-header #portalNavigation .menu.not-alone {
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  .portal .portal-header #portalNavigation .menu.not-alone + .menu {
    margin-top: 5px;
  }
  .portal .portal-header #portalNavigation .menu .dropdown-menu {
    margin-top: 10px;
  }
  .portal .portal-header #portalNavigation .menu .dropdown-menu > li {
    margin-bottom: 3px;
  }
}
@media (max-width: 767px) {
  .portal .portal-header .portal-logo .navbar-brand.logo .text {
    position: absolute;
    margin-left: -1000% !important;
  }
  .portal .portal-header .navbar-right {
    margin: 10px 0 0 0;
  }
}
@media (min-width: 768px) {
  .portal .portal-header {
    /*min-height: 110px;*/
  }
  .portal .portal-header .portal-logo .navbar-brand {
    float: none;
  }
  .portal .portal-header .ccc-nav .search-portlet {
    text-align: right;
  }
}
@media (min-width: 768px) {
  .portal .portal-header #portalNavigation .menu {
    padding-top: 5px;
  }
  .portal .portal-header #portalNavigation .menu.navbar-right > li:last-child {
    margin-right: 0;
  }
}
.portal .portal-content {
  padding: 0;
}
.portal .portal-content #region-customize .customize {
  padding: 0 15px;
}
.portal #region-footer-second {
  padding: 0 !important;
  font-size: 100%;
}
.portal-header #college-badge {
  padding: 15px 0;
}
.portal-header #college-badge span {
  vertical-align: middle;
}
.portal-header #college-badge img.college-logo {
  max-width: 100%;
  max-height: 60px;
}
/* ==========================================================================
   Virtual Advisor
   ========================================================================== */
.clearfix {
  overflow: auto;
}
/* ==========================================================================
   Advisor Cards - Dashboard UI v1
   ========================================================================== */
.advisor-grid {
  height: 370px;
}
.advisor-grid #NoAdvisorCards.path {
  width: 100%;
  text-align: center;
}
.advisor-grid #NoAdvisorCards.path .path-content {
  min-height: 140px;
  padding: 120px 20px;
}
@media (max-width: 991px) and (min-width: 768px) {
  .advisor-grid {
    height: 260px;
  }
  .advisor-grid .path .path-content {
    height: 260px;
  }
}
@media (max-width: 767px) {
  .advisor-grid {
    height: 210px;
  }
  .advisor-grid .path .path-content {
    height: 210px;
  }
}
.ccc-portal.advisor {
  /* Extra small devices (phones, 767x and less; 768 causes overlap) */
  /* Small devices (tablets, 768px and up) */
  /* Medium devices (desktops, 992px and up) */
  /* Large screen (wide desktop, 1200px and up) */
}
.ccc-portal.advisor .popover {
  color: #000000;
}
.ccc-portal.advisor .popover.left {
  left: unset !important;
  right: 28px !important;
}
.ccc-portal.advisor .gallery-cell {
  height: 100%;
}
.ccc-portal.advisor .virtual-advisor {
  background-color: transparent;
  margin-top: -100px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .ccc-portal.advisor .virtual-advisor {
    margin-top: 0;
  }
}
.ccc-portal.advisor .virtual-advisor .advisor-suggestion {
  background: #CC992B;
  margin-bottom: 0;
  padding: 10px;
  position: absolute;
  bottom: 10px;
  right: 77%;
  z-index: 101;
  display: none;
}
.ccc-portal.advisor .virtual-advisor .advisor-suggestion .advisor-recommends {
  font-size: 0.7em;
  font-weight: 600;
  margin-bottom: 0.25em;
  text-transform: uppercase;
}
.ccc-portal.advisor .virtual-advisor .advisor-suggestion .suggestion-title {
  color: white;
  font-size: 1em;
  margin-bottom: 0;
}
.ccc-portal.advisor .virtual-advisor .advisor-suggestion p {
  font-size: 0.9em;
}
.ccc-portal.advisor .virtual-advisor .advisor-suggestion .triangle {
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #CC992B;
  position: absolute;
  left: 50%;
  top: -10px;
  display: none;
}
.ccc-portal.advisor .dashboard-v1 {
  padding: 0;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor {
  padding: 0 0 3em;
  position: relative;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .advisor-grid {
  position: relative;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path {
  float: left;
  width: 50%;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path.is-selected > section,
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path:hover > section {
  background-color: #EEE;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path > section {
  height: 100%;
  margin: 0 5px;
  border: 1px solid #002F6D;
  background-color: #FFFFFF;
  color: #000000;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content {
  padding: 1em;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content h3 {
  margin: 0 0 0.5em 0;
  font-size: 1.3em;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content h3 a {
  text-decoration: none;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content h3 a:hover,
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content h3 a:focus {
  text-decoration: underline;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps {
  font-size: 1em;
  padding: 0;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  position: relative;
  padding: 6px 30px 6px 6px;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps li:last-child {
  border-bottom: 0;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps .completed-marker {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps .fa.fa-circle {
  color: rgba(0, 0, 0, 0.1);
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps .fa.fa-check-circle {
  color: #5CB85C;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps .glyphicon.IN_PROGRESS {
  color: goldenrod;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps .glyphicon.FAILED {
  color: #A94442;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content .steps .see-all {
  margin-left: 1em;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-complete {
  position: absolute;
  top: 0px;
  right: 20px;
  background-color: #008A00;
  box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.25);
  color: #FFFFFF;
  font-size: 0.85em;
  padding: 0.5em 0.75em;
  z-index: 3;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-step {
  color: #000000;
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 0.25em;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-title {
  color: #002F6D;
  word-wrap: break-word;
  text-transform: uppercase;
  height: 2.3em;
  overflow-y: hidden;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-progress {
  background: #F5F5F5;
  height: 5px;
  margin-bottom: 16px;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-progress .progress-bar-success {
  background-color: #5CB85C;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-teaser {
  font-weight: 200;
  word-wrap: break-word;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path a {
  word-wrap: break-word;
  text-decoration: none;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path a:hover,
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path a:focus {
  text-decoration: underline;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .grid-arrow {
  border-top: 17.5px solid transparent;
  border-bottom: 17.5px solid transparent;
  border-left: 12.5px solid #283d7e;
  position: absolute;
  width: 0;
  height: 0;
  top: 30px;
  z-index: 1;
  display: none;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .grid-arrow.first {
  left: 25%;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .grid-arrow.second {
  left: 50%;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .grid-arrow.third {
  left: 75%;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges {
  position: absolute;
  width: 25%;
  left: 50%;
  bottom: 0;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges .title {
  background: rgba(0, 0, 0, 0.15);
  font-size: 1em;
  margin: 0;
  padding: 0.5em 1em;
  overflow: auto;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges .title::after {
  display: block;
  content: "";
  clear: both;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges .body {
  padding: 1em 2em;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges .logo,
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges .name {
  float: left;
  max-height: 50px;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges .logo {
  margin-right: 1em;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges .name {
  font-weight: 600;
  margin-top: 10px;
  max-width: 60%;
}
.ccc-portal.advisor .dashboard-v1 .virtual-advisor .my-colleges a {
  color: #241b07 !important;
}
.ccc-portal.advisor .focused .portal-focused-nav {
  background: white;
  margin-top: 20px;
  margin-bottom: 10px;
  padding: 0.5em 1em;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.ccc-portal.advisor .focused .portal-focused-nav .nav-pills a {
  text-decoration: none;
}
.ccc-portal.advisor .focused .portal-focused-nav .nav-pills a.active {
  color: #FFFFFF;
  background-color: #32508B;
}
.ccc-portal.advisor .focused .portal-focused-nav .nav-pills a:hover,
.ccc-portal.advisor .focused .portal-focused-nav .nav-pills a:focus {
  color: #264883;
  background-color: #E5E5E5;
}
.ccc-portal.advisor .focused .advisor .path-summary {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 2em;
  overflow: auto;
}
.ccc-portal.advisor .focused .advisor .path-summary::after {
  display: block;
  content: "";
  clear: both;
}
.ccc-portal.advisor .focused .advisor .path-summary .block {
  float: left;
  position: relative;
}
.ccc-portal.advisor .focused .advisor .path-summary .block .heading {
  display: block;
  font-size: 0.85em;
  margin-top: 10px;
  margin-bottom: 0.5em;
  text-transform: uppercase;
}
.ccc-portal.advisor .focused .advisor .path-summary .block p {
  font-size: 1.1em;
  line-height: 1.3em;
  margin: 0;
}
.ccc-portal.advisor .focused .advisor .path-summary .what,
.ccc-portal.advisor .focused .advisor .path-summary .why {
  margin-right: 1%;
  width: 32%;
}
.ccc-portal.advisor .focused .advisor .path-summary .how-long {
  width: 33%;
}
.ccc-portal.advisor .focused .advisor .path-summary .how-long .steps-remaining {
  display: inline-block;
  margin-left: 1em;
}
.ccc-portal.advisor .focused .advisor .path-summary .block-content {
  padding: 0 2em;
}
.ccc-portal.advisor .focused .advisor .path-summary .progress-measure {
  margin-top: 1em;
}
.ccc-portal.advisor .focused .advisor .path-summary .progress-measure .progress {
  height: 10px;
}
.ccc-portal.advisor .focused .advisor .path-summary .progress-measure .progress-bar {
  background-color: #DAAD28;
}
.ccc-portal.advisor .focused .advisor .path-steps .panel .panel-heading {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  color: #22346B;
}
.ccc-portal.advisor .focused .advisor .path-steps .panel .panel-heading .panel-title {
  font-size: 1.75em;
  margin-bottom: 0;
}
.ccc-portal.advisor .focused .advisor .path-steps .panel .panel-heading .panel-title a {
  display: block;
  text-decoration: none;
}
.ccc-portal.advisor .focused .advisor .path-steps .panel .panel-heading span {
  display: inline-block;
  vertical-align: middle;
}
.ccc-portal.advisor .focused .advisor .path-steps .panel .panel-heading .complete-marker {
  color: rgba(0, 0, 0, 0.25);
}
.ccc-portal.advisor .focused .advisor .path-steps .panel .panel-heading .number {
  background: #22346B;
  color: white;
  font-size: 0.7em;
  margin-right: 0.25em;
  padding: 0.25em 0.5em;
}
.ccc-portal.advisor .focused .advisor .path-steps .step .titlebar {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  color: #22346B;
  font-size: 1.75em;
  margin-bottom: 0.25em;
  padding: 0.5em 1em;
}
.ccc-portal.advisor .focused .advisor .path-steps .step .titlebar span {
  display: inline-block;
}
.ccc-portal.advisor .focused .advisor .path-steps .step .titlebar .complete-marker {
  color: rgba(0, 0, 0, 0.5);
  margin-right: 0.5em;
}
.ccc-portal.advisor .focused .advisor .path-steps .step .titlebar .number {
  font-weight: 600;
  margin-right: 0.5em;
}
.ccc-portal.advisor .focused .advisor .path-steps .step .titlebar .title {
  margin: 0;
}
.ccc-portal.advisor .focused .advisor .path-steps .step .step-summary {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 2em;
}
.ccc-portal.advisor .focused .advisor .path-steps .step h4,
.ccc-portal.advisor .focused .advisor .path-steps .step .subtitle {
  font-size: 1.1em;
  font-weight: 600;
}
.ccc-portal.advisor .focused .advisor .path-steps .step input {
  margin-bottom: 0.25em;
}
.ccc-portal.advisor .college-banner {
  background: #820000;
  margin-bottom: 20px;
  padding: 20px;
  overflow: auto;
}
.ccc-portal.advisor .college-banner::after {
  display: block;
  content: "";
  clear: both;
}
.ccc-portal.advisor .college-banner .college-logo,
.ccc-portal.advisor .college-banner .college-name {
  float: left;
  height: 80px;
}
.ccc-portal.advisor .college-banner .college-logo {
  margin-right: 20px;
}
.ccc-portal.advisor .college-banner .college-name {
  color: white;
  font-size: 2em;
  line-height: 80px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor {
    padding-bottom: 0;
  }
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .container {
    padding-left: 0;
    padding-right: 0;
  }
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .flickity-slider {
    width: 90%;
  }
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .flickity-prev-next-button {
    display: none;
    bottom: -10px;
  }
}
@media (min-width: 768px) {
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .advisor-grid {
    padding: 0 70px;
  }
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .advisor-grid .flickity-page-dots {
    margin-left: -70px;
  }
}
@media (min-width: 992px) {
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path {
    width: 25%;
  }
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .path .path-content {
    height: 370px;
    padding: 15px 15px 0;
  }
  .ccc-portal.advisor .dashboard-v1 .virtual-advisor .advisor .steps {
    font-size: 0.85em;
  }
  .ccc-portal.advisor .focused .advisor .path-steps .panel .panel-body {
    padding: 30px 60px 60px;
  }
}
@media (min-width: 1200px) {
  .ccc-portal.advisor .dashboard-v1 .advisor .steps {
    font-size: 1em;
  }
}
.ccc-portal.advisor .dashboard-v1 {
  /* Nav buttons */
}
.ccc-portal.advisor .dashboard-v1 .advisor .path {
  width: 50%;
}
.ccc-portal.advisor .dashboard-v1 .indicator-list {
  width: 20em;
  margin: 0 auto;
}
.ccc-portal.advisor .dashboard-v1 .indicator-list .advisor-indicator {
  display: inline-block;
  height: 1em;
  width: 1em;
  margin: 1em 0.5em;
  transition: background-color 0.5s, height 0.5s, width 0.5s;
  background-color: transparentize(white, 0.2);
}
.ccc-portal.advisor .dashboard-v1 .indicator-list .advisor-indicator.current {
  margin-top: 0.625em;
  background-color: transparentize(black, 0.2);
}
.ccc-portal.advisor .dashboard-v1 .advisor-nav {
  background-color: transparentize(#333333, 0.1);
  font-size: 20px;
  height: 320px;
  margin-top: -30px;
  padding: 10px;
  position: absolute;
  top: 136px;
  text-align: center;
}
.ccc-portal.advisor .dashboard-v1 .advisor-nav.nav-back {
  left: 0;
  text-align: right;
}
.ccc-portal.advisor .dashboard-v1 .advisor-nav.nav-forward {
  right: 0;
}
.ccc-portal.advisor .dashboard-v1 .advisor-nav span {
  font-size: 2.5em;
  color: transparentize(white, 0.5);
  top: 110px;
}
.ccc-portal.advisor .dashboard-v1 .advisor-nav:hover {
  transition: background-color 0.5s;
  background-color: transparentize(#333333, 0.3);
}
.ccc-portal.advisor .dashboard-v1 .advisor-nav:hover span {
  color: white;
}
.ccc-portal.advisor .portlet.advisor {
  -webkit-border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -webkit-border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  -moz-border-radius-topleft: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 0;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  background-color: white;
  padding: 0;
}
.ccc-portal.advisor .portlet.advisor .portlet-header {
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-bottom-left-radius: 0;
  -webkit-border-top-left-radius: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 0;
  -moz-border-radius-bottomleft: 0;
  -moz-border-radius-topleft: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  background-color: #22346B;
}
.ccc-portal.advisor .portlet.advisor .portlet-header .portlet-title {
  color: white;
  padding: 0.5em 1em;
  font-size: 1.75em;
}
.ccc-portal.advisor .portlet.advisor .portlet-header .portlet-title a {
  color: white;
  text-decoration: none;
}
.ccc-portal.advisor .portlet.advisor .portlet-header .portlet-title a:hover,
.ccc-portal.advisor .portlet.advisor .portlet-header .portlet-title a:focus {
  text-decoration: underline;
}
.ccc-portal.advisor .portlet.advisor .portlet-content {
  padding: 20px;
}
.ccc-portal.advisor .portlet.advisor .step .panel-title .number {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.ccc-portal.advisor .portlet.advisor .step.complete .complete-marker.COMPLETED {
  color: #DAAD28;
}
.ccc-portal.advisor .portlet.advisor .step.complete .complete-marker.IN_PROGRESS {
  color: goldenrod;
}
.ccc-portal.advisor .portlet.advisor .step.complete .complete-marker.FAILED {
  color: #A94442;
}
.ccc-portal.advisor .portlet.advisor .step.complete .complete-marker + .number {
  color: #22346B;
  background-color: #DAAD28;
}
.ccc-portal.advisor .portlet.advisor .step-content .btn-default {
  color: #333333;
  text-decoration: none;
}
/* ==========================================================================
   Advisor Cards - Dashboard UI v1.5
   ========================================================================== */
/* ==========================================================================
   Advisor Cards - Dashboard UI v2
   ==========================================================================
.ccc-portal.advisor {
    height: 100%;
    width: 100%;

    .dashboard-v2 { padding: 0;
        .advisor .path { width: percentage(1/@num-cards); }

        .indicator-list {
            width: 20em;
            margin: 0 auto;

            .advisor-indicator {
                display: inline-block;
                height: @block-size;
                width: @block-size;
                margin: @block-size @block-size/2;
                transition: background-color @ttime, height @ttime, width @ttime;
                background-color: transparentize(white, 0.2);

                &.current {
                    margin-top: @block-size * @size-increase / 2;
                    background-color: transparentize(black, 0.2);
                }
            }
        }
    }
}


.ccc-portal.advisor .dashboard-v2 {
  .advisor-list {
    counter-reset: li;
    padding-bottom: 20px;
  }

  .advisor-grid {
    position: relative;

    &:before, &:after {
      content: " ";
      display: table;
    }
    &:after {clear: both;}
  }

  .portlet-title {font-size: 24px;}

  .path {
    width: 100%;

    .path-content {
      margin: 10px;
      padding: 1em;
      position: relative;
      background-color: @white;
      color: @black;
      border-radius: 2px;
      box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.15);
      cursor: auto !important;
      &:hover, &:focus {transform: scale(1.025);}
    }

    .path-step {
      font-weight: 300;
      margin-bottom: 0.25em;
    }

    .path-title {
      margin: 0 0 0.5em 0;
      font-size: 1.3em;
      text-transform: uppercase;
      height: 2.3em;
      overflow: hidden;

      a { color: @black; text-decoration: none;
        &:focus, &:hover { text-decoration: underline; }
      }
    }

    .path-progress {
      height: 12px;
      margin-bottom: 10px;
    }

    .path-teaser {
      height: 3em;
      font-weight: 300;
      margin-bottom: 10px;
      overflow: hidden;
      color: rgba(0, 0, 0, 0.85);
    }

    .steps {
      font-size: 1em;
      padding: 0;

      li {
        border-bottom: 1px solid rgba(0, 0, 0, 0.25);
        margin-left: 1em;
        position: relative;
        padding: 0.5em 1.5em 0.5em 0.5em;
      }
      
      .completed-marker {
        position: absolute;
        top: 0.65em;
        right: 0.5em;
      }

      .fa-circle {color: rgba(0, 0, 0, 0.1);}
      .fa.fa-check-circle {color: @success-green;}
    }

    .path-complete {
      position: absolute;
      top: 0px;
      right: 20px;
      background-color: @success-dgreen;
      box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.25);
      color: white;
      font-size: 0.85em;
      padding: 0.5em 0.75em;
      z-index: 3;
    }
    
    .see-all {
      margin-top: 0.5em;
      margin-left: 1.5em;
    }

    .path-progress {background: @grayscale1;}
    .progress-bar-success {background-color: @success-green;}
  }
}

@media (min-width: @screen-sm-min) {
  .ccc-portal.advisor .dashboard-v2 { position: relative;
    .advisor-list { margin-top: -90px; }
    .portlet-title {
      color: @white;
      font-weight: 600;
      text-transform: uppercase;
      text-shadow: 1px 3px 3px rgba(0,0,0,0.75);
      margin: 0 0 0.5em 0;
    }
    .path {
      float: left;
      width: 50%;

      .path-content {
        height: 330px;
        margin: 0 20px 20px 0;
      }
      .path-teaser { height: 4.5em; }
    }
  }
}
@media (min-width: @screen-sm-min) and (max-width: @screen-md-min) {
  .ccc-portal.advisor .dashboard-v2 .path:nth-child(2n + 1) .path-content { margin-right: 0; }
}
@media (min-width: @screen-md-min) {
  .ccc-portal.advisor .dashboard-v2 {
    .advisor-list { margin-top: -180px; }
    .path { width: 33.33%;
      .path-content { padding: 2em; }
      .path-teaser { height: 3em; }
      li, .see-all { font-size: 0.9em; }
    }
  }
}
@media (min-width: @screen-md-min) and (max-width: @screen-lg-min) {
  .ccc-portal.advisor .dashboard-v2 .path:nth-child(3n + 1) .path-content { margin-right: 0; }
}
@media (min-width: @screen-lg-min) {
  .ccc-portal.advisor .dashboard-v2 .path { width: 25%;
    .steps li, .steps .see-all { font-size: 1em; }
    .ccc-portal.advisor .dashboard-v2 .path:nth-child(4n + 1) .path-content { margin-right: 0; }
  }
}
*/
/* ==========================================================================
   Advisor Cards - UI 2.0 - Maximized / Overlay
   ========================================================================== */
#acCardModal .modal-header {
  background-color: #002F6D;
  color: #FFFFFF;
}
#acCardModal .path-summary {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 2em;
  overflow: auto;
}
#acCardModal .path-summary::after {
  display: block;
  content: "";
  clear: both;
}
#acCardModal .path-summary .block h3 {
  display: block;
  font-size: 0.85em;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 0.5em;
  text-transform: uppercase;
}
#acCardModal .path-summary .block p {
  font-size: 1.1em;
  line-height: 1.3em;
  margin: 0;
}
#acCardModal .path-summary .how-long .steps-remaining {
  display: inline-block;
  margin-left: 1em;
}
#acCardModal .path-summary .progress-measure {
  margin-top: 1em;
}
#acCardModal .path-summary .progress-measure .progress {
  height: 10px;
}
#acCardModal .path-summary .progress-measure .progress-bar {
  background-color: #DAAD28;
}
#acCardModal .path-steps .panel {
  border: 1px solid #ddd;
  margin-bottom: 20px;
}
#acCardModal .path-steps .panel .panel-heading {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  color: #22346B;
  background-color: #F5F5F5;
  border-color: #CCCCCC;
}
#acCardModal .path-steps .panel .panel-heading .panel-title {
  font-size: 1.75em;
  margin-bottom: 0;
}
#acCardModal .path-steps .panel .panel-heading .panel-title a {
  color: #0066BA;
  display: block;
  text-decoration: none;
}
#acCardModal .path-steps .panel .panel-heading span {
  display: inline-block;
  vertical-align: middle;
}
#acCardModal .path-steps .panel .panel-heading .complete-marker {
  color: rgba(0, 0, 0, 0.25);
}
#acCardModal .path-steps .panel .panel-heading .complete-marker.COMPLETED {
  color: #DAAD28;
}
#acCardModal .path-steps .panel .panel-heading .complete-marker.IN_PROGRESS {
  color: goldenrod;
}
#acCardModal .path-steps .panel .panel-heading .complete-marker.FAILED {
  color: #A94442;
}
#acCardModal .path-steps .panel .panel-heading .complete-marker > .popover {
  color: #000000;
}
#acCardModal .path-steps .panel .panel-heading .number {
  background: #0066BA;
  color: white;
  font-size: 0.7em;
  margin-right: 0.25em;
  padding: 0.25em 0.5em;
}
#acCardModal .step .titlebar {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  color: #22346B;
  font-size: 1.75em;
  margin-bottom: 0.25em;
  padding: 0.5em 1em;
}
#acCardModal .step .titlebar span {
  display: inline-block;
}
#acCardModal .step .titlebar .complete-marker {
  color: rgba(0, 0, 0, 0.5);
  margin-right: 0.5em;
}
#acCardModal .step .titlebar .complete-marker > .popover {
  color: #000000;
}
#acCardModal .step .titlebar .number {
  font-weight: 600;
  margin-right: 0.5em;
}
#acCardModal .step .titlebar .title {
  margin: 0;
}
#acCardModal .step .step-summary {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 2em;
}
#acCardModal .step input {
  margin-bottom: 0.25em;
}
#acCardModal .step h4,
#acCardModal .step .subtitle {
  font-size: 1.1em;
  font-weight: 600;
}
#acCardModal .step .panel-title .number {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
#acCardModal .step.complete .complete-marker.COMPLETED {
  color: #DAAD28;
}
#acCardModal .step.complete .complete-marker.IN_PROGRESS {
  color: goldenrod;
}
#acCardModal .step.complete .complete-marker.FAILED {
  color: #A94442;
}
#acCardModal .step.complete .complete-marker > .popover {
  color: #000000;
}
#acCardModal .step.complete .complete-marker + .number {
  color: #0066BA;
  background-color: #DAAD28;
}
#acCardModal .step-content .btn-default {
  color: #333333;
  text-decoration: none;
}
@media (min-width: 992px) {
  #acCardModal .block {
    float: left;
    position: relative;
  }
  #acCardModal .block .block-content {
    padding: 0 2em;
  }
  #acCardModal .block.what .block-content {
    padding-left: 0;
  }
  #acCardModal .block.how-long .block-content {
    padding-right: 0;
  }
  #acCardModal .what,
  #acCardModal .why {
    margin-right: 1%;
    width: 32%;
  }
  #acCardModal .how-long {
    width: 33%;
  }
  #acCardModal .path-steps .panel .panel-body {
    padding: 30px 60px 60px;
  }
}
/* ==========================================================================
   Advisor Cards Administration
   ========================================================================== */
#advisor-card-admin input.ng-invalid,
#advisor-card-admin input[type=date].ng-invalid + span.input-group-btn .btn,
#advisor-card-admin input[type=date].ng-invalid + ul + span.input-group-btn .btn {
  box-shadow: 0 0 5px red !important;
}
#advisor-card-admin input[type=date] + span.input-group-btn .btn,
#advisor-card-admin input[type=date] + ul + span.input-group-btn .btn {
  padding: 4px 12px;
}
#advisor-card-admin input.flush,
#advisor-card-admin select.flush {
  width: 100%;
}
#advisor-card-admin select.ng-invalid {
  box-shadow: 0 0 5px red !important;
}
#advisor-card-admin .title.default {
  font-style: italic;
}
#advisor-card-admin .row + .row {
  margin-top: 8px;
}
#advisor-card-admin .form-horizontal .form-group-sm .control-label {
  padding-top: 0;
}
#advisor-card-admin #nudge-msg-html,
#advisor-card-admin .cke_contents {
  height: 200px;
}
.dropdown-menu {
  padding: 2px;
}
.dropdown-menu li.active .portlet-result {
  background-color: #bcceec;
}
.dropdown-menu .dropdown-menu .portlet-result {
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.1);
  color: black;
}
.dropdown-menu .search header {
  margin: 10px;
}
.dropdown-menu ul.search-results {
  list-style-type: none;
}
div.modal-hider {
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
div.modal-hider .modal-content {
  z-index: 20;
  position: fixed;
  background-color: white;
  max-height: 60%;
  width: 60%;
  top: 20%;
  left: 20%;
}
div.modal-hider .modal-content.hidden,
div.modal-hider .modal-content[hidden] {
  display: none;
}
div.modal-hider .modal-content.tier2 {
  transform: scale(1.05);
}
div.modal-hider .modal-content.tier3 {
  transform: scale(1.1);
}
div.modal-hider .modal-content.tier4 {
  transform: scale(1.15);
}
div.modal-hider .modal-content.file-overlay {
  top: unset;
  left: unset;
  margin: 4vh 20vw;
  width: 60vw;
  max-height: 92vh;
}
@media (max-width: 1199px) {
  div.modal-hider .modal-content.file-overlay {
    margin: 2vh 2vw;
    width: 96vw;
    max-height: 96vh;
  }
}
div.modal-hider .modal-content.overlay-detailed {
  top: 0;
  height: 100%;
  max-height: 100%;
  left: 6%;
  width: 88%;
  overflow-y: auto;
  border-radius: 0;
  border-top: none;
  border-bottom: none;
}
@media (max-width: 1199px) {
  div.modal-hider .modal-content.overlay-detailed {
    left: 2%;
    width: 96%;
  }
}
div.modal-hider .modal-content .modal-header button.close {
  color: #000000;
  opacity: 0.5;
}
div.modal-hider .modal-content .modal-header button.close:hover,
div.modal-hider .modal-content .modal-header button.close:focus {
  opacity: 1;
  outline: none;
  -webkit-text-stroke-width: 1px;
  -webkit-text-fill-color: #000000;
  -webkit-text-stroke-color: #FFFFFF;
  text-shadow: 1px 1px #FFFFFF;
}
div.modal-hider .modal-content .modal-header button.close.darkBG {
  color: #FFFFFF;
  opacity: 0.8;
}
div.modal-hider .modal-content .modal-header button.close.darkBG:hover,
div.modal-hider .modal-content .modal-header button.close.darkBG:focus {
  -webkit-text-fill-color: #FFFFFF;
  -webkit-text-stroke-color: inherit;
  text-shadow: 1px 1px #000000;
  outline: 5px auto -webkit-focus-ring-color;
  opacity: 1;
}
div.modal-hider .modal-content .modal-body {
  min-height: 64px;
  overflow-y: auto;
}
div.modal-hider .file-overlay .modal-header {
  padding: 6px 14px;
}
div.modal-hider .file-overlay .modal-header .close {
  margin-top: 4px;
}
div.modal-hider .file-overlay .modal-body {
  padding: 0;
}
div.modal-hider .file-overlay .modal-body .file-body {
  background-color: #e5eaf1;
  color: #143663;
  padding: 1em 0 2em;
}
div.modal-hider .file-overlay .modal-body .file-wrapper {
  background-color: #c8d2df;
  border: 1px solid #92a4b3;
  padding: 1em;
  max-width: 555px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
div.modal-hider .file-overlay .modal-body .file-wrapper .icon {
  color: #92a4b3;
  display: block;
  font-size: 7em;
}
div.modal-hider .file-overlay .modal-body .file-wrapper .title {
  font-size: 36px;
  margin-top: 16px;
}
div.modal-hider .file-overlay .modal-body .file-actions {
  padding: 1em 0 0;
  text-align: center;
}
div.modal-hider .file-overlay .modal-body .file-actions a {
  text-decoration: none;
}
div.modal-hider .file-overlay .modal-body .file-actions a:focus,
div.modal-hider .file-overlay .modal-body .file-actions a:hover {
  text-decoration: underline;
}
div.modal-hider .file-overlay .modal-body .file-actions .dl-action {
  margin-bottom: 1em;
}
div.modal-hider .modal-title {
  font-weight: bold;
  font-size: 140%;
}
div.modal-hider blockquote {
  font-size: 95%;
}
/* ==========================================================================
   UI 2.0 Advisor Cards: Overlay Template
   ========================================================================== */
/* ==========================================================================
   UI 2.0 Advisor Cards: File Transfer Overlay
   ========================================================================== */
#acOverlayModal header {
  background-color: #e5eaf1;
}
#acOverlayModal .modal-header .close {
  margin-top: 0;
}
#acOverlayModal .modal-title {
  font-size: unset;
  line-height: normal;
}
#acOverlayModal .file-container {
  padding: 0 0 1em;
}
/* ==========================================================================
   UI 2.0 Advisor Cards: Card Details Overlay
   ========================================================================== */
.path-progress {
  background: rgba(0, 0, 0, 0.2);
  height: 10px;
}
.progress-measure {
  margin-top: 1em;
}
.progress-measure .progress {
  height: 10px;
}
#loading-bar .bar {
  background: #E6B405;
}
#loading-bar-spinner .spinner-icon {
  border-top-color: #E6B405;
  border-left-color: #E6B405;
}
#loading-bar .peg {
  -moz-box-shadow: #E6B405 1px 0 6px 1px;
  -ms-box-shadow: #E6B405 1px 0 6px 1px;
  -webkit-box-shadow: #E6B405 1px 0 6px 1px;
  box-shadow: #E6B405 1px 0 6px 1px;
}
.navbar-configurable {
  height: 35px;
  min-height: 35px;
  border-radius: 0;
  border: none;
  background-color: #696969;
  margin-bottom: 0;
}
.navbar-configurable a {
  color: #FFFFFF !important;
  text-decoration: none;
}
@media (min-width: 768px) {
  .navbar-configurable li a {
    padding: 7px 25px;
  }
}
.navbar-configurable li a:hover,
.navbar-configurable li a:focus,
.navbar-configurable li a.open,
.navbar-configurable li a.active {
  background-color: #222222 !important;
}
.navbar-configurable .dropdown-content {
  background-color: #383838;
}
/**
.breadcrumbs {
    width: 100%;
    background-color: @white;
    margin-top: 0;
    margin-bottom: 0;

    .breadcrumb {
        background-color: rgba(0,0,0,0);
        margin-bottom: 0;
    }

    .active {
        color: @grayscale8;
    }

    a {
        text-decoration: none;
    }

    span.glyphicon.home {
        margin-right: 10px;
    }
}
**/
.upload-dnd {
  font-size: 12.5px;
  position: relative;
  padding: 50px 20px;
  background-color: #c8dadf;
  outline: 2px dashed #92b0b3;
  outline-offset: -10px;
  -webkit-transition: outline-offset 0.15s ease-in-out, background-color 0.15s linear;
  transition: outline-offset 0.15s ease-in-out, background-color 0.15s linear;
}
.upload-dnd.is-dragover {
  outline-offset: -20px;
  outline-color: #c8dadf;
  background-color: #fff;
}
.upload-dnd.is-success {
  background-color: #bff2bc;
}
.upload-dnd.is-error {
  background-color: #f4abab;
}
.upload-dnd.is-uploading a,
.upload-dnd.is-success a,
.upload-dnd.is-error a {
  color: #005182;
}
.upload-dnd.is-uploading .box__input,
.upload-dnd.is-success .box__input,
.upload-dnd.is-error .box__input {
  visibility: hidden;
}
.upload-dnd .box__uploading,
.upload-dnd .box__success,
.upload-dnd .box__error {
  display: none;
}
.upload-dnd.is-uploading .box__uploading,
.upload-dnd.is-success .box__success,
.upload-dnd.is-error .box__error {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.upload-dnd .box__uploading {
  font-style: italic;
}
.upload-dnd .box__success {
  -webkit-animation: appear-from-inside 0.25s ease-in-out;
  animation: appear-from-inside 0.25s ease-in-out;
}
.upload-dnd .box__restart {
  font-weight: 700;
}
.upload-dnd .box__restart:focus,
.upload-dnd .box__restart:hover {
  color: #39bfd3;
}
.upload-dnd .box__file:focus + label strong,
.upload-dnd .box__file .has-focus + label strong {
  color: #39bfd3;
}
.upload-dnd .box__file + label {
  display: none;
}
.upload-dnd .box__button {
  display: none;
  font-weight: 700;
  padding: 8px 16px;
  margin: 1em auto 0;
}
.js .upload-dnd .box__file {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}
.js .upload-dnd .box__file + label {
  max-width: 80% ;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
}
.no-js .upload-dnd .box__file label {
  display: none;
}
.no-js .upload-dnd .box__file .box__button {
  display: block;
}
#admin-messaging {
  margin: 20px auto;
}
#admin-messaging .alert {
  font-size: 115%;
}
#admin-messaging .alert > span.glyphicon {
  margin: 0 5px;
}
#admin-messaging .clear {
  clear: both;
}
#admin-messaging .sendTo,
#admin-messaging .subject {
  margin-bottom: 10px;
}
#admin-messaging .sms-details,
#admin-messaging .buttons {
  text-align: right;
}
#admin-messaging .sendTo .typeahead-input ul a {
  text-decoration: none;
}
#admin-messaging .sendTo .typeahead-input ul a:hover,
#admin-messaging .sendTo .typeahead-input ul a:focus {
  text-decoration: underline;
}
#admin-messaging .sendTo .typeahead-list .recipient {
  display: inline-block;
  margin: 10px;
}
#admin-messaging .sendTo .typeahead-list .recipient a {
  padding: 5px 10px;
  color: #000000;
  background-color: #ADD8E6;
  border: 1px solid #9CC2CF;
  border-radius: 5px;
  text-decoration: none;
}
#admin-messaging .sendTo .typeahead-list .recipient a:hover,
#admin-messaging .sendTo .typeahead-list .recipient a:focus {
  background-color: #C6E4EE;
  border-color: #68828A;
}
#admin-messaging .sendTo .typeahead-list .recipient a:hover .name,
#admin-messaging .sendTo .typeahead-list .recipient a:focus .name {
  text-decoration: underline;
}
#admin-messaging .sendTo .typeahead-list .recipient a:hover .glyphicon,
#admin-messaging .sendTo .typeahead-list .recipient a:focus .glyphicon {
  color: #333333;
}
#admin-messaging .messageForm > .message,
#admin-messaging .messageForm > .actions {
  margin-top: 10px;
}
#admin-messaging .actions a {
  text-decoration: none;
}
#admin-messaging .actions a:hover {
  text-decoration: underline;
}
#admin-messaging .actions a.disabled {
  color: #696969;
  cursor: not-allowed;
  text-decoration: line-through;
}
#admin-messaging .actions a.disabled:hover {
  text-decoration: line-through;
}
#admin-messaging .buttons button[disabled] {
  background-color: #AAAAAA;
}
#adminMsgLoadModal .modal-body {
  height: 200px;
  overflow-y: auto;
}
#adminMsgLoadModal .adminMsgTmplTable {
  width: 100%;
}
#adminMsgLoadModal .adminMsgTmplTable td {
  vertical-align: top;
  padding: 4px 4px 4px 0;
  border-bottom: 1px solid #D8D8D8;
}
#adminMsgLoadModal .adminMsgTmplTable td.buttons {
  text-align: right;
}
#adminMsgLoadModal .adminMsgTmplTable tr:first-child td {
  padding-top: 0;
}
#adminMsgLoadModal .adminMsgTmplTable tr:last-child td {
  border-bottom: none;
}
.portlet-result {
  margin: 0.1em;
  padding: 0.5em;
  color: black;
  background-color: rgba(0, 0, 0, 0.025);
  border: 1px solid #ddd;
  border-radius: 1em;
}
.portlet-result img {
  height: 1em;
  width: 1em;
}
.portlet-result .title {
  font-weight: bold;
}
ul.search-results {
  list-style: none;
}
.ccc-portal.advisor .dashboard .virtual-advisor .advisor .path .completed {
  color: #DAAD28;
}
.ccc-portal.advisor .portlet.advisor .complete-marker .fa-check-circle {
  color: #DAAD28;
}
.ccc-portal.advisor .view.focused .nav-pills > li.paginateLink a.disabled {
  color: #ADADAD;
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}
@media (max-width: 991px) {
  .ccc-portal.advisor .portlet.advisor .portlet-content {
    padding-top: 0px;
  }
  .ccc-portal.advisor .portlet.advisor .path-summary .block {
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .ccc-portal.advisor .portlet.advisor .path-summary .block.how-long {
    border-bottom: none;
  }
}
@media (min-width: 768px) {
  .ccc-portal.advisor .view.focused .nav-pills > li.paginateLink i.fa-chevron-circle-up,
  .ccc-portal.advisor .view.focused .nav-pills > li.paginateLink i.fa-chevron-circle-down {
    display: none;
  }
}
@media (max-width: 1199px) and (min-width: 768px) {
  .dashboard .virtual-advisor .advisor .path-teaser {
    display: none;
  }
}
@media (max-width: 767px) {
  .dashboard .virtual-advisor .advisor .steps {
    display: none;
  }
  .ccc-portal.advisor .view.focused .nav-pills > li {
    float: none;
    margin: 10px 0 0;
  }
  .ccc-portal.advisor .view.focused .nav-pills > li.paginateLink i.fa-chevron-circle-left,
  .ccc-portal.advisor .view.focused .nav-pills > li.paginateLink i.fa-chevron-circle-right {
    display: none;
  }
  .ccc-portal.advisor .view.focused .nav-pills > li.return {
    margin: 0;
  }
  .ccc-portal.advisor .view.focused .nav-pills > li + li {
    text-align: center;
  }
  .ccc-portal.advisor .view.focused .nav-pills > li > a {
    border: 1px solid rgba(0, 0, 0, 0.2);
  }
}
textarea.ng-invalid,
input.ng-invalid {
  box-shadow: 0 0 5px red;
}
/*
textarea.ng-invalid-required,
input.ng-invalid-required {
    box-shadow: 0 0 5px orange;
}
*/
.question .text {
  font-weight: bold;
  margin-bottom: 5px;
}
/* ==========================================================================
   Survey Admin
   ========================================================================== */
.survey-admin {
  margin-bottom: 1em;
}
.survey-admin select.ng-invalid {
  box-shadow: 0 0 5px red;
}
.survey-admin .portlet-header {
  margin-bottom: 1em;
}
.survey-admin .portlet-title {
  color: #203466;
}
.survey-admin .survey-list {
  padding-left: 0;
  list-style: none;
}
.survey-admin .survey-list li {
  margin-bottom: 10px;
}
.survey-admin .survey {
  background-color: #fff;
  border: 1px solid #595959;
  padding: 20px;
  padding-left: 70px;
  position: relative;
}
.survey-admin .survey .subtitle {
  font-style: italic;
  font-size: medium;
  padding-left: 6px;
}
.survey-admin .survey .actions {
  margin-top: 1em;
}
.survey-admin .survey .row > button.pull-right {
  margin-left: 12px;
}
.survey-admin .survey.PUBLISHED {
  background-color: #ddd;
}
.survey-admin .survey-icon {
  position: absolute;
  top: 15px;
  left: 10px;
  width: 50px;
}
.survey-admin .question-list {
  counter-reset: li;
  /* Initiate a counter */
  margin-left: 0;
  padding-left: 0;
}
.survey-admin .question-list > li {
  background-color: white;
  border: 1px solid rgba(89, 89, 89, 0.5);
  list-style: none;
  margin: 0 0 6px 2em;
  padding: 1em;
  position: relative;
  border-radius: 5px;
}
.survey-admin .question-list > li .btn-group {
  vertical-align: unset;
}
.survey-admin .question-list > li button {
  padding: 6px 12px;
}
.survey-admin .question-list > li:before {
  content: counter(li);
  /* Use the counter as content */
  counter-increment: li;
  /* Increment the counter by 1 */
  /* Position and style the number */
  position: absolute;
  top: 10px;
  left: -1.5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 2em;
  /* Some space between the number and the content in browsers that support
         generated content but not positioning it (Camino 2 is one example) */
  margin-right: 8px;
  padding: 4px;
  color: #fff;
  background: #203466;
  border-radius: 50%;
  font-weight: bold;
  font-family: "Helvetica Neue", Arial, sans-serif;
  text-align: center;
}
.survey-admin .question-list .q-title {
  margin: 0 150px 0 0;
}
.survey-admin .question-list .q-actions {
  position: absolute;
  top: 0.7em;
  right: 1em;
}
@media (min-width: 768px) {
  .survey-admin .survey-list {
    overflow: auto;
  }
  .survey-admin .survey-list::after {
    display: block;
    content: "";
    clear: both;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .survey-admin .survey-list li:nth-child(odd) {
    clear: left;
  }
}
@media (min-width: 992px) {
  .survey-admin .survey-list li:nth-child(3n+1) {
    clear: left;
  }
}
@font-face {
  font-family: 'iconfont';
  src: url('/uPortal/media/skins/fonts/iconfont.ttf?5fykqc') format('truetype'), url('/uPortal/media/skins/fonts/iconfont.woff?5fykqc') format('woff'), url('/uPortal/media/skins/fonts/iconfont.svg?5fykqc#iconfont') format('svg');
  font-weight: normal;
  font-style: normal;
}
body {
  max-width: none;
}
.global-header {
  max-width: none;
}
.global-header .utility-header__list {
  background-color: transparent;
}
@media (min-width: 768px) {
  .global-header .global-header__container {
    max-width: none;
  }
}
@media (min-width: 1440px) {
  .utility-header {
    padding-right: 136.8px;
  }
}
.site-search .site-search__toggle[aria-expanded="true"] + .site-search__form:before {
  top: unset;
  max-width: none;
}
.site-search .site-search__form {
  max-width: none;
}
.utility-header .utility-header__menu .utility-header__link.button--fancy {
  padding-right: 0;
  color: #0066BA;
}
.utility-header .utility-header__menu .utility-header__link.button--fancy.last {
  margin-right: 0;
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list {
  display: block;
  border-top: 5px solid #FFB600;
}
@media (min-width: 768px) {
  .navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list {
    max-width: 400px;
    top: calc(112%);
    left: auto;
    right: 0;
  }
  .navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .global-header {
    left: auto;
    top: 64px;
    max-width: 400px;
  }
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item {
  visibility: visible !important;
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item-link {
  color: #fff;
  background: #0066BA;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 100% !important;
}
@media (min-width: 768px) {
  .navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item-link {
    padding: 10px 48px 10px 24px !important;
  }
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__sub-nav {
  background: #D9F0FA;
  padding-top: 10px;
  padding-bottom: 10px;
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item-link {
  border-bottom: 1px solid #fff;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item-link[aria-current="page"] {
  background-color: #002F6D;
  color: #fff;
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item-link[aria-current="page"]:hover {
  text-decoration: none;
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item-link:not([aria-current="page"]):hover,
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__item-link:not([aria-current="page"]):focus {
  background-color: #005296;
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__sub-nav-toggle {
  position: absolute;
  right: 5%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.navigation__toggle[aria-expanded="true"] + .nav-college .navigation__list .navigation__sub-nav-toggle:after {
  color: #FFB600;
  font-size: 18px;
}
.navigation--main .sr-only {
  margin-left: -10000% !important;
}
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item:focus,
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item-link:focus,
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item:hover,
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item-link:hover,
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item[aria-expanded="true"],
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item-link[aria-expanded="true"] {
  color: #002F6D;
  text-decoration: none;
}
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item.navigation__item--invisible {
  display: inline-block;
  padding: 0;
  width: 0;
}
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__utility-items {
  display: none;
}
.navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__utility-items .navigation__item-link-utility {
  display: none;
}
@media (min-width: 768px) {
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list {
    border-top: 1px solid rgba(178, 178, 178, 0.5);
    display: table;
    -webkit-box-shadow: none;
    box-shadow: none;
    float: right;
    padding-top: 11px;
    position: relative;
    width: auto;
  }
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__item {
    padding-right: 40px;
    position: relative;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__sub-nav {
    border-top: 5px solid #FFB600;
    position: absolute;
    left: -30px;
    top: calc(112%);
    background: #D9F0FA;
    padding: 15px 0;
    width: 260px;
  }
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__sub-nav:target {
    display: block;
  }
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__sub-nav-item-link {
    border: 0;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    text-align: left;
    text-transform: none;
    padding: 6px 30px;
    color: #0066BA;
    background: none;
  }
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__sub-nav-item-link:hover,
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__sub-nav-item-link:focus {
    background: #c0e6f5;
    text-decoration: none;
  }
  .navigation--main .navigation__toggle:not([aria-expanded="true"]) + .nav-college .navigation__list .navigation__sub-nav-item-link[aria-current="page"] {
    color: #002F6D;
  }
}
input[type=radio] {
  -webkit-appearance: radio;
}
input[type=checkbox] {
  -webkit-appearance: checkbox;
}
.button,
.button--generic,
.utility-header__link,
.utility-header__drawer-toggle,
.navigation__item-link {
  text-transform: none !important;
}
button[disabled],
.button.disabled {
  color: #000000 !important;
  background-color: #B2B2B2 !important;
  cursor: not-allowed !important;
  opacity: 0.7 !important;
}
.global-header .branding img {
  min-height: 80px;
}
@media (max-width: 767px) {
  .global-header .branding img {
    min-height: 1em;
  }
}
@media (max-width: 354px) {
  .global-header .branding img {
    width: 10em;
  }
}
/* Screenreaders */
.sr-only {
  margin-left: -1000% !important;
}
.sr-focus {
  outline: none;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4ubGVzcyIsImNvbXBvbmVudHMvZm9udHMubGVzcyIsImNvbXBvbmVudHMvY29sb3JzLmxlc3MiLCJjb21wb25lbnRzL2NvbnRlbnQubGVzcyIsImNvbXBvbmVudHMvZm9sZGVyLmxlc3MiLCJjb21wb25lbnRzL2FwcHN0eWxlLmxlc3MiLCJjb21wb25lbnRzL3N0cmF0ZWdpZXMubGVzcyIsImNvbXBvbmVudHMvY3VzdG9taXplLmxlc3MiLCJjb21wb25lbnRzL3BvcnRsZXRzLmxlc3MiLCJjb21wb25lbnRzL2hlYWRlci5sZXNzIiwiY29tcG9uZW50cy9hZHZpc29ycy5sZXNzIiwiY29tcG9uZW50cy9taXhpbnMubGVzcyIsImNvbXBvbmVudHMvc2VhcmNoLmxlc3MiLCJjb21wb25lbnRzL21vZGFsLmxlc3MiLCJjb21wb25lbnRzL3Byb2dyZXNzLmxlc3MiLCJjb21wb25lbnRzL2xvYWRpbmcubGVzcyIsImNvbXBvbmVudHMvbmF2YmFyLmxlc3MiLCJjb21wb25lbnRzL2RyYWduZHJvcC5sZXNzIiwicG9ydGxldHMvYWRtaW4tbWVzc2FnaW5nLmxlc3MiLCJwb3J0bGV0cy9hZHZpc29yLWNhcmRzLmxlc3MiLCJwb3J0bGV0cy9zdXJ2ZXkubGVzcyIsImNvbXBvbmVudHMvMjAxOS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBOztFQUNJLHNCQUFBOztBQUVKOztFQUNHLHNCQUFBO0VBQ0EsVUFBQTs7QUFFSDs7RUFDRyxzQkFBQTtFQUNBLFVBQUE7O0FBRUg7O0VBQ0csc0JBQUE7OztBQ1RIO0VBQ0ksYUFBYSwrQ0FBYjs7QUFHSjtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQUk7RUFDaEIsZ0JBQUE7Ozs7Ozs7Ozs7Ozs7OztBQytESjtFQUNDLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1DQUFBOztBQzFFRDtFQUFpQixrQkFBQTs7QUFFakIsYUFBYyxPQUFPO0VBQW1CLGNBQUE7O0FBSXBDLEtBRkMsYUFFQTtB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LE1BQU07QUFDTixPQUFPO0VBQ0wseUJBQUE7RUFDQSxvQ0FBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7O0FBR0YsY0FBZSxVQUFVO0VBQU0sZ0JBQUE7O0FBRS9CLFFBQTBCO0VBQ3hCLGNBQWUsVUFBVTtJQUN2QixlQUFBOzs7QUFJSixRQUEwQjtFQUN4QixjQUFlLFVBQVU7SUFDdkIsV0FBQTs7OztBckJyTEo7RUFDSSxtQkFBQTs7QUFFSjtFQUNDLGFBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpbnB1dFtwbGFjZWhvbGRlcl0gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIFdlYktpdCwgQmxpbmssIEVkZ2UgKi9cbiAgICBjb2xvcjogIzU1NSAhaW1wb3J0YW50O1xufVxuOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgY29sb3I6ICM1NTUgIWltcG9ydGFudDtcbiAgIG9wYWNpdHk6IDE7XG59XG46Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgY29sb3I6ICM1NTUgIWltcG9ydGFudDtcbiAgIG9wYWNpdHk6IDE7XG59XG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXG4gICBjb2xvcjogIzU1NSAhaW1wb3J0YW50O1xufVxuXG4vKiBJbXBvcnRzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb250c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbG9yc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9sZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hcHBzdHlsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3RyYXRlZ2llc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY3VzdG9taXplXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3J0bGV0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hZHZpc29yc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2VhcmNoXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tb2RhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xvYWRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdmJhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RyYWduZHJvcFwiO1xuXG5AaW1wb3J0IFwicG9ydGxldHMvYWRtaW4tbWVzc2FnaW5nXCI7XG5AaW1wb3J0IFwicG9ydGxldHMvYWR2aXNvci1jYXJkc1wiO1xuQGltcG9ydCBcInBvcnRsZXRzL3N1cnZleVwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy8yMDE5XCI7XG5cbi8qIFNjcmVlbnJlYWRlcnMgKi9cbi5zci1vbmx5IHtcbiAgICBtYXJnaW4tbGVmdDogLTEwMDAlICFpbXBvcnRhbnQ7XG59XG4uc3ItZm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xufVxuIiwiQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo0MDAsMzAwLDYwMCw3MDB8T3BlbitTYW5zK0NvbmRlbnNlZDozMDAsNzAwfFBUK1NhbnMrTmFycm93OjQwMCw3MDB8UFQrU2FucytDYXB0aW9uOjQwMCw3MDB8UFQrU2Fuczo0MDAsNzAwfE1vbnRzZXJyYXQ6MzAwLDQwMCw3MDApO1xuXG5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9U291cmNlK1NhbnMrUHJvOjEwMCwyMDAsMzAwLDQwMCw1MDAsNjAwLDcwMCw4MDAsOTAwLDEwMGksMjAwaSwzMDBpLDQwMGksNTAwaSw2MDBpLDcwMGksODAwaSw5MDBpfFNvdXJjZStTZXJpZitQcm86NDAwLDYwMCw3MDAsNDAwaSw2MDBpLDcwMGkpO1xuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiBDQ0MgQ08gMjAxOSAqL1xuQGNjYy1ibHVlOlx0XHRcdCMwMDY2QkE7XG5AY2NjLWJsdWUtZGFyazpcdFx0IzAwMkY2RDtcbkBjY2MtYmx1ZS1icmlnaHQ6XHQjNDBCNEU1O1xuQGNjYy1ibHVlLWxpZ2h0Olx0I0Q5RjBGQTtcbkBjY2MtZ29sZDpcdFx0XHQjRkZCNjAwO1xuQGNjYy1nb2xkLWxpZ2h0Olx0I0ZGRTI5OTtcbkBjY2MtZ3JheTpcdFx0XHQjNTU1NTU1O1xuQGNjYy1ncmF5LWxpZ2h0Olx0I0IyQjJCMjtcblxuXG5AcHJpbWFyeS1ibHVlOlx0IzMyNTA4QjtcbkBsaWdodC1ncmV5LXRyYW5zcGFyZW50OiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG4vKiBOYXYgSGVhZGVyIEJhY2tncm91bmQgKi9cbkBuYXZIZWFkZXJCZzogICBAY2NjLWJsdWUtZGFyaztcbkBoZWFkZXJCZ0NvbG9yOiBAY2NjLWJsdWUtZGFyaztcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU2ltcGxlIENvbG9ycyAqL1xuQHdoaXRlOlx0XHRcdCNGRkZGRkY7XG5AYmxhY2s6XHRcdFx0IzAwMDAwMDtcblxuLyogR3JheXNjYWxlIGNvbG9yczogMSBpcyBsaWdodGVzdCwgMTAgaXMgZGFya2VzdCAqL1xuQGdyYXlzY2FsZTE6XHQjRjVGNUY1O1xuQGdyYXlzY2FsZTI6XHQjRTVFNUU1O1xuQGdyYXlzY2FsZTM6XHQjRDhEOEQ4O1xuQGdyYXlzY2FsZTQ6XHQjQ0NDQ0NDO1xuQGdyYXlzY2FsZTU6XHQjQURBREFEO1xuQGdyYXlzY2FsZTY6XHQjOTk5OTk5O1xuQGdyYXlzY2FsZTc6XHQjOEM4QzhDO1xuQGdyYXlzY2FsZTg6XHQjNjk2OTY5O1xuQGdyYXlzY2FsZTk6XHQjNDA0MDQwO1xuQGdyYXlzY2FsZTEwOlx0IzMzMzMzMztcblxuLyogQ29sb3JzICovXG5AYmx1ZTpcdFx0XHQjMkU2Q0EyO1xuQGJsdWUxOlx0XHRcdCMyMDM0NjY7XG5AYmx1ZTI6XHRcdFx0IzI2NDg4MztcbkBibHVlMzpcdFx0XHQjMjIzNDZCO1xuQGdvbGQxOlx0XHRcdCNFNkI0MDU7XG5AZ29sZDI6XHRcdFx0I0NDOTkyQjtcbkBnb2xkMzogICAgICNEQUFEMjg7XG5AZ29sZDQ6ICAgICAjRjRDNzQyO1xuQGdyYXkxOlx0XHRcdGRlc2F0dXJhdGUoIzU5NTk1OSwgMTAwJSk7XG5cbi8qIFN0YXR1cyBJbmRpY2F0b3JzICovXG5Ac3VjY2Vzcy1kZ3JlZW46ICMwMDhBMDA7XG5Ac3VjY2Vzcy1ncmVlbjpcdCM1Q0I4NUM7XG5AZmFpbHVyZS1yZWQ6XHQjQTk0NDQyO1xuQGFkdmlzb3JTdWNjZXNzQ29sb3I6ICNEQUFEMjg7XG5cblxuLyogV2FybSBHcmF5cyAqL1xuQHdhcm0xOlx0XHRcdGRlc2F0dXJhdGUoI0YyRjFFQiwgMTAwJSk7XG5Ad2FybTI6XHRcdFx0ZGVzYXR1cmF0ZSgjRjNGMEU3LCAxMDAlKTtcbkB3YXJtMzpcdFx0XHRkZXNhdHVyYXRlKCNENEQxQzMsIDEwMCUpO1xuQHdhcm00Olx0XHRcdGRlc2F0dXJhdGUoI0U5RTZEQiwgMTAwJSk7XG5Ad2FybS1ncmV5Olx0ZGVzYXR1cmF0ZSgjRUJFQ0U0LCAxMDAlKTtcblxuXG4vKiBDb21wb25lbnQgQ29sb3JzICovXG5AY29weXJpZ2h0VGV4dDpcdEBncmF5c2NhbGU5O1xuQG1lc3NhZ2VzLWJhZGdlLXRleHQ6IEB3aGl0ZTtcbkBtZXNzYWdlcy1iYWRnZS1iYWNrZ3JvdW5kOiAjOTk2OTAwO1xuQGFwcC1sYXVuY2hlci1wb3J0bGV0LWxpbmstY29sb3I6ICMwMDY5QTI7XG5AYXBwLWxhdW5jaGVyLXBvcnRsZXQtbGluay1ob3Zlci1jb2xvcjogIzAwN0NDMDtcblxuXG4uaGlsaWdodC1hbmltYXRpb24ge1xuXHRhbmltYXRpb24tbmFtZTogbW92ZS1jb2xvcjtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiAycztcblx0YW5pbWF0aW9uLXRpbWluZzogZWFzZTtcblx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG4iLCJAaW1wb3J0IChyZWZlcmVuY2UpIFwiY29sb3JzXCI7XG5cbiNwb3J0YWxQYWdlQm9keSB7cG9zaXRpb246IHJlbGF0aXZlO31cblxuLm1vZGFsLWhlYWRlciAuY2xvc2UgLmdseXBoaWNvbi1yZW1vdmUge2ZvbnQtc2l6ZTogODAlO31cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSB7XG4gICAgJi5mb3JtLWNvbnRyb2wge2xpbmUtaGVpZ2h0OiAxO31cbn1cblxuLmFwcC1sYXVuY2hlci1wb3J0bGV0IHtcbiAgICBhIHtjb2xvcjogQGFwcC1sYXVuY2hlci1wb3J0bGV0LWxpbmstY29sb3I7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge2NvbG9yOiBAYXBwLWxhdW5jaGVyLXBvcnRsZXQtbGluay1ob3Zlci1jb2xvcjt9XG4gICAgfVxufVxuXG4uY29udGFpbmVyLWZsdWlkIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm5vLW1hcmdpbnMge21hcmdpbjogMDt9XG5cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgcGFkZGluZy1yaWdodDogMiU7XG59IiwiQGltcG9ydCAocmVmZXJlbmNlKSBcImNvbG9yc1wiO1xuQGltcG9ydCAocmVmZXJlbmNlKSBcImFwcHN0eWxlXCI7XG5cbm5nLXRyYW5zY2x1ZGUsXG5wb3J0bGV0LWNvbnRlbnQsXG5bcG9ydGxldC1jb250ZW50XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbiNwb3J0YWxQYWdlQm9keS5wb3J0YWwtY29udGVudCB7IGJhY2tncm91bmQtY29sb3I6IEBsaWdodC1ncmV5LXRyYW5zcGFyZW50OyB9XG5cbi5wb3J0YWwtZ2xvYmFsLnJvdyB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmVkaXQtY2hyb21lIHtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZW91dChvcmFuZ2UsIDcwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7IFxuICAgIG1hcmdpbjogMC41ZW07XG4gICAgd2lkdGg6IDk5JTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLmNoaWxkLXNldHRpbmdzIGEuYnRuIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIH1cblxuICAgIC5tb3ZlLW1vZGUgJiB7IGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAuY2hpbGQtc2V0dGluZ3MgYS5idG4geyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuXG4gICAgJi5jaGlsZC1wb3J0bGV0IC5jaHJvbWUgLmNoaWxkLXNldHRpbmdzIC5yZW1vdmUtYnRuIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLmNoaWxkLXNldHRpbmdzIHsgcGFkZGluZzogMC4yNWVtO1xuXG4gICAgICAgIC5wb3J0bGV0LXByb3BlcnRpZXMge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IGZhZGVvdXQoYmxhY2ssIDUwJSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAucG9ydGxldC1wcm9wZXJ0aWVzLCBpbnB1dCwgbGFiZWwsIC5jaGVja2JveCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIH1cbn1cblxudXAtY29udGVudC1mb2xkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5tb3ZlLW1vZGUgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsaWdodC1ncmV5LXRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB9XG5cbiAgICAuaGlnaGxpZ2h0ZWQge1xuICAgICAgICA+IHNwYW4gPiBwb3J0bGV0LWNvbnRlbnQsID4gdXAtY29udGVudC1mb2xkZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vdmUtY29sb3I7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZzogZWFzZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1vdmUtY29sb3Ige1xuICAgIEBjb2xvcjogQHByaW1hcnktYmx1ZTtcblxuICAgIDAlIHsgYm94LXNoYWRvdzogMCAwIDE1cHggZmFkZW91dChAY29sb3IsIDMwJSkgfVxuICAgIDUwJSB7IGJveC1zaGFkb3c6IDAgMCAzMHB4IEBjb2xvciB9XG4gICAgMTAwJSB7IGJveC1zaGFkb3c6IDAgMCAxNXB4IGZhZGVvdXQoQGNvbG9yLCAzMCUpIH1cbn1cblxubGkuZm9sZGVyLXRhYiB7IHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5yZW1vdmUtZm9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICBpbWcubG9nbyB7IGhlaWdodDogMmVtOyB9XG5cbiAgICAucmVtb3ZlLWZvbGRlcjpmb2N1cyxcbiAgICAmOmhvdmVyIC5yZW1vdmUtZm9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5wb3J0YWwtcG93ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1ZW07XG59XG5cblxuLnBpbmJvYXJkIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5c2NhbGU3O1xuXG4gICAgPiB1cC1jb250ZW50LWZvbGRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gICAgLmFwcHN0eWxlKCk7XG5cbiAgICA+IGgyIHtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggQGJsYWNrO1xuICAgIH1cblxuICAgIC5pbnRyby1jYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDI3NXB4O1xuICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgIG1hcmdpbjogMTRweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheXNjYWxlMztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNWVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgLmJvZHkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHggMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGdyYXlzY2FsZTc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXB4IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAuaXRlbS1saXN0ID4gc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDE1cHggMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHAgeyBtYXJnaW46IDA7XG4gICAgICAgICAgICAmOmhvdmVyIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgICAuaW50cm8tY2FyZCB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cbiAgICB9XG59XG4iLCJAaW1wb3J0IChyZWZlcmVuY2UpIFwibWl4aW5zXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwiY29sb3JzXCI7XG5cbi8qIGFwcHN0eWxlIG1peGluIGdpdmVzIHRoZSBhcHAgbGF1bmNoZXJzIHRoZWlyIHN0eWxlICovXG4uYXBwc3R5bGUoKSB7XG4gICAgLmFwcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52aXN1YWwge2JhY2tncm91bmQ6IEBibHVlMzt9XG5cbiAgICAgICAgLndyYXBwZXItbGluazpmb2N1cyAudmlzdWFsIHtiYWNrZ3JvdW5kOiBsaWdodGVuKEBibHVlMywgNSUpO31cblxuICAgICAgICAuZmF2b3JpdGUsXG4gICAgICAgIC5yZW1vdmUsXG4gICAgICAgIC5waW5uZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmF2b3JpdGUsXG4gICAgICAgIC5yZW1vdmUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBpbm5lZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNTBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICAgICAgLnRleHQtZmFkZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC8qaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgLmhvcml6b250YWwtZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwgMCksIHJnYmEoMjU1LDI1NSwyNTUsIDEpKTsqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMi41cHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmtzLXRvIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwgMC4xKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuNSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVybCB7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIC5hcHAge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGJsdWUzO1xuICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgLnZpc3VhbCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYm9keSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAZ3JheXNjYWxlMTA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZhdm9yaXRlLFxuICAgICAgICAgICAgLnJlbW92ZSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGlubmVkIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmID4gc3BhbiB7IFxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgLyogU21hbGwgZGV2aWNlcyAodGFibGV0cywgNzY4cHggYW5kIHVwKSAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIC5hcHAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMi41cHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwwLDAsIDAuMjUpO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjUlIDElIDAuNSU7XG4gICAgICAgICAgICB3aWR0aDogMTgwcHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIge3RyYW5zZm9ybTogc2NhbGUoMS4wMjUpO31cblxuICAgICAgICAgICAgLnZpc3VhbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGJsdWUzO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsIDAuMik7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ib2R5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAudGl0bGUge2ZvbnQtc2l6ZTogMS4yZW07fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmF2b3JpdGUsXG4gICAgICAgICAgICAucmVtb3ZlLFxuICAgICAgICAgICAgLnBpbm5lZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMS41cHg7XG5cbiAgICAgICAgICAgICAgICBpIHttYXJnaW4tbGVmdDogNXB4O31cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZhdm9yaXRlLFxuICAgICAgICAgICAgLnJlbW92ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBpbm5lZCB7bGVmdDogMDt9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5mYXZvcml0ZSxcbiAgICAgICAgICAgICAgICAucmVtb3ZlIHtvcGFjaXR5OiAxO31cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICAgICAgICAgICAuZmF2b3JpdGUsXG4gICAgICAgICAgICAgICAgLnJlbW92ZSB7b3BhY2l0eTogMTt9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IDApIHtcbiAgICAgICAgICAgICAgICAuZmF2b3JpdGUsIC5yZW1vdmUge29wYWNpdHk6IDE7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhdm9yaXRlLFxuICAgICAgICAgICAgLnJlbW92ZSB7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7b3BhY2l0eTogMTt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0IChyZWZlcmVuY2UpIFwiY29sb3JzXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwiYXBwc3R5bGVcIjtcblxuW3VwLWRpc3BsYXk9XCJhcHAtbGF1bmNoZXJcIl0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgaDI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW46IDAgNXB4IDEwcHggMDtcblxuICAgICAgICAucG9ydGxldC1jb250ZW50IHsgcGFkZGluZzogMDsgfVxuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgLmFwcCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyNSk7XG5cbiAgICAgICAgICAgICAgICAuZmF2b3JpdGUsIC5yZW1vdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgICAgIC5waW5uZWQgeyBsZWZ0OiAwOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlnaGxpZ2h0ZWQge1xuICAgICAgICBwb3J0bGV0LWNvbnRlbnQge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwIHtcbiAgICAgICAgICAgIC5oaWxpZ2h0LWFuaW1hdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBzdHlsZSgpO1xufVxuXG51cC1jb250ZW50LWZvbGRlclt1cC1kaXNwbGF5PVwiY29udGFpbmVyXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuW3VwLWRpc3BsYXk9XCJyb3dcIl0sXG5bdXAtZGlzcGxheT1cInJvdy1hbHRlcm5hdGVcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5bdXAtZGlzcGxheT1cInJvdy1hbHRlcm5hdGVcIl0gW3VwLWRpc3BsYXk9XCJyb3dcIl0uYWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZTM7XG4gICAgY29sb3I6IEB3aGl0ZTtcblxuICAgIGEsXG4gICAgLmJ0bi1saW5rIHtcbiAgICAgICAgY29sb3I6ICM2NmIyZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuW3VwLWRpc3BsYXk9XCJjb2x1bW5cIl0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cblt1cC1kaXNwbGF5PVwicm93LWJ0bS1ib3JkZXJcIl0ge1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgI0NDQ0NDQztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7IC8qcmVxdWlyZWQgZm9yIElFOyBTU1AtMTczNiAqL1xuICAgIFt1cC1kaXNwbGF5PVwiYXBwLWxhdW5jaGVyXCJdIHBvcnRsZXQtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn0iLCJAaW1wb3J0IChyZWZlcmVuY2UpIFwiY29sb3JzXCI7XG5cbkBiYXNlLWNvbG9yOiBkYXJrZW4od2hpdGUsIDIwJSk7XG5AY3VzdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4uY3VzdG9taXplIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLnBpbm5lZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG59XG5cbi5jdXN0b21pemUtZHJhd2VyLFxuLmN1c3RvbWl6ZS1oYW5kbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYXNlLWNvbG9yO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uY3VzdG9taXplLWhhbmRsZSB7XG4gICAgd2lkdGg6IDEwZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuMjVlbTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjVlbSAwLjVlbTtcbn1cblxuLmN1c3RvbWl6ZS1kcmF3ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuY3VzdG9taXplLm9wZW4gJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvKklFMTArIGZpeCovXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQHJhZGl1czogMC41ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDFlbTtcblxuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBmb2xkZXItd2lkdGg6IDEwZW07XG4gICAgLmFkZC1mb2xkZXIge1xuICAgICAgICBjdXJzb3I6IGNvcHk7XG5cbiAgICAgICAgd2lkdGg6IEBmb2xkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7YmFja2dyb3VuZC1jb2xvcjogQGN1c3QtY29sb3I7fVxuICAgIH1cblxuICAgICY+IC5hY3Rpb24tYmFyIHt3aWR0aDogMTAwJTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMC4yZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgICAgIC5pbnB1dC1ncm91cCxcbiAgICAgICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbiB7ZGlzcGxheTogZmxleDt9XG5cbiAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7ZGlzcGxheTogaW5saW5lLWJsb2NrO31cbiAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb24ge3dpZHRoOiBhdXRvO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoOTQlLUBmb2xkZXItd2lkdGgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5jYXRlZ29yeS1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIG1hcmdpbjogMi41cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcblxuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQHByaW1hcnktYmx1ZSwgMjAlKTtcbiAgICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBwcmltYXJ5LWJsdWUsIDEwJSk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBwcmltYXJ5LWJsdWUsIDMwJSk7IH1cblxuICAgIH1cblxuICAgIC5wb3J0bGV0LWxpc3Qtcm93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jdXN0b21pemUtcG9ydGxldC1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmN1c3RvbWl6ZS1wb3J0bGV0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIG1hcmdpbjogMC41ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuXG4gICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjdXN0LWNvbG9yO1xuXG4gICAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHsgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDMwMHB4KSB7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gICAgICAgIC5hY3Rpb24tYmFyIHtcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEByYWRpdXMgQHJhZGl1cyAwIDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjdXN0LWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgICAgICAgICAgLmFkZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIEByYWRpdXMgMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVlbTtcblxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQHByaW1hcnktYmx1ZSwgNSUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3J0bGV0LW5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG5cbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBvcnRsZXQtYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC41ZW0gMC41ZW0gMDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZWluKEBjdXN0LWNvbG9yLCAyMCUpO1xuICAgICAgICAgICAgLmFjdGlvbi1iYXIgLmFkZCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b21pemUtcG9ydGxldCAuc2VyYWNoLXJlc3VsdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHRydWU7XG4gICAgfVxufVxuXG4iLCJwb3J0bGV0LWNvbnRlbnQge1xuICAgICYubWF4aW1pemVkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgLm1haW50ZW5hbmNlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAmLm1vdmluZywgJi5tb3ZpbmcuY2hyb21lIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vdmUtY29sb3I7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmc6IGVhc2U7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIH1cblxuICAgICYuY2hyb21lIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTIuNXB4O1xuICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgICAgICAgLnJpZ2h0LW1lbnUgeyBcbiAgICAgICAgICAgIGE6Zm9jdXMge29wYWNpdHk6IDE7fVxuICAgICAgICAgICAgLm9wdGlvbnMtbWVudS5zaG93biB7ZGlzcGxheTogYmxvY2s7fVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciBuZy10cmFuc2NsdWRlOmZpcnN0LWNoaWxkIGgxIC5yaWdodC1tZW51IHtkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGEge29wYWNpdHk6IDE7fVxuICAgICAgICAgICAgLm9wdGlvbnMtbWVudS5zaG93biB7ZGlzcGxheTogYmxvY2s7fVxuICAgICAgICB9XG5cbiAgICAgICAgJj4gbmctdHJhbnNjbHVkZSB7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIyLjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjVweDtcblxuICAgICAgICAgICAgICAgIC5yaWdodC1tZW51IHtwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHttYXJnaW46IDAgMC4yNWVtO31cblxuICAgICAgICAgICAgICAgICAgICAub3B0aW9ucy1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4yNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogQGdyYXlzY2FsZTE7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJj4gLnBvcnRsZXQtY29udGVudC1qcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEyLjVweCAxMi41cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmPiBuZy10cmFuc2NsdWRlID4gaDEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEyLjVweDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMi41cHggMTIuNXB4IDAgMDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheXNjYWxlODtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6aG92ZXIge2JhY2tncm91bmQtY29sb3I6IEBncmF5c2NhbGU5O31cbiAgICB9XG59XG5cbi5wdGwtbWdyIC5hbGVydCBoMyB7bWFyZ2luLXRvcDogMDt9XG5cbltmbGlja2l0eV0ubm8tcHJldi1uZXh0IC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtkaXNwbGF5OiBub25lO31cbiIsIkBpbXBvcnQgKHJlZmVyZW5jZSkgXCJjb2xvcnNcIjtcbkBpbXBvcnQgKHJlZmVyZW5jZSkgXCJ2YXJpYWJsZXNcIjtcblxuQGhlYWRlci16aW5kZXg6IDEwO1xuaGVhZGVyLmdsb2JhbC1oZWFkZXIge1xuICAgIHotaW5kZXg6IEBoZWFkZXItemluZGV4O1xufVxuXG4uY29sbGVnZS1jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGhlYWRlckJnQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdVBvcnRhbC9pbWFnZXMvY2NjLXRlbmFudC1iZy1kZWZhdWx0LmpwZycpO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4uY29sbGVnZS1jb3Zlcixcbi5jb2xsZWdlLWNvdmVyLW1hc2sge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7ZGlzcGxheTogbm9uZTt9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1zbS1tYXgpIHtoZWlnaHQ6IDIwMHB4O31cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge2hlaWdodDogMjUwcHg7fVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge2hlaWdodDogMzAwcHg7fVxufVxuXG4ucG9ydGxldC1iZy1jb3ZlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDt9XG59XG5cbi5iZy1jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLml0ZW0tY29udGVudCB7XG4gICAgaGVpZ2h0OiAzNTBweDtcbn1cblxuLnNraXAtbmF2IHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcbiAgICB6LWluZGV4OiBAaGVhZGVyLXppbmRleCArIDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzO1xuXG4gICAgJjpmb2N1cywgJjpob3ZlciwgJjphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGEge2NvbG9yOiAjNzI3MjcyO31cblxuLnBvcnRhbC1sb2dpbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiBAZ3JheXNjYWxlMTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGdvbGQzO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXJnaW46IDAgMCAzcHggMnB4O1xuICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmZvY3VzLCAmOmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBnb2xkNDtcbiAgICB9XG5cbiAgICAubG9naW4taWNvbiB7bWFyZ2luLWxlZnQ6IDEwcHg7fVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICArIC5wb3BvdmVyIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxuICAgIH1cbn1cblxuXG4ucG9ydGFsIHtcbiAgICAubWFpbi1uYXYge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIC8qIENvbGxlZ2UgU3dpdGNoZXIgKi9cbiAgICBAc3dpdGNoZXItYmc6ICMzRDM5MzU7XG5cbiAgICAjY28tc3dpdGNoZXItdG9nZ2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgICAgICBwYWRkaW5nOiAxZW0gMS4zZW07XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmZvY3VzLCAmOmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3dpdGNoZXItYmc7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLndyYXBwZXIge1xuICAgICAgICA+IC53cmFwcGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICA+IC53cmFwcGVyLXNpZGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN3aXRjaGVyLWJnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zaWRlLW9wZW4ge1xuICAgICAgICAgICAgPiAud3JhcHBlci1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gLndyYXBwZXItc2lkZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY28tc3dpdGNoZXItbmF2IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuXG4gICAgICAgID4gbGkgeyBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cywgJjphY3RpdmUsICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGVhZGVyQmdDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubG9nb21hcmsge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuXG4gICAgICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE0NHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2xsZWdlLW5hbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLyogSGVhZGVyICovXG4gICAgLnBvcnRhbC1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IEBoZWFkZXItemluZGV4O1xuXG4gICAgICAgIC5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWhlYWRlciB7bWFyZ2luOiAwO31cblxuICAgICAgICAucG9ydGFsLW5hdiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICAgICAubWVudS10b2dnbGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2NjLW5hdiB7bWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIC5uYXZiYXItZm9ybSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkgIWltcG9ydGFudDt9XG4gICAgICAgICAgICAgICAgICAgIDotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkgIWltcG9ydGFudDt9XG4gICAgICAgICAgICAgICAgICAgIDo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkgIWltcG9ydGFudDt9XG4gICAgICAgICAgICAgICAgICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkgIWltcG9ydGFudDt9XG5cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYnRuIHtib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7fVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3dlYlNlYXJjaENvbnRhaW5lciB7bWFyZ2luOiAwO31cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLFxuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbiB7ZGlzcGxheTogZmxleDt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWJyYW5kLmxvZ28ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiBAaGVhZGVyLXppbmRleDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuXG4gICAgICAgICAgICAgICAgJi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9nb21hcmssXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb2dvbWFyayB7d2lkdGg6IDQ4cHg7fVxuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IChAc2NyZWVuLXhzLW1pbiAtIDEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgLnNyLW9ubHk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLnJlbW92ZS1mb2xkZXIge1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI3BvcnRhbE5hdmlnYXRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNsZWFyOiByaWdodDtcblxuICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCxcbiAgICAgICAgICAgIC5uYXZiYXItY29sbGFwc2Uge3BhZGRpbmc6IDA7fVxuXG4gICAgICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHttYXJnaW46IDAgMCAwIC0yNXB4O31cblxuICAgICAgICAgICAgLnhzLW1lc3NhZ2UtY291bnQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMWVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMWVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBtZXNzYWdlcy1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sbGFwc2VkIC54cy1tZXNzYWdlLWNvdW50IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTNweCAwIC0zcHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbWVzc2FnZXMtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnJpZ2h0IHtmbG9hdDogcmlnaHQ7fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgID4gYTpob3ZlciwgPiBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlID4gYTpob3ZlciwgJi5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZWNvbW1lbmRhdGlvbnMgLm1lbnUge3BhZGRpbmc6IDA7IG1hcmdpbjogMDt9XG5cbiAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5hdmJhci5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAgICAgICAgICAgLm1lbnUgLnJlY29tbWVuZGF0aW9ucyB7ZmxvYXQ6IGxlZnQ7fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHttYXJnaW4tdG9wOiAtNTBweDtcbiAgICAgICAgICAgICAgICAubWVudS5ub3QtYWxvbmUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuXG4gICAgICAgICAgICAgICAgICAgICsgLm1lbnUge21hcmdpbi10b3A6IDVweDt9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1lbnUgLmRyb3Bkb3duLW1lbnUge21hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgID4gbGkge21hcmdpbi1ib3R0b206IDNweDt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgICAgIC5wb3J0YWwtbG9nbyB7XG4gICAgICAgICAgICAgICAgLm5hdmJhci1icmFuZC5sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNyLW9ubHk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmF2YmFyLXJpZ2h0IHttYXJnaW46IDEwcHggMCAwIDA7fVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7LyptaW4taGVpZ2h0OiAxMTBweDsqL1xuICAgICAgICAgICAgLnBvcnRhbC1sb2dvIHtcbiAgICAgICAgICAgICAgICAubmF2YmFyLWJyYW5kIHtmbG9hdDogbm9uZTt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2NjLW5hdiB7XG4gICAgICAgICAgICAgICAgLnNlYXJjaC1wb3J0bGV0IHt0ZXh0LWFsaWduOiByaWdodDt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgICAgICNwb3J0YWxOYXZpZ2F0aW9uIC5tZW51IHtwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgICYubmF2YmFyLXJpZ2h0ID4gbGk6bGFzdC1jaGlsZCB7bWFyZ2luLXJpZ2h0OiAwO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIENvbnRlbnQgKi9cbiAgICAucG9ydGFsLWNvbnRlbnQge3BhZGRpbmc6IDA7XG4gICAgICAgICNyZWdpb24tY3VzdG9taXplIC5jdXN0b21pemUge3BhZGRpbmc6IDAgMTVweDt9XG4gICAgfVxuXG5cbiAgICAvKiBGb290ZXIgKi9cbiAgICAjcmVnaW9uLWZvb3Rlci1zZWNvbmQge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB9XG59XG5cbi5wb3J0YWwtaGVhZGVyICNjb2xsZWdlLWJhZGdlIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICBzcGFuIHt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cblxuICAgIGltZy5jb2xsZWdlLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgfVxufVxuIiwiQGltcG9ydCAocmVmZXJlbmNlKSBcImNvbG9yc1wiO1xuQGltcG9ydCAocmVmZXJlbmNlKSBcInZhcmlhYmxlc1wiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmlydHVhbCBBZHZpc29yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNsZWFyZml4IHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuQGJveDE6IGxpZ2h0ZW4oQGJsdWUxLCA5JSk7XG5AYm94MjogbGlnaHRlbihAYmx1ZTEsIDYlKTtcbkBib3gzOiBsaWdodGVuKEBibHVlMSwgMyUpO1xuQGJveDQ6IGxpZ2h0ZW4oQGJsdWUxLCAwJSk7XG5cbkBudW0tY2FyZHM6IDI7XG5AbXktbWFyZ2luOiAwO1xuQGNhcmQtd2lkdGgtcGN0OiBwZXJjZW50YWdlKDEvQG51bS1jYXJkcyk7XG5AZ3JpZC1oZWlnaHQ6IDM3MHB4O1xuXG5AdHRpbWU6IDAuNXM7XG5AYmxvY2stc2l6ZTogMWVtO1xuQHNpemUtaW5jcmVhc2U6IDEuMjU7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZHZpc29yIENhcmRzIC0gRGFzaGJvYXJkIFVJIHYxXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFkdmlzb3ItZ3JpZCB7XG4gICAgaGVpZ2h0OiBAZ3JpZC1oZWlnaHQ7XG5cbiAgICAjTm9BZHZpc29yQ2FyZHMucGF0aCB7d2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnBhdGgtY29udGVudCB7bWluLWhlaWdodDogMTQwcHg7IHBhZGRpbmc6IDEyMHB4IDIwcHg7fVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkgYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICAgIC5wYXRoIC5wYXRoLWNvbnRlbnQge2hlaWdodDogMjYwcHg7fVxuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgLnBhdGggLnBhdGgtY29udGVudCB7aGVpZ2h0OiAyMTBweDt9XG4gICAgfVxufVxuXG4uY2NjLXBvcnRhbC5hZHZpc29yIHtcbiAgICAucG9wb3ZlciB7Y29sb3I6IEBibGFjaztcbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByaWdodDogMjhweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY2VsbCB7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgLnZpcnR1YWwtYWR2aXNvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7bWFyZ2luLXRvcDogMDt9XG5cbiAgICAgICAgLmFkdmlzb3Itc3VnZ2VzdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZ29sZDI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiA3NyU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAuYWR2aXNvci1yZWNvbW1lbmRzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWdnZXN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7IGZvbnQtc2l6ZTogMC45ZW07IH1cblxuICAgICAgICAgICAgLnRyaWFuZ2xlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgQGdvbGQyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhc2hib2FyZC12MSB7IHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnZpcnR1YWwtYWR2aXNvciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgM2VtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuYWR2aXNvciB7XG4gICAgICAgICAgICAgICAgLmFkdmlzb3ItZ3JpZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4gICAgICAgICAgICAgICAgLnBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICAgICAmLmlzLXNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc2VjdGlvbiB7YmFja2dyb3VuZC1jb2xvcjogI0VFRTt9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IHNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjY2MtYmx1ZS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wYXRoLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC41ZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RlcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAzMHB4IDZweCA2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7Ym9yZGVyLWJvdHRvbTogMDt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY29tcGxldGVkLW1hcmtlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mYS5mYS1jaXJjbGUge2NvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mYS5mYS1jaGVjay1jaXJjbGUge2NvbG9yOiBAc3VjY2Vzcy1ncmVlbjt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdseXBoaWNvbi5JTl9QUk9HUkVTUyB7Y29sb3I6IGdvbGRlbnJvZDt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdseXBoaWNvbi5GQUlMRUQge2NvbG9yOiBAZmFpbHVyZS1yZWQ7fVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNlZS1hbGwge21hcmdpbi1sZWZ0OiAxZW07fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnBhdGgtY29tcGxldGUge1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3VjY2Vzcy1kZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnBhdGgtc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnBhdGgtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBoZWFkZXJCZ0NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMi4zZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucGF0aC1wcm9ncmVzcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZ3JheXNjYWxlMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnByb2dyZXNzLWJhci1zdWNjZXNzIHtiYWNrZ3JvdW5kLWNvbG9yOiBAc3VjY2Vzcy1ncmVlbjt9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucGF0aC10ZWFzZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ncmlkLWFycm93IHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxNy41cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTcuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMi41cHggc29saWQgbGlnaHRlbihAYmx1ZTMsIDUlKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmLmZpcnN0IHsgbGVmdDogMjUlOyB9XG4gICAgICAgICAgICAgICAgJi5zZWNvbmQgeyBsZWZ0OiA1MCU7IH1cbiAgICAgICAgICAgICAgICAmLnRoaXJkIHsgbGVmdDogNzUlOyB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLm15LWNvbGxlZ2VzIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZmFkZW91dChibGFjaywgODUlKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgICAgICAgICAgICAgICAuY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJvZHkgeyBwYWRkaW5nOiAxZW0gMmVtOyB9XG5cbiAgICAgICAgICAgICAgICAubG9nbywgLm5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxvZ28geyBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7IGNvbG9yOiBkYXJrZW4oQGdvbGQyLCA0MCUpICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb2N1c2VkIHtcbiAgICAgICAgLnBvcnRhbC1mb2N1c2VkLW5hdiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgICAgICAgLmJvcmRlci1yYWRpdXMoNXB4KTtcblxuICAgICAgICAgICAgLm5hdi1waWxscyB7XG4gICAgICAgICAgICAgICAgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHByaW1hcnktYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBibHVlMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5c2NhbGUyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFkdmlzb3Ige1xuICAgICAgICAgICAgLnBhdGgtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGZhZGVvdXQoYmxhY2ssIDkwJSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICAgICAgICAgIC5jbGVhcmZpeDtcblxuICAgICAgICAgICAgICAgIC5ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud2hhdCwgLndoeSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMSU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ob3ctbG9uZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICAgICAgICAgIC5zdGVwcy1yZW1haW5pbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ibG9jay1jb250ZW50IHtwYWRkaW5nOiAwIDJlbTt9XG5cbiAgICAgICAgICAgICAgICAucHJvZ3Jlc3MtbWVhc3VyZSB7IG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgLnByb2dyZXNzIHtoZWlnaHQ6IDEwcHg7fVxuICAgICAgICAgICAgICAgICAgICAucHJvZ3Jlc3MtYmFyIHtiYWNrZ3JvdW5kLWNvbG9yOiBAYWR2aXNvclN1Y2Nlc3NDb2xvcjt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGF0aC1zdGVwcyB7XG4gICAgICAgICAgICAgICAgLnBhbmVsIHtcbiAgICAgICAgICAgICAgICAgICAgLnBhbmVsLWhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGZhZGVvdXQoYmxhY2ssIDUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGJsdWUzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAucGFuZWwtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuY29tcGxldGUtbWFya2VyIHsgY29sb3I6IGZhZGVvdXQoYmxhY2ssIDc1JSk7IH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGJsdWUzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVlbSAwLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBmYWRlb3V0KGJsYWNrLCA1MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBibHVlMztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb21wbGV0ZS1tYXJrZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBmYWRlb3V0KGJsYWNrLCA1MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHsgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgIC5zdGVwLXN1bW1hcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGZhZGVvdXQoYmxhY2ssIDkwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBoNCwgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQgeyBtYXJnaW4tYm90dG9tOiAwLjI1ZW07IH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2xsZWdlLWJhbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM4MjAwMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIC5jbGVhcmZpeDtcblxuICAgICAgICAuY29sbGVnZS1sb2dvLFxuICAgICAgICAuY29sbGVnZS1uYW1lIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbGxlZ2UtbG9nbyB7IG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4gICAgICAgIC5jb2xsZWdlLW5hbWUge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBFeHRyYSBzbWFsbCBkZXZpY2VzIChwaG9uZXMsIDc2N3ggYW5kIGxlc3M7IDc2OCBjYXVzZXMgb3ZlcmxhcCkgKi9cbiAgICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgLmRhc2hib2FyZC12MSB7XG4gICAgICAgICAgICAudmlydHVhbC1hZHZpc29yIHsgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZsaWNraXR5LXNsaWRlciB7IHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBTbWFsbCBkZXZpY2VzICh0YWJsZXRzLCA3NjhweCBhbmQgdXApICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAgIC5kYXNoYm9hcmQtdjEge1xuICAgICAgICAgICAgLnZpcnR1YWwtYWR2aXNvciB7XG4gICAgICAgICAgICAgICAgLmFkdmlzb3Ige1xuICAgICAgICAgICAgICAgICAgICAuYWR2aXNvci1ncmlkIHsgcGFkZGluZzogMCA3MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLmZsaWNraXR5LXBhZ2UtZG90cyB7IG1hcmdpbi1sZWZ0OiAtNzBweDsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogTWVkaXVtIGRldmljZXMgKGRlc2t0b3BzLCA5OTJweCBhbmQgdXApICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgIC5kYXNoYm9hcmQtdjEge1xuICAgICAgICAgICAgLnZpcnR1YWwtYWR2aXNvciB7XG4gICAgICAgICAgICAgICAgLmFkdmlzb3Ige1xuICAgICAgICAgICAgICAgICAgICAucGF0aCB7IHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAucGF0aC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBncmlkLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc3RlcHMgeyBmb250LXNpemU6IDAuODVlbTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb2N1c2VkIHtcbiAgICAgICAgICAgIC5hZHZpc29yIHtcbiAgICAgICAgICAgICAgICAucGF0aC1zdGVwcyB7XG4gICAgICAgICAgICAgICAgICAgIC5wYW5lbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAucGFuZWwtYm9keSB7IHBhZGRpbmc6IDMwcHggNjBweCA2MHB4OyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBMYXJnZSBzY3JlZW4gKHdpZGUgZGVza3RvcCwgMTIwMHB4IGFuZCB1cCkgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICAgICAgLmRhc2hib2FyZC12MSB7XG4gICAgICAgICAgICAuYWR2aXNvciB7XG4gICAgICAgICAgICAgICAgLnN0ZXBzIHsgZm9udC1zaXplOiAxZW07IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uY2NjLXBvcnRhbC5hZHZpc29yIC5kYXNoYm9hcmQtdjEge1xuICAgIEBudW0tY2FyZHM6IDI7XG4gICAgQG15LW1hcmdpbjogMDtcblxuICAgIC5hZHZpc29yIC5wYXRoIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS9AbnVtLWNhcmRzKTtcbiAgICB9XG5cblxuICAgIC5pbmRpY2F0b3ItbGlzdCB7XG4gICAgICAgIHdpZHRoOiAyMGVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAuYWR2aXNvci1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBAYmxvY2stc2l6ZTogMWVtO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IEBibG9jay1zaXplO1xuICAgICAgICAgICAgd2lkdGg6IEBibG9jay1zaXplO1xuXG4gICAgICAgICAgICBtYXJnaW46IEBibG9jay1zaXplIEBibG9jay1zaXplLzI7XG5cbiAgICAgICAgICAgIEB0dGltZTogMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgQHR0aW1lLCBoZWlnaHQgQHR0aW1lLCB3aWR0aCBAdHRpbWU7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjIpO1xuXG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIEBzaXplLWluY3JlYXNlOiAxLjI1O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBibG9jay1zaXplICogQHNpemUtaW5jcmVhc2UgLyAyO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBOYXYgYnV0dG9ucyAqL1xuICAgIC5hZHZpc29yLW5hdiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKEBncmF5c2NhbGUxMCwgMC4xKTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEzNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi5uYXYtYmFjayB7XG4gICAgICAgICAgICBsZWZ0OiBAbXktbWFyZ2luO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5uYXYtZm9yd2FyZCB7XG4gICAgICAgICAgICByaWdodDogQG15LW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC41KTtcbiAgICAgICAgICAgIHRvcDogMTEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKEBncmF5c2NhbGUxMCwgMC4zKTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5jY2MtcG9ydGFsLmFkdmlzb3IgLnBvcnRsZXQuYWR2aXNvciB7XG4gICAgLmJvcmRlci1yYWRpdXNlcygwLCA1cHgsIDVweCwgMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5wb3J0bGV0LWhlYWRlciB7XG4gICAgICAgIC5ib3JkZXItcmFkaXVzZXMoNXB4LCAwLCAwLCA1cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZTM7XG5cbiAgICAgICAgLnBvcnRsZXQtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3J0bGV0LWNvbnRlbnQge3BhZGRpbmc6IDIwcHg7fVxuXG4gICAgLnN0ZXAge1xuICAgICAgICAucGFuZWwtdGl0bGUgLm51bWJlciB7LmJvcmRlci1yYWRpdXMoNXB4KTt9XG5cbiAgICAgICAgJi5jb21wbGV0ZSB7XG4gICAgICAgICAgICAuY29tcGxldGUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICAmLkNPTVBMRVRFRCB7Y29sb3I6IEBhZHZpc29yU3VjY2Vzc0NvbG9yO31cbiAgICAgICAgICAgICAgICAmLklOX1BST0dSRVNTIHtjb2xvcjogZ29sZGVucm9kO31cbiAgICAgICAgICAgICAgICAmLkZBSUxFRCB7Y29sb3I6IEBmYWlsdXJlLXJlZDt9XG5cbiAgICAgICAgICAgICAgICArIC5udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGJsdWUzO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWR2aXNvclN1Y2Nlc3NDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RlcC1jb250ZW50IC5idG4tZGVmYXVsdCB7XG4gICAgICAgIGNvbG9yOiBAZ3JheXNjYWxlMTA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkdmlzb3IgQ2FyZHMgLSBEYXNoYm9hcmQgVUkgdjEuNVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWR2aXNvciBDYXJkcyAtIERhc2hib2FyZCBVSSB2MlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5jY2MtcG9ydGFsLmFkdmlzb3Ige1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5kYXNoYm9hcmQtdjIgeyBwYWRkaW5nOiAwO1xuICAgICAgICAuYWR2aXNvciAucGF0aCB7IHdpZHRoOiBwZXJjZW50YWdlKDEvQG51bS1jYXJkcyk7IH1cblxuICAgICAgICAuaW5kaWNhdG9yLWxpc3Qge1xuICAgICAgICAgICAgd2lkdGg6IDIwZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgLmFkdmlzb3ItaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAYmxvY2stc2l6ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogQGJsb2NrLXNpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAYmxvY2stc2l6ZSBAYmxvY2stc2l6ZS8yO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgQHR0aW1lLCBoZWlnaHQgQHR0aW1lLCB3aWR0aCBAdHRpbWU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuMik7XG5cbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAYmxvY2stc2l6ZSAqIEBzaXplLWluY3JlYXNlIC8gMjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5jY2MtcG9ydGFsLmFkdmlzb3IgLmRhc2hib2FyZC12MiB7XG4gIC5hZHZpc29yLWxpc3Qge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmFkdmlzb3ItZ3JpZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG4gICAgJjphZnRlciB7Y2xlYXI6IGJvdGg7fVxuICB9XG5cbiAgLnBvcnRsZXQtdGl0bGUge2ZvbnQtc2l6ZTogMjRweDt9XG5cbiAgLnBhdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnBhdGgtY29udGVudCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGU7XG4gICAgICBjb2xvcjogQGJsYWNrO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgY3Vyc29yOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHt0cmFuc2Zvcm06IHNjYWxlKDEuMDI1KTt9XG4gICAgfVxuXG4gICAgLnBhdGgtc3RlcCB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICAgIH1cblxuICAgIC5wYXRoLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuNWVtIDA7XG4gICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGhlaWdodDogMi4zZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBhIHsgY29sb3I6IEBibGFjazsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGF0aC1wcm9ncmVzcyB7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5wYXRoLXRlYXNlciB7XG4gICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICAgIH1cblxuICAgIC5zdGVwcyB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMS41ZW0gMC41ZW0gMC41ZW07XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5jb21wbGV0ZWQtbWFya2VyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuNjVlbTtcbiAgICAgICAgcmlnaHQ6IDAuNWVtO1xuICAgICAgfVxuXG4gICAgICAuZmEtY2lyY2xlIHtjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO31cbiAgICAgIC5mYS5mYS1jaGVjay1jaXJjbGUge2NvbG9yOiBAc3VjY2Vzcy1ncmVlbjt9XG4gICAgfVxuXG4gICAgLnBhdGgtY29tcGxldGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwcHg7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdWNjZXNzLWRncmVlbjtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICAgIFxuICAgIC5zZWUtYWxsIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICAgIH1cblxuICAgIC5wYXRoLXByb2dyZXNzIHtiYWNrZ3JvdW5kOiBAZ3JheXNjYWxlMTt9XG4gICAgLnByb2dyZXNzLWJhci1zdWNjZXNzIHtiYWNrZ3JvdW5kLWNvbG9yOiBAc3VjY2Vzcy1ncmVlbjt9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gIC5jY2MtcG9ydGFsLmFkdmlzb3IgLmRhc2hib2FyZC12MiB7IHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuYWR2aXNvci1saXN0IHsgbWFyZ2luLXRvcDogLTkwcHg7IH1cbiAgICAucG9ydGxldC10aXRsZSB7XG4gICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LXNoYWRvdzogMXB4IDNweCAzcHggcmdiYSgwLDAsMCwwLjc1KTtcbiAgICAgIG1hcmdpbjogMCAwIDAuNWVtIDA7XG4gICAgfVxuICAgIC5wYXRoIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgLnBhdGgtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMzMwcHg7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHggMDtcbiAgICAgIH1cbiAgICAgIC5wYXRoLXRlYXNlciB7IGhlaWdodDogNC41ZW07IH1cbiAgICB9XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gIC5jY2MtcG9ydGFsLmFkdmlzb3IgLmRhc2hib2FyZC12MiAucGF0aDpudGgtY2hpbGQoMm4gKyAxKSAucGF0aC1jb250ZW50IHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgLmNjYy1wb3J0YWwuYWR2aXNvciAuZGFzaGJvYXJkLXYyIHtcbiAgICAuYWR2aXNvci1saXN0IHsgbWFyZ2luLXRvcDogLTE4MHB4OyB9XG4gICAgLnBhdGggeyB3aWR0aDogMzMuMzMlO1xuICAgICAgLnBhdGgtY29udGVudCB7IHBhZGRpbmc6IDJlbTsgfVxuICAgICAgLnBhdGgtdGVhc2VyIHsgaGVpZ2h0OiAzZW07IH1cbiAgICAgIGxpLCAuc2VlLWFsbCB7IGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgICB9XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gIC5jY2MtcG9ydGFsLmFkdmlzb3IgLmRhc2hib2FyZC12MiAucGF0aDpudGgtY2hpbGQoM24gKyAxKSAucGF0aC1jb250ZW50IHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgLmNjYy1wb3J0YWwuYWR2aXNvciAuZGFzaGJvYXJkLXYyIC5wYXRoIHsgd2lkdGg6IDI1JTtcbiAgICAuc3RlcHMgbGksIC5zdGVwcyAuc2VlLWFsbCB7IGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLmNjYy1wb3J0YWwuYWR2aXNvciAuZGFzaGJvYXJkLXYyIC5wYXRoOm50aC1jaGlsZCg0biArIDEpIC5wYXRoLWNvbnRlbnQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgfVxufVxuKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkdmlzb3IgQ2FyZHMgLSBVSSAyLjAgLSBNYXhpbWl6ZWQgLyBPdmVybGF5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2FjQ2FyZE1vZGFsIHtcbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdkhlYWRlckJnO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cblxuICAgIC5wYXRoLXN1bW1hcnkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZmFkZW91dChibGFjaywgOTAlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICAuY2xlYXJmaXg7XG5cbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3ctbG9uZyB7XG4gICAgICAgICAgICAuc3RlcHMtcmVtYWluaW5nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9ncmVzcy1tZWFzdXJlIHsgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAgICAgLnByb2dyZXNzIHtoZWlnaHQ6IDEwcHg7fVxuICAgICAgICAgICAgLnByb2dyZXNzLWJhciB7YmFja2dyb3VuZC1jb2xvcjogQGFkdmlzb3JTdWNjZXNzQ29sb3I7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhdGgtc3RlcHMge1xuICAgICAgICAucGFuZWwge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIC5wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZmFkZW91dChibGFjaywgNTAlKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJsdWUzO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5c2NhbGUxO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGdyYXlzY2FsZTQ7XG5cbiAgICAgICAgICAgICAgICAucGFuZWwtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY2NjLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbXBsZXRlLW1hcmtlciB7IGNvbG9yOiBmYWRlb3V0KGJsYWNrLCA3NSUpO1xuICAgICAgICAgICAgICAgICAgICAmLkNPTVBMRVRFRCB7Y29sb3I6IEBhZHZpc29yU3VjY2Vzc0NvbG9yO31cbiAgICAgICAgICAgICAgICAgICAgJi5JTl9QUk9HUkVTUyB7Y29sb3I6IGdvbGRlbnJvZDt9XG4gICAgICAgICAgICAgICAgICAgICYuRkFJTEVEIHtjb2xvcjogQGZhaWx1cmUtcmVkO31cbiAgICAgICAgICAgICAgICAgICAgPiAucG9wb3ZlciB7Y29sb3I6IEBibGFjazt9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjY2MtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4yNWVtIDAuNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVwIHtcbiAgICAgICAgLnRpdGxlYmFyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBmYWRlb3V0KGJsYWNrLCA1MCUpO1xuICAgICAgICAgICAgY29sb3I6IEBibHVlMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuXG4gICAgICAgICAgICBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiAgICAgICAgICAgIC5jb21wbGV0ZS1tYXJrZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBmYWRlb3V0KGJsYWNrLCA1MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgICAgICAgICAgPiAucG9wb3ZlciB7IGNvbG9yOiBAYmxhY2s7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUgeyBtYXJnaW46IDA7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGZhZGVvdXQoYmxhY2ssIDkwJSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7IG1hcmdpbi1ib3R0b206IDAuMjVlbTt9XG5cbiAgICAgICAgaDQsIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYW5lbC10aXRsZSAubnVtYmVyIHsuYm9yZGVyLXJhZGl1cyg1cHgpO31cblxuICAgICAgICAmLmNvbXBsZXRlIHtcbiAgICAgICAgICAgIC5jb21wbGV0ZS1tYXJrZXIge1xuICAgICAgICAgICAgICAgICYuQ09NUExFVEVEIHtjb2xvcjogQGFkdmlzb3JTdWNjZXNzQ29sb3I7fVxuICAgICAgICAgICAgICAgICYuSU5fUFJPR1JFU1Mge2NvbG9yOiBnb2xkZW5yb2Q7fVxuICAgICAgICAgICAgICAgICYuRkFJTEVEIHtjb2xvcjogQGZhaWx1cmUtcmVkO31cblxuICAgICAgICAgICAgICAgID4gLnBvcG92ZXIge2NvbG9yOiBAYmxhY2s7fVxuXG4gICAgICAgICAgICAgICAgKyAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjY2MtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFkdmlzb3JTdWNjZXNzQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0ZXAtY29udGVudCAuYnRuLWRlZmF1bHQge1xuICAgICAgICBjb2xvcjogQGdyYXlzY2FsZTEwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgIC5ibG9jayB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmJsb2NrLWNvbnRlbnQgeyBwYWRkaW5nOiAwIDJlbTsgfVxuICAgICAgICAgICAgJi53aGF0IC5ibG9jay1jb250ZW50IHsgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgICAgICAmLmhvdy1sb25nIC5ibG9jay1jb250ZW50IHsgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndoYXQsIC53aHkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgIH1cbiAgICAgICAgLmhvdy1sb25nIHsgd2lkdGg6IDMzJTsgfVxuXG4gICAgICAgIC5wYXRoLXN0ZXBzIC5wYW5lbCAucGFuZWwtYm9keSB7IHBhZGRpbmc6IDMwcHggNjBweCA2MHB4OyB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZHZpc29yIENhcmRzIEFkbWluaXN0cmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2Fkdmlzb3ItY2FyZC1hZG1pbiB7XG4gIGlucHV0IHtcbiAgICAmLm5nLWludmFsaWQsXG4gICAgJlt0eXBlPWRhdGVdLm5nLWludmFsaWQgKyBzcGFuLmlucHV0LWdyb3VwLWJ0biAuYnRuLFxuICAgICZbdHlwZT1kYXRlXS5uZy1pbnZhbGlkICsgdWwgKyBzcGFuLmlucHV0LWdyb3VwLWJ0biAuYnRuIHtib3gtc2hhZG93OiAwIDAgNXB4IHJlZCAhaW1wb3J0YW50O31cblxuICAgICZbdHlwZT1kYXRlXSArIHNwYW4uaW5wdXQtZ3JvdXAtYnRuIC5idG4sXG4gICAgJlt0eXBlPWRhdGVdICsgdWwgKyBzcGFuLmlucHV0LWdyb3VwLWJ0biAuYnRuIHtwYWRkaW5nOiA0cHggMTJweDt9XG4gIH1cbiAgaW5wdXQuZmx1c2gsXG4gIHNlbGVjdC5mbHVzaCB7d2lkdGg6IDEwMCU7fVxuICBzZWxlY3QubmctaW52YWxpZCB7Ym94LXNoYWRvdzogMCAwIDVweCByZWQgIWltcG9ydGFudDt9XG5cbiAgLnRpdGxlLmRlZmF1bHQge2ZvbnQtc3R5bGU6IGl0YWxpYzt9XG4gIC5yb3cgKyAucm93IHttYXJnaW4tdG9wOiA4cHg7fVxuICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVsIHtwYWRkaW5nLXRvcDogMDt9XG5cbiAgI251ZGdlLW1zZy1odG1sLFxuICAuY2tlX2NvbnRlbnRzIHtoZWlnaHQ6IDIwMHB4O31cbn1cbiIsIi52ZXJ0aWNhbC1ncmFkaWVudCAoQHN0YXJ0Q29sb3I6ICNlZWUsIEBlbmRDb2xvcjogd2hpdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RhcnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbn1cblxuLmhvcml6b250YWwtZ3JhZGllbnQgKEBzdGFydENvbG9yOiAjZWVlLCBAZW5kQ29sb3I6IHdoaXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHN0YXJ0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbn1cblxuLmJvcmRlci1yYWRpdXMgKEByYWRpdXM6IDVweCkge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICAgIEByYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogICAgICAgICBAcmFkaXVzO1xuXG4gICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6ICAgIHBhZGRpbmc7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJhY2tncm91bmQtY2xpcDogICAgICAgICBwYWRkaW5nLWJveDtcbn1cblxuLmJvcmRlci1yYWRpdXNlcyAoQHRvcHJpZ2h0OiAwLCBAYm90dG9tcmlnaHQ6IDAsIEBib3R0b21sZWZ0OiAwLCBAdG9wbGVmdDogMCkge1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICAgIEB0b3ByaWdodDtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAYm90dG9tcmlnaHQ7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAgQGJvdHRvbWxlZnQ7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAgICAgQHRvcGxlZnQ7XG5cbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6ICAgICAgICBAdG9wcmlnaHQ7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiAgICAgQGJvdHRvbXJpZ2h0O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiAgICAgIEBib3R0b21sZWZ0O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAgICAgICAgIEB0b3BsZWZ0O1xuXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICAgICAgICAgICAgQHRvcHJpZ2h0O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAgICAgICAgIEBib3R0b21yaWdodDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAgICAgICAgICBAYm90dG9tbGVmdDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAgICAgICAgICAgICBAdG9wbGVmdDtcblxuICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiAgICBwYWRkaW5nOyBcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IFxuICAgIGJhY2tncm91bmQtY2xpcDogICAgICAgICBwYWRkaW5nLWJveDsgXG59XG5cbi5jbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn0iLCJAaW1wb3J0IChyZWZlcmVuY2UpIFwiY29sb3JzXCI7XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgICBwYWRkaW5nOiAycHg7XG5cbiAgICBsaS5hY3RpdmUgLnBvcnRsZXQtcmVzdWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAYmx1ZTIsIDUwKTtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSAucG9ydGxldC1yZXN1bHQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuXG4gICAgLnNlYXJjaCBoZWFkZXIge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgfVxuXG4gICAgdWwuc2VhcmNoLXJlc3VsdHMge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcImNvbG9yc1wiO1xuXG5kaXYubW9kYWwtaGlkZXIge1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIG1heC1oZWlnaHQ6IDYwJTtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgIGxlZnQ6IDIwJTtcblxuICAgICAgICAmLmhpZGRlbiwgJltoaWRkZW5dIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRpZXIyIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgICAgICAmLnRpZXIzIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEwKTsgfVxuICAgICAgICAmLnRpZXI0IHsgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTsgfVxuXG4gICAgICAgICYuZmlsZS1vdmVybGF5IHtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbjogNHZoIDIwdnc7XG4gICAgICAgICAgICB3aWR0aDogNjB2dztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkydmg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnZoIDJ2dztcbiAgICAgICAgICAgICAgICB3aWR0aDogOTZ2dztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5NnZoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vdmVybGF5LWRldGFpbGVkIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA2JTtcbiAgICAgICAgICAgIHdpZHRoOiA4OCU7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTYlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgICAgICBidXR0b24uY2xvc2Uge1xuICAgICAgICAgICAgICAgIEBjb2xvcjE6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICBAY29sb3IyOiBAYmxhY2s7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yMjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBAY29sb3IyO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiBAY29sb3IxO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCBAY29sb3IxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZGFya0JHIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvcjE7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBAY29sb3IxO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IEBjb2xvcjI7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNjRweDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsZS1vdmVybGF5IHtcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7cGFkZGluZzogNnB4IDE0cHg7XG4gICAgICAgICAgICAuY2xvc2Uge21hcmdpbi10b3A6IDRweDt9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtYm9keSB7cGFkZGluZzogMDtcbiAgICAgICAgICAgIC5maWxlLWJvZHkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWVhZjE7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMxNDM2NjM7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtIDAgMmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmlsZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhkMmRmO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5MmE0YjM7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTU1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5MmE0YjM7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDdlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpbGUtYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtIDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBhIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGwtYWN0aW9uIHttYXJnaW4tYm90dG9tOiAxZW07fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAxNDAlO31cbiAgICBibG9ja3F1b3RlIHtmb250LXNpemU6IDk1JTt9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVSSAyLjAgQWR2aXNvciBDYXJkczogT3ZlcmxheSBUZW1wbGF0ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vdmVybGF5LWFkdmlzb3JjYXJkcyB7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVSSAyLjAgQWR2aXNvciBDYXJkczogRmlsZSBUcmFuc2ZlciBPdmVybGF5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2FjT3ZlcmxheU1vZGFsIHtcbiAgICBoZWFkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlYWYxOyB9XG4gICAgLm1vZGFsLWhlYWRlciAuY2xvc2UgeyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLm1vZGFsLXRpdGxlIHsgZm9udC1zaXplOiB1bnNldDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5maWxlLWNvbnRhaW5lciB7IHBhZGRpbmc6IDAgMCAxZW07IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFVJIDIuMCBBZHZpc29yIENhcmRzOiBDYXJkIERldGFpbHMgT3ZlcmxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNhY0NhcmRNb2RhbCB7XG5cbn0iLCIucGF0aC1wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZDogZmFkZW91dChibGFjaywgODAlKTtcbiAgICBoZWlnaHQ6IDEwcHg7XG59XG5cbi5wcm9ncmVzcy1tZWFzdXJlIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG5cbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcImNvbG9yc1wiO1xuXG4jbG9hZGluZy1iYXIgLmJhciB7XG4gIGJhY2tncm91bmQ6IEBnb2xkMTtcbn1cbiNsb2FkaW5nLWJhci1zcGlubmVyIC5zcGlubmVyLWljb24ge1xuICBib3JkZXItdG9wLWNvbG9yOiAgQGdvbGQxO1xuICBib3JkZXItbGVmdC1jb2xvcjogQGdvbGQxO1xufVxuI2xvYWRpbmctYmFyIC5wZWcge1xuICAtbW96LWJveC1zaGFkb3c6IEBnb2xkMSAxcHggMCA2cHggMXB4O1xuICAtbXMtYm94LXNoYWRvdzogQGdvbGQxIDFweCAwIDZweCAxcHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQGdvbGQxIDFweCAwIDZweCAxcHg7XG4gIGJveC1zaGFkb3c6IEBnb2xkMSAxcHggMCA2cHggMXB4O1xufVxuXG4iLCJAaW1wb3J0IFwiY29sb3JzXCI7XG5cbkBuYXYtYmctZ3JheSA6IEBncmF5c2NhbGU4O1xuQG5hdi1iZy1obDogIzIyMjIyMjtcbkBuYXYtYmctZHJvcGRvd246ICMzODM4Mzg7XG5cbi5uYXZiYXItY29uZmlndXJhYmxlIHtcbiAgICBAaGVpZ2h0OiAzNXB4O1xuICAgIGhlaWdodDogQGhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiBAaGVpZ2h0O1xuXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdi1iZy1ncmF5O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IEBoZWlnaHQqMC4yIDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyLCBhOmZvY3VzLCBhLm9wZW4sIGEuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtYmctaGwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdi1iZy1kcm9wZG93bjtcbiAgICB9XG59XG4iLCIudXBsb2FkLWRuZCB7XG5cdFx0Zm9udC1zaXplOiAxMi41cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmc6IDUwcHggMjBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYzhkYWRmO1xuXHRcdG91dGxpbmU6IDJweCBkYXNoZWQgIzkyYjBiMztcblx0XHRvdXRsaW5lLW9mZnNldDogLTEwcHg7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvdXRsaW5lLW9mZnNldCAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgbGluZWFyO1xuXHRcdHRyYW5zaXRpb246IG91dGxpbmUtb2Zmc2V0IC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBsaW5lYXI7XG5cblx0XHQmLmlzLWRyYWdvdmVyIHtcblx0XHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0yMHB4O1xuXHRcdFx0XHRvdXRsaW5lLWNvbG9yOiAjYzhkYWRmO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdH1cblxuICAgICYuaXMtc3VjY2VzcyB7IGJhY2tncm91bmQtY29sb3I6ICNiZmYyYmMgfVxuICAgICYuaXMtZXJyb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRhYmFiOyB9XG5cblx0XHQmLmlzLXVwbG9hZGluZyxcblx0XHQmLmlzLXN1Y2Nlc3MsXG5cdFx0Ji5pcy1lcnJvciB7XG5cdFx0XHRcdGEgeyBjb2xvcjogIzAwNTE4MjsgfVxuXHRcdFx0XHQuYm94X19pbnB1dCB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXHRcdH1cblxuXHRcdC5ib3hfX3VwbG9hZGluZyxcblx0XHQuYm94X19zdWNjZXNzLFxuXHRcdC5ib3hfX2Vycm9yIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQmLmlzLXVwbG9hZGluZyAuYm94X191cGxvYWRpbmcsXG5cdFx0Ji5pcy1zdWNjZXNzIC5ib3hfX3N1Y2Nlc3MsXG5cdFx0Ji5pcy1lcnJvciAuYm94X19lcnJvciB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC01MCUgKTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtNTAlICk7XG5cdFx0fVxuXG5cdFx0LmJveF9fdXBsb2FkaW5nIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cblx0XHQuYm94X19zdWNjZXNzIHtcblx0XHRcdFx0LXdlYmtpdC1hbmltYXRpb246IGFwcGVhci1mcm9tLWluc2lkZSAuMjVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRhbmltYXRpb246IGFwcGVhci1mcm9tLWluc2lkZSAuMjVzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblxuXHRcdC5ib3hfX3Jlc3RhcnQge1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXG5cdFx0XHRcdCY6Zm9jdXMsXG5cdFx0XHRcdCY6aG92ZXIgeyBjb2xvcjogIzM5YmZkMzsgfVxuXHRcdH1cblxuXHRcdC5ib3hfX2ZpbGUge1xuXHRcdFx0XHQmOmZvY3VzLFxuXHRcdFx0XHQuaGFzLWZvY3VzIHtcblx0XHRcdFx0XHRcdCsgbGFiZWwgc3Ryb25nIHsgY29sb3I6ICMzOWJmZDM7IH1cblx0XHRcdFx0fVxuXHRcdH1cblxuXHRcdC5ib3hfX2ZpbGUgKyBsYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXHRcdC5ib3hfX2J1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRcdFx0XHRtYXJnaW46IDFlbSBhdXRvIDA7XG5cdFx0fVxufVxuXG5cbi5qcyAudXBsb2FkLWRuZCAuYm94X19maWxlIHtcblx0XHR3aWR0aDogMC4xcHg7XG5cdFx0aGVpZ2h0OiAwLjFweDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXG5cdFx0KyBsYWJlbCB7XG5cdFx0XHRcdG1heC13aWR0aDogODAlIDtcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cbn1cblxuLm5vLWpzIC51cGxvYWQtZG5kIC5ib3hfX2ZpbGUge1xuXHRcdGxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuXHRcdC5ib3hfX2J1dHRvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG59IiwiQGltcG9ydCAocmVmZXJlbmNlKSBcIi4uL2NvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwiLi4vY29tcG9uZW50cy9jb2xvcnNcIjtcblxuI2FkbWluLW1lc3NhZ2luZyB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG5cbiAgICAuYWxlcnQge2ZvbnQtc2l6ZTogMTE1JTtcbiAgICAgICAgPiBzcGFuLmdseXBoaWNvbiB7bWFyZ2luOiAwIDVweDt9XG4gICAgfVxuXG4gICAgLmNsZWFyIHtjbGVhcjogYm90aDt9XG5cbiAgICAuc2VuZFRvLFxuICAgIC5zdWJqZWN0IHttYXJnaW4tYm90dG9tOiAxMHB4O31cblxuICAgIC5zbXMtZGV0YWlscyxcbiAgICAuYnV0dG9ucyB7dGV4dC1hbGlnbjogcmlnaHQ7fVxuXG4gICAgLnNlbmRUbyB7XG4gICAgICAgIC50eXBlYWhlYWQtaW5wdXQgdWwgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgICAgIH1cblxuICAgICAgICAudHlwZWFoZWFkLWxpc3QgLnJlY2lwaWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0FERDhFNjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOUNDMkNGO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzZFNEVFO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICM2ODgyOEE7XG5cbiAgICAgICAgICAgICAgICAgICAgLm5hbWUge3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICAgICAgICAgICAgICAgICAgLmdseXBoaWNvbiB7Y29sb3I6ICMzMzMzMzM7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZXNzYWdlRm9ybSB7XG4gICAgICAgID4gLm1lc3NhZ2UsXG4gICAgICAgID4gLmFjdGlvbnMge21hcmdpbi10b3A6IDEwcHg7fVxuICAgIH1cblxuICAgIC5hY3Rpb25zIGEge3RleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgJjpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZ3JheXNjYWxlODtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgICY6aG92ZXIge3RleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25zIGJ1dHRvbltkaXNhYmxlZF0ge2JhY2tncm91bmQtY29sb3I6ICNBQUFBQUE7fVxufVxuXG4jYWRtaW5Nc2dMb2FkTW9kYWwge1xuICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gICAgLmFkbWluTXNnVG1wbFRhYmxlIHt3aWR0aDogMTAwJTtcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA0cHggNHB4IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXlzY2FsZTM7XG5cbiAgICAgICAgICAgICYuYnV0dG9ucyB7dGV4dC1hbGlnbjogcmlnaHQ7fVxuICAgICAgICB9XG4gICAgICAgIHRyOmZpcnN0LWNoaWxkIHRkIHtwYWRkaW5nLXRvcDogMDt9XG4gICAgICAgIHRyOmxhc3QtY2hpbGQgdGQge2JvcmRlci1ib3R0b206IG5vbmU7fVxuICAgIH1cbn1cbiIsIi5wb3J0bGV0LXJlc3VsdCB7XG4gICAgbWFyZ2luOiAwLjFlbTtcbiAgICBwYWRkaW5nOiAwLjVlbTtcblxuICAgIGNvbG9yOiBibGFjaztcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDI1KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcblxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgIH1cblxuICAgIC50aXRsZSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG59XG5cbnVsLnNlYXJjaC1yZXN1bHRzIHsgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uY2NjLXBvcnRhbC5hZHZpc29yIHtcbiAgICAuZGFzaGJvYXJkIC52aXJ0dWFsLWFkdmlzb3IgLmFkdmlzb3IgLnBhdGggLmNvbXBsZXRlZCB7Y29sb3I6IEBhZHZpc29yU3VjY2Vzc0NvbG9yO31cbiAgICAucG9ydGxldC5hZHZpc29yIC5jb21wbGV0ZS1tYXJrZXIgLmZhLWNoZWNrLWNpcmNsZSB7Y29sb3I6IEBhZHZpc29yU3VjY2Vzc0NvbG9yO31cbn1cblxuLmNjYy1wb3J0YWwuYWR2aXNvciAudmlldy5mb2N1c2VkIHtcbiAgICAubmF2LXBpbGxzID4gbGkucGFnaW5hdGVMaW5rIHtcbiAgICAgICAgIGEuZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6IEBncmF5c2NhbGU1O1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIC5jY2MtcG9ydGFsLmFkdmlzb3IgLnBvcnRsZXQuYWR2aXNvciB7XG4gICAgICAgIC5wb3J0bGV0LWNvbnRlbnQge3BhZGRpbmctdG9wOiAwcHg7fVxuICAgICAgICAucGF0aC1zdW1tYXJ5IC5ibG9jayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsMC4xKTtcblxuICAgICAgICAgICAgJi5ob3ctbG9uZyB7Ym9yZGVyLWJvdHRvbTogbm9uZTt9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC5jY2MtcG9ydGFsLmFkdmlzb3IgLnZpZXcuZm9jdXNlZCB7XG4gICAgICAgIC5uYXYtcGlsbHMgPiBsaS5wYWdpbmF0ZUxpbmsge1xuICAgICAgICAgICAgaS5mYS1jaGV2cm9uLWNpcmNsZS11cCxcbiAgICAgICAgICAgIGkuZmEtY2hldnJvbi1jaXJjbGUtZG93biB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkgYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgLmRhc2hib2FyZCAudmlydHVhbC1hZHZpc29yIC5hZHZpc29yIC5wYXRoLXRlYXNlciB7ZGlzcGxheTogbm9uZTt9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIC5kYXNoYm9hcmQgLnZpcnR1YWwtYWR2aXNvciAuYWR2aXNvciAuc3RlcHMge2Rpc3BsYXk6IG5vbmU7fVxuICAgIFxuICAgIC5jY2MtcG9ydGFsLmFkdmlzb3IgLnZpZXcuZm9jdXNlZCB7XG4gICAgICAgIC5uYXYtcGlsbHMgPiBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG5cbiAgICAgICAgICAgICYucGFnaW5hdGVMaW5rIHtcbiAgICAgICAgICAgICAgICBpLmZhLWNoZXZyb24tY2lyY2xlLWxlZnQsXG4gICAgICAgICAgICAgICAgaS5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodCB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnJldHVybiB7bWFyZ2luOiAwO31cblxuICAgICAgICAgICAgKyBsaSB7dGV4dC1hbGlnbjogY2VudGVyO31cbiAgICAgICAgICAgID4gYSB7Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLDAuMik7fVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAocmVmZXJlbmNlKSBcIi4uL2NvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwiLi4vY29tcG9uZW50cy9jb2xvcnNcIjtcbkBpbXBvcnQgKHJlZmVyZW5jZSkgXCIuLi9jb21wb25lbnRzL21peGluc1wiO1xuXG50ZXh0YXJlYS5uZy1pbnZhbGlkLFxuaW5wdXQubmctaW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCByZWQ7XG59XG5cbi8qXG50ZXh0YXJlYS5uZy1pbnZhbGlkLXJlcXVpcmVkLFxuaW5wdXQubmctaW52YWxpZC1yZXF1aXJlZCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCBvcmFuZ2U7XG59XG4qL1xuXG4ucXVlc3Rpb24gLnRleHQge2ZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tYm90dG9tOiA1cHg7fVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN1cnZleSBBZG1pblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zdXJ2ZXktYWRtaW4ge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgc2VsZWN0Lm5nLWludmFsaWQge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDVweCByZWQ7XG4gIH1cblxuICAucG9ydGxldC1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gIC5wb3J0bGV0LXRpdGxlIHtcbiAgICBjb2xvcjogQGJsdWUxO1xuICB9XG5cbiAgLnN1cnZleS1saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLnN1cnZleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheTE7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogbWVkaXVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cblxuICAgIC5yb3cgPiBidXR0b24ucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAxMnB4OyB9XG5cbiAgICAmLlBVQkxJU0hFRCB7YmFja2dyb3VuZC1jb2xvcjogI2RkZDt9XG4gIH1cblxuICAuc3VydmV5LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgfVxuXG4gIC5xdWVzdGlvbi1saXN0IHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaTsgLyogSW5pdGlhdGUgYSBjb3VudGVyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGZhZGUoQGdyYXkxLCA1MCUpO1xuICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgbWFyZ2luOiAwIDAgNnB4IDJlbTtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICAgICAgLmJ0bi1ncm91cCB7IHZlcnRpY2FsLWFsaWduOiB1bnNldDsgfVxuICAgICAgYnV0dG9uIHsgcGFkZGluZzogNnB4IDEycHg7IH1cbiAgICB9XG5cbiAgICA+IGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBjb3VudGVyKGxpKTsgLyogVXNlIHRoZSBjb3VudGVyIGFzIGNvbnRlbnQgKi9cbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaTsgLyogSW5jcmVtZW50IHRoZSBjb3VudGVyIGJ5IDEgKi9cbiAgICAgIC8qIFBvc2l0aW9uIGFuZCBzdHlsZSB0aGUgbnVtYmVyICovXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAtMS41ZW07XG4gICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIC8qIFNvbWUgc3BhY2UgYmV0d2VlbiB0aGUgbnVtYmVyIGFuZCB0aGUgY29udGVudCBpbiBicm93c2VycyB0aGF0IHN1cHBvcnRcbiAgICAgICAgIGdlbmVyYXRlZCBjb250ZW50IGJ1dCBub3QgcG9zaXRpb25pbmcgaXQgKENhbWlubyAyIGlzIG9uZSBleGFtcGxlKSAqL1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6IEBibHVlMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnEtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDE1MHB4IDAgMDtcbiAgICB9XG5cbiAgICAucS1hY3Rpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC43ZW07XG4gICAgICByaWdodDogMWVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgLnN1cnZleS1hZG1pbiAuc3VydmV5LWxpc3QgeyAuY2xlYXJmaXgoKTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAuc3VydmV5LWFkbWluIHtcbiAgICAuc3VydmV5LWxpc3Qge1xuICAgICAgbGk6bnRoLWNoaWxkKG9kZCkge2NsZWFyOiBsZWZ0O31cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gIC5zdXJ2ZXktYWRtaW4ge1xuICAgIC5zdXJ2ZXktbGlzdCB7XG4gICAgICBsaTpudGgtY2hpbGQoM24rMSkge2NsZWFyOiBsZWZ0O31cbiAgICB9XG4gIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb25mb250JztcbiAgc3JjOiAgdXJsKCcvdVBvcnRhbC9tZWRpYS9za2lucy9mb250cy9pY29uZm9udC50dGY/NWZ5a3FjJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgdXJsKCcvdVBvcnRhbC9tZWRpYS9za2lucy9mb250cy9pY29uZm9udC53b2ZmPzVmeWtxYycpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcvdVBvcnRhbC9tZWRpYS9za2lucy9mb250cy9pY29uZm9udC5zdmc/NWZ5a3FjI2ljb25mb250JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5ib2R5IHttYXgtd2lkdGg6IG5vbmV9XG5cbi5nbG9iYWwtaGVhZGVyIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuXG4gIC51dGlsaXR5LWhlYWRlcl9fbGlzdCB7YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7fVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5nbG9iYWwtaGVhZGVyIC5nbG9iYWwtaGVhZGVyX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLnV0aWxpdHktaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEzNi44cHg7XG4gIH1cbn1cblxuLnNpdGUtc2VhcmNoIHtcbiAgLnNpdGUtc2VhcmNoX190b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gKyAuc2l0ZS1zZWFyY2hfX2Zvcm06YmVmb3JlIHtcbiAgICB0b3A6IHVuc2V0O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAuc2l0ZS1zZWFyY2hfX2Zvcm0ge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cblxuLnV0aWxpdHktaGVhZGVyIC51dGlsaXR5LWhlYWRlcl9fbWVudSAudXRpbGl0eS1oZWFkZXJfX2xpbmsuYnV0dG9uLS1mYW5jeSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGNvbG9yOiAjMDA2NkJBO1xuXG4gICYubGFzdCB7bWFyZ2luLXJpZ2h0OiAwO31cbn1cblxuLm5hdmlnYXRpb25fX3RvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSArIC5uYXYtY29sbGVnZSAubmF2aWdhdGlvbl9fbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI0ZGQjYwMDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIHRvcDogY2FsYygxMDAlICsgMTJweCk7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcblxuICAgIC5nbG9iYWwtaGVhZGVyICsge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHRvcDogNjRweDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgfVxuICB9XG5cbiAgLm5hdmlnYXRpb25fX2l0ZW0geyB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuICAubmF2aWdhdGlvbl9faXRlbS1saW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2NkJBO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggNDhweCAxMHB4IDI0cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAubmF2aWdhdGlvbl9fc3ViLW5hdiB7XG4gICAgYmFja2dyb3VuZDogI0Q5RjBGQTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuICAubmF2aWdhdGlvbl9faXRlbS1saW5rIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuICAubmF2aWdhdGlvbl9faXRlbS1saW5rW2FyaWEtY3VycmVudD1cInBhZ2VcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJGNkQ7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLm5hdmlnYXRpb25fX2l0ZW0tbGlua1thcmlhLWN1cnJlbnQ9XCJwYWdlXCJdOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgLm5hdmlnYXRpb25fX2l0ZW0tbGluazpub3QoW2FyaWEtY3VycmVudD1cInBhZ2VcIl0pOmhvdmVyLFxuICAubmF2aWdhdGlvbl9faXRlbS1saW5rOm5vdChbYXJpYS1jdXJyZW50PVwicGFnZVwiXSk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyOTY7XG4gIH1cbiAgLm5hdmlnYXRpb25fX3N1Yi1uYXYtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDUlO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIC5uYXZpZ2F0aW9uX19zdWItbmF2LXRvZ2dsZTphZnRlciB7XG4gICAgY29sb3I6ICNGRkI2MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi5uYXZpZ2F0aW9uLS1tYWluIC5zci1vbmx5IHttYXJnaW4tbGVmdDogLTEwMDAwJSAhaW1wb3J0YW50O31cblxuLm5hdmlnYXRpb24tLW1haW4gLm5hdmlnYXRpb25fX3RvZ2dsZTpub3QoW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdKSArIC5uYXYtY29sbGVnZSAubmF2aWdhdGlvbl9fbGlzdCB7XG4gIC5uYXZpZ2F0aW9uX19pdGVtOmZvY3VzLFxuICAubmF2aWdhdGlvbl9faXRlbS1saW5rOmZvY3VzLFxuICAubmF2aWdhdGlvbl9faXRlbTpob3ZlcixcbiAgLm5hdmlnYXRpb25fX2l0ZW0tbGluazpob3ZlcixcbiAgLm5hdmlnYXRpb25fX2l0ZW1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0sXG4gIC5uYXZpZ2F0aW9uX19pdGVtLWxpbmtbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiAjMDAyRjZEO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5uYXZpZ2F0aW9uX19pdGVtLm5hdmlnYXRpb25fX2l0ZW0tLWludmlzaWJsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAubmF2aWdhdGlvbl9fdXRpbGl0eS1pdGVtcyB7IGRpc3BsYXk6IG5vbmU7XG4gICAgLm5hdmlnYXRpb25fX2l0ZW0tbGluay11dGlsaXR5IHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTc4LCAxNzgsIDE3OCwgMC41KTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAubmF2aWdhdGlvbl9faXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb25fX3N1Yi1uYXYge1xuICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNGRkI2MDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMzBweDtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMTJweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAjRDlGMEZBO1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgd2lkdGg6IDI2MHB4O1xuXG4gICAgICAmOnRhcmdldCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb25fX3N1Yi1uYXYtaXRlbS1saW5rIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBwYWRkaW5nOiA2cHggMzBweDtcbiAgICAgIGNvbG9yOiAjMDA2NkJBO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYzBlNmY1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXZpZ2F0aW9uX19zdWItbmF2LWl0ZW0tbGlua1thcmlhLWN1cnJlbnQ9XCJwYWdlXCJdIHtcbiAgICAgIGNvbG9yOiAjMDAyRjZEO1xuICAgIH1cbiAgfVxufVxuXG5cbmlucHV0W3R5cGU9cmFkaW9dIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiByYWRpbzsgfVxuaW5wdXRbdHlwZT1jaGVja2JveF0geyAtd2Via2l0LWFwcGVhcmFuY2U6IGNoZWNrYm94OyB9XG5cblxuLmJ1dHRvbixcbi5idXR0b24tLWdlbmVyaWMsXG4udXRpbGl0eS1oZWFkZXJfX2xpbmssXG4udXRpbGl0eS1oZWFkZXJfX2RyYXdlci10b2dnbGUsXG4ubmF2aWdhdGlvbl9faXRlbS1saW5rIHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbi5idXR0b24uZGlzYWJsZWQge1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjJCMkIyICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC43ICFpbXBvcnRhbnQ7XG59XG5cbi5nbG9iYWwtaGVhZGVyIC5icmFuZGluZyBpbWcgeyBtaW4taGVpZ2h0OiA4MHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZ2xvYmFsLWhlYWRlciAuYnJhbmRpbmcgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxZW07XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM1NHB4KSB7XG4gIC5nbG9iYWwtaGVhZGVyIC5icmFuZGluZyBpbWcge1xuICAgIHdpZHRoOiAxMGVtO1xuICB9XG59XG4iXSwiZmlsZSI6Im1haW4uY3NzIn0= */
