/* ===================================================================================
 *
 * @project        sjrw
 * @author         Caleb Zahnd <caleb@midcoast.iom>
 * @build          Fri, Jan 23, 2026 1:46 AM CST
 * @release        751b1deab150212ecea3c4f8554b86f0458f9a29 [Detached: 751b1deab150212ecea3c4f8554b86f0458f9a29]
 * @copyright      Copyright (c) 2026, Caleb Zahnd
 *
 *  Do not edit this file! This file is machine-generated and constantly overwritten.
 *  Any changes you make will be overwritten the next time the /src is compiled.
 *  Edit the /src files to make edits and updates.
 *
 * =================================================================================== */





@import url("https://fonts.googleapis.com/css2?family=Lato&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");












.span-1 {
  width: 8.3333333333%;
}

.span-2 {
  width: 16.6666666667%;
}

.span-3 {
  width: 25%;
}

.span-4 {
  width: 33.3333333333%;
}

.span-5 {
  width: 41.6666666667%;
}

.span-6 {
  width: 50%;
}

.span-7 {
  width: 58.3333333333%;
}

.span-8 {
  width: 66.6666666667%;
}

.span-9 {
  width: 75%;
}

.span-10 {
  width: 83.3333333333%;
}

.span-11 {
  width: 91.6666666667%;
}

.span-12 {
  width: 100%;
}







