/* ===================================================================================
 *
 * @project        midcoast_platform
 * @author         Caleb Zahnd <caleb@midcoast.io>
 * @build          Mon, May 5, 2025 3:09 AM CST
 * @release        880542b93499d1ed8674c4a7cb4a96857829a23a [Detached: 880542b93499d1ed8674c4a7cb4a96857829a23a]
 * @copyright      Copyright (c) 2025, Midcoast Collective
 *
 *  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=Bebas+Neue&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,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%;
}



.bottomline {
  position: relative;
  padding-bottom: 20px;
}
.bottomline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 45px;
  height: 3px;
  background-color: #0077FF;
}




@font-face {
  font-family: "iconfont";
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?t2q987");
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?t2q987#iefix") format("eot"), url("../../assets/media/fonts/iconfont/iconfont.woff2?t2q987") format("woff2"), url("../../assets/media/fonts/iconfont/iconfont.woff?t2q987") format("woff"), url("../../assets/media/fonts/iconfont/iconfont.ttf?t2q987") format("truetype"), url("../../assets/media/fonts/iconfont/iconfont.svg?t2q987#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-right::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-arrow-up::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-bell::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-browser::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-calendar::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-down::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-left::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-right::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-caret-up::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-chat::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-check::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-empty::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-checkbox::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-down::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-left::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-right::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-chevron-up::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-circle::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-clock::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-white::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-close::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-compose::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-document::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-download::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-alt::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-email::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-facebook::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-focus::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-home::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-info-alert::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-info::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-instagram::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-learn-alert::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-lightbulb::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-linkedin::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-loan::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-location::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-lock::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-marksmedia::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-midcoast::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-minus::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-person::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-phone::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-pinterest::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-play-circle::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-play::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-plus::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-quote::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-reset::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-scroll-down::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-search::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-snapchat::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-star-half::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-star::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-three-dots::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-tiktok::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-twitter::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-video::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-vimeo::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;
}

.icon-website::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea44";
  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: "\ea45";
  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: "\ea46";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bl-metrics {
  padding: 100px 0;
}

.metrics-container {
  display: flex;
  flex-wrap: wrap;
}

.metrics-card {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 544px) {
  .metrics-card {
    width: 50%;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (min-width: 992px) {
  .metrics-card {
    width: 25%;
  }
}
.metrics-card .metric--topline {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: 80px;
  font-size: 8rem;
}
.metrics-card .metric--bottom-line {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 20px;
  font-size: 2rem;
}
.acf-block-preview .metrics-card {
  padding-left: 0;
  padding-right: 0;
}
.metrics-card__bottom_line {
  margin-top: 15px;
  font-size: 18px;
  font-size: 1.8rem;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1ldHJpY3Mvc3JjL3Njc3MvYmwtbWV0cmljcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvYmxvY2tzL19pbXBvcnQtZGVwZW5kZW5jaWVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvZnVuY3Rpb25zL19pbml0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19ibG9jay5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fY29udGFpbmVyLWJyZWFrb3V0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX3B1bGwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX3B1c2guc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX3NwYW4uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2Jsb2NrLWVkaXRvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2JvdHRvbWxpbmUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19icmljay5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX3NoYWRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fei1pbmRleC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvcGFydGlhbHMvX2ljb25mb250LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9faWNvbmZvbnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fZm9udC1zaXplLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUNSQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQ0E7QUFBQTtBQXlEUTtBQzFEUjtBQUNBO0FBQUE7QUNEQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMEJBO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7OztBQzVERDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDZ0JBO0VBZkk7RUFDSDs7QUFFRztFQUNGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkFJc0I7OztBQ2pCeEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0VBQ0k7RUFDQTtFQUNBO0VBS0E7RUFDQTs7QUE4RUo7RUNqRkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwRWtDO0VDekVsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVFRDtFQ3BGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZFMEM7RUM1RTFDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMEVEO0VDdkZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ0ZxQztFQy9FckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2RUQ7RUMxRkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtRjBDO0VDbEYxQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdGRDtFQzdGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNGcUM7RUNyRnJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbUZEO0VDaEdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeUYyQztFQ3hGM0MsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURzRkQ7RUNuR0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q0RnNDO0VDM0Z0QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHlGRDtFQ3RHQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRCtGd0M7RUM5RnhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENEZEO0VDekdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEa0d5QztFQ2pHekMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQrRkQ7RUM1R0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RxR21DO0VDcEduQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGtHRDtFQy9HQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHdHK0I7RUN2Ry9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEcUdEO0VDbEhDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMkdrQztFQzFHbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR3R0Q7RUNySEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q4R21DO0VDN0duQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDJHRDtFQ3hIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGlIcUM7RUNoSHJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEOEdEO0VDM0hDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEb0hxQztFQ25IckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURpSEQ7RUM5SEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1SHNDO0VDdEh0QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9IRDtFQ2pJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBIbUM7RUN6SG5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdUhEO0VDcElDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENkgrQjtFQzVIL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwSEQ7RUN2SUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnSWdDO0VDL0hoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZIRDtFQzFJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1JeUM7RUNsSXpDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ0lEO0VDN0lDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc0ltQztFQ3JJbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtSUQ7RUNoSkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5SXVDO0VDeEl2QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHNJRDtFQ25KQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDRJdUM7RUMzSXZDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEeUlEO0VDdEpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEK0l3QztFQzlJeEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ0SUQ7RUN6SkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RrSnFDO0VDakpyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRCtJRDtFQzVKQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHFKaUM7RUNwSmpDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEa0pEO0VDL0pDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEd0pnQztFQ3ZKaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURxSkQ7RUNsS0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QySnNDO0VDMUp0QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHdKRDtFQ3JLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDhKZ0M7RUM3SmhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMkpEO0VDeEtDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEaUtrQztFQ2hLbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ4SkQ7RUMzS0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RvS21DO0VDbktuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGlLRDtFQzlLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHVLbUM7RUN0S25DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEb0tEO0VDakxDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMEtvQztFQ3pLcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1S0Q7RUNwTEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2S2dDO0VDNUtoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDBLRDtFQ3ZMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGdMbUM7RUMvS25DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENktEO0VDMUxDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbUxnQztFQ2xMaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURnTEQ7RUM3TEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RzTCtCO0VDckwvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG1MRDtFQ2hNQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHlMcUM7RUN4THJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEc0xEO0VDbk1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENEwrQjtFQzNML0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR5TEQ7RUN0TUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QrTG9DO0VDOUxwQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDRMRDtFQ3pNQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGtNc0M7RUNqTXRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEK0xEO0VDNU1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEcU1vQztFQ3BNcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURrTUQ7RUMvTUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R3TW1DO0VDdk1uQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHFNRDtFQ2xOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDJNK0I7RUMxTS9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEd01EO0VDck5DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEOE1tQztFQzdNbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQyTUQ7RUN4TkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RpTitCO0VDaE4vQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDhNRDtFQzNOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG9OcUM7RUNuTnJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEaU5EO0VDOU5DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEdU5tQztFQ3RObkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURvTkQ7RUNqT0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwTmdDO0VDek5oQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVORDtFQ3BPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZOaUM7RUM1TmpDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEME5EO0VDdk9DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ09nQztFQy9OaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2TkQ7RUMxT0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtT29DO0VDbE9wQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdPRDtFQzdPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNPc0M7RUNyT3RDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbU9EO0VDaFBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeU8rQjtFQ3hPL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURzT0Q7RUNuUEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q0TytCO0VDM08vQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHlPRDtFQ3RQQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRCtPZ0M7RUM5T2hDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENE9EO0VDelBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEa1BnQztFQ2pQaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQrT0Q7RUM1UEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RxUHNDO0VDcFB0QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGtQRDtFQy9QQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHdQaUM7RUN2UGpDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEcVBEO0VDbFFDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMlBtQztFQzFQbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR3UEQ7RUNyUUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q4UG9DO0VDN1BwQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDJQRDtFQ3hRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGlRK0I7RUNoUS9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEOFBEO0VDM1FDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEb1FxQztFQ25RckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURpUUQ7RUM5UUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1UWlDO0VDdFFqQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9RRDtFQ2pSQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBRa0M7RUN6UWxDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdVFEO0VDcFJDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENlFnQztFQzVRaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwUUQ7RUN2UkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnUmdDO0VDL1FoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZRRDtFQzFSQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1Sa0M7RUNsUmxDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ1JEO0VDN1JDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc1IrQjtFQ3JSL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtUkQ7RUNoU0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5UmtDO0VDeFJsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBbEJQRDtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QW1CREU7RW5CSkg7SVVKQztJSElBO0lBQ0E7OztBWUdFO0VuQkpIO0lBWUU7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsYUV1QmM7RUZ0QmQsYUU0QnVCO0VrQmpDdkIsV0FkUTtFQWVSLFdBZFE7O0FwQnNCVDtFQUNDLGFFZ0JXO0VGZlgsYUVtQm9CO0VrQjlCcEIsV0FkUTtFQWVSLFdBZFE7O0FwQjRCVDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFb0JyQkEsV0FkUTtFQWVSLFdBZFEiLCJmaWxlIjoibWV0cmljcy9zcmMvc2Nzcy9ibC1tZXRyaWNzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmxvY2s6IE1ldHJpY3NcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbi8qKiBJbXBvcnQgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcyAqL1xuQGltcG9ydCAnX2ltcG9ydC1kZXBlbmRlbmNpZXMuc2Nzcyc7XG5cblxuLmJsLW1ldHJpY3Mge1xuXHRwYWRkaW5nOiAxMDBweCAwO1xufVxuXG4ubWV0cmljcy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5tZXRyaWNzLWNhcmQge1xuXHR3aWR0aDogc3BhbigxMik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRAaW5jbHVkZSBzcGFuKDYpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdHdpZHRoOiBzcGFuKDMpO1xuXHR9XG5cblx0Lm1ldHJpYy0tdG9wbGluZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRmb250LWZhbWlseTogJGZvbnQtaGVhZGxpbmU7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LWhlYWRsaW5lLXJlZ3VsYXI7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDgwcHgpO1xuXHR9XG5cblx0Lm1ldHJpYy0tYm90dG9tLWxpbmUge1xuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5O1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC1ib2R5LXJlZ3VsYXI7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xuXHR9XG5cblx0LmFjZi1ibG9jay1wcmV2aWV3ICYge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cblx0Jl9fYm90dG9tX2xpbmUge1xuXHRcdG1hcmdpbi10b3A6IGd1dHRlcnMoKTtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG5cdH1cblx0XG59IiwiLyoqXG4gKiBOZWNlc3NhcnkgZGVwZW5kZW5jaWVzIGZvciB0aGUgQmxvY2sgc2NzcyBzdHlsZXNoZWV0cy4gVGhpcyBmaWxlIGlzIGltcG9ydGVkIGludG8gZWFjaCBvZiB0aGUgYnVpbGRzIGZvciBCbG9jayBzY3NzLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuLy8gXG5AaW1wb3J0ICdjb3JlL192YXJpYWJsZXMnO1xuXG5AaW1wb3J0ICdjb3JlL2Z1bmN0aW9ucy9faW5pdCc7XG5cbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2Jsb2NrJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lci1icmVha291dCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19jb250YWluZXInO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fZ3V0dGVycyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19wdWxsJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX3B1c2gnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fc3Bhbic7XG5cbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19jb2xvci5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19ibG9jay1lZGl0b3Iuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYm90dG9tbGluZS5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19icmVha3BvaW50LnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2JyaWNrLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2Jyb3dzZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYnV0dG9ucy5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19jb3ZlcmVyLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2ZsdWlkLXR5cGUuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9faWNvbmZvbnQuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fbWFwLWdldC1uZXh0LnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX29wYWNpdHkuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fdHJhbnNpdGlvbnMuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fd29yZHdyYXAuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fY2VudGVyZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fZWxsaXBzaXMuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fZm9udC1zaXplLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2hvdmVyLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX21hcC1kZWVwLWdldC5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19vYmplY3QtZml0LnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3NoYWRlLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3Zpc3VhbGx5aGlkZGVuLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3otaW5kZXguc2Nzcyc7XG5cbi8vQGltcG9ydCAnY29yZS90eXBvZ3JhcGh5L19mb250cyc7XG5AaW1wb3J0ICdjb3JlL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHktbWl4aW5zLnNjc3MnO1xuXG5AaW1wb3J0ICdwYXJ0aWFscy9pY29uZm9udCc7IiwiLyotLS0tLS0tLS0tLSovXG4vKiBWYXJpYWJsZXNcbi8qLS0tLS0tLS0tLS0qL1xuXG4vLyBHbG9iYWwgR3JpZCwgdmFyaWFibGVzXG4kZ2xvYmFsLWNvbmZpZzpcdChcblx0dGhlbWUtbmFtZTpcdFx0J21pZGNvYXN0LXBsYXRmb3JtJyxcblx0YmxvY2stLXdpZHRoOlx0MTAwdncsXG5cdHdpZHRoOlx0XHRcdDE2MDBweCxcblx0bWF4LXdpZHRoOlx0XHQxNDQwcHgsXG5cdGNvbHVtbnM6XHRcdDEyLFxuXHRndXR0ZXJzOlx0XHQxNXB4LFxuKTtcblxuJGxvZ28taGVpZ2h0OiAoXG5cdHhzOiAgNDBweCxcblx0c206ICA2NXB4LFxuXHRtZDogIDY1cHgsXG5cdGxnOiAgNjVweCxcblx0eGw6ICA2NXB4LFxuXHR4bDI6IDY1cHgsXG5cdHhsMzogNjVweCxcbik7XG5cbiRuYXYtd2lkdGg6IChcblx0eHM6ICA5MHZ3LFxuXHRzbTogIDkwdncsXG5cdG1kOiAgNzB2dyxcblx0bGc6ICAzNXZ3LFxuXHR4bDogIDM1dncsXG5cdHhsMjogMzV2dyxcblx0eGwzOiAzNXZ3LFxuKTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcblx0eHM6ICAwLFxuXHRzbTogIDU0NHB4LFxuXHRtZDogIDc2OHB4LFxuXHRsZzogIDk5MnB4LFxuXHR4bDogIDEyMDBweCxcblx0eGwyOiAxNDQwcHgsXG5cdHhsMzogMTYwMHB4LFxuKTtcblxuLy8gQ29sb3JzXG4kY29sb3JzOiAoXG5cdHJlZDpcdFx0XHRcdCNjMjM3MjUsXG5cdGJsYWNrOlx0XHRcdFx0IzIzMjMyNSxcblx0d2hpdGU6XHRcdFx0XHQjRkZGRkZGLFxuXHRibHVlLWRhcms6XHRcdFx0IzA2MTcyQSxcblx0Ymx1ZTpcdFx0XHRcdCMwMDc3RkYsXG5cdGJsdWUtbWlkOlx0XHRcdCMwMDc3RkYsXG5cdGJsdWUtdWx0cmFsaWdodDpcdCNGM0Y5RkYsXG5cdG9mZi13aGl0ZTpcdFx0XHQjZjRmNGY0LFxuXHR0cmFuc3BhcmVudDpcdFx0dHJhbnNwYXJlbnQsXG4pO1xuXG4vLyBUeXBvZ3JhcGhpYyBJbXBvcnRzIGFuZCBWYXJpYWJsZXNcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUJlYmFzK05ldWUmZmFtaWx5PVBvcHBpbnM6aXRhbCx3Z2h0QDAsMTAwOzAsMjAwOzAsMzAwOzAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzAsOTAwOzEsMTAwOzEsMjAwOzEsMzAwOzEsNDAwOzEsNTAwOzEsNjAwOzEsNzAwOzEsODAwOzEsOTAwJmRpc3BsYXk9c3dhcCcpO1xuXG4kZm9udC1pY29uZm9udDpcdFx0XCJpY29uZm9udFwiO1xuXG4kZm9udC1ib2R5Olx0XHQnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4kZm9udC1oZWFkbGluZTpcdCdCZWJhcyBOZXVlJywgc2Fucy1zZXJpZjtcblxuJGZvbnQtYm9keS1saWdodDpcdFx0XHQzMDA7XG4kZm9udC1ib2R5LXJlZ3VsYXI6XHRcdFx0NDAwO1xuJGZvbnQtYm9keS1zZW1pYm9sZDpcdFx0NjAwO1xuXG4kZm9udC1oZWFkbGluZS1yZWd1bGFyOlx0XHQ0MDA7XG5cbi8vIFotSW5kZXggTWFuYWdlbWVudCAtLSB1dGlsaXplcyBTYXNzIE1hcHNcbi8vIEVhc2llc3Qgd2F5IHRvIHVzZSBpcyB2aWEgdGhlIG1peGluOiBAaW5jbHVkZSB6LWluZGV4KHplcm8pO1xuJHotaW5kZXg6IChcblx0aGVhdmVuXHRcdFx0XHRcdDpcdDk5OTksXG5cdHNlYXJjaFx0XHRcdFx0XHQ6XHQxMDAwLFxuXHRoZWFkZXJcdFx0XHRcdFx0Olx0NjAwLFxuXHRmb290ZXJcdFx0XHRcdFx0Olx0NDAwLFxuXHRtZW51LW92ZXJsYXlcdFx0XHQ6XHQzMDAsXG5cdG1lbnUtb3ZlcmxheS1zY3JpbVx0XHQ6XHQyMDAsXG5cdHNpdGUtb3ZlcmxheS1zY3JpbVx0XHQ6XHQxOTksXG5cdGhhbWJ1cmdlclx0XHRcdFx0Olx0MjAwLFxuXHRhYm92ZWdyb3VuZFx0XHRcdFx0Olx0MTAwLFxuXHRncmFzc1x0XHRcdFx0XHQ6XHQyLFxuXHRncm91bmRcdFx0XHRcdFx0Olx0MSxcblx0emVyb1x0XHRcdFx0XHQ6XHQwLFxuXHR1bmRlcmdyb3VuZFx0XHRcdFx0Olx0LTEsXG5cdGhlbGxcdFx0XHRcdFx0Olx0LTk5OTlcbik7XG5cbiRib3gtc2hhZG93OiA1cHggNXB4IDE2cHggLTZweCByZ2JhKDAsIDAsIDAsIC4zNSk7XG4kYm9yZGVyLXJhZGl1czogIDBweDtcblxuJHRyYW5zaXRpb25zOiAoXG5cdGVhc2VcdFx0XHQ6IFx0ZWFzZSxcblx0bGluZWFyXHRcdFx0OiBcdGxpbmVhcixcblx0ZWFzZS1pblx0XHRcdDogXHRlYXNlLWluLFxuXHRlYXNlLW91dFx0XHQ6IFx0ZWFzZS1vdXQsXG5cdGVhc2UtaW4tb3V0XHRcdDogXHRlYXNlLWluLW91dCxcblx0c3RlcC1zdGFydFx0XHQ6IFx0c3RlcC1zdGFydCxcblx0c3RlcC1lbmRcdFx0OiBcdHN0ZXAtZW5kLFxuXG5cdC8vIFNwZWNpYWwgRWZmZWN0c1xuXHRib3VuY2VcdFx0XHQ6XHRjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KSxcblxuXHQvLyBDdWJpY1xuXHRlYXNlSW5DdWJpY1x0XHQ6XHRjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApLFxuXHRlYXNlT3V0Q3ViaWMgXHQ6XHRjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApLFxuXHRlYXNlSW5PdXRDdWJpY1x0Olx0Y3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSxcblxuXHQvLyBDaXJjXG5cdGVhc2VJbkNpcmMgICBcdDpcdGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSksXG5cdGVhc2VPdXRDaXJjICBcdDpcdGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCksXG5cdGVhc2VJbk91dENpcmNcdDpcdGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCksXG5cblx0Ly8gRXhwb1xuXHRlYXNlSW5FeHBvICAgXHQ6XHRjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpLFxuXHRlYXNlT3V0RXhwbyAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApLFxuXHRlYXNlSW5PdXRFeHBvXHQ6XHRjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApLFxuXG5cdC8vIFF1YWRcblx0ZWFzZUluUXVhZCAgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApLFxuXHRlYXNlT3V0UXVhZCAgICBcdDpcdGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCksXG5cdGVhc2VJbk91dFF1YWQgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KSxcblxuXHQvLyBRdWFydFxuXHRlYXNlSW5RdWFydCAgICBcdDpcdGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCksXG5cdGVhc2VPdXRRdWFydCAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKSxcblx0ZWFzZUluT3V0UXVhcnQgXHQ6XHRjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApLFxuXG5cdC8vIFF1aW50XG5cdGVhc2VJblF1aW50ICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKSxcblx0ZWFzZU91dFF1aW50ICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApLFxuXHRlYXNlSW5PdXRRdWludCBcdDpcdGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCksXG5cblx0Ly8gU2luZVxuXHRlYXNlSW5TaW5lICAgICBcdDpcdGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSksXG5cdGVhc2VPdXRTaW5lICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKSxcblx0ZWFzZUluT3V0U2luZSAgXHQ6XHRjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApLFxuXG5cdC8vIEJhY2tcblx0ZWFzZUluQmFjayAgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KSxcblx0ZWFzZU91dEJhY2sgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KSxcblx0ZWFzZUluT3V0QmFjayAgXHQ6XHRjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKSxcbik7IiwiLyoqKioqKioqKi9cbi8qIFNhc3MgRnVuY3Rpb25zXG4vKioqKioqKioqL1xuXG5AaW1wb3J0ICdfaXMtaW50LnNjc3MnOyIsIi8qKlxuICogR3JpZCBNaXhpbjogYmxvY2soKVxuICpcbiAqIERlZmluZXMgdGhlIGJhc2UgY29udGFpbmVyIGZvciBhIHBhZ2UgYmxvY2tcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkBtaXhpbiBibG9jaygkd2lkdGg6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGJsb2NrLS13aWR0aCksICRndXR0ZXJzOiBmYWxzZSwgJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAkd2lkdGg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRAaWYgKCRndXR0ZXJzID09IHRydWUpIHtcblx0XHRAaW5jbHVkZSBndXR0ZXJzKCk7XG5cdH1cblx0QGluY2x1ZGUgei1pbmRleCh6ZXJvKTtcbn0iLCIvKipcbiAqIE1peGluOiBibG9jaygpXG4gKlxuICogQ3JlYXRlcyBhIGZ1bGwtYnJvd3Nlci13aWR0aCBjb250YWluZXIgd2hlbiB5b3UgYXJlIGluc2lkZSBhIGxpbWl0ZWQtd2lkdGggcGFyZW50LCBlZywgaW5zaWRlIG9mIEBtaXhpbiBjb250YWluZXIoKS5cbiAqIFRoaXMgaXMgc29tZXdoYXQgdW5uZWNlc3NhcnksIHNpbmNlIGFsbCBjb21wb25lbnRzIHN0YXJ0IGluc2lkZSBhIDEwMHZ3IGJsb2NrLiBIb3dldmVyLCBpdCBjYW4gYmUgaGVscGZ1bCBpZiB5b3VcbiAqIG5lZWQgdG8gY3JlYXRlIGEgZnVsbCB3aWR0aCBjb21wb25lbnQgdGhhdCBpcyBpbnNpZGUgYSAuY29udGFpbmVyIHBhcmVudC5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkBtaXhpbiBjb250YWluZXItYnJlYWtvdXQoKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMHZ3O1xuXHRtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogY29udGFpbmVyKClcbiAqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIHBhZ2UgYmxvY2sgdGhhdCBpcyAxMDAlIG9mIHRoZSAkZ2xvYmFsLXdpZHRoIGRlZmluZWQgaW4gdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbiBAbWl4aW4gY29udGFpbmVyKCRmbGV4OiB0cnVlLCAkcGFkZGluZzogMCwgJG1hcmdpbjogdHJ1ZSwgJHdpZHRoOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCB3aWR0aCksICRmbGV4LWRpcmVjdGlvbjogcm93LCAkbWF4LXdpZHRoOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCB3aWR0aCkpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRAaWYgKCRmbGV4ID09IHRydWUpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiAkZmxleC1kaXJlY3Rpb247XG5cdH1cblx0QGlmICgkbWFyZ2luID09IHRydWUpIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxuXHRAaWYgKCRwYWRkaW5nKSB7XG5cdFx0QGluY2x1ZGUgZ3V0dGVycygkcGFkZGluZyk7XG5cdH1cblx0Ly9UaGlzIGlzIGZvciB0aGUgQ2hyb21lIDEyLWNvbHVtbiBncmlkIGV4dGVuc2lvbi5cblx0I2Jvb3RzdHJhcC1ncmlkLWZyYW1lLWpoYnNkb3Z1ICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbkBtaXhpbiBjb250YWluZXItZmx1aWQoKSB7XG5cdEBpbmNsdWRlIGNvbnRhaW5lcigkbWF4LXdpZHRoOiAxMDAlKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IGd1dHRlcnMoKVxuICpcbiAqIENyZWF0ZXMgbGVmdC9yaWdodCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuIFByaW1hcmlseSB1c2VkIG9uIHNwYW4oKSBlbGVtZW50cywgYnV0IGNhbiBiZSB1dGlsaXplZCBhbnl3aGVyZS5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbiBAZnVuY3Rpb24gZ3V0dGVycygkZmFjdG9yOiAxKSB7XG5cdCRndXR0ZXJzOiAobWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgZ3V0dGVycykgKiAkZmFjdG9yKTtcblx0QHJldHVybiAkZ3V0dGVycztcbn1cblxuQGZ1bmN0aW9uIGJ1dHRlcnMoJGZhY3RvcjogMSkge1xuXHQkZ3V0dGVyczogKG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGd1dHRlcnMpICogJGZhY3Rvcik7XG5cdEByZXR1cm4gJGd1dHRlcnM7XG59XG5cbkBtaXhpbiBndXR0ZXJzKCRmYWN0b3I6IDEpIHtcblx0cGFkZGluZy1sZWZ0OiBndXR0ZXJzKCRmYWN0b3IpO1xuXHRwYWRkaW5nLXJpZ2h0OiBndXR0ZXJzKCRmYWN0b3IpO1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogcHVsbCgpXG4gKlxuICogUHVsbHMgYW4gaXRlbSBsZWZ0IHVzaW5nIG5lZ2F0aXZlIG1hcmdpbnMsIGJhc2VkIG9uIDEyLWNvbHVtbiBncmlkXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG5AbWl4aW4gcHVsbCgkY29sdW1uczogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRjb250YWluZXI6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpKSB7XG5cdG1hcmdpbi1sZWZ0OiAoc3BhbigkY29sdW1ucywgJGNvbnRhaW5lcikgKiAtMSk7XG59IiwiLyoqXG4gKiBHcmlkIE1peGluOiBwdXNoKClcbiAqXG4gKiBQdXNoZXMgYW4gaXRlbSByaWdodCB1c2luZyBwb3NpdGl2ZSBtYXJnaW5zLCBiYXNlZCBvbiAxMi1jb2x1bW4gZ3JpZFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cbiBcbiBAbWl4aW4gcHVzaCgkY29sdW1uczogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRjb250YWluZXI6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpKSB7XG5cdG1hcmdpbi1sZWZ0OiBzcGFuKCRjb2x1bW5zLCAkY29udGFpbmVyKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IHNwYW4oKVxuICpcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgb2YgYSBkZWZpbmVkICUgd2lkdGgsIGJhc2VkIG9uIGEgMTIgY29sdW1uIGdyaWRcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGZ1bmN0aW9uIHNwYW4oJGNvbHVtbnM6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkY29udGFpbmVyOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSkge1xuXHRAcmV0dXJuIHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRjb250YWluZXIpKTtcbn1cblxuQG1peGluIHNwYW4oJGNvbHVtbnM6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkY29udGFpbmVyOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGZsZXg6IHRydWUsICRndXR0ZXJzOiB0cnVlKSB7XG5cdHdpZHRoOiBzcGFuKCRjb2x1bW5zLCAkY29udGFpbmVyKTtcblx0QGlmICgkZmxleCA9PSBmYWxzZSkge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHR9XG5cdEBpZiAoJGd1dHRlcnMgPT0gdHJ1ZSkge1xuXHRcdEBpbmNsdWRlIGd1dHRlcnMoKTtcblx0fVxufVxuXG4uc3Bhbi0xIHtcblx0d2lkdGg6IHNwYW4oMSk7XG59XG4uc3Bhbi0yIHtcblx0d2lkdGg6IHNwYW4oMik7XG59XG4uc3Bhbi0zIHtcblx0d2lkdGg6IHNwYW4oMyk7XG59XG4uc3Bhbi00IHtcblx0d2lkdGg6IHNwYW4oNCk7XG59XG4uc3Bhbi01IHtcblx0d2lkdGg6IHNwYW4oNSk7XG59XG4uc3Bhbi02IHtcblx0d2lkdGg6IHNwYW4oNik7XG59XG4uc3Bhbi03IHtcblx0d2lkdGg6IHNwYW4oNyk7XG59XG4uc3Bhbi04IHtcblx0d2lkdGg6IHNwYW4oOCk7XG59XG4uc3Bhbi05IHtcblx0d2lkdGg6IHNwYW4oOSk7XG59XG4uc3Bhbi0xMCB7XG5cdHdpZHRoOiBzcGFuKDEwKTtcbn1cbi5zcGFuLTExIHtcblx0d2lkdGg6IHNwYW4oMTEpO1xufVxuLnNwYW4tMTIge1xuXHR3aWR0aDogc3BhbigxMik7XG59XG4iLCIvKipcbiAqIEZ1bmN0aW9uIGFuZCBNaXhpbiBmb3IgZ2V0dGluZyBjb2xvcnMgZnJvbSB0aGUgJGNvbG9yIGFycmF5XG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogMSkge1xuXHRAaWYgKCRvcGFjaXR5ICE9IDEpIHtcblx0QHJldHVybiByZ2JhKG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKSwgJG9wYWNpdHkpO1xuXHR9IEBlbHNlIHtcblx0QHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRjb2xvcik7XG5cdH1cbn1cblxuQG1peGluIGNvbG9yKCRjb2xvciwgJHByb3BlcnR5LW5hbWU6IGNvbG9yLCAkb3BhY2l0eTogMSkge1xuXHRAaWYgKCRvcGFjaXR5ICE9IDEpIHtcblx0I3skcHJvcGVydHlfbmFtZX06IHJnYmEoY29sb3IoJGNvbG9yKSwgJG9wYWNpdHkpO1xuXHR9IEBlbHNlIHtcblx0I3skcHJvcGVydHlfbmFtZX06IGNvbG9yKCRjb2xvcik7XG5cdH1cbn0iLCIvKipcbiAqIE1peGluIGZvciB3cml0aW5nIHN0eWxlcyB0aGF0IG9ubHkgZGlzcGxheSBpbiB0aGUgYmxvY2sgZWRpdG9yXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG4gQG1peGluIGJsb2NrLWVkaXRvcigpIHtcblx0LmFjZi1ibG9jay1wcmV2aWV3ICYge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiQG1peGluIGJvdHRvbWxpbmUoJGNvbG9yOiBpbmhlcml0KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDQ1cHg7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHR9XG59XG4uYm90dG9tbGluZSB7XG4gICAgQGluY2x1ZGUgYm90dG9tbGluZShjb2xvcihibHVlLW1pZCkpO1xufSIsIi8qKlxuICogTWl4aW4gZm9yIGRpc3BsYXkgYSBicmljayBwc2V1ZHVvIGVsZW1lbnQuIEEgYnJpY2sgaXMgdGhlIGxpdHRsZSBob3Jpem9udGFsIGxpbmUgdW5kZXIgaGVhZGxpbmVzLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cbiBcbiBAbWl4aW4gYnJpY2soJGNvbG9yOiBjb2xvcihwaW5rKSkge1xuXHRjb250ZW50OiAnJztcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDNweDtcblx0bWFyZ2luOiA1cHggYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gfSIsIi8qKlxuICogTWl4aW4gZm9yIGFwcGx5aW5nIGJhY2tncm91bmQgc2hhZGUgdG8gYW4gZWxlbWVudFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuIEBtaXhpbiBzaGFkZSgkc2hhZGUpIHtcblx0XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS11bHRyYWxpZ2h0Jykge1xuXHRcdEBpbmNsdWRlIGNvbG9yKHVsdHJhbGlnaHQsIGJhY2tncm91bmQtY29sb3IpO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLWJsdWUtZ3JhZGllbnQnKSB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDYwZGVnLCBjb2xvcihibHVlLCAxKSA0MCUsIGNvbG9yKGJsdWUtZGFyaywgMSkgNjAlKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1wdXJwbGUtZ3JhZGllbnQnKSB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0zMGRlZywgY29sb3IoYmx1ZS1kYXJrLCAxKSA0MCUsIGNvbG9yKHB1cnBsZSwgMSkgNjAlKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1ibHVlJykge1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKGJsdWUtZGFyayk7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtcHVycGxlJykge1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKHB1cnBsZSk7XG5cdH1cbiB9XG5cbiBAbWl4aW4gc2hhZGUtdGV4dCgkc2hhZGUpIHtcblx0XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS11bHRyYWxpZ2h0Jykge1xuXHRcdGNvbG9yOiBjb2xvcihibGFjayk7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtYmx1ZS1ncmFkaWVudCcpIHtcblx0XHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXHR9XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS10ZXh0LWRhcmsnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKGJsYWNrKTtcblx0fVxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtdGV4dC1saWdodCcpIHtcblx0XHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXHR9XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1ibHVlJykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXB1cnBsZScpIHtcblx0XHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXHR9XG4gfVxuXG4gQG1peGluIHNoYWRlLWNoaWxkKCRzaGFkZTogbnVsbCkge1xuXHRAaWYgKCRzaGFkZSAhPSBudWxsKSB7XG5cdFx0LnNoYWRlLiN7JHNoYWRlfSAmIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxuIH0iLCIvKipcbiAqIE1peGluOiB6LWluZGV4KCRsZXZlbCwgJGltcG9ydGFudClcbiAqXG4gKiBVc2VzIHRoZSBTYXNzLU1hcCBkZWZpbmVkIGluIHBhcnRpYWxzL3ZhcmlhYmxlcy5zY3NzIHRvIGxvYWQgYSBuYW1lZCB6LWluZGV4IGxldmVsLiBJZiBhbiBpbnRlZ2VyIGlzIHBhc3NlZCwgdGhhdCBpbnRlZ2VyIGlzIHVzZWQgYXMgdGhlIHotaW5kZXggbGV2ZWwuXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG5AbWl4aW4gei1pbmRleCgkbGV2ZWw6IGdyb3VuZCwgJGltcG9ydGFudDogJ251bGwnKSB7XG5cdCR6aW5kZXg6IHN0cmluZztcblxuXHRAaWYgaXMtaW50KCRsZXZlbCkge1xuXHRcdCR6aW5kZXg6ICRsZXZlbDtcblx0fSBAZWxzZSB7XG5cdFx0JHppbmRleDogbWFwLWdldCgkei1pbmRleCwgJGxldmVsKTtcblx0fVxuXHRAaWYgKCRpbXBvcnRhbnQgPT0gJ2ltcG9ydGFudCcpXG5cdHtcblx0XHR6LWluZGV4OiAkemluZGV4ICFpbXBvcnRhbnQ7XG5cdH1cblx0QGVsc2Uge1xuXHRcdHotaW5kZXg6ICR6aW5kZXg7XG5cdH1cbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJpY29uZm9udFwiO1xuICAgIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuZW90P3QycTk4NycpO1xuICAgIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuZW90P3QycTk4NyNpZWZpeCcpIGZvcm1hdCgnZW90JyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC53b2ZmMj90MnE5ODcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC53b2ZmP3QycTk4NycpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQudHRmP3QycTk4NycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgIHVybCgnLi4vLi4vYXNzZXRzL21lZGlhL2ZvbnRzL2ljb25mb250L2ljb25mb250LnN2Zz90MnE5ODcjaWNvbmZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4kZm9udC1pY29uZm9udDpcdFwiaWNvbmZvbnRcIjtcblxuJGljb24tYWNjb3VudDogXCJcXEVBMDFcIjtcbiRpY29uLWFycm93LWRvd24tbG9uZzogXCJcXEVBMDJcIjtcbiRpY29uLWFycm93LWRvd246IFwiXFxFQTAzXCI7XG4kaWNvbi1hcnJvdy1sZWZ0LWxvbmc6IFwiXFxFQTA0XCI7XG4kaWNvbi1hcnJvdy1sZWZ0OiBcIlxcRUEwNVwiO1xuJGljb24tYXJyb3ctcmlnaHQtbG9uZzogXCJcXEVBMDZcIjtcbiRpY29uLWFycm93LXJpZ2h0OiBcIlxcRUEwN1wiO1xuJGljb24tYXJyb3ctdXAtbG9uZzogXCJcXEVBMDhcIjtcbiRpY29uLWFycm93LXVwLXJpZ2h0OiBcIlxcRUEwOVwiO1xuJGljb24tYXJyb3ctdXA6IFwiXFxFQTBBXCI7XG4kaWNvbi1iZWxsOiBcIlxcRUEwQlwiO1xuJGljb24tYnJvd3NlcjogXCJcXEVBMENcIjtcbiRpY29uLWNhbGVuZGFyOiBcIlxcRUEwRFwiO1xuJGljb24tY2FyZXQtZG93bjogXCJcXEVBMEVcIjtcbiRpY29uLWNhcmV0LWxlZnQ6IFwiXFxFQTBGXCI7XG4kaWNvbi1jYXJldC1yaWdodDogXCJcXEVBMTBcIjtcbiRpY29uLWNhcmV0LXVwOiBcIlxcRUExMVwiO1xuJGljb24tY2hhdDogXCJcXEVBMTJcIjtcbiRpY29uLWNoZWNrOiBcIlxcRUExM1wiO1xuJGljb24tY2hlY2tib3gtZW1wdHk6IFwiXFxFQTE0XCI7XG4kaWNvbi1jaGVja2JveDogXCJcXEVBMTVcIjtcbiRpY29uLWNoZXZyb24tZG93bjogXCJcXEVBMTZcIjtcbiRpY29uLWNoZXZyb24tbGVmdDogXCJcXEVBMTdcIjtcbiRpY29uLWNoZXZyb24tcmlnaHQ6IFwiXFxFQTE4XCI7XG4kaWNvbi1jaGV2cm9uLXVwOiBcIlxcRUExOVwiO1xuJGljb24tY2lyY2xlOiBcIlxcRUExQVwiO1xuJGljb24tY2xvY2s6IFwiXFxFQTFCXCI7XG4kaWNvbi1jbG9zZS13aGl0ZTogXCJcXEVBMUNcIjtcbiRpY29uLWNsb3NlOiBcIlxcRUExRFwiO1xuJGljb24tY29tcG9zZTogXCJcXEVBMUVcIjtcbiRpY29uLWRvY3VtZW50OiBcIlxcRUExRlwiO1xuJGljb24tZG93bmxvYWQ6IFwiXFxFQTIwXCI7XG4kaWNvbi1lbWFpbC1hbHQ6IFwiXFxFQTIxXCI7XG4kaWNvbi1lbWFpbDogXCJcXEVBMjJcIjtcbiRpY29uLWZhY2Vib29rOiBcIlxcRUEyM1wiO1xuJGljb24tZm9jdXM6IFwiXFxFQTI0XCI7XG4kaWNvbi1ob21lOiBcIlxcRUEyNVwiO1xuJGljb24taW5mby1hbGVydDogXCJcXEVBMjZcIjtcbiRpY29uLWluZm86IFwiXFxFQTI3XCI7XG4kaWNvbi1pbnN0YWdyYW06IFwiXFxFQTI4XCI7XG4kaWNvbi1sZWFybi1hbGVydDogXCJcXEVBMjlcIjtcbiRpY29uLWxpZ2h0YnVsYjogXCJcXEVBMkFcIjtcbiRpY29uLWxpbmtlZGluOiBcIlxcRUEyQlwiO1xuJGljb24tbG9hbjogXCJcXEVBMkNcIjtcbiRpY29uLWxvY2F0aW9uOiBcIlxcRUEyRFwiO1xuJGljb24tbG9jazogXCJcXEVBMkVcIjtcbiRpY29uLW1hcmtzbWVkaWE6IFwiXFxFQTJGXCI7XG4kaWNvbi1taWRjb2FzdDogXCJcXEVBMzBcIjtcbiRpY29uLW1pbnVzOiBcIlxcRUEzMVwiO1xuJGljb24tcGVyc29uOiBcIlxcRUEzMlwiO1xuJGljb24tcGhvbmU6IFwiXFxFQTMzXCI7XG4kaWNvbi1waW50ZXJlc3Q6IFwiXFxFQTM0XCI7XG4kaWNvbi1wbGF5LWNpcmNsZTogXCJcXEVBMzVcIjtcbiRpY29uLXBsYXk6IFwiXFxFQTM2XCI7XG4kaWNvbi1wbHVzOiBcIlxcRUEzN1wiO1xuJGljb24tcXVvdGU6IFwiXFxFQTM4XCI7XG4kaWNvbi1yZXNldDogXCJcXEVBMzlcIjtcbiRpY29uLXNjcm9sbC1kb3duOiBcIlxcRUEzQVwiO1xuJGljb24tc2VhcmNoOiBcIlxcRUEzQlwiO1xuJGljb24tc25hcGNoYXQ6IFwiXFxFQTNDXCI7XG4kaWNvbi1zdGFyLWhhbGY6IFwiXFxFQTNEXCI7XG4kaWNvbi1zdGFyOiBcIlxcRUEzRVwiO1xuJGljb24tdGhyZWUtZG90czogXCJcXEVBM0ZcIjtcbiRpY29uLXRpa3RvazogXCJcXEVBNDBcIjtcbiRpY29uLXR3aXR0ZXI6IFwiXFxFQTQxXCI7XG4kaWNvbi12aWRlbzogXCJcXEVBNDJcIjtcbiRpY29uLXZpbWVvOiBcIlxcRUE0M1wiO1xuJGljb24td2Vic2l0ZTogXCJcXEVBNDRcIjtcbiRpY29uLXllbHA6IFwiXFxFQTQ1XCI7XG4kaWNvbi15b3V0dWJlOiBcIlxcRUE0NlwiO1xuXG5cblxuLmljb24tYWNjb3VudDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYWNjb3VudCwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1kb3duLWxvbmc6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LWRvd24tbG9uZywgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1kb3duOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1kb3duLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWxlZnQtbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctbGVmdC1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWxlZnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LWxlZnQsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctcmlnaHQtbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctcmlnaHQtbG9uZywgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1yaWdodDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctcmlnaHQsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctdXAtbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctdXAtbG9uZywgMTVweCk7XG59XG4uaWNvbi1hcnJvdy11cC1yaWdodDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctdXAtcmlnaHQsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctdXA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LXVwLCAxNXB4KTtcbn1cbi5pY29uLWJlbGw6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWJlbGwsIDE1cHgpO1xufVxuLmljb24tYnJvd3Nlcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYnJvd3NlciwgMTVweCk7XG59XG4uaWNvbi1jYWxlbmRhcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FsZW5kYXIsIDE1cHgpO1xufVxuLmljb24tY2FyZXQtZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtZG93biwgMTVweCk7XG59XG4uaWNvbi1jYXJldC1sZWZ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC1sZWZ0LCAxNXB4KTtcbn1cbi5pY29uLWNhcmV0LXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC1yaWdodCwgMTVweCk7XG59XG4uaWNvbi1jYXJldC11cDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtdXAsIDE1cHgpO1xufVxuLmljb24tY2hhdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hhdCwgMTVweCk7XG59XG4uaWNvbi1jaGVjazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hlY2ssIDE1cHgpO1xufVxuLmljb24tY2hlY2tib3gtZW1wdHk6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZWNrYm94LWVtcHR5LCAxNXB4KTtcbn1cbi5pY29uLWNoZWNrYm94OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGVja2JveCwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLWRvd246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tZG93biwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLWxlZnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tbGVmdCwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGV2cm9uLXJpZ2h0LCAxNXB4KTtcbn1cbi5pY29uLWNoZXZyb24tdXA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tdXAsIDE1cHgpO1xufVxuLmljb24tY2lyY2xlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaXJjbGUsIDE1cHgpO1xufVxuLmljb24tY2xvY2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNsb2NrLCAxNXB4KTtcbn1cbi5pY29uLWNsb3NlLXdoaXRlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jbG9zZS13aGl0ZSwgMTVweCk7XG59XG4uaWNvbi1jbG9zZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2xvc2UsIDE1cHgpO1xufVxuLmljb24tY29tcG9zZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY29tcG9zZSwgMTVweCk7XG59XG4uaWNvbi1kb2N1bWVudDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZG9jdW1lbnQsIDE1cHgpO1xufVxuLmljb24tZG93bmxvYWQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWRvd25sb2FkLCAxNXB4KTtcbn1cbi5pY29uLWVtYWlsLWFsdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZW1haWwtYWx0LCAxNXB4KTtcbn1cbi5pY29uLWVtYWlsOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1lbWFpbCwgMTVweCk7XG59XG4uaWNvbi1mYWNlYm9vazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZmFjZWJvb2ssIDE1cHgpO1xufVxuLmljb24tZm9jdXM6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWZvY3VzLCAxNXB4KTtcbn1cbi5pY29uLWhvbWU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWhvbWUsIDE1cHgpO1xufVxuLmljb24taW5mby1hbGVydDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taW5mby1hbGVydCwgMTVweCk7XG59XG4uaWNvbi1pbmZvOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1pbmZvLCAxNXB4KTtcbn1cbi5pY29uLWluc3RhZ3JhbTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taW5zdGFncmFtLCAxNXB4KTtcbn1cbi5pY29uLWxlYXJuLWFsZXJ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sZWFybi1hbGVydCwgMTVweCk7XG59XG4uaWNvbi1saWdodGJ1bGI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWxpZ2h0YnVsYiwgMTVweCk7XG59XG4uaWNvbi1saW5rZWRpbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbGlua2VkaW4sIDE1cHgpO1xufVxuLmljb24tbG9hbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9hbiwgMTVweCk7XG59XG4uaWNvbi1sb2NhdGlvbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9jYXRpb24sIDE1cHgpO1xufVxuLmljb24tbG9jazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9jaywgMTVweCk7XG59XG4uaWNvbi1tYXJrc21lZGlhOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1tYXJrc21lZGlhLCAxNXB4KTtcbn1cbi5pY29uLW1pZGNvYXN0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1taWRjb2FzdCwgMTVweCk7XG59XG4uaWNvbi1taW51czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbWludXMsIDE1cHgpO1xufVxuLmljb24tcGVyc29uOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wZXJzb24sIDE1cHgpO1xufVxuLmljb24tcGhvbmU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBob25lLCAxNXB4KTtcbn1cbi5pY29uLXBpbnRlcmVzdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGludGVyZXN0LCAxNXB4KTtcbn1cbi5pY29uLXBsYXktY2lyY2xlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wbGF5LWNpcmNsZSwgMTVweCk7XG59XG4uaWNvbi1wbGF5OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wbGF5LCAxNXB4KTtcbn1cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBsdXMsIDE1cHgpO1xufVxuLmljb24tcXVvdGU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXF1b3RlLCAxNXB4KTtcbn1cbi5pY29uLXJlc2V0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1yZXNldCwgMTVweCk7XG59XG4uaWNvbi1zY3JvbGwtZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc2Nyb2xsLWRvd24sIDE1cHgpO1xufVxuLmljb24tc2VhcmNoOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1zZWFyY2gsIDE1cHgpO1xufVxuLmljb24tc25hcGNoYXQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXNuYXBjaGF0LCAxNXB4KTtcbn1cbi5pY29uLXN0YXItaGFsZjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc3Rhci1oYWxmLCAxNXB4KTtcbn1cbi5pY29uLXN0YXI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXN0YXIsIDE1cHgpO1xufVxuLmljb24tdGhyZWUtZG90czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdGhyZWUtZG90cywgMTVweCk7XG59XG4uaWNvbi10aWt0b2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXRpa3RvaywgMTVweCk7XG59XG4uaWNvbi10d2l0dGVyOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi10d2l0dGVyLCAxNXB4KTtcbn1cbi5pY29uLXZpZGVvOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi12aWRlbywgMTVweCk7XG59XG4uaWNvbi12aW1lbzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdmltZW8sIDE1cHgpO1xufVxuLmljb24td2Vic2l0ZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24td2Vic2l0ZSwgMTVweCk7XG59XG4uaWNvbi15ZWxwOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi15ZWxwLCAxNXB4KTtcbn1cbi5pY29uLXlvdXR1YmU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXlvdXR1YmUsIDE1cHgpO1xufSIsIkBmdW5jdGlvbiB1bmljb2RlKCRzdHIpIHtcblx0QHJldHVybiB1bnF1b3RlKFwiXFxcIlwiKSArICRzdHIgKyB1bnF1b3RlKFwiXFxcIlwiKTtcbiAgfVxuXG4vL0ljb25mb250XG5AbWl4aW4gaWNvbmZvbnQoJGNvbnRlbnQ6IFwiIFwiLCAkZm9udC1zaXplOiBpbmhlcml0LCAkY29sb3I6IGluaGVyaXQgKSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1pY29uZm9udDtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblx0Y29udGVudDogdW5pY29kZSgkY29udGVudCk7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblx0Y29sb3I6ICRjb2xvcjtcblx0XG5cdC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn0iLCIvL0N1c3RvbSBicmVha3BvaW50IG1peGluXG5AbWl4aW4gYnJlYWtwb2ludCgkYnJlYWtwb2ludDogJ3hzJywgJHF1ZXJ5OiAnbWluJywgJG1pbi13aWR0aDogTlVMTCwgJG1heC13aWR0aDogTlVMTCkge1xuXHRAaWYgKCgkbWluLXdpZHRoICE9IE5VTEwpIG9yICgkbWF4LXdpZHRoICE9IE5VTEwpKSB7XG5cdFx0QGlmICgoJG1pbi13aWR0aCAhPSBOVUxMKSBhbmQgKCRtYXgtd2lkdGggPT0gTlVMTCkpIHtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkbWluLXdpZHRoKSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRAaWYgKCgkbWluLXdpZHRoID09IE5VTEwpIGFuZCAoJG1heC13aWR0aCAhPSBOVUxMKSkge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpZiAoKCRtaW4td2lkdGggIT0gTlVMTCkgYW5kICgkbWF4LXdpZHRoICE9IE5VTEwpKSB7XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1pbi13aWR0aCkgYW5kIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdFxuXHR9XG5cdEBlbHNlIHtcblx0XHRAaWYgKCRxdWVyeSA9PSAnbWluJykge1x0XHRcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpZiAoJHF1ZXJ5ID09ICdtYXgnKSB7XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogKG1hcC1nZXQtbmV4dCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC0gMSkpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpZiAoJHF1ZXJ5ID09ICdvbmx5Jykge1xuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkgYW5kIChtYXgtd2lkdGg6IChtYXAtZ2V0LW5leHQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSAtIDEpKSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGZ1bmN0aW9uIHBhcnNlSW50KCRuKSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJG4sICRuICogMCArIDEpO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZXMpIHtcblx0JHB4IDogKCk7XG5cdCRyZW06ICgpO1xuXHRcblx0QGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuXG5cdFx0QGlmICR2YWx1ZSA9PSAwIG9yICR2YWx1ZSA9PSBhdXRvIHtcblx0XHRcdCRweCA6IGFwcGVuZCgkcHggLCAkdmFsdWUpO1xuXHRcdFx0JHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG5cdFx0fVxuXG5cdFx0QGVsc2Uge1xuXHRcdFx0JHVuaXQ6IHVuaXQoJHZhbHVlKTtcdCBcblx0XHRcdCR2YWw6IHBhcnNlSW50KCR2YWx1ZSk7XG5cdFx0XG5cdFx0XHRAaWYgJHVuaXQgPT0gXCJweFwiIHsgXG5cdFx0XHRcdCRweCA6IGFwcGVuZCgkcHgsICAkdmFsdWUpO1xuXHRcdFx0XHQkcmVtOiBhcHBlbmQoJHJlbSwgKCR2YWwgKiAwLjEgKyByZW0pKTtcblx0XHRcdH1cblx0XHRcblx0XHRcdEBpZiAkdW5pdCA9PSBcInJlbVwiIHtcblx0XHRcdFx0JHB4IDogYXBwZW5kKCRweCwgICgkdmFsICogMTAgKyBweCkpO1xuXHRcdFx0XHQkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgJHB4ID09ICRyZW0ge1x0XHQgIFxuXHRcdGZvbnQtc2l6ZTogJHB4OyBcblx0fSBAZWxzZSB7XG5cdFx0Zm9udC1zaXplOiAkcHg7IFxuXHRcdGZvbnQtc2l6ZTogJHJlbTtcblx0fVxufSJdfQ== */