@font-face {
  font-family: "iconfont";
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?pl06t");
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?pl06t#iefix") format("eot"), url("../../assets/media/fonts/iconfont/iconfont.woff2?pl06t") format("woff2"), url("../../assets/media/fonts/iconfont/iconfont.woff?pl06t") format("woff"), url("../../assets/media/fonts/iconfont/iconfont.ttf?pl06t") format("truetype"), url("../../assets/media/fonts/iconfont/iconfont.svg?pl06t#iconfont") format("svg");
  font-weight: normal;
  font-style: normal;
}
.icon-account::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea01";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea02";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea03";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-left-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea04";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea05";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea06";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea07";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-up-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea08";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea09";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-bell::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-browser::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-calendar::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea10";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chat::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea11";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-check::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea12";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkbox-empty::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea13";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkbox::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea14";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea15";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea16";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea17";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea18";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-circle::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea19";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-clock::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-close-white::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-close::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-compose::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-document::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-download::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-email-alt::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea20";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-email::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea21";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-facebook::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea22";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-home::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea23";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-info-alert::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea24";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-info::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea25";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-instagram::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea26";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-learn-alert::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea27";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-lightbulb::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea28";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-linkedin::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea29";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-loan::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-location::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-lock::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-midcoast::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-minus::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-person::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-phone::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea30";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-pinterest::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea31";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-play-circle::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea32";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-play::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea33";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-plus::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea34";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-quote::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea35";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-reset::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea36";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-scroll-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea37";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-search::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea38";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-snapchat::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea39";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-star-half::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-star::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-three-dots::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-tiktok::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-twitter::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-video::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-vimeo::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea40";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-website::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea41";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-yelp::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea42";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-youtube::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea43";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bl-restaurant-list ul.restaurant {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  padding-left: 0rem;
  padding-right: 0rem;
  flex-direction: column;
  list-style: none;
  padding: 0;
}
.bl-restaurant-list ul.restaurant .restaurant-item {
  display: flex;
  padding-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgb(178.5, 178.5, 178.5);
}
.bl-restaurant-list ul.restaurant .restaurant-item__image {
  width: 25%;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
}
.bl-restaurant-list ul.restaurant .restaurant-item__image img {
  border-radius: 10px;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info {
  width: 33.3333333333%;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 20px 0;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__name {
  display: block;
  position: relative;
  text-transform: uppercase;
  font-size: 22px;
  padding-bottom: 20px;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__name::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 3px;
  background-color: #129490;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__address {
  font-size: 16px;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__contact {
  margin-top: 20px;
  font-size: 16px;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__contact a:not(:first-child) {
  margin-left: 30px;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__socials {
  margin-top: 20px;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__socials a {
  font-size: 0px;
  text-decoration: none;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__socials a:not(:first-child) {
  margin-left: 15px;
}
.bl-restaurant-list ul.restaurant .restaurant-item__info__socials a::before {
  font-size: 20px;
  margin-right: 20px;
  text-decoration: none;
}
.bl-restaurant-list ul.restaurant .restaurant-item__menu {
  width: 41.6666666667%;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.68;
}
.bl-restaurant-list ul.restaurant .restaurant-item__menu {
  font-size: 14px;
}
@media screen and (min-width: 544px) {
  .bl-restaurant-list ul.restaurant .restaurant-item__menu {
    font-size: calc(14px + 0 * (100vw - 544px) / 896);
  }
}
@media screen and (min-width: 1440px) {
  .bl-restaurant-list ul.restaurant .restaurant-item__menu {
    font-size: 14px;
  }
}

.map-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

.map-modal-content {
  width: 80vw;
  height: 80vh;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

#google-map {
  width: 100%;
  height: 100%;
}

.map-modal-close {
  position: absolute;
  right: 15px;
  top: 10px;
  font-size: 30px;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc3RhdXJhbnQtbGlzdC9zcmMvc2Nzcy9ibC1yZXN0YXVyYW50LWxpc3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2Jsb2Nrcy9faW1wb3J0LWRlcGVuZGVuY2llcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL2Z1bmN0aW9ucy9faW5pdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9mdW5jdGlvbnMvX2dsb2JhbC1jb25maWcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvZnVuY3Rpb25zL19yZW0uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvZnVuY3Rpb25zL19ibG9nLW1heC13aWR0aC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lci1icmVha291dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19wdWxsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19wdXNoLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19zcGFuLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fYmxvY2stZWRpdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fYnJpY2suc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX3NoYWRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fei1pbmRleC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvcGFydGlhbHMvX2ljb25mb250LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9faWNvbmZvbnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS1taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19mbHVpZC10eXBlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNDO0FDVEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFDQTtBQUFBO0FBNkRRO0FDOURSO0FBQ0E7QUFBQTtBQ0RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0VBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNGQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlCQTtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUMzREQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBWkFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBYUFBO0VBQ0k7RUFDQTtFQUNBO0VBS0E7RUFDQTs7QUEyRUo7RUM5RUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1RWtDO0VDdEVsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9FRDtFQ2pGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBFMEM7RUN6RTFDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdUVEO0VDcEZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENkVxQztFQzVFckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwRUQ7RUN2RkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnRjBDO0VDL0UxQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZFRDtFQzFGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1GcUM7RUNsRnJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ0ZEO0VDN0ZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc0YyQztFQ3JGM0MsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtRkQ7RUNoR0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5RnNDO0VDeEZ0QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHNGRDtFQ25HQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDRGd0M7RUMzRnhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEeUZEO0VDdEdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEK0ZtQztFQzlGbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ0RkQ7RUN6R0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RrRytCO0VDakcvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRCtGRDtFQzVHQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHFHa0M7RUNwR2xDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEa0dEO0VDL0dDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEd0dtQztFQ3ZHbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURxR0Q7RUNsSEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QyR3FDO0VDMUdyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHdHRDtFQ3JIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDhHcUM7RUM3R3JDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMkdEO0VDeEhDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEaUhzQztFQ2hIdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ4R0Q7RUMzSEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RvSG1DO0VDbkhuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGlIRDtFQzlIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHVIK0I7RUN0SC9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEb0hEO0VDaklDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMEhnQztFQ3pIaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1SEQ7RUNwSUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2SHlDO0VDNUh6QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDBIRDtFQ3ZJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGdJbUM7RUMvSG5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENkhEO0VDMUlDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbUl1QztFQ2xJdkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURnSUQ7RUM3SUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RzSXVDO0VDckl2QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG1JRDtFQ2hKQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHlJd0M7RUN4SXhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEc0lEO0VDbkpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENElxQztFQzNJckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR5SUQ7RUN0SkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QrSWlDO0VDOUlqQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDRJRDtFQ3pKQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGtKZ0M7RUNqSmhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEK0lEO0VDNUpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEcUpzQztFQ3BKdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURrSkQ7RUMvSkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R3SmdDO0VDdkpoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHFKRDtFQ2xLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDJKa0M7RUMxSmxDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEd0pEO0VDcktDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEOEptQztFQzdKbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQySkQ7RUN4S0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RpS21DO0VDaEtuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDhKRDtFQzNLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG9Lb0M7RUNuS3BDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEaUtEO0VDOUtDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEdUtnQztFQ3RLaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURvS0Q7RUNqTEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwS21DO0VDektuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVLRDtFQ3BMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZLK0I7RUM1Sy9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMEtEO0VDdkxDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ0xxQztFQy9LckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2S0Q7RUMxTEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtTCtCO0VDbEwvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdMRDtFQzdMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNMb0M7RUNyTHBDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbUxEO0VDaE1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeUxzQztFQ3hMdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURzTEQ7RUNuTUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q0TG9DO0VDM0xwQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHlMRDtFQ3RNQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRCtMbUM7RUM5TG5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENExEO0VDek1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEa00rQjtFQ2pNL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQrTEQ7RUM1TUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RxTW1DO0VDcE1uQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGtNRDtFQy9NQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHdNK0I7RUN2TS9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEcU1EO0VDbE5DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMk1tQztFQzFNbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR3TUQ7RUNyTkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q4TWdDO0VDN01oQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDJNRDtFQ3hOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGlOaUM7RUNoTmpDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEOE1EO0VDM05DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEb05nQztFQ25OaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURpTkQ7RUM5TkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1Tm9DO0VDdE5wQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9ORDtFQ2pPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBOc0M7RUN6TnRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdU5EO0VDcE9DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENk4rQjtFQzVOL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwTkQ7RUN2T0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnTytCO0VDL04vQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZORDtFQzFPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1PZ0M7RUNsT2hDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ09EO0VDN09DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc09nQztFQ3JPaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtT0Q7RUNoUEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5T3NDO0VDeE90QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHNPRDtFQ25QQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDRPaUM7RUMzT2pDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEeU9EO0VDdFBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEK09tQztFQzlPbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ0T0Q7RUN6UEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RrUG9DO0VDalBwQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRCtPRDtFQzVQQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHFQK0I7RUNwUC9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEa1BEO0VDL1BDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEd1BxQztFQ3ZQckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURxUEQ7RUNsUUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QyUGlDO0VDMVBqQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHdQRDtFQ3JRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDhQa0M7RUM3UGxDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMlBEO0VDeFFDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEaVFnQztFQ2hRaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ4UEQ7RUMzUUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RvUWdDO0VDblFoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGlRRDtFQzlRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHVRa0M7RUN0UWxDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEb1FEO0VDalJDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMFErQjtFQ3pRL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1UUQ7RUNwUkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2UWtDO0VDNVFsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBcEJIRztFU0VIO0VBQ0E7RUFDQSxXQUpZO0VBS1o7RUFDQTtFQUlDO0VBQ0EsZ0JBWmdCO0VDQWpCO0VBQ0E7RVZFTztFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFYVpYO0VIREE7RUFDQTtFVmNlOztBQUVBO0VBQ0k7O0FBR1I7RWFwQlg7RUhEQTtFQUNBO0VWc0JlOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFZ0JsQ3ZCOztBaEJ1Q2U7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBSUk7RUFDSTs7QUFLWjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFHQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQU1oQjtFYS9FWDtFSERBO0VBQ0E7RVdtSEEsYW5CbkVxQjtFbUJxRXJCLGFuQmxFNkI7RW1CbUU3Qjs7QUMvSEM7RUFDQyxXdEJ5RjBDOztBc0J4RjFDO0VBRkQ7SUFHRTs7O0FBRUQ7RUFMRDtJQU1FLFd0Qm9GMEQ7Ozs7QUFZOUQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBIiwiZmlsZSI6InJlc3RhdXJhbnQtbGlzdC9zcmMvc2Nzcy9ibC1yZXN0YXVyYW50LWxpc3QuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCbG9jazogUmVzdGF1cmFudCBMaXN0XG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbiBAdXNlIFwic2Fzczpjb2xvclwiO1xuXG4gLyoqIEltcG9ydCBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzICovXG5AaW1wb3J0ICdfaW1wb3J0LWRlcGVuZGVuY2llcy5zY3NzJztcblxuXG4gLmJsLXJlc3RhdXJhbnQtbGlzdCB7XG4gICAgXG5cbiAgICB1bC5yZXN0YXVyYW50IHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnJlc3RhdXJhbnQtaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvci5hZGp1c3QoIzAwMCwgJGxpZ2h0bmVzczogNzAlKTtcblxuICAgICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMyk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19pbmZvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICZfX25hbWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvcihibHVlLCBiYWNrZ3JvdW5kLWNvbG9yKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19jb250YWN0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9zZWNvbmQgY2hpbGQgYW5kIG9ud2FyZHMgYWRkIG1hcmdpbiBsZWZ0XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3NvY2lhbHMge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vc2Vjb25kIGNoaWxkIGFuZCBvbndhcmRzIGFkZCBtYXJnaW4gbGVmdFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX21lbnUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2R5KCRzbS1mb250OiAxNHB4LCAkeGwyLWZvbnQ6IDE0cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuIH1cblxuXG5cblxuXG5cblxuLm1hcC1tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk5O1xufVxuXG4ubWFwLW1vZGFsLWNvbnRlbnQge1xuICB3aWR0aDogODB2dztcbiAgaGVpZ2h0OiA4MHZoO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNnb29nbGUtbWFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1hcC1tb2RhbC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHRvcDogMTBweDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwO1xufSIsIi8qKlxuICogTmVjZXNzYXJ5IGRlcGVuZGVuY2llcyBmb3IgdGhlIEJsb2NrIHNjc3Mgc3R5bGVzaGVldHMuIFRoaXMgZmlsZSBpcyBpbXBvcnRlZCBpbnRvIGVhY2ggb2YgdGhlIGJ1aWxkcyBmb3IgQmxvY2sgc2Nzcy5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuLy8gXG5AaW1wb3J0ICdjb3JlL192YXJpYWJsZXMnO1xuXG5AaW1wb3J0ICdjb3JlL2Z1bmN0aW9ucy9faW5pdCc7XG5cbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2Jsb2NrJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lci1icmVha291dCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19jb250YWluZXInO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fZ3V0dGVycyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19wdWxsJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX3B1c2gnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fc3Bhbic7XG5cbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19hbGxjaGFycyc7XG5cbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19ibG9jay1lZGl0b3InO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2JyaWNrJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19icm93c2VyJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19idXR0b25zJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19jb3ZlcmVyJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19mbHVpZC10eXBlJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19pY29uZm9udCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fbWFwLWdldC1uZXh0JztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19vcGFjaXR5JztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL190cmFuc2l0aW9ucyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fd29yZHdyYXAnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2NlbnRlcmVyJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19jb2xvcic7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fZWxsaXBzaXMnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2ZvbnQtc2l6ZSc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9faG92ZXInO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX21hcC1kZWVwLWdldCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fb2JqZWN0LWZpdCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fc2hhZGUnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3Zpc3VhbGx5aGlkZGVuJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL196LWluZGV4JztcblxuLy9AaW1wb3J0ICdjb3JlL3R5cG9ncmFwaHkvX2ZvbnRzJztcbkBpbXBvcnQgJ2NvcmUvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS1taXhpbnMnO1xuXG5AaW1wb3J0ICdjb3JlL2Z1bmN0aW9ucy9fYmxvZy1tYXgtd2lkdGgnO1xuXG5AaW1wb3J0ICdwYXJ0aWFscy9pY29uZm9udCc7XG4iLCIvKi0tLS0tLS0tLS0tKi9cbi8qIFZhcmlhYmxlc1xuLyotLS0tLS0tLS0tLSovXG5cbi8vR2xvYmFsIEdyaWQsIHZhcmlhYmxlc1xuJGdsb2JhbC1jb25maWc6IChcblx0dGhlbWUtbmFtZTogJ3NqcncnLFxuXHRibG9jay0td2lkdGg6IDEwMHZ3LFxuXHR3aWR0aDogMTYwMHB4LFxuXHRtYXgtd2lkdGg6IDE2MDBweCxcblx0YmxvZy1tYXgtd2lkdGg6IDEyMDBweCxcblx0Y29sdW1uczogMTIsXG5cdGd1dHRlcnM6IDE1cHgsXG5cdGh0bWwtZm9udC1zaXplOiAxMHB4LFxuXHRtaW4taGVhZGVyLWhlaWdodDogNzVweCxcbik7XG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG5cdHhzOiAgMCxcblx0c206ICA1NDRweCxcblx0bWQ6ICA3NjhweCxcblx0bGc6ICA5OTJweCxcblx0eGw6ICAxMjAwcHgsXG5cdHhsMjogMTQ0MHB4LFxuXHR4bDM6IDE2MDBweCxcbik7XG5cbi8vQ29sb3JzXG4kY29sb3JzOiAoXG5cdGJsYWNrOlx0XHRcdFx0IzIzMjMyNSxcblx0d2hpdGU6XHRcdFx0XHQjRkZGRkZGLFxuXHR1bHRyYWxpZ2h0Olx0XHRcdCNmMmYyZjIsXG5cdHRyYW5zcGFyZW50Olx0XHR0cmFuc3BhcmVudCxcblxuXHRyZWQ6XHRcdFx0XHQjYzIzNzI1LFxuXHRibHVlOlx0XHRcdFx0IzEyOTQ5MCxcblx0bGlnaHQtc3RvbmU6XHRcdCNlY2ViZTcsXG5cblx0Z3JheS1kYXJrOiMzOTM5MzksXG5cblx0Ly8gQkVMT1cgQVJFIE9MRCBOVkIgQ09MT1JTXG5cblx0Ymx1ZS1kYXJrZXN0Olx0XHQjMTYxNzE5LFxuXHRibHVlLWdyYXk6XHRcdFx0IzIxMjUyOSxcblx0XG5cdGJsdWUtbGlnaHQ6XHRcdFx0IzQyQzBFOCxcblx0Ymx1ZS1iYXJlbHk6XHRcdCNFOEVGRjYsXG5cdGJsdWUtdWx0cmFsaWdodDpcdCNGNEY4RkMsXG5cdGdyZWVuOlx0XHRcdFx0IzQ3QTI0Nyxcblx0Z3JlZW4tbGlnaHQ6XHRcdCNFREY2RTYsXG5cdG9yYW5nZTpcdFx0XHRcdCNGODhFMTQsXG5cdG9yYW5nZS1saWdodDpcdFx0I0Q5OUUxRSxcblx0Z3JheS11bHRyYWxpZ2h0Olx0I2YzZjhmYyxcblx0Z3JheS1saWdodDpcdFx0XHQjQkRDOEQ1LFxuXHRncmF5Olx0XHRcdFx0IzNFNDg1MSxcblx0Z3JheS1tZWRpdW06XHRcdCM5QUE2QjQsXG5cdHBlYWNoOlx0XHRcdFx0I0ZGRjhFOSxcblx0eWVsbG93Olx0XHRcdFx0I0VCQzgxQixcblx0dHJ1ZS1ibGFjazpcdFx0XHQjMDAwMDAwLFxuKTtcblxuLy8gVHlwb2dyYXBoaWMgSW1wb3J0cyBhbmQgVmFyaWFibGVzXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1MYXRvJmZhbWlseT1Nb250c2VycmF0Oml0YWwsd2dodEAwLDEwMC4uOTAwOzEsMTAwLi45MDAmZGlzcGxheT1zd2FwJyk7XG5cbiRmb250LWZhbWlseS1zZXJpZjpcdFx0XHQnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjpcdCdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcblxuJGZvbnQtZmFtaWx5LXNlcmlmLXJlZ3VsYXI6XHRcdFx0NDAwO1xuJGZvbnQtZmFtaWx5LXNlcmlmLXNlbWlib2xkOlx0XHQ2MDA7XG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmLXRoaW46ICAgICAgIDEwMDtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmLWV4dHJhbGlnaHQ6XHQyMDA7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZi1saWdodDogICAgICAzMDA7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZi1yZWd1bGFyOlx0NDAwO1xuXG5cbi8vWi1JbmRleCBNYW5hZ2VtZW50IC0tIHV0aWxpemVzIFNhc3MgTWFwc1xuLy9FYXNpZXN0IHdheSB0byB1c2UgaXMgdmlhIHRoZSBtaXhpbjogQGluY2x1ZGUgei1pbmRleCh6ZXJvKTtcbiR6LWluZGV4OiAoXG5cdGhlYXZlblx0XHRcdFx0XHQ6XHQ5OTk5LFxuXHRzZWFyY2hcdFx0XHRcdFx0Olx0MTAwMCxcblx0aGVhZGVyXHRcdFx0XHRcdDpcdDYwMCxcblx0aGFtYnVyZ2VyXHRcdFx0XHQ6XHQ1NTAsXG5cdHNpdGUtbWVudVx0XHRcdFx0Olx0NTAwLFxuXHRmb290ZXJcdFx0XHRcdFx0Olx0NDAwLFxuXHRhYm92ZWdyb3VuZFx0XHRcdFx0Olx0MTAwLFxuXHRncmFzc1x0XHRcdFx0XHQ6XHQyLFxuXHRncm91bmRcdFx0XHRcdFx0Olx0MSxcblx0emVyb1x0XHRcdFx0XHQ6XHQwLFxuXHR1bmRlcmdyb3VuZFx0XHRcdFx0Olx0LTEsXG5cdGhlbGxcdFx0XHRcdFx0Olx0LTk5OTlcbik7XG5cbiRib3gtc2hhZG93OiA1cHggNXB4IDE2cHggLTZweCByZ2JhKDAsIDAsIDAsIC4zNSk7XG4kYm9yZGVyLXJhZGl1czogIDhweDtcblxuJHRyYW5zaXRpb25zOiAoXG5cdGVhc2VcdFx0XHQ6IFx0ZWFzZSxcblx0bGluZWFyXHRcdFx0OiBcdGxpbmVhcixcblx0ZWFzZS1pblx0XHRcdDogXHRlYXNlLWluLFxuXHRlYXNlLW91dFx0XHQ6IFx0ZWFzZS1vdXQsXG5cdGVhc2UtaW4tb3V0XHRcdDogXHRlYXNlLWluLW91dCxcblx0c3RlcC1zdGFydFx0XHQ6IFx0c3RlcC1zdGFydCxcblx0c3RlcC1lbmRcdFx0OiBcdHN0ZXAtZW5kLFxuXG5cdC8vIFNwZWNpYWwgRWZmZWN0c1xuXHRib3VuY2VcdFx0XHQ6XHRjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KSxcblxuXHQvLyBDdWJpY1xuXHRlYXNlSW5DdWJpY1x0XHQ6XHRjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApLFxuXHRlYXNlT3V0Q3ViaWMgXHQ6XHRjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApLFxuXHRlYXNlSW5PdXRDdWJpY1x0Olx0Y3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSxcblxuXHQvLyBDaXJjXG5cdGVhc2VJbkNpcmMgICBcdDpcdGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSksXG5cdGVhc2VPdXRDaXJjICBcdDpcdGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCksXG5cdGVhc2VJbk91dENpcmNcdDpcdGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCksXG5cblx0Ly8gRXhwb1xuXHRlYXNlSW5FeHBvICAgXHQ6XHRjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpLFxuXHRlYXNlT3V0RXhwbyAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApLFxuXHRlYXNlSW5PdXRFeHBvXHQ6XHRjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApLFxuXG5cdC8vIFF1YWRcblx0ZWFzZUluUXVhZCAgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApLFxuXHRlYXNlT3V0UXVhZCAgICBcdDpcdGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCksXG5cdGVhc2VJbk91dFF1YWQgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KSxcblxuXHQvLyBRdWFydFxuXHRlYXNlSW5RdWFydCAgICBcdDpcdGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCksXG5cdGVhc2VPdXRRdWFydCAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKSxcblx0ZWFzZUluT3V0UXVhcnQgXHQ6XHRjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApLFxuXG5cdC8vIFF1aW50XG5cdGVhc2VJblF1aW50ICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKSxcblx0ZWFzZU91dFF1aW50ICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApLFxuXHRlYXNlSW5PdXRRdWludCBcdDpcdGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCksXG5cblx0Ly8gU2luZVxuXHRlYXNlSW5TaW5lICAgICBcdDpcdGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSksXG5cdGVhc2VPdXRTaW5lICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKSxcblx0ZWFzZUluT3V0U2luZSAgXHQ6XHRjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApLFxuXG5cdC8vIEJhY2tcblx0ZWFzZUluQmFjayAgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KSxcblx0ZWFzZU91dEJhY2sgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KSxcblx0ZWFzZUluT3V0QmFjayAgXHQ6XHRjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKSxcbik7IiwiLyoqKioqKioqKi9cbi8qIFNhc3MgRnVuY3Rpb25zXG4vKioqKioqKioqL1xuXG5AaW1wb3J0ICdfaXMtaW50JztcbkBpbXBvcnQgJ19nbG9iYWwtY29uZmlnJztcbkBpbXBvcnQgJ19yZW0nO1xuQGltcG9ydCAnX3N0cmlwLXVuaXQnO1xuQGltcG9ydCAnX2Jsb2ctbWF4LXdpZHRoJzsiLCIvKipcbiAqIEZ1bmN0aW9uIGZvciBjYWxsaW5nIHZhbHVlcyBvdXQgb2YgdGhlIGdsb2JhbCBjb25maWcgbWFwXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbiBAZnVuY3Rpb24gZ2xvYmFsLWNvbmZpZygkbmFtZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgJG5hbWUpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGhhcyBweCB1bml0cywgYW5kIGlmIHNvLCBjb252ZXJ0IHRvIHJlbVxuICAgIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgICAgIEByZXR1cm4gcmVtKCR2YWx1ZSk7IC8vIENhbGwgdGhlIHJlbSgpIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcHggdG8gcmVtXG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIHRoZSB2YWx1ZSBhcyBpcyBpZiBpdCdzIG5vdCBpbiBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLyoqXG4gKiByZW0oKSBmdW5jdGlvbiB0byBjb252ZXJ0IHB4IHRvIHJlbVxuICogVXNhZ2U6IGZvbnQtc2l6ZSgxNnB4KTtcbiAqIEZ1bmN0aW9uIHJldHVybnM6IDEuNnJlbTtcbiovXG5cbkBmdW5jdGlvbiByZW0oJHB4VmFsdWUpIHtcbiAgICAkYmFzZUZvbnRTaXplOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBodG1sLWZvbnQtc2l6ZSk7IC8vIEdldCB0aGUgYmFzZSBmb250IHNpemUgZnJvbSB0aGUgZ2xvYmFsIGNvbmZpZ1xuXG4gICAgLy8gRW5zdXJlIHRoZSBpbnB1dCBoYXMgJ3B4JyB1bml0cyBhbmQgYmFzZSBmb250IHNpemUgZXhpc3RzXG4gICAgQGlmIHVuaXQoJHB4VmFsdWUpID09ICdweCcgYW5kIHR5cGUtb2YoJGJhc2VGb250U2l6ZSkgPT0gJ251bWJlcicge1xuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBieSBkaXZpZGluZyB0aGUgcHggdmFsdWUgYnkgdGhlIGJhc2UgZm9udCBzaXplXG4gICAgICAgIEByZXR1cm4gbWF0aC5kaXYoJHB4VmFsdWUsICRiYXNlRm9udFNpemUpICogMXJlbTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHB4IG9yIGJhc2UgZm9udCBzaXplIGlzIGludmFsaWQsIHJldHVybiB0aGUgb3JpZ2luYWwgdmFsdWVcbiAgICBAcmV0dXJuICRweFZhbHVlO1xufSIsIi8qKlxuICogTWl4aW4gZm9yIHJldHVybiB0aGUgZGVmaW5lZCBtYXgtd2lkdGggZm9yIGJsb2cgZWxlbWVudHNcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuQGZ1bmN0aW9uIGJsb2ctbWF4LXdpZHRoKCkge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGJsb2ctbWF4LXdpZHRoKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IGJsb2NrKClcbiAqXG4gKiBEZWZpbmVzIHRoZSBiYXNlIGNvbnRhaW5lciBmb3IgYSBwYWdlIGJsb2NrXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbkBtaXhpbiBibG9jaygkd2lkdGg6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGJsb2NrLS13aWR0aCksICRndXR0ZXJzOiBmYWxzZSwgJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAkd2lkdGg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRAaWYgKCRndXR0ZXJzID09IHRydWUpIHtcblx0XHRAaW5jbHVkZSBndXR0ZXJzKCk7XG5cdH1cbn0iLCIvKipcbiAqIE1peGluOiBibG9jaygpXG4gKlxuICogQ3JlYXRlcyBhIGZ1bGwtYnJvd3Nlci13aWR0aCBjb250YWluZXIgd2hlbiB5b3UgYXJlIGluc2lkZSBhIGxpbWl0ZWQtd2lkdGggcGFyZW50LCBlZywgaW5zaWRlIG9mIEBtaXhpbiBjb250YWluZXIoKS5cbiAqIFRoaXMgaXMgc29tZXdoYXQgdW5uZWNlc3NhcnksIHNpbmNlIGFsbCBjb21wb25lbnRzIHN0YXJ0IGluc2lkZSBhIDEwMHZ3IGJsb2NrLiBIb3dldmVyLCBpdCBjYW4gYmUgaGVscGZ1bCBpZiB5b3VcbiAqIG5lZWQgdG8gY3JlYXRlIGEgZnVsbCB3aWR0aCBjb21wb25lbnQgdGhhdCBpcyBpbnNpZGUgYSAuY29udGFpbmVyIHBhcmVudC5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuQG1peGluIGNvbnRhaW5lci1icmVha291dCgpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwdnc7XG5cdG1heC13aWR0aDogMTAwdnc7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICAgIG1hcmdpbi1yaWdodDogLTUwdnc7XG59IiwiLyoqXG4gKiBHcmlkIE1peGluOiBjb250YWluZXIoKVxuICpcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgcGFnZSBibG9jayB0aGF0IGlzIDEwMCUgb2YgdGhlICRnbG9iYWwtd2lkdGggZGVmaW5lZCBpbiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kXG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuQG1peGluIGNvbnRhaW5lcihcblx0JGZsZXg6IHRydWUsXG5cdCRwYWRkaW5nOiAwLFxuXHQkbWFyZ2luOiBudWxsLFxuXHQvLyBjaGFuZ2VkIGZyb20gdHJ1ZSB0byBudWxsXG5cdCR3aWR0aDogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgd2lkdGgpLFxuXHQkZmxleC1kaXJlY3Rpb246IHJvdyxcblx0JG1heC13aWR0aDogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgd2lkdGgpXG5cdCkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdC8vIEZsZXggaGFuZGxpbmdcblx0QGlmICRmbGV4ID09IHRydWUge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246ICRmbGV4LWRpcmVjdGlvbjtcblx0fVxuXG5cdC8vIE1hcmdpbiBoYW5kbGluZzogbm93IHN1cHBvcnRzIHJlYWwgQ1NTIHZhbHVlc1xuXHRAaWYgJG1hcmdpbiAhPSBudWxsIHtcblx0XHRtYXJnaW46ICRtYXJnaW47XG5cdH1cblxuXHQvLyBQYWRkaW5nIHZpYSBndXR0ZXJzIG1peGluXG5cdEBpZiAkcGFkZGluZyB7XG5cdFx0QGluY2x1ZGUgZ3V0dGVycygkcGFkZGluZyk7XG5cdH1cbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IGd1dHRlcnMoKVxuICpcbiAqIENyZWF0ZXMgbGVmdC9yaWdodCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuIFByaW1hcmlseSB1c2VkIG9uIHNwYW4oKSBlbGVtZW50cywgYnV0IGNhbiBiZSB1dGlsaXplZCBhbnl3aGVyZS5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuIEBmdW5jdGlvbiBndXR0ZXJzKCRmYWN0b3I6IDEpIHtcblx0JGd1dHRlcnM6IChtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBndXR0ZXJzKSAqICRmYWN0b3IpO1xuXHRAcmV0dXJuIHJlbSgkZ3V0dGVycyk7XG59XG5cbkBtaXhpbiBndXR0ZXJzKCRmYWN0b3I6IDEpIHtcblx0cGFkZGluZy1sZWZ0OiByZW0oZ3V0dGVycygkZmFjdG9yKSk7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbShndXR0ZXJzKCRmYWN0b3IpKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IHB1bGwoKVxuICpcbiAqIFB1bGxzIGFuIGl0ZW0gbGVmdCB1c2luZyBuZWdhdGl2ZSBtYXJnaW5zLCBiYXNlZCBvbiAxMi1jb2x1bW4gZ3JpZFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG5AbWl4aW4gcHVsbCgkY29sdW1uczogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRjb250YWluZXI6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpKSB7XG5cdG1hcmdpbi1sZWZ0OiAoc3BhbigkY29sdW1ucywgJGNvbnRhaW5lcikgKiAtMSk7XG59IiwiLyoqXG4gKiBHcmlkIE1peGluOiBwdXNoKClcbiAqXG4gKiBQdXNoZXMgYW4gaXRlbSByaWdodCB1c2luZyBwb3NpdGl2ZSBtYXJnaW5zLCBiYXNlZCBvbiAxMi1jb2x1bW4gZ3JpZFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuIFxuIEBtaXhpbiBwdXNoKCRjb2x1bW5zOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGNvbnRhaW5lcjogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucykpIHtcblx0bWFyZ2luLWxlZnQ6IHNwYW4oJGNvbHVtbnMsICRjb250YWluZXIpO1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogc3BhbigpXG4gKlxuICogQ3JlYXRlcyBhIGNvbnRhaW5lciBvZiBhIGRlZmluZWQgJSB3aWR0aCwgYmFzZWQgb24gYSAxMiBjb2x1bW4gZ3JpZFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBmdW5jdGlvbiBzcGFuKCRjb2x1bW5zOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGNvbnRhaW5lcjogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucykpIHtcblx0QHJldHVybiBwZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW5zLCAkY29udGFpbmVyKSk7XG59XG5cbkBtaXhpbiBzcGFuKCRjb2x1bW5zOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGNvbnRhaW5lcjogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRmbGV4OiB0cnVlLCAkZ3V0dGVyczogdHJ1ZSkge1xuXHR3aWR0aDogc3BhbigkY29sdW1ucywgJGNvbnRhaW5lcik7XG5cdEBpZiAoJGZsZXggPT0gZmFsc2UpIHtcblx0XHRmbG9hdDogbGVmdDtcblx0fVxuXHRAaWYgKCRndXR0ZXJzID09IHRydWUpIHtcblx0XHRAaW5jbHVkZSBndXR0ZXJzKCk7XG5cdH1cbn1cblxuLnNwYW4tMSB7XG5cdHdpZHRoOiBzcGFuKDEpO1xufVxuLnNwYW4tMiB7XG5cdHdpZHRoOiBzcGFuKDIpO1xufVxuLnNwYW4tMyB7XG5cdHdpZHRoOiBzcGFuKDMpO1xufVxuLnNwYW4tNCB7XG5cdHdpZHRoOiBzcGFuKDQpO1xufVxuLnNwYW4tNSB7XG5cdHdpZHRoOiBzcGFuKDUpO1xufVxuLnNwYW4tNiB7XG5cdHdpZHRoOiBzcGFuKDYpO1xufVxuLnNwYW4tNyB7XG5cdHdpZHRoOiBzcGFuKDcpO1xufVxuLnNwYW4tOCB7XG5cdHdpZHRoOiBzcGFuKDgpO1xufVxuLnNwYW4tOSB7XG5cdHdpZHRoOiBzcGFuKDkpO1xufVxuLnNwYW4tMTAge1xuXHR3aWR0aDogc3BhbigxMCk7XG59XG4uc3Bhbi0xMSB7XG5cdHdpZHRoOiBzcGFuKDExKTtcbn1cbi5zcGFuLTEyIHtcblx0d2lkdGg6IHNwYW4oMTIpO1xufVxuIiwiLyoqXG4gKiBNaXhpbiBmb3Igd3JpdGluZyBzdHlsZXMgdGhhdCBvbmx5IGRpc3BsYXkgaW4gdGhlIGJsb2NrIGVkaXRvclxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG4gQG1peGluIGJsb2NrLWVkaXRvcigpIHtcblx0LmFjZi1ibG9jay1wcmV2aWV3ICYge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyoqXG4gKiBNaXhpbiBmb3IgZGlzcGxheSBhIGJyaWNrIHBzZXVkdW8gZWxlbWVudC4gQSBicmljayBpcyB0aGUgbGl0dGxlIGhvcml6b250YWwgbGluZSB1bmRlciBoZWFkbGluZXMuXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG4gXG4gQG1peGluIGJyaWNrKCRjb2xvcjogY29sb3IocGluaykpIHtcblx0Y29udGVudDogJyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiAzcHg7XG5cdG1hcmdpbjogNXB4IGF1dG87XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuIH0iLCIvKipcbiAqIEZ1bmN0aW9uIGFuZCBNaXhpbiBmb3IgZ2V0dGluZyBjb2xvcnMgZnJvbSB0aGUgJGNvbG9yIGFycmF5XG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbkBmdW5jdGlvbiBjb2xvcigkY29sb3IsICRvcGFjaXR5OiAxKSB7XG5cdEBpZiAoJG9wYWNpdHkgIT0gMSkge1xuXHRAcmV0dXJuIHJnYmEobWFwLWdldCgkY29sb3JzLCAkY29sb3IpLCAkb3BhY2l0eSk7XG5cdH0gQGVsc2Uge1xuXHRAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKTtcblx0fVxufVxuXG5AbWl4aW4gY29sb3IoJGNvbG9yLCAkcHJvcGVydHktbmFtZTogY29sb3IsICRvcGFjaXR5OiAxKSB7XG5cdEBpZiAoJG9wYWNpdHkgIT0gMSkge1xuXHQjeyRwcm9wZXJ0eV9uYW1lfTogcmdiYShjb2xvcigkY29sb3IpLCAkb3BhY2l0eSk7XG5cdH0gQGVsc2Uge1xuXHQjeyRwcm9wZXJ0eV9uYW1lfTogY29sb3IoJGNvbG9yKTtcblx0fVxufSIsIi8qKlxuICogTWl4aW4gZm9yIGFwcGx5aW5nIGJhY2tncm91bmQgc2hhZGUgdG8gYW4gZWxlbWVudFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG4gQG1peGluIHNoYWRlKCRzaGFkZSkge1xuXHRcblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXVsdHJhbGlnaHQnKSB7XG5cdFx0QGluY2x1ZGUgY29sb3IodWx0cmFsaWdodCwgYmFja2dyb3VuZC1jb2xvcik7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtYmx1ZS1ncmFkaWVudCcpIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNjBkZWcsIGNvbG9yKGJsdWUsIDEpIDQwJSwgY29sb3IoYmx1ZS1kYXJrLCAxKSA2MCUpO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXB1cnBsZS1ncmFkaWVudCcpIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTMwZGVnLCBjb2xvcihibHVlLWRhcmssIDEpIDQwJSwgY29sb3IocHVycGxlLCAxKSA2MCUpO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLWJsdWUnKSB7XG5cdFx0YmFja2dyb3VuZDogY29sb3IoYmx1ZS1kYXJrKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1wdXJwbGUnKSB7XG5cdFx0YmFja2dyb3VuZDogY29sb3IocHVycGxlKTtcblx0fVxuIH1cblxuIEBtaXhpbiBzaGFkZS10ZXh0KCRzaGFkZSkge1xuXHRcblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXVsdHJhbGlnaHQnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKGJsYWNrKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1ibHVlLWdyYWRpZW50Jykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXRleHQtZGFyaycpIHtcblx0XHRjb2xvcjogY29sb3IoYmxhY2spO1xuXHR9XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS10ZXh0LWxpZ2h0Jykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLWJsdWUnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKHdoaXRlKTtcblx0fVxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtcHVycGxlJykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cbiB9XG5cbiBAbWl4aW4gc2hhZGUtY2hpbGQoJHNoYWRlOiBudWxsKSB7XG5cdEBpZiAoJHNoYWRlICE9IG51bGwpIHtcblx0XHQuc2hhZGUuI3skc2hhZGV9ICYge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG4gfSIsIi8qKlxuICogTWl4aW46IHotaW5kZXgoJGxldmVsLCAkaW1wb3J0YW50KVxuICpcbiAqIFVzZXMgdGhlIFNhc3MtTWFwIGRlZmluZWQgaW4gcGFydGlhbHMvdmFyaWFibGVzLnNjc3MgdG8gbG9hZCBhIG5hbWVkIHotaW5kZXggbGV2ZWwuIElmIGFuIGludGVnZXIgaXMgcGFzc2VkLCB0aGF0IGludGVnZXIgaXMgdXNlZCBhcyB0aGUgei1pbmRleCBsZXZlbC5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuQG1peGluIHotaW5kZXgoJGxldmVsOiBncm91bmQsICRpbXBvcnRhbnQ6ICdudWxsJykge1xuXHQkemluZGV4OiBzdHJpbmc7XG5cblx0QGlmIGlzLWludCgkbGV2ZWwpIHtcblx0XHQkemluZGV4OiAkbGV2ZWw7XG5cdH0gQGVsc2Uge1xuXHRcdCR6aW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsICRsZXZlbCk7XG5cdH1cblx0QGlmICgkaW1wb3J0YW50ID09ICdpbXBvcnRhbnQnKVxuXHR7XG5cdFx0ei1pbmRleDogJHppbmRleCAhaW1wb3J0YW50O1xuXHR9XG5cdEBlbHNlIHtcblx0XHR6LWluZGV4OiAkemluZGV4O1xuXHR9XG59IiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgICBzcmM6IHVybCgnLi4vLi4vYXNzZXRzL21lZGlhL2ZvbnRzL2ljb25mb250L2ljb25mb250LmVvdD9wbDA2dCcpO1xuICAgIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuZW90P3BsMDZ0I2llZml4JykgZm9ybWF0KCdlb3QnKSxcbiAgICAgIHVybCgnLi4vLi4vYXNzZXRzL21lZGlhL2ZvbnRzL2ljb25mb250L2ljb25mb250LndvZmYyP3BsMDZ0JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQud29mZj9wbDA2dCcpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQudHRmP3BsMDZ0JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuc3ZnP3BsMDZ0I2ljb25mb250JykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuJGZvbnQtaWNvbmZvbnQ6XHRcImljb25mb250XCI7XG5cbiRpY29uLWFjY291bnQ6IFwiXFxFQTAxXCI7XG4kaWNvbi1hcnJvdy1kb3duLWxvbmc6IFwiXFxFQTAyXCI7XG4kaWNvbi1hcnJvdy1kb3duOiBcIlxcRUEwM1wiO1xuJGljb24tYXJyb3ctbGVmdC1sb25nOiBcIlxcRUEwNFwiO1xuJGljb24tYXJyb3ctbGVmdDogXCJcXEVBMDVcIjtcbiRpY29uLWFycm93LXJpZ2h0LWxvbmc6IFwiXFxFQTA2XCI7XG4kaWNvbi1hcnJvdy1yaWdodDogXCJcXEVBMDdcIjtcbiRpY29uLWFycm93LXVwLWxvbmc6IFwiXFxFQTA4XCI7XG4kaWNvbi1hcnJvdy11cDogXCJcXEVBMDlcIjtcbiRpY29uLWJlbGw6IFwiXFxFQTBBXCI7XG4kaWNvbi1icm93c2VyOiBcIlxcRUEwQlwiO1xuJGljb24tY2FsZW5kYXI6IFwiXFxFQTBDXCI7XG4kaWNvbi1jYXJldC1kb3duOiBcIlxcRUEwRFwiO1xuJGljb24tY2FyZXQtbGVmdDogXCJcXEVBMEVcIjtcbiRpY29uLWNhcmV0LXJpZ2h0OiBcIlxcRUEwRlwiO1xuJGljb24tY2FyZXQtdXA6IFwiXFxFQTEwXCI7XG4kaWNvbi1jaGF0OiBcIlxcRUExMVwiO1xuJGljb24tY2hlY2s6IFwiXFxFQTEyXCI7XG4kaWNvbi1jaGVja2JveC1lbXB0eTogXCJcXEVBMTNcIjtcbiRpY29uLWNoZWNrYm94OiBcIlxcRUExNFwiO1xuJGljb24tY2hldnJvbi1kb3duOiBcIlxcRUExNVwiO1xuJGljb24tY2hldnJvbi1sZWZ0OiBcIlxcRUExNlwiO1xuJGljb24tY2hldnJvbi1yaWdodDogXCJcXEVBMTdcIjtcbiRpY29uLWNoZXZyb24tdXA6IFwiXFxFQTE4XCI7XG4kaWNvbi1jaXJjbGU6IFwiXFxFQTE5XCI7XG4kaWNvbi1jbG9jazogXCJcXEVBMUFcIjtcbiRpY29uLWNsb3NlLXdoaXRlOiBcIlxcRUExQlwiO1xuJGljb24tY2xvc2U6IFwiXFxFQTFDXCI7XG4kaWNvbi1jb21wb3NlOiBcIlxcRUExRFwiO1xuJGljb24tZG9jdW1lbnQ6IFwiXFxFQTFFXCI7XG4kaWNvbi1kb3dubG9hZDogXCJcXEVBMUZcIjtcbiRpY29uLWVtYWlsLWFsdDogXCJcXEVBMjBcIjtcbiRpY29uLWVtYWlsOiBcIlxcRUEyMVwiO1xuJGljb24tZmFjZWJvb2s6IFwiXFxFQTIyXCI7XG4kaWNvbi1ob21lOiBcIlxcRUEyM1wiO1xuJGljb24taW5mby1hbGVydDogXCJcXEVBMjRcIjtcbiRpY29uLWluZm86IFwiXFxFQTI1XCI7XG4kaWNvbi1pbnN0YWdyYW06IFwiXFxFQTI2XCI7XG4kaWNvbi1sZWFybi1hbGVydDogXCJcXEVBMjdcIjtcbiRpY29uLWxpZ2h0YnVsYjogXCJcXEVBMjhcIjtcbiRpY29uLWxpbmtlZGluOiBcIlxcRUEyOVwiO1xuJGljb24tbG9hbjogXCJcXEVBMkFcIjtcbiRpY29uLWxvY2F0aW9uOiBcIlxcRUEyQlwiO1xuJGljb24tbG9jazogXCJcXEVBMkNcIjtcbiRpY29uLW1pZGNvYXN0OiBcIlxcRUEyRFwiO1xuJGljb24tbWludXM6IFwiXFxFQTJFXCI7XG4kaWNvbi1wZXJzb246IFwiXFxFQTJGXCI7XG4kaWNvbi1waG9uZTogXCJcXEVBMzBcIjtcbiRpY29uLXBpbnRlcmVzdDogXCJcXEVBMzFcIjtcbiRpY29uLXBsYXktY2lyY2xlOiBcIlxcRUEzMlwiO1xuJGljb24tcGxheTogXCJcXEVBMzNcIjtcbiRpY29uLXBsdXM6IFwiXFxFQTM0XCI7XG4kaWNvbi1xdW90ZTogXCJcXEVBMzVcIjtcbiRpY29uLXJlc2V0OiBcIlxcRUEzNlwiO1xuJGljb24tc2Nyb2xsLWRvd246IFwiXFxFQTM3XCI7XG4kaWNvbi1zZWFyY2g6IFwiXFxFQTM4XCI7XG4kaWNvbi1zbmFwY2hhdDogXCJcXEVBMzlcIjtcbiRpY29uLXN0YXItaGFsZjogXCJcXEVBM0FcIjtcbiRpY29uLXN0YXI6IFwiXFxFQTNCXCI7XG4kaWNvbi10aHJlZS1kb3RzOiBcIlxcRUEzQ1wiO1xuJGljb24tdGlrdG9rOiBcIlxcRUEzRFwiO1xuJGljb24tdHdpdHRlcjogXCJcXEVBM0VcIjtcbiRpY29uLXZpZGVvOiBcIlxcRUEzRlwiO1xuJGljb24tdmltZW86IFwiXFxFQTQwXCI7XG4kaWNvbi13ZWJzaXRlOiBcIlxcRUE0MVwiO1xuJGljb24teWVscDogXCJcXEVBNDJcIjtcbiRpY29uLXlvdXR1YmU6IFwiXFxFQTQzXCI7XG5cblxuXG4uaWNvbi1hY2NvdW50OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hY2NvdW50LCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWRvd24tbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctZG93bi1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWRvd246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LWRvd24sIDE1cHgpO1xufVxuLmljb24tYXJyb3ctbGVmdC1sb25nOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1sZWZ0LWxvbmcsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctbGVmdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctbGVmdCwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1yaWdodC1sb25nOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1yaWdodC1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1yaWdodCwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy11cC1sb25nOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy11cC1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LXVwOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy11cCwgMTVweCk7XG59XG4uaWNvbi1iZWxsOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1iZWxsLCAxNXB4KTtcbn1cbi5pY29uLWJyb3dzZXI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWJyb3dzZXIsIDE1cHgpO1xufVxuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNhbGVuZGFyLCAxNXB4KTtcbn1cbi5pY29uLWNhcmV0LWRvd246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNhcmV0LWRvd24sIDE1cHgpO1xufVxuLmljb24tY2FyZXQtbGVmdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtbGVmdCwgMTVweCk7XG59XG4uaWNvbi1jYXJldC1yaWdodDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtcmlnaHQsIDE1cHgpO1xufVxuLmljb24tY2FyZXQtdXA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNhcmV0LXVwLCAxNXB4KTtcbn1cbi5pY29uLWNoYXQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoYXQsIDE1cHgpO1xufVxuLmljb24tY2hlY2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZWNrLCAxNXB4KTtcbn1cbi5pY29uLWNoZWNrYm94LWVtcHR5OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGVja2JveC1lbXB0eSwgMTVweCk7XG59XG4uaWNvbi1jaGVja2JveDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hlY2tib3gsIDE1cHgpO1xufVxuLmljb24tY2hldnJvbi1kb3duOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGV2cm9uLWRvd24sIDE1cHgpO1xufVxuLmljb24tY2hldnJvbi1sZWZ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGV2cm9uLWxlZnQsIDE1cHgpO1xufVxuLmljb24tY2hldnJvbi1yaWdodDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hldnJvbi1yaWdodCwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLXVwOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGV2cm9uLXVwLCAxNXB4KTtcbn1cbi5pY29uLWNpcmNsZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2lyY2xlLCAxNXB4KTtcbn1cbi5pY29uLWNsb2NrOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jbG9jaywgMTVweCk7XG59XG4uaWNvbi1jbG9zZS13aGl0ZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2xvc2Utd2hpdGUsIDE1cHgpO1xufVxuLmljb24tY2xvc2U6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNsb3NlLCAxNXB4KTtcbn1cbi5pY29uLWNvbXBvc2U6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNvbXBvc2UsIDE1cHgpO1xufVxuLmljb24tZG9jdW1lbnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWRvY3VtZW50LCAxNXB4KTtcbn1cbi5pY29uLWRvd25sb2FkOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1kb3dubG9hZCwgMTVweCk7XG59XG4uaWNvbi1lbWFpbC1hbHQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWVtYWlsLWFsdCwgMTVweCk7XG59XG4uaWNvbi1lbWFpbDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZW1haWwsIDE1cHgpO1xufVxuLmljb24tZmFjZWJvb2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWZhY2Vib29rLCAxNXB4KTtcbn1cbi5pY29uLWhvbWU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWhvbWUsIDE1cHgpO1xufVxuLmljb24taW5mby1hbGVydDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taW5mby1hbGVydCwgMTVweCk7XG59XG4uaWNvbi1pbmZvOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1pbmZvLCAxNXB4KTtcbn1cbi5pY29uLWluc3RhZ3JhbTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taW5zdGFncmFtLCAxNXB4KTtcbn1cbi5pY29uLWxlYXJuLWFsZXJ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sZWFybi1hbGVydCwgMTVweCk7XG59XG4uaWNvbi1saWdodGJ1bGI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWxpZ2h0YnVsYiwgMTVweCk7XG59XG4uaWNvbi1saW5rZWRpbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbGlua2VkaW4sIDE1cHgpO1xufVxuLmljb24tbG9hbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9hbiwgMTVweCk7XG59XG4uaWNvbi1sb2NhdGlvbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9jYXRpb24sIDE1cHgpO1xufVxuLmljb24tbG9jazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9jaywgMTVweCk7XG59XG4uaWNvbi1taWRjb2FzdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbWlkY29hc3QsIDE1cHgpO1xufVxuLmljb24tbWludXM6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLW1pbnVzLCAxNXB4KTtcbn1cbi5pY29uLXBlcnNvbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGVyc29uLCAxNXB4KTtcbn1cbi5pY29uLXBob25lOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1waG9uZSwgMTVweCk7XG59XG4uaWNvbi1waW50ZXJlc3Q6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBpbnRlcmVzdCwgMTVweCk7XG59XG4uaWNvbi1wbGF5LWNpcmNsZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGxheS1jaXJjbGUsIDE1cHgpO1xufVxuLmljb24tcGxheTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGxheSwgMTVweCk7XG59XG4uaWNvbi1wbHVzOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wbHVzLCAxNXB4KTtcbn1cbi5pY29uLXF1b3RlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1xdW90ZSwgMTVweCk7XG59XG4uaWNvbi1yZXNldDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcmVzZXQsIDE1cHgpO1xufVxuLmljb24tc2Nyb2xsLWRvd246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXNjcm9sbC1kb3duLCAxNXB4KTtcbn1cbi5pY29uLXNlYXJjaDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc2VhcmNoLCAxNXB4KTtcbn1cbi5pY29uLXNuYXBjaGF0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1zbmFwY2hhdCwgMTVweCk7XG59XG4uaWNvbi1zdGFyLWhhbGY6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXN0YXItaGFsZiwgMTVweCk7XG59XG4uaWNvbi1zdGFyOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1zdGFyLCAxNXB4KTtcbn1cbi5pY29uLXRocmVlLWRvdHM6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXRocmVlLWRvdHMsIDE1cHgpO1xufVxuLmljb24tdGlrdG9rOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi10aWt0b2ssIDE1cHgpO1xufVxuLmljb24tdHdpdHRlcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdHdpdHRlciwgMTVweCk7XG59XG4uaWNvbi12aWRlbzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdmlkZW8sIDE1cHgpO1xufVxuLmljb24tdmltZW86OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXZpbWVvLCAxNXB4KTtcbn1cbi5pY29uLXdlYnNpdGU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXdlYnNpdGUsIDE1cHgpO1xufVxuLmljb24teWVscDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24teWVscCwgMTVweCk7XG59XG4uaWNvbi15b3V0dWJlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi15b3V0dWJlLCAxNXB4KTtcbn0iLCJAZnVuY3Rpb24gdW5pY29kZSgkc3RyKSB7XG5cdEByZXR1cm4gdW5xdW90ZShcIlxcXCJcIikgKyAkc3RyICsgdW5xdW90ZShcIlxcXCJcIik7XG4gIH1cblxuLy9JY29uZm9udFxuQG1peGluIGljb25mb250KCRjb250ZW50OiBcIiBcIiwgJGZvbnQtc2l6ZTogaW5oZXJpdCwgJGNvbG9yOiBpbmhlcml0ICkge1xuXHRmb250LWZhbWlseTogJGZvbnQtaWNvbmZvbnQ7XG5cdHNwZWFrOiBub25lO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xuXHRmb250LXNpemU6ICRmb250LXNpemU7XG5cdGNvbG9yOiAkY29sb3I7XG5cdFxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59IiwiLy8gRGV2IE5vdGU6IEZsdWlkIFR5cGUgdmFsdWVzIGFyZSBjdXJyZW50bHkgc2V0IHRvIG9ubHkgZGVza3RvcC4gV2hlbiB5b3UgYmVnaW4gbW9iaWxlIHN0eWxpbmcgdGhlIHNtLWZvbnQgd2lsbCBsaWtlbHkgbmVlZCB0byBjaGFuZ2UgZm9yIHNvbWUgb2YgdGhlc2UgbWl4aW5zXG5cbkBtaXhpbiBmb250LW5hdigpIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZXJpZjtcblx0QGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xuXHRAaW5jbHVkZSBjb2xvcih3aGl0ZSk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRAaW5jbHVkZSBob3ZlcigpIHtcblx0XHRAaW5jbHVkZSBjb2xvcihibHVlKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHtcblx0XHRAaW5jbHVkZSBjb2xvcihibGFjayk7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuXHR9XG59XG5cbkBtaXhpbiBmb250LWZvb3Rlci1uYXYoKSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG5cdGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXHRAaW5jbHVkZSBjb2xvcih3aGl0ZSk7XG5cblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0QGluY2x1ZGUgaG92ZXIoKSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cbn1cblxuXG5AbWl4aW4gZm9udC1kaXNwbGF5LXRpdGxlKCRjb2xvcjogY29sb3IoYmxhY2spLCAkc20tZm9udDogNTBweCwgJHhsMi1mb250OiA1MHB4KSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG5cdEBpbmNsdWRlIGZsdWlkLXR5cGUobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJ3NtJyksIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICd4bDInKSwgJHNtLWZvbnQsICR4bDItZm9udCk7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdG1hcmdpbjogMDtcbn1cblxuXG5AbWl4aW4gZm9udC1zdWJ0aXRsZSgkY29sb3I6IGNvbG9yKGJsYWNrKSwgJHNtLWZvbnQ6IDI0cHgsICR4bDItZm9udDogMjRweCkge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuXHRAaW5jbHVkZSBmbHVpZC10eXBlKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICdzbScpLCBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAneGwyJyksICRzbS1mb250LCAkeGwyLWZvbnQpO1xuXHRmb250LXdlaWdodDogMjAwO1xuXHRsaW5lLWhlaWdodDogMS42NTtcblx0QGlmICgkY29sb3IgIT0gaW5oZXJpdCkge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuQG1peGluIGZvbnQtaDEoJGNvbG9yOiBjb2xvcihibGFjayksICRzbS1mb250OiA0MHB4LCAkeGwyLWZvbnQ6IDU1cHgpIHtcblx0QGluY2x1ZGUgZm9udC1kaXNwbGF5LXRpdGxlKCRjb2xvciwgJHNtLWZvbnQsICR4bDItZm9udCk7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbkBtaXhpbiBmb250LWgyKCRjb2xvcjogY29sb3IoYmxhY2spLCAkc20tZm9udDogMjdweCwgJHhsMi1mb250OiAzMnB4KSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcblx0QGluY2x1ZGUgZmx1aWQtdHlwZShtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnc20nKSwgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJ3hsMicpLCAkc20tZm9udCwgJHhsMi1mb250KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0bWFyZ2luLXRvcDogMDtcblx0QGlmICgkY29sb3IgIT0gaW5oZXJpdCkge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuQG1peGluIGZvbnQtaDMoJGNvbG9yOiBjb2xvcihibGFjayksICRzbS1mb250OiAyMHB4LCAkeGwyLWZvbnQ6IDIwcHgpIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZXJpZjtcblx0QGluY2x1ZGUgZmx1aWQtdHlwZShtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnc20nKSwgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJ3hsMicpLCAkc20tZm9udCwgJHhsMi1mb250KTtcblx0Zm9udC13ZWlnaHQ6ICRmb250LWZhbWlseS1zZXJpZi1yZWd1bGFyO1xuXHRsaW5lLWhlaWdodDogMS42NDtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRAaWYgKCRjb2xvciAhPSBpbmhlcml0KSB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gZm9udC1oNCgkY29sb3I6IGNvbG9yKHBpbmspLCAkc20tZm9udDogMzZweCwgJHhsMi1mb250OiA0NHB4KSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG5cdEBpbmNsdWRlIGZsdWlkLXR5cGUobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJ3NtJyksIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICd4bDInKSwgJHNtLWZvbnQsICR4bDItZm9udCk7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC1mYW1pbHktc2VyaWYtcmVndWxhcjtcblx0bGluZS1oZWlnaHQ6IDEuNjU7XG5cdG1hcmdpbjogMDtcblx0QGlmICgkY29sb3IgIT0gaW5oZXJpdCkge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuQG1peGluIGZvbnQtaDUoJGNvbG9yOiBjb2xvcihibGFjayksICRzbS1mb250OiAxNHB4LCAkeGwyLWZvbnQ6IDE0cHgpIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZXJpZjtcblx0QGluY2x1ZGUgZmx1aWQtdHlwZShtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnc20nKSwgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJ3hsMicpLCAkc20tZm9udCwgJHhsMi1mb250KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bGluZS1oZWlnaHQ6IDEuNjQ7XG5cdGxldHRlci1zcGFjaW5nOiA0cHg7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0QGlmICgkY29sb3IgIT0gaW5oZXJpdCkge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cbkBtaXhpbiBmb250LWg1LXNlbnRlbmNlLWNhc2UoJGNvbG9yOiBjb2xvcihibGFjayksICRzbS1mb250OiAxNHB4LCAkeGwyLWZvbnQ6IDE0cHgpIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZXJpZjtcblx0QGluY2x1ZGUgZmx1aWQtdHlwZShtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnc20nKSwgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJ3hsMicpLCAkc20tZm9udCwgJHhsMi1mb250KTtcblx0bGluZS1oZWlnaHQ6IDEuNjQ7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0QGlmICgkY29sb3IgIT0gaW5oZXJpdCkge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuQG1peGluIGZvbnQtaDYoJGNvbG9yOiBjb2xvcihibHVlKSwgJHNtLWZvbnQ6IDEycHgsICR4bDItZm9udDogMTJweCkge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuXHRAaW5jbHVkZSBmbHVpZC10eXBlKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICdzbScpLCBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAneGwyJyksICRzbS1mb250LCAkeGwyLWZvbnQpO1xuXHRmb250LXdlaWdodDogMTAwO1xuXHRsaW5lLWhlaWdodDogMS42NDtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRAaWYgKCRjb2xvciAhPSBpbmhlcml0KSB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG5cbkBtaXhpbiBmb250LWJvZHkoJGNvbG9yOiBudWxsLCAkc20tZm9udDogMTZweCwgJHhsMi1mb250OiAyMHB4KSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG5cdEBpbmNsdWRlIGZsdWlkLXR5cGUobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJ3NtJyksIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICd4bDInKSwgJHNtLWZvbnQsICR4bDItZm9udCk7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC1mYW1pbHktc2VyaWYtcmVndWxhcjtcblx0bGluZS1oZWlnaHQ6IDEuNjg7XG5cdEBpZiAoKCRjb2xvciAhPSBpbmhlcml0KSBBTkQgKCRjb2xvciAhPSBudWxsKSkge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuQG1peGluIGZvbnQtYm9keS1zbWFsbCgkY29sb3I6IGNvbG9yKGJsYWNrKSwgJHNtLWZvbnQ6IDE0cHgsICR4bDItZm9udDogMTRweCkge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuXHRAaW5jbHVkZSBmbHVpZC10eXBlKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICdzbScpLCBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAneGwyJyksICRzbS1mb250LCAkeGwyLWZvbnQpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMS42O1xuXHRAaWYgKCRjb2xvciAhPSBpbmhlcml0KSB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gZm9udC1zZXJpZigkY29sb3I6IGNvbG9yKGJsYWNrKSwgJHNtLWZvbnQ6IDIwcHgsICR4bDItZm9udDogMzZweCkge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuXHRAaW5jbHVkZSBmbHVpZC10eXBlKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICdzbScpLCBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAneGwyJyksICRzbS1mb250LCAkeGwyLWZvbnQpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMS42O1xuXHRAaWYgKCRjb2xvciAhPSBpbmhlcml0KSB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gZm9udC1idG4oJGNvbG9yOiBjb2xvcihibGFjayksICRzbS1mb250OiAxNXB4LCAkeGwyLWZvbnQ6IDE1cHgpIHtcblx0QGluY2x1ZGUgZm9udC1ib2R5KCRjb2xvciwgJHNtLWZvbnQsICR4bDItZm9udCk7XG59IiwiQG1peGluIGZsdWlkLXR5cGUoJG1pbi12dywgJG1heC12dywgJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplKSB7XG5cdCR1MTogdW5pdCgkbWluLXZ3KTtcblx0JHUyOiB1bml0KCRtYXgtdncpO1xuXHQkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xuXHQkdTQ6IHVuaXQoJG1heC1mb250LXNpemUpO1xuXG5cdEBpZiAkdTEgPT0gJHUyIGFuZCAkdTEgPT0gJHUzIGFuZCAkdTEgPT0gJHU0IHtcblx0XHQmIHtcblx0XHRcdGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogY2FsYygjeyRtaW4tZm9udC1zaXplfSArICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKiAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSkpO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC12dykge1xuXHRcdFx0XHRmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSJdfQ== */
