/**
 * Allows you to use retina images at various pixel densities.
 * Examples:
 *
 *   @include retina(/images/mypic.jpg, 2);
 *   @include retina(/images/mypic.jpg, 3, 100px 100px, left top no-repeat transparent);
 *
 * @param  {Value}  $path               The path to the file name minus extension.
 * @param  {Number} $cap:    2          The highest pixel density level images exist for.
 * @param  {Value}  $size:   auto auto  The intended width of the rendered image.
 * @param  {Value}  $extras: null       Any other `background` values to be added.
 */
.clear-list-style, .nav-tabs:not(.non-styles) {
  list-style: none;
  margin: 0;
  padding: 0; }

.clearfix:after {
  content: " ";
  display: table; }

.font-Circe, .form-control, .form-control:focus, input.form-control[type=checkbox] + label {
  font-family: Circe, Arial, sans-serif; }

.font-CirceBold, b, .popup-form a, .nav-tabs:not(.non-styles) a.nav-link, .nav-tabs:not(.non-styles) a.nav-link:hover {
  font-family: CirceBold, Arial, sans-serif; }

.font-CirceExtraBold {
  font-family: CirceExtraBold, Arial, sans-serif; }

.font-CirceLight {
  font-family: CirceLight, Arial, sans-serif; }

.font-CirceExtraLight {
  font-family: CirceExtraLight, Arial, sans-serif; }

.font-CirceThin {
  font-family: CirceThin, Arial, sans-serif; }

.font-icon {
  font-family: PlanetariumIcon, Arial, sans-serif; }

.sm-down {
  display: none; }

.md-up {
  display: block; }

.sm-down {
  display: none; }

.md-up {
  display: block; }

@media (max-width: 767px) {
  .sm-down {
    display: block; }

  .md-up {
    display: none; } }
a, input, textarea, button {
  outline: none; }

a, a:hover {
  color: #00aef9; }

.danger {
  color: #d44545; }

p {
  color: #282828; }

b {
  font-weight: normal; }

h1 {
  font-size: 24px;
  font-size: 1.5rem;
  color: #546774;
  text-transform: uppercase;
  padding: 28px 0 20px; }

h2 {
  font-size: 20px;
  font-size: 1.25rem;
  color: #282828;
  text-transform: uppercase;
  padding: 25px 0 20px; }

h3 {
  font-size: 18px;
  font-size: 1.125rem;
  color: #434343;
  text-transform: uppercase;
  padding: 20px 0 20px; }

h4 {
  font-size: 16px;
  font-size: 1rem;
  color: #282828;
  text-transform: uppercase;
  padding: 20px 0 20px; }

h5 {
  font-size: 14px;
  font-size: 0.875rem;
  color: #282828;
  text-transform: uppercase;
  padding: 20px 0 20px; }

h6 {
  font-size: 13px;
  font-size: 0.8125rem;
  color: #282828;
  text-transform: uppercase;
  padding: 20px 0 20px; }

   blockquote.warTexLine {  
   position: relative !important;
   margin: 2em 0 !important;
   line-height: 1.7 !important;
   padding: 20px 20px !important;
   border-left: 3px solid rgba(0, 174, 249, 0.5) !important;
   }  
  blockquote.warning{
    background-color: #fff4d4;
    background: -webkit-gradient(linear,left top,right top,from(#fff4d4),to(#ffeadc));
    background: -webkit-linear-gradient(left,#fff4d4 0,#ffeadc 100%);
    background: -o-linear-gradient(left,#fff4d4 0,#ffeadc 100%);
    background: linear-gradient(to right,#fff4d4 0,#ffeadc 100%); 
    padding: 20px 20px 20px 30px !important;
    border-left: none !important;
  }
   .liststar {
    padding:0;
    list-style: none;}
   .liststar li{
    padding:6px;}
   .liststar li:before {
    padding-right:10px;
    font-weight: bold;
    color: #42cdff;
    content: "\2606";
    transition-duration: 0.5s;}
   .liststar li:hover:before {
    color: #a8e8ff;
	content: "\2605";}
  
table {
  margin-bottom: 25px; }
  table.content-flat {
    color: #546774; }
    table.content-flat tr {
      border: solid 1px #95a1a9; }
      table.content-flat tr td {
        padding: 0.6rem 1.4rem; }

.color-azure {
  color: #00aef9; }

img {
  max-width: 100%; }

.relative {
  position: relative; }

.over-link {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 10; }

.no-photo {
  background-image: url("images/photo.png");
  background-size: cover;
  /*
   * Set a counter and get the length of the image path.
   */
  /*
   * Loop ver the image path and figure out the
   * position of the dot where the extension begins.
   */
  /*
   * If we were able to figure out where the extension is,
   * slice the path into a base and an extension. Use that to
   * calculate urls for different density environments. Set
   * values for different environments.
   */
  /*
   * Set a base background for 1x environments.
   */
  background: url("images/photo.png");
  background-size: cover;
  /*
   * Create an @2x-ish media query.
   */
  /*
   * Create media queries for all environments that the user has
   * provided images for.
   */
  /*
   * If anything went wrong trying to separate the file from its
   * extension, set a background value without doing anything to it.
   */
  /*
   * Set a counter and get the length of the image path.
   */
  /*
   * Loop ver the image path and figure out the
   * position of the dot where the extension begins.
   */
  /*
   * If we were able to figure out where the extension is,
   * slice the path into a base and an extension. Use that to
   * calculate urls for different density environments. Set
   * values for different environments.
   */
  /*
   * Set a base background for 1x environments.
   */
  background: url("images/photo.png");
  background-size: cover;
  /*
   * Create an @2x-ish media query.
   */
  /*
   * Create media queries for all environments that the user has
   * provided images for.
   */
  /*
   * If anything went wrong trying to separate the file from its
   * extension, set a background value without doing anything to it.
   */ }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
    .no-photo {
      background: url("images/photo@2x.png");
      background-size: cover; } }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .no-photo {
      background: url("images/photo@2x.png");
      background-size: cover; } }
  @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
    .no-photo {
      background: url("images/photo@2x.png");
      background-size: cover; } }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .no-photo {
      background: url("images/photo@2x.png");
      background-size: cover; } }
  @media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 288dpi) {
    .no-photo {
      background: url("images/photo@3x.png");
      background-size: cover; } }

.section-title, .form-title {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: normal;
  text-transform: uppercase;
  margin: 33px 0 20px; }

.accordion .card {
  border: 0; }
  .accordion .card .card-header {
    border: 0;
    margin-bottom: 3px;
    padding: 0; }
    .accordion .card .card-header a {
      color: #ffffff;
      display: block;
      padding: 0.75rem 1.25rem;
      background: #00aef9; }
      .accordion .card .card-header a:hover {
        text-decoration: none;
        background: #008ac6; }

.starrequired {
  color: red;
  font-family: Arial, Helvetica, sans-serif; }

.form-title {
  margin-top: 0;
  margin-bottom: 45px;
  text-align: center; }

.tooltip .arrow {
  display: none; }
.tooltip .tooltip-inner {
  margin-top: -5px;
  -ms-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.27);
  -o-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.27);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.27);
  border-radius: 0;
  padding: 11px 12px 16px 15px;
  background: #ffffff;
  opacity: 1;
  text-align: left;
  font-size: 14px;
  font-size: 0.875rem;
  color: #546774; }
  .tooltip .tooltip-inner .danger {
    color: #d44545; }

.ya-share2__container_size_m .ya-share2__icon {
  /*height: 30px !important;
  width: 30px !important; */}

.title-underlined {
  font-size: 20px;
  font-size: 1.25rem;
  color: #282828;
  text-indent: 50px;
  padding-bottom: 6px;
  margin: 20px 0;
  border-bottom: solid 2px #eff1f2;
  text-transform: uppercase; }

@media (max-width: 767px) {
  .title-underlined {
    text-indent: 0; } }
.form-control, .form-control:focus {
  padding: 0 50px 0 9px;
  height: 40px;
  color: #282828;
  border: 1px solid #949494;
  border-radius: 0;
  outline: none;
  box-shadow: none; }

input.form-control[type=checkbox] {
  display: none; }

input.form-control[type=checkbox] + label {
  color: #5c5c5c;
  font-size: 14px;
  font-size: 0.875rem; }

input.form-control[type=checkbox] + label:before {
  content: "\f096";
  font-size: 22px;
  font-size: 1.375rem;
  width: 31px;
  display: inline-block;
  color: #6d6d6d;
  font-family: 'FontAwesome'; }

input.form-control[type=checkbox]:checked + label:before {
  content: "\f046"; }

.popup-form .form-control {
  height: 40px;
  margin-bottom: 21px;
  padding-left: 20px; }
.popup-form textarea.form-control {
  height: 150px;
  padding: 9px 20px 20px;
  resize: none; }
.popup-form input[type=submit] {
  width: 100%;
  height: 50px;
  font-size: 16px;
  font-size: 1rem; }
.popup-form .g-recaptcha > div {
  margin: 0 auto; }
.popup-form.bx-system-auth-form, .popup-form.forgot-password-form, .popup-form.bx-auth-reg {
  width: 400px;
  max-width: 100%; }
  .popup-form.bx-system-auth-form input[type=submit], .popup-form.forgot-password-form input[type=submit], .popup-form.bx-auth-reg input[type=submit] {
    width: 220px;
    margin: 0 auto; }
.popup-form a {
  font-size: 16px;
  font-size: 1rem; }
.popup-form .form-links {
  margin-top: 80px; }
.popup-form .form-submit {
  text-align: center; }
  .popup-form .form-submit input {
    display: inline-block; }
.popup-form .errortext {
  color: #d44545;
  font-size: 14px;
  font-size: 0.875rem; }

.nav-tabs:not(.non-styles) {
  border-bottom: 2px solid #eff1f2;
  margin-bottom: 40px; }
  .nav-tabs:not(.non-styles) li.nav-item {
    display: inline-block; }
  .nav-tabs:not(.non-styles) a.nav-link, .nav-tabs:not(.non-styles) a.nav-link:hover {
    padding: 10px 28px;
    color: #8c9ea4 !important;
    text-decoration: none;
    font-size: 18px;
    font-size: 1.125rem;
    display: block;
    position: relative;
    border: none !important; }
  .nav-tabs:not(.non-styles) a.nav-link:hover:after, .nav-tabs:not(.non-styles) a.nav-link.active:after {
    content: '';
    top: 100%;
    left: 0;
    position: absolute;
    height: 3px;
    background-color: #00aef9;
    width: 100%; }

.img-responsive {
  width: 100%; }

.nav-pills {
  border-bottom: 0;
  padding: 0 40px; }
  .nav-pills li.nav-item {
    margin: 30px 15px; }
    .nav-pills li.nav-item a.nav-link {
      color: #777f81 !important;
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: normal;
      border-radius: 0;
      border: solid 1px #898f99 !important;
      padding: 1.4rem; }
    .nav-pills li.nav-item a.nav-link:hover {
      border-color: #00aef9 !important;
      color: #00aef9 !important; }
    .nav-pills li.nav-item a.nav-link.active {
      background: #00aef9;
      color: #fff !important;
      border-color: #00aef9 !important; }
      .nav-pills li.nav-item a.nav-link.active:after {
        height: 0; }

@media (max-width: 1199px) {
  .nav-pills {
    padding: 0;
    border-bottom: 0; } }
@media (max-width: 991px) {
  .nav-pills {
    padding: 0;
    border-bottom: 0;
    display: block !important; }
    .nav-pills li.nav-item {
      width: 100%;
      margin: 15px 0; } }
@media (max-width: 767px) {
  .nav-tabs a {
    font-size: 14px;
    font-size: 0.875rem; } }
.container-for-container {
  margin: 0 auto 60px;
  background-color: #ffffff;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.14);
  -moz-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.14);
  -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.14);
  width: 100%;
  padding-bottom: 40px;
  position: relative;
  z-index: 10; }
  .container-for-container.without-container {
    padding-bottom: 0; }

.content-wrapper.default {
  position: relative; }
  .content-wrapper.default:before {
    content: '';
    display: block;
    background: url("images/content-left.png") repeat-y;
    width: 728px;
    position: absolute;
    left: 0;
    z-index: 0;
    top: 0;
    bottom: 0; }
  .content-wrapper.default:after {
    content: '';
    display: block;
    background: url("images/content-right.png") repeat-y;
    width: 728px;
    position: absolute;
    right: 0;
    background-position: 364px 0;
    z-index: 0;
    top: 0;
    bottom: 0; }

@media (max-width: 991px) {
  .content-wrapper.default:before {
    display: none; }
  .content-wrapper.default:after {
    display: none; } }
@media (min-width: 576px) {
  .container-for-container {
    max-width: 600px; } }
@media (min-width: 768px) {
  .container-for-container {
    max-width: 800px; } }
@media (min-width: 992px) {
  .container-for-container {
    max-width: 1060px; } }
@media (min-width: 1200px) {
  .container-for-container {
    max-width: 1320px; } }
.pl {
  display: inline-block;
  font: normal normal normal 14px/1 PlanetariumIcon;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.pl-adults:before {
  content: "o"; }

.pl-school:before {
  content: "1"; }

.pl-child:before {
  content: "5"; }

.pl-caret-down:before {
  content: "4"; }

.fancybox-enabled {
  overflow-x: hidden !important;
  overflow-y: auto !important; }

#wait_comp_087230ad196c73de11d3846d2771a7c0 {
  display: none !important; }

.flag {
  width: 16px;
  height: 11px;
  display: inline-block;
  margin-right: 5px;
  background: url(images/flags.png) no-repeat; }

.flag.flag-ad {
  background-position: -16px 0; }

.flag.flag-al {
  background-position: -32px 0; }

.flag.flag-at {
  background-position: -48px 0; }

.flag.flag-ba {
  background-position: -64px 0; }

.flag.flag-be {
  background-position: -80px 0; }

.flag.flag-bg {
  background-position: -96px 0; }

.flag.flag-by {
  background-position: -112px 0; }

.flag.flag-ch {
  background-position: 0 -11px; }

.flag.flag-zh {
  background-position: -16px -11px; }

.flag.flag-cz {
  background-position: -32px -11px; }

.flag.flag-de {
  background-position: -48px -11px; }

.flag.flag-dk {
  background-position: -64px -11px; }

.flag.flag-ee {
  background-position: -80px -11px; }

.flag.flag-es {
  background-position: -96px -11px; }

.flag.flag-fi {
  background-position: -112px -11px; }

.flag.flag-fo {
  background-position: 0 -22px; }

.flag.flag-fr {
  background-position: -16px -22px; }

.flag.flag-en {
  background-position: -32px -22px; }

.flag.flag-gi {
  background-position: -48px -22px; }

.flag.flag-gr {
  background-position: -64px -22px; }

.flag.flag-hr {
  background-position: -80px -22px; }

.flag.flag-hu {
  background-position: -96px -22px; }

.flag.flag-ie {
  background-position: -112px -22px; }

.flag.flag-il {
  background-position: 0 -33px; }

.flag.flag-is {
  background-position: -16px -33px; }

.flag.flag-it {
  background-position: -32px -33px; }

.flag.flag-ja {
  background-position: -48px -33px; }

.flag.flag-li {
  background-position: -64px -33px; }

.flag.flag-lt {
  background-position: -80px -33px; }

.flag.flag-lu {
  background-position: -96px -33px; }

.flag.flag-lv {
  background-position: -112px -33px; }

.flag.flag-mc {
  background-position: 0 -44px; }

.flag.flag-md {
  background-position: -16px -44px; }

.flag.flag-me {
  background-position: -32px -44px; }

.flag.flag-mk {
  background-position: -48px -44px; }

.flag.flag-mt {
  background-position: -64px -44px; }

.flag.flag-nl {
  background-position: -80px -44px; }

.flag.flag-no {
  background-position: -96px -44px; }

.flag.flag-pl {
  background-position: -112px -44px; }

.flag.flag-pt {
  background-position: 0 -55px; }

.flag.flag-ro {
  background-position: -16px -55px; }

.flag.flag-rs {
  background-position: -32px -55px; }

.flag.flag-ru {
  background-position: -48px -55px; }

.flag.flag-se {
  background-position: -64px -55px; }

.flag.flag-si {
  background-position: -80px -55px; }

.flag.flag-sk {
  background-position: -96px -55px; }

.flag.flag-sm {
  background-position: -112px -55px; }

.flag.flag-tr {
  background-position: 0 -66px; }

.flag.flag-ua {
  background-position: -16px -66px; }

.flag.flag-va {
  background-position: -32px -66px; }
.td-price{
    text-align: center;
	font-weight: bold; 
   }
.d-price {
	font-size:9pt;
	text-align: center;
    font-weight: bold;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9yZXRpbmEuc2NzcyIsInN0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dDV0c7QUFFSDtFQUNFLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsV0FBVyxFQUFFOztBQUVmO0VBQ0UsYUFBYTtFQUNiLGVBQWUsRUFBRTs7QUFFbkI7RUFDRSxzQ0FBc0MsRUFBRTs7QUFFMUM7RUFDRSwwQ0FBMEMsRUFBRTs7QUFFOUM7RUFDRSwrQ0FBK0MsRUFBRTs7QUFFbkQ7RURDRSwyQ0FBcUIsRUFBQTs7QUNFdkI7RURDRSxnREFBQSxFQUFBOztBQ0VGO0VBQ0UsMENEQUcsRUFBQTs7QUNFTDtFQUNFLGdEREE0QyxFQUFBOztBQ0U5QztFQUNFLGNEQVMsRUFBQTs7QUNFWDtFQUNFLGVBQWUsRUFBRTs7QUFFbkI7RUFDRSxjQUFjLEVBQUU7O0FBRWxCO0VBQ0UsZURBRyxFQUFBOztBQ0VMO0VBQ0U7SURDRSxlQUFBLEVBQUE7O0VDRUY7SURDRSxjQUFBLEVBQUEsRUFBQTtBQ0NKO0VBQ0UsY0RBSyxFQUFBOztBQ0VQO0VBQ0UsZUFBZSxFQUFFOztBQUVuQjtFQUNFLGVEQUssRUFBQTs7QUNFUDtFQUNFLGVBQWUsRUFBRTs7QUFFbkI7RUFDRSxvQkRBVyxFQUFBOztBQ0ViO0VBQ0UsZ0JEQUU7RUNDRixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLDBCREFLO0VDQ0wscUJEQUUsRUFBQTs7QUNFSjtFQUNFLGdCREFNO0VDQ04sbUJBQW1CO0VBQ25CLGVEQWU7RUNDZiwwQkRBZTtFQ0NmLHFCREFPLEVBQUE7O0FDRVQ7RUFDRSxnQkFBZ0I7RURDaEIsb0JBQUE7RUNDQSxlQUFlO0VBQ2YsMEJBQTBCO0VBQzFCLHFCREFHLEVBQUE7O0FDRUw7RUFDRSxnQkRBRTtFQ0NGLGdCREFDO0VDQ0QsZUFBZTtFRENoQiwwQkFBQTtFQ0NDLHFCQUFxQixFQUFFOztBQUV6QjtFQUNFLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLDBCQUEwQjtFQUMxQixxQkFBcUIsRUFBRTs7QUFFekI7RUFDRSxnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZiwwQkFBMEI7RUFDMUIscUJBQXFCLEVBQUU7O0FBRXpCO0VBQ0Usb0JBQW9CLEVBQUU7RUFDdEI7SUFDRSxlQUFlLEVBQUU7SUFDakI7TUFDRSwwQkFBMEIsRUFBRTtNQUM1QjtRQUNFLHVCQUF1QixFQUFFOztBQUVqQztFQUNFLGVBQWUsRUFBRTs7QUFFbkI7RUFDRSxnQkFBZ0IsRUFBRTs7QUFFcEI7RUFDRSxtQkFBbUIsRUFBRTs7QUFFdkI7RUFDRSxPQUFPO0VBQ1AsU0FBUztFQUNULFVBQVU7RUFDVixRQUFRO0VBQ1IsbUJBQW1CO0VBQ25CLFlBQVksRUFBRTs7QUFFaEI7RUFDRSwwQ0FBMEM7RUFDMUMsdUJBQXVCO0VBQ3ZCOztLQUVHO0VBQ0g7OztLQUdHO0VBQ0g7Ozs7O0tBS0c7RUFDSDs7S0FFRztFQUNILG9DQUFvQztFQUNwQyx1QkFBdUI7RUFDdkI7O0tBRUc7RUFDSDs7O0tBR0c7RUFDSDs7O0tBR0c7RUFDSDs7S0FFRztFQUNIOzs7S0FHRztFQUNIOzs7OztLQUtHO0VBQ0g7O0tBRUc7RUFDSCxvQ0FBb0M7RUFDcEMsdUJBQXVCO0VBQ3ZCOztLQUVHO0VBQ0g7OztLQUdHO0VBQ0g7OztLQUdHLEVBQUU7RUFDTDtJQUNFO01BQ0UsdUNBQXVDO01BQ3ZDLHVCQUF1QixFQUFFLEVBQUU7RUFDL0I7SUFDRTtNQUNFLHVDQUF1QztNQUN2Qyx1QkFBdUIsRUFBRSxFQUFFO0VBQy9CO0lBQ0U7TUFDRSx1Q0FBdUM7TUFDdkMsdUJBQXVCLEVBQUUsRUFBRTtFQUMvQjtJQUNFO01BQ0UsdUNBQXVDO01BQ3ZDLHVCQUF1QixFQUFFLEVBQUU7RUFDL0I7SUFDRTtNQUNFLHVDQUF1QztNQUN2Qyx1QkFBdUIsRUFBRSxFQUFFOztBQUVqQztFQUNFLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQiwwQkFBMEI7RUFDMUIsb0JBQW9CLEVBQUU7O0FBRXhCO0VBQ0UsVUFBVSxFQUFFO0VBQ1o7SUFDRSxVQUFVO0lBQ1YsbUJBQW1CO0lBQ25CLFdBQVcsRUFBRTtJQUNiO01BQ0UsZUFBZTtNQUNmLGVBQWU7TUFDZix5QkFBeUI7TUFDekIsb0JBQW9CLEVBQUU7TUFDdEI7UUFDRSxzQkFBc0I7UUFDdEIsb0JBQW9CLEVBQUU7O0FBRTlCO0VBQ0UsV0FBVztFQUNYLDBDQUEwQyxFQUFFOztBQUU5QztFQUNFLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0UsY0FBYyxFQUFFO0FBQ2xCO0VBQ0UsaUJBQWlCO0VBR2pCLGdEQUFnRDtFQUNoRCwrQ0FBK0M7RUFDL0MsNENBQTRDO0VBSzVDLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0Isb0JBQW9CO0VBQ3BCLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixlQUFlLEVBQUU7RUFDakI7SUFDRSxlQUFlLEVBQUU7O0FBRXJCO0VBQ0Usd0JBQXdCO0VBQ3hCLHVCQUF1QixFQUFFOztBQUUzQjtFQUNFLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGlDQUFpQztFQUNqQywwQkFBMEIsRUFBRTs7QUFFOUI7RUFDRTtJQUNFLGVBQWUsRUFBRSxFQUFFO0FBQ3ZCO0VBQ0Usc0JBQXNCO0VBQ3RCLGFBQWE7RUFDYixlQUFlO0VBQ2YsMEJBQTBCO0VBQzFCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsY0FBYyxFQUFFOztBQUVsQjtFQUNFLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsb0JBQW9CLEVBQUU7O0FBRXhCO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsWUFBWTtFQUNaLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YsMkJBQTJCLEVBQUU7O0FBRS9CO0VBQ0UsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsYUFBYTtFQUNiLG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBRTtBQUN2QjtFQUNFLGNBQWM7RUFDZCx1QkFBdUI7RUFDdkIsYUFBYSxFQUFFO0FBQ2pCO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsZ0JBQWdCLEVBQUU7QUFDcEI7RUFDRSxlQUFlLEVBQUU7QUFDbkI7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCLEVBQUU7RUFDbEI7SUFDRSxhQUFhO0lBQ2IsZUFBZSxFQUFFO0FBQ3JCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQixFQUFFO0FBQ3BCO0VBQ0UsaUJBQWlCLEVBQUU7QUFDckI7RUFDRSxtQkFBbUIsRUFBRTtFQUNyQjtJQUNFLHNCQUFzQixFQUFFO0FBQzVCO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixvQkFBb0IsRUFBRTs7QUFFeEI7RUFDRSxpQ0FBaUM7RUFDakMsb0JBQW9CLEVBQUU7RUFDdEI7SUFDRSxzQkFBc0IsRUFBRTtFQUMxQjtJQUNFLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQix3QkFBd0IsRUFBRTtFQUM1QjtJQUNFLFlBQVk7SUFDWixVQUFVO0lBQ1YsUUFBUTtJQUNSLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osMEJBQTBCO0lBQzFCLFlBQVksRUFBRTs7QUFFbEI7RUFDRSxZQUFZLEVBQUU7O0FBRWhCO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQixFQUFFO0VBQ2xCO0lBQ0Usa0JBQWtCLEVBQUU7SUFDcEI7TUFDRSwwQkFBMEI7TUFDMUIsZ0JBQWdCO01BQ2hCLG9CQUFvQjtNQUNwQixvQkFBb0I7TUFDcEIsaUJBQWlCO01BQ2pCLHFDQUFxQztNQUNyQyxnQkFBZ0IsRUFBRTtJQUNwQjtNQUNFLGlDQUFpQztNQUNqQywwQkFBMEIsRUFBRTtJQUM5QjtNQUNFLG9CQUFvQjtNQUNwQix1QkFBdUI7TUFDdkIsaUNBQWlDLEVBQUU7TUFDbkM7UUFDRSxVQUFVLEVBQUU7O0FBRXBCO0VBQ0U7SUFDRSxXQUFXO0lBQ1gsaUJBQWlCLEVBQUUsRUFBRTtBQUN6QjtFQUNFO0lBQ0UsV0FBVztJQUNYLGlCQUFpQjtJQUNqQiwwQkFBMEIsRUFBRTtJQUM1QjtNQUNFLFlBQVk7TUFDWixlQUFlLEVBQUUsRUFBRTtBQUN6QjtFQUNFO0lBQ0UsZ0JBQWdCO0lBQ2hCLG9CQUFvQixFQUFFLEVBQUU7QUFDNUI7RUFDRSxvQkFBb0I7RUFDcEIsMEJBQTBCO0VBQzFCLDBDQUEwQztFQUMxQywrQ0FBK0M7RUFDL0Msa0RBQWtEO0VBQ2xELFlBQVk7RUFDWixxQkFBcUI7RUFDckIsbUJBQW1CO0VBQ25CLFlBQVksRUFBRTtFQUNkO0lBQ0Usa0JBQWtCLEVBQUU7O0FBRXhCO0VBQ0UsbUJBQW1CLEVBQUU7RUFDckI7SUFDRSxZQUFZO0lBQ1osZUFBZTtJQUNmLG9EQUFvRDtJQUNwRCxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFFBQVE7SUFDUixXQUFXO0lBQ1gsT0FBTztJQUNQLFVBQVUsRUFBRTtFQUNkO0lBQ0UsWUFBWTtJQUNaLGVBQWU7SUFDZixxREFBcUQ7SUFDckQsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsV0FBVztJQUNYLE9BQU87SUFDUCxVQUFVLEVBQUU7O0FBRWhCO0VBQ0U7SUFDRSxjQUFjLEVBQUU7RUFDbEI7SUFDRSxjQUFjLEVBQUUsRUFBRTtBQUN0QjtFQUNFO0lBQ0UsaUJBQWlCLEVBQUUsRUFBRTtBQUN6QjtFQUNFO0lBQ0UsaUJBQWlCLEVBQUUsRUFBRTtBQUN6QjtFQUNFO0lBQ0Usa0JBQWtCLEVBQUUsRUFBRTtBQUMxQjtFQUNFO0lBQ0Usa0JBQWtCLEVBQUUsRUFBRTtBQUMxQjtFQUNFLHNCQUFzQjtFQUN0QixrREFBa0Q7RUFDbEQsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixvQ0FBb0M7RUFDcEMsbUNBQW1DLEVBQUU7O0FBRXZDO0VBQ0UsYUFBYSxFQUFFOztBQUVqQjtFQUNFLGFBQWEsRUFBRTs7QUFFakI7RUFDRSxhQUFhLEVBQUU7O0FBRWpCO0VBQ0UsYUFBYSxFQUFFOztBQUVqQjtFQUNFLDhCQUE4QjtFQUM5Qiw0QkFBNEIsRUFBRTs7QUFFaEM7RUFDRSx5QkFBeUIsRUFBRTs7QUFFN0I7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsNENBQTRDLEVBQUU7O0FBRWhEO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsOEJBQThCLEVBQUU7O0FBRWxDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0Usa0NBQWtDLEVBQUU7O0FBRXRDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0Usa0NBQWtDLEVBQUU7O0FBRXRDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0Usa0NBQWtDLEVBQUU7O0FBRXRDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0Usa0NBQWtDLEVBQUU7O0FBRXRDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0Usa0NBQWtDLEVBQUU7O0FBRXRDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUUiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJldGluYS5zY3NzXG4vLyBBIGhlbHBlciBtaXhpbiBmb3IgYXBwbHlpbmcgaGlnaC1yZXNvbHV0aW9uIGJhY2tncm91bmQgaW1hZ2VzIChodHRwOi8vd3d3LnJldGluYWpzLmNvbSlcblxuLy8gU3VibWl0dGVkIGJ5IE5hdGhhbiBDcmFua1xuLy8gbmF0aGFuY3JhbmsuY29tXG5cbi8vIFVwZGF0ZWQgYnkgR2FicmllbCBSLiBTZXplZnJlZG9cbi8vIGdhYnJpZWwuc2V6ZWZyZWRvLmNvbS5iclxuXG4vLyBVcGRhdGVkIGJ5IEpvaG4gTmV3bWFuXG4vLyBnaXRodWIuY29tL2pnbmV3bWFuXG4vLyBodHRwOi8vYXhpYWwuYWdlbmN5XG5cblxuLyoqXG4gKiBBbGxvd3MgeW91IHRvIHVzZSByZXRpbmEgaW1hZ2VzIGF0IHZhcmlvdXMgcGl4ZWwgZGVuc2l0aWVzLlxuICogRXhhbXBsZXM6XG4gKlxuICogICBAaW5jbHVkZSByZXRpbmEoL2ltYWdlcy9teXBpYy5qcGcsIDIpO1xuICogICBAaW5jbHVkZSByZXRpbmEoL2ltYWdlcy9teXBpYy5qcGcsIDMsIDEwMHB4IDEwMHB4LCBsZWZ0IHRvcCBuby1yZXBlYXQgdHJhbnNwYXJlbnQpO1xuICpcbiAqIEBwYXJhbSAge1ZhbHVlfSAgJHBhdGggICAgICAgICAgICAgICBUaGUgcGF0aCB0byB0aGUgZmlsZSBuYW1lIG1pbnVzIGV4dGVuc2lvbi5cbiAqIEBwYXJhbSAge051bWJlcn0gJGNhcDogICAgMiAgICAgICAgICBUaGUgaGlnaGVzdCBwaXhlbCBkZW5zaXR5IGxldmVsIGltYWdlcyBleGlzdCBmb3IuXG4gKiBAcGFyYW0gIHtWYWx1ZX0gICRzaXplOiAgIGF1dG8gYXV0byAgVGhlIGludGVuZGVkIHdpZHRoIG9mIHRoZSByZW5kZXJlZCBpbWFnZS5cbiAqIEBwYXJhbSAge1ZhbHVlfSAgJGV4dHJhczogbnVsbCAgICAgICBBbnkgb3RoZXIgYGJhY2tncm91bmRgIHZhbHVlcyB0byBiZSBhZGRlZC5cbiAqL1xuQG1peGluIHJldGluYSgkcGF0aCwgJGNhcDogMiwgJHNpemU6IGF1dG8gYXV0bywgJGV4dHJhczogbnVsbCkge1xuXG4gIC8qXG4gICAqIFNldCBhIGNvdW50ZXIgYW5kIGdldCB0aGUgbGVuZ3RoIG9mIHRoZSBpbWFnZSBwYXRoLlxuICAgKi9cbiAgJHBvc2l0aW9uOiAtMTtcbiAgJHN0cnBhdGg6ICcjeyRwYXRofSc7XG4gICRsZW5ndGg6IHN0ci1sZW5ndGgoJHN0cnBhdGgpO1xuXG4gIC8qXG4gICAqIExvb3AgdmVyIHRoZSBpbWFnZSBwYXRoIGFuZCBmaWd1cmUgb3V0IHRoZVxuICAgKiBwb3NpdGlvbiBvZiB0aGUgZG90IHdoZXJlIHRoZSBleHRlbnNpb24gYmVnaW5zLlxuICAgKi9cbiAgQGZvciAkaSBmcm9tICRsZW5ndGggdGhyb3VnaCAkbGVuZ3RoIC0gMTB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IC0xIHtcbiAgICAgICAgICAkY2hhciA6IHN0ci1zbGljZSgkc3RycGF0aCwgJGksICRpKTtcbiAgICAgICAgICBAaWYgc3RyLWluZGV4KCRjaGFyLCBcIi5cIikgPT0gMSB7XG4gICAgICAgICAgICAgICRwb3NpdGlvbjogJGk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgLypcbiAgICogSWYgd2Ugd2VyZSBhYmxlIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIGV4dGVuc2lvbiBpcyxcbiAgICogc2xpY2UgdGhlIHBhdGggaW50byBhIGJhc2UgYW5kIGFuIGV4dGVuc2lvbi4gVXNlIHRoYXQgdG9cbiAgICogY2FsY3VsYXRlIHVybHMgZm9yIGRpZmZlcmVudCBkZW5zaXR5IGVudmlyb25tZW50cy4gU2V0XG4gICAqIHZhbHVlcyBmb3IgZGlmZmVyZW50IGVudmlyb25tZW50cy5cbiAgICovXG4gIEBpZiAkcG9zaXRpb24gIT0gLTEge1xuICAgICRleHQ6IHN0ci1zbGljZSgkc3RycGF0aCwgJHBvc2l0aW9uICsgMSwgJGxlbmd0aCk7XG4gICAgJGJhc2U6IHN0ci1zbGljZSgkc3RycGF0aCwgMSwgJHBvc2l0aW9uIC0gMSk7XG4gICAgJGF0MXhfcGF0aDogXCIjeyRiYXNlfS4jeyRleHR9XCI7XG4gICAgJGF0MnhfcGF0aDogXCIjeyRiYXNlfUAyeC4jeyRleHR9XCI7XG5cbiAgICAvKlxuICAgICAqIFNldCBhIGJhc2UgYmFja2dyb3VuZCBmb3IgMXggZW52aXJvbm1lbnRzLlxuICAgICAqL1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGF0MXhfcGF0aH1cIikgJGV4dHJhcztcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgYW4gQDJ4LWlzaCBtZWRpYSBxdWVyeS5cbiAgICAgKi9cbiAgICBAbWVkaWEgYWxsIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIDogMS41KSxcbiAgICAgICAgICAgYWxsIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMy8yKSxcbiAgICAgICAgICAgYWxsIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxuICAgICAgICAgICBhbGwgYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIHtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgICAgOiB1cmwoXCIjeyRhdDJ4X3BhdGh9XCIpICRleHRyYXM7XG4gICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplIDogJHNpemU7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgYWxsIGVudmlyb25tZW50cyB0aGF0IHRoZSB1c2VyIGhhc1xuICAgICAqIHByb3ZpZGVkIGltYWdlcyBmb3IuXG4gICAgICovXG4gICAgQGlmICRjYXAgPj0gMiB7XG4gICAgICBAZm9yICRlbnYgZnJvbSAyIHRocm91Z2ggJGNhcCB7XG4gICAgICAgICRzdWZmaXg6IFwiQCN7JGVudn14XCI7XG4gICAgICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkZW52KSxcbiAgICAgICAgICAgICAgIChtaW4tcmVzb2x1dGlvbjogJGVudiAqIDk2ZHBpKSB7XG4gICAgICAgICAgICAgICAgIGJhY2tncm91bmQgICAgICA6IHVybChcIiN7JGJhc2V9I3skc3VmZml4fS4jeyRleHR9XCIpICRleHRyYXM7XG4gICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6ICRzaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIC8qXG4gICAqIElmIGFueXRoaW5nIHdlbnQgd3JvbmcgdHJ5aW5nIHRvIHNlcGFyYXRlIHRoZSBmaWxlIGZyb20gaXRzXG4gICAqIGV4dGVuc2lvbiwgc2V0IGEgYmFja2dyb3VuZCB2YWx1ZSB3aXRob3V0IGRvaW5nIGFueXRoaW5nIHRvIGl0LlxuICAgKi9cbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiI3skcGF0aH1cIikgJGV4dHJhcztcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xuICB9XG5cbn1cbiIsIi8qKlxuICogQWxsb3dzIHlvdSB0byB1c2UgcmV0aW5hIGltYWdlcyBhdCB2YXJpb3VzIHBpeGVsIGRlbnNpdGllcy5cbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgQGluY2x1ZGUgcmV0aW5hKC9pbWFnZXMvbXlwaWMuanBnLCAyKTtcbiAqICAgQGluY2x1ZGUgcmV0aW5hKC9pbWFnZXMvbXlwaWMuanBnLCAzLCAxMDBweCAxMDBweCwgbGVmdCB0b3Agbm8tcmVwZWF0IHRyYW5zcGFyZW50KTtcbiAqXG4gKiBAcGFyYW0gIHtWYWx1ZX0gICRwYXRoICAgICAgICAgICAgICAgVGhlIHBhdGggdG8gdGhlIGZpbGUgbmFtZSBtaW51cyBleHRlbnNpb24uXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRjYXA6ICAgIDIgICAgICAgICAgVGhlIGhpZ2hlc3QgcGl4ZWwgZGVuc2l0eSBsZXZlbCBpbWFnZXMgZXhpc3QgZm9yLlxuICogQHBhcmFtICB7VmFsdWV9ICAkc2l6ZTogICBhdXRvIGF1dG8gIFRoZSBpbnRlbmRlZCB3aWR0aCBvZiB0aGUgcmVuZGVyZWQgaW1hZ2UuXG4gKiBAcGFyYW0gIHtWYWx1ZX0gICRleHRyYXM6IG51bGwgICAgICAgQW55IG90aGVyIGBiYWNrZ3JvdW5kYCB2YWx1ZXMgdG8gYmUgYWRkZWQuXG4gKi9cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl5WlhScGJtRXVjMk56Y3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEZRVFJDUlRzN1MwRkZSenRGUVVOSUxHTkJRV003UlVGRFpDeHhRa0ZCY1VJN1JVRkRja0lzT0VKQlFUaENPenRGUVVVNVFqczdPMHRCUjBjN1JVRkRTRHROUVVOSk8xVkJRMGtzYjBOQlFXOURPMVZCUTNCRE8yTkJRMGtzWTBGQll6dFhRVU5xUWp0UFFVTktPMGRCUTBvN08wVkJSVVE3T3pzN08wdEJTMGM3UlVGRFNEdEpRVU5GTEd0RVFVRnJSRHRKUVVOc1JDdzJRMEZCTmtNN1NVRkROME1zSzBKQlFTdENPMGxCUXk5Q0xHdERRVUZyUXpzN1NVRkZiRU03TzA5QlJVYzdTVUZEU0N4NVEwRkJlVU03U1VGRGVrTXNkVUpCUVhWQ096dEpRVVYyUWpzN1QwRkZSenRKUVVOSU96czdPMkZCU1ZNc0swTkJRU3RETzJGQlF5OURMSGRDUVVGM1FqdExRVU5vUXpzN1NVRkZSRHM3TzA5QlIwYzdTVUZEU0R0TlFVTkZPMUZCUTBVc2NVSkJRWEZDTzFGQlEzSkNPenRwUWtGRlV5dzBSRUZCTkVRN2FVSkJRelZFTEhkQ1FVRjNRanRUUVVOb1F6dFBRVU5HTzB0QlEwWTdPMFZCUlVnN096dExRVWRITzBkQlEwWXNRMEZCUXp0SlFVTkJMRzlEUVVGdlF6dEpRVU53UXl4MVFrRkJkVUk3UjBGRGVFSTdPME5CUlVZaUxDSm1hV3hsSWpvaVgzSmxkR2x1WVM1elkzTnpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z2NtVjBhVzVoTG5OamMzTmNiaTh2SUVFZ2FHVnNjR1Z5SUcxcGVHbHVJR1p2Y2lCaGNIQnNlV2x1WnlCb2FXZG9MWEpsYzI5c2RYUnBiMjRnWW1GamEyZHliM1Z1WkNCcGJXRm5aWE1nS0doMGRIQTZMeTkzZDNjdWNtVjBhVzVoYW5NdVkyOXRLVnh1WEc0dkx5QlRkV0p0YVhSMFpXUWdZbmtnVG1GMGFHRnVJRU55WVc1clhHNHZMeUJ1WVhSb1lXNWpjbUZ1YXk1amIyMWNibHh1THk4Z1ZYQmtZWFJsWkNCaWVTQkhZV0p5YVdWc0lGSXVJRk5sZW1WbWNtVmtiMXh1THk4Z1oyRmljbWxsYkM1elpYcGxabkpsWkc4dVkyOXRMbUp5WEc1Y2JpOHZJRlZ3WkdGMFpXUWdZbmtnU205b2JpQk9aWGR0WVc1Y2JpOHZJR2RwZEdoMVlpNWpiMjB2YW1kdVpYZHRZVzVjYmk4dklHaDBkSEE2THk5aGVHbGhiQzVoWjJWdVkzbGNibHh1WEc0dktpcGNiaUFxSUVGc2JHOTNjeUI1YjNVZ2RHOGdkWE5sSUhKbGRHbHVZU0JwYldGblpYTWdZWFFnZG1GeWFXOTFjeUJ3YVhobGJDQmtaVzV6YVhScFpYTXVYRzRnS2lCRmVHRnRjR3hsY3pwY2JpQXFYRzRnS2lBZ0lFQnBibU5zZFdSbElISmxkR2x1WVNndmFXMWhaMlZ6TDIxNWNHbGpMbXB3Wnl3Z01pazdYRzRnS2lBZ0lFQnBibU5zZFdSbElISmxkR2x1WVNndmFXMWhaMlZ6TDIxNWNHbGpMbXB3Wnl3Z015d2dNVEF3Y0hnZ01UQXdjSGdzSUd4bFpuUWdkRzl3SUc1dkxYSmxjR1ZoZENCMGNtRnVjM0JoY21WdWRDazdYRzRnS2x4dUlDb2dRSEJoY21GdElDQjdWbUZzZFdWOUlDQWtjR0YwYUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRlJvWlNCd1lYUm9JSFJ2SUhSb1pTQm1hV3hsSUc1aGJXVWdiV2x1ZFhNZ1pYaDBaVzV6YVc5dUxseHVJQ29nUUhCaGNtRnRJQ0I3VG5WdFltVnlmU0FrWTJGd09pQWdJQ0F5SUNBZ0lDQWdJQ0FnSUZSb1pTQm9hV2RvWlhOMElIQnBlR1ZzSUdSbGJuTnBkSGtnYkdWMlpXd2dhVzFoWjJWeklHVjRhWE4wSUdadmNpNWNiaUFxSUVCd1lYSmhiU0FnZTFaaGJIVmxmU0FnSkhOcGVtVTZJQ0FnWVhWMGJ5QmhkWFJ2SUNCVWFHVWdhVzUwWlc1a1pXUWdkMmxrZEdnZ2IyWWdkR2hsSUhKbGJtUmxjbVZrSUdsdFlXZGxMbHh1SUNvZ1FIQmhjbUZ0SUNCN1ZtRnNkV1Y5SUNBa1pYaDBjbUZ6T2lCdWRXeHNJQ0FnSUNBZ0lFRnVlU0J2ZEdobGNpQmdZbUZqYTJkeWIzVnVaR0FnZG1Gc2RXVnpJSFJ2SUdKbElHRmtaR1ZrTGx4dUlDb3ZYRzVBYldsNGFXNGdjbVYwYVc1aEtDUndZWFJvTENBa1kyRndPaUF5TENBa2MybDZaVG9nWVhWMGJ5QmhkWFJ2TENBa1pYaDBjbUZ6T2lCdWRXeHNLU0I3WEc1Y2JpQWdMeXBjYmlBZ0lDb2dVMlYwSUdFZ1kyOTFiblJsY2lCaGJtUWdaMlYwSUhSb1pTQnNaVzVuZEdnZ2IyWWdkR2hsSUdsdFlXZGxJSEJoZEdndVhHNGdJQ0FxTDF4dUlDQWtjRzl6YVhScGIyNDZJQzB4TzF4dUlDQWtjM1J5Y0dGMGFEb2dKeU43SkhCaGRHaDlKenRjYmlBZ0pHeGxibWQwYURvZ2MzUnlMV3hsYm1kMGFDZ2tjM1J5Y0dGMGFDazdYRzVjYmlBZ0x5cGNiaUFnSUNvZ1RHOXZjQ0IyWlhJZ2RHaGxJR2x0WVdkbElIQmhkR2dnWVc1a0lHWnBaM1Z5WlNCdmRYUWdkR2hsWEc0Z0lDQXFJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQmtiM1FnZDJobGNtVWdkR2hsSUdWNGRHVnVjMmx2YmlCaVpXZHBibk11WEc0Z0lDQXFMMXh1SUNCQVptOXlJQ1JwSUdaeWIyMGdKR3hsYm1kMGFDQjBhSEp2ZFdkb0lDUnNaVzVuZEdnZ0xTQXhNSHRjYmlBZ0lDQWdJRUJwWmlBa2NHOXphWFJwYjI0Z1BUMGdMVEVnZTF4dUlDQWdJQ0FnSUNBZ0lDUmphR0Z5SURvZ2MzUnlMWE5zYVdObEtDUnpkSEp3WVhSb0xDQWthU3dnSkdrcE8xeHVJQ0FnSUNBZ0lDQWdJRUJwWmlCemRISXRhVzVrWlhnb0pHTm9ZWElzSUZ3aUxsd2lLU0E5UFNBeElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0pIQnZjMmwwYVc5dU9pQWthVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJSDFjYmx4dUlDQXZLbHh1SUNBZ0tpQkpaaUIzWlNCM1pYSmxJR0ZpYkdVZ2RHOGdabWxuZFhKbElHOTFkQ0IzYUdWeVpTQjBhR1VnWlhoMFpXNXphVzl1SUdsekxGeHVJQ0FnS2lCemJHbGpaU0IwYUdVZ2NHRjBhQ0JwYm5SdklHRWdZbUZ6WlNCaGJtUWdZVzRnWlhoMFpXNXphVzl1TGlCVmMyVWdkR2hoZENCMGIxeHVJQ0FnS2lCallXeGpkV3hoZEdVZ2RYSnNjeUJtYjNJZ1pHbG1abVZ5Wlc1MElHUmxibk5wZEhrZ1pXNTJhWEp2Ym0xbGJuUnpMaUJUWlhSY2JpQWdJQ29nZG1Gc2RXVnpJR1p2Y2lCa2FXWm1aWEpsYm5RZ1pXNTJhWEp2Ym0xbGJuUnpMbHh1SUNBZ0tpOWNiaUFnUUdsbUlDUndiM05wZEdsdmJpQWhQU0F0TVNCN1hHNGdJQ0FnSkdWNGREb2djM1J5TFhOc2FXTmxLQ1J6ZEhKd1lYUm9MQ0FrY0c5emFYUnBiMjRnS3lBeExDQWtiR1Z1WjNSb0tUdGNiaUFnSUNBa1ltRnpaVG9nYzNSeUxYTnNhV05sS0NSemRISndZWFJvTENBeExDQWtjRzl6YVhScGIyNGdMU0F4S1R0Y2JpQWdJQ0FrWVhReGVGOXdZWFJvT2lCY0lpTjdKR0poYzJWOUxpTjdKR1Y0ZEgxY0lqdGNiaUFnSUNBa1lYUXllRjl3WVhSb09pQmNJaU43SkdKaGMyVjlRREo0TGlON0pHVjRkSDFjSWp0Y2JseHVJQ0FnSUM4cVhHNGdJQ0FnSUNvZ1UyVjBJR0VnWW1GelpTQmlZV05yWjNKdmRXNWtJR1p2Y2lBeGVDQmxiblpwY205dWJXVnVkSE11WEc0Z0lDQWdJQ292WEc0Z0lDQWdZbUZqYTJkeWIzVnVaRG9nZFhKc0tGd2lJM3NrWVhReGVGOXdZWFJvZlZ3aUtTQWtaWGgwY21Gek8xeHVJQ0FnSUdKaFkydG5jbTkxYm1RdGMybDZaVG9nSkhOcGVtVTdYRzVjYmlBZ0lDQXZLbHh1SUNBZ0lDQXFJRU55WldGMFpTQmhiaUJBTW5ndGFYTm9JRzFsWkdsaElIRjFaWEo1TGx4dUlDQWdJQ0FxTDF4dUlDQWdJRUJ0WldScFlTQmhiR3dnWVc1a0lDZ3RkMlZpYTJsMExXMXBiaTFrWlhacFkyVXRjR2w0Wld3dGNtRjBhVzhnT2lBeExqVXBMRnh1SUNBZ0lDQWdJQ0FnSUNCaGJHd2dZVzVrSUNndGJ5MXRhVzR0WkdWMmFXTmxMWEJwZUdWc0xYSmhkR2x2T2lBekx6SXBMRnh1SUNBZ0lDQWdJQ0FnSUNCaGJHd2dZVzVrSUNodGFXNHRMVzF2ZWkxa1pYWnBZMlV0Y0dsNFpXd3RjbUYwYVc4NklERXVOU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lHRnNiQ0JoYm1RZ0tHMXBiaTFrWlhacFkyVXRjR2w0Wld3dGNtRjBhVzg2SURFdU5Ta2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUWdJQ0FnSUNBNklIVnliQ2hjSWlON0pHRjBNbmhmY0dGMGFIMWNJaWtnSkdWNGRISmhjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQmlZV05yWjNKdmRXNWtMWE5wZW1VZ09pQWtjMmw2WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2x4dUlDQWdJQ0FxSUVOeVpXRjBaU0J0WldScFlTQnhkV1Z5YVdWeklHWnZjaUJoYkd3Z1pXNTJhWEp2Ym0xbGJuUnpJSFJvWVhRZ2RHaGxJSFZ6WlhJZ2FHRnpYRzRnSUNBZ0lDb2djSEp2ZG1sa1pXUWdhVzFoWjJWeklHWnZjaTVjYmlBZ0lDQWdLaTljYmlBZ0lDQkFhV1lnSkdOaGNDQStQU0F5SUh0Y2JpQWdJQ0FnSUVCbWIzSWdKR1Z1ZGlCbWNtOXRJRElnZEdoeWIzVm5hQ0FrWTJGd0lIdGNiaUFnSUNBZ0lDQWdKSE4xWm1acGVEb2dYQ0pBSTNza1pXNTJmWGhjSWp0Y2JpQWdJQ0FnSUNBZ1FHMWxaR2xoSUNndGQyVmlhMmwwTFcxcGJpMWtaWFpwWTJVdGNHbDRaV3d0Y21GMGFXODZJQ1JsYm5ZcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tHMXBiaTF5WlhOdmJIVjBhVzl1T2lBa1pXNTJJQ29nT1Raa2NHa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkNBZ0lDQWdJRG9nZFhKc0tGd2lJM3NrWW1GelpYMGpleVJ6ZFdabWFYaDlMaU43SkdWNGRIMWNJaWtnSkdWNGRISmhjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkMxemFYcGxJRG9nSkhOcGVtVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0x5cGNiaUFnSUNvZ1NXWWdZVzU1ZEdocGJtY2dkMlZ1ZENCM2NtOXVaeUIwY25scGJtY2dkRzhnYzJWd1lYSmhkR1VnZEdobElHWnBiR1VnWm5KdmJTQnBkSE5jYmlBZ0lDb2daWGgwWlc1emFXOXVMQ0J6WlhRZ1lTQmlZV05yWjNKdmRXNWtJSFpoYkhWbElIZHBkR2h2ZFhRZ1pHOXBibWNnWVc1NWRHaHBibWNnZEc4Z2FYUXVYRzRnSUNBcUwxeHVJQ0I5SUVCbGJITmxJSHRjYmlBZ0lDQmlZV05yWjNKdmRXNWtPaUIxY213b1hDSWpleVJ3WVhSb2ZWd2lLU0FrWlhoMGNtRnpPMXh1SUNBZ0lHSmhZMnRuY205MWJtUXRjMmw2WlRvZ0pITnBlbVU3WEc0Z0lIMWNibHh1ZlZ4dUlsMTkgKi9cbi5jbGVhci1saXN0LXN0eWxlLCAubmF2LXRhYnM6bm90KC5ub24tc3R5bGVzKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmZvbnQtQ2lyY2UsIC5mb3JtLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2w6Zm9jdXMsIGlucHV0LmZvcm0tY29udHJvbFt0eXBlPWNoZWNrYm94XSArIGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IENpcmNlLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uZm9udC1DaXJjZUJvbGQsIGIsIC5wb3B1cC1mb3JtIGEsIC5uYXYtdGFiczpub3QoLm5vbi1zdHlsZXMpIGEubmF2LWxpbmssIC5uYXYtdGFiczpub3QoLm5vbi1zdHlsZXMpIGEubmF2LWxpbms6aG92ZXIge1xuICBmb250LWZhbWlseTogQ2lyY2VCb2xkLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uZm9udC1DaXJjZUV4dHJhQm9sZCB7XG4gIGZvbnQtZmFtaWx5OiBDaXJjZUV4dHJhQm9sZCwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLmZvbnQtQ2lyY2VMaWdodCB7XG4gIGZvbnQtZmFtaWx5OiBDaXJjZUxpZ2h0LCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uZm9udC1DaXJjZUV4dHJhTGlnaHQge1xuICBmb250LWZhbWlseTogQ2lyY2VFeHRyYUxpZ2h0LCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uZm9udC1DaXJjZVRoaW4ge1xuICBmb250LWZhbWlseTogQ2lyY2VUaGluLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uZm9udC1pY29uIHtcbiAgZm9udC1mYW1pbHk6IFBsYW5ldGFyaXVtSWNvbiwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLnNtLWRvd24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZC11cCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbS1kb3duIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWQtdXAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNtLWRvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgLm1kLXVwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbmEsIGlucHV0LCB0ZXh0YXJlYSwgYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5hLCBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMGFlZjk7IH1cblxuLmRhbmdlciB7XG4gIGNvbG9yOiAjZDQ0NTQ1OyB9XG5cbnAge1xuICBjb2xvcjogIzI4MjgyODsgfVxuXG5iIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGNvbG9yOiAjNTQ2Nzc0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAyOHB4IDAgMjBweDsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBjb2xvcjogIzI4MjgyODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMjVweCAwIDIwcHg7IH1cblxuaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjNDM0MzQzO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAyMHB4IDAgMjBweDsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzI4MjgyODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMjBweCAwIDIwcHg7IH1cblxuaDUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMjgyODI4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAyMHB4IDAgMjBweDsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjMjgyODI4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAyMHB4IDAgMjBweDsgfVxuXG50YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgdGFibGUuY29udGVudC1mbGF0IHtcbiAgICBjb2xvcjogIzU0Njc3NDsgfVxuICAgIHRhYmxlLmNvbnRlbnQtZmxhdCB0ciB7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjOTVhMWE5OyB9XG4gICAgICB0YWJsZS5jb250ZW50LWZsYXQgdHIgdGQge1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMS40cmVtOyB9XG5cbi5jb2xvci1henVyZSB7XG4gIGNvbG9yOiAjMDBhZWY5OyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm92ZXItbGluayB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDsgfVxuXG4ubm8tcGhvdG8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvcGhvdG8ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAvKlxuICAgKiBTZXQgYSBjb3VudGVyIGFuZCBnZXQgdGhlIGxlbmd0aCBvZiB0aGUgaW1hZ2UgcGF0aC5cbiAgICovXG4gIC8qXG4gICAqIExvb3AgdmVyIHRoZSBpbWFnZSBwYXRoIGFuZCBmaWd1cmUgb3V0IHRoZVxuICAgKiBwb3NpdGlvbiBvZiB0aGUgZG90IHdoZXJlIHRoZSBleHRlbnNpb24gYmVnaW5zLlxuICAgKi9cbiAgLypcbiAgICogSWYgd2Ugd2VyZSBhYmxlIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIGV4dGVuc2lvbiBpcyxcbiAgICogc2xpY2UgdGhlIHBhdGggaW50byBhIGJhc2UgYW5kIGFuIGV4dGVuc2lvbi4gVXNlIHRoYXQgdG9cbiAgICogY2FsY3VsYXRlIHVybHMgZm9yIGRpZmZlcmVudCBkZW5zaXR5IGVudmlyb25tZW50cy4gU2V0XG4gICAqIHZhbHVlcyBmb3IgZGlmZmVyZW50IGVudmlyb25tZW50cy5cbiAgICovXG4gIC8qXG4gICAqIFNldCBhIGJhc2UgYmFja2dyb3VuZCBmb3IgMXggZW52aXJvbm1lbnRzLlxuICAgKi9cbiAgYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL3Bob3RvLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLypcbiAgICogQ3JlYXRlIGFuIEAyeC1pc2ggbWVkaWEgcXVlcnkuXG4gICAqL1xuICAvKlxuICAgKiBDcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgYWxsIGVudmlyb25tZW50cyB0aGF0IHRoZSB1c2VyIGhhc1xuICAgKiBwcm92aWRlZCBpbWFnZXMgZm9yLlxuICAgKi9cbiAgLypcbiAgICogSWYgYW55dGhpbmcgd2VudCB3cm9uZyB0cnlpbmcgdG8gc2VwYXJhdGUgdGhlIGZpbGUgZnJvbSBpdHNcbiAgICogZXh0ZW5zaW9uLCBzZXQgYSBiYWNrZ3JvdW5kIHZhbHVlIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgdG8gaXQuXG4gICAqL1xuICAvKlxuICAgKiBTZXQgYSBjb3VudGVyIGFuZCBnZXQgdGhlIGxlbmd0aCBvZiB0aGUgaW1hZ2UgcGF0aC5cbiAgICovXG4gIC8qXG4gICAqIExvb3AgdmVyIHRoZSBpbWFnZSBwYXRoIGFuZCBmaWd1cmUgb3V0IHRoZVxuICAgKiBwb3NpdGlvbiBvZiB0aGUgZG90IHdoZXJlIHRoZSBleHRlbnNpb24gYmVnaW5zLlxuICAgKi9cbiAgLypcbiAgICogSWYgd2Ugd2VyZSBhYmxlIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIGV4dGVuc2lvbiBpcyxcbiAgICogc2xpY2UgdGhlIHBhdGggaW50byBhIGJhc2UgYW5kIGFuIGV4dGVuc2lvbi4gVXNlIHRoYXQgdG9cbiAgICogY2FsY3VsYXRlIHVybHMgZm9yIGRpZmZlcmVudCBkZW5zaXR5IGVudmlyb25tZW50cy4gU2V0XG4gICAqIHZhbHVlcyBmb3IgZGlmZmVyZW50IGVudmlyb25tZW50cy5cbiAgICovXG4gIC8qXG4gICAqIFNldCBhIGJhc2UgYmFja2dyb3VuZCBmb3IgMXggZW52aXJvbm1lbnRzLlxuICAgKi9cbiAgYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL3Bob3RvLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLypcbiAgICogQ3JlYXRlIGFuIEAyeC1pc2ggbWVkaWEgcXVlcnkuXG4gICAqL1xuICAvKlxuICAgKiBDcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgYWxsIGVudmlyb25tZW50cyB0aGF0IHRoZSB1c2VyIGhhc1xuICAgKiBwcm92aWRlZCBpbWFnZXMgZm9yLlxuICAgKi9cbiAgLypcbiAgICogSWYgYW55dGhpbmcgd2VudCB3cm9uZyB0cnlpbmcgdG8gc2VwYXJhdGUgdGhlIGZpbGUgZnJvbSBpdHNcbiAgICogZXh0ZW5zaW9uLCBzZXQgYSBiYWNrZ3JvdW5kIHZhbHVlIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgdG8gaXQuXG4gICAqLyB9XG4gIEBtZWRpYSBhbGwgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIGFsbCBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMgLyAyKSwgYWxsIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBhbGwgYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIHtcbiAgICAubm8tcGhvdG8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL3Bob3RvQDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLm5vLXBob3RvIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImltYWdlcy9waG90b0AyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgYWxsIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMyAvIDIpLCBhbGwgYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIGFsbCBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSkge1xuICAgIC5uby1waG90byB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWFnZXMvcGhvdG9AMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAubm8tcGhvdG8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL3Bob3RvQDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMjg4ZHBpKSB7XG4gICAgLm5vLXBob3RvIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImltYWdlcy9waG90b0AzeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cblxuLnNlY3Rpb24tdGl0bGUsIC5mb3JtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMzNweCAwIDIwcHg7IH1cblxuLmFjY29yZGlvbiAuY2FyZCB7XG4gIGJvcmRlcjogMDsgfVxuICAuYWNjb3JkaW9uIC5jYXJkIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmFjY29yZGlvbiAuY2FyZCAuY2FyZC1oZWFkZXIgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZDogIzAwYWVmOTsgfVxuICAgICAgLmFjY29yZGlvbiAuY2FyZCAuY2FyZC1oZWFkZXIgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwOGFjNjsgfVxuXG4uc3RhcnJlcXVpcmVkIHtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cblxuLmZvcm0tdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRvb2x0aXAgLmFycm93IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLnRvb2x0aXAgLnRvb2x0aXAtaW5uZXIge1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yNyk7XG4gIC1tb3otYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjI3KTtcbiAgLW1zLWJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yNyk7XG4gIC1vLWJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yNyk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yNyk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAtbXMtYm9yZGVyLXJhZGl1czogMDtcbiAgLW8tYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMTFweCAxMnB4IDE2cHggMTVweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3BhY2l0eTogMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzU0Njc3NDsgfVxuICAudG9vbHRpcCAudG9vbHRpcC1pbm5lciAuZGFuZ2VyIHtcbiAgICBjb2xvcjogI2Q0NDU0NTsgfVxuXG4ueWEtc2hhcmUyX19jb250YWluZXJfc2l6ZV9tIC55YS1zaGFyZTJfX2ljb24ge1xuICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDMwcHggIWltcG9ydGFudDsgfVxuXG4udGl0bGUtdW5kZXJsaW5lZCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBjb2xvcjogIzI4MjgyODtcbiAgdGV4dC1pbmRlbnQ6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIG1hcmdpbjogMjBweCAwO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggI2VmZjFmMjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRpdGxlLXVuZGVybGluZWQge1xuICAgIHRleHQtaW5kZW50OiAwOyB9IH1cbi5mb3JtLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBwYWRkaW5nOiAwIDUwcHggMCA5cHg7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6ICMyODI4Mjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5NDk0OTQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9Y2hlY2tib3hdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5pbnB1dC5mb3JtLWNvbnRyb2xbdHlwZT1jaGVja2JveF0gKyBsYWJlbCB7XG4gIGNvbG9yOiAjNWM1YzVjO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTZcIjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICB3aWR0aDogMzFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzZkNmQ2ZDtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7IH1cblxuaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NlwiOyB9XG5cbi5wb3B1cC1mb3JtIC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxuLnBvcHVwLWZvcm0gdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgcGFkZGluZzogOXB4IDIwcHggMjBweDtcbiAgcmVzaXplOiBub25lOyB9XG4ucG9wdXAtZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuLnBvcHVwLWZvcm0gLmctcmVjYXB0Y2hhID4gZGl2IHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbi5wb3B1cC1mb3JtLmJ4LXN5c3RlbS1hdXRoLWZvcm0sIC5wb3B1cC1mb3JtLmZvcmdvdC1wYXNzd29yZC1mb3JtLCAucG9wdXAtZm9ybS5ieC1hdXRoLXJlZyB7XG4gIHdpZHRoOiA0MDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wb3B1cC1mb3JtLmJ4LXN5c3RlbS1hdXRoLWZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdLCAucG9wdXAtZm9ybS5mb3Jnb3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0sIC5wb3B1cC1mb3JtLmJ4LWF1dGgtcmVnIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4ucG9wdXAtZm9ybSBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07IH1cbi5wb3B1cC1mb3JtIC5mb3JtLWxpbmtzIHtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuLnBvcHVwLWZvcm0gLmZvcm0tc3VibWl0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wb3B1cC1mb3JtIC5mb3JtLXN1Ym1pdCBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4ucG9wdXAtZm9ybSAuZXJyb3J0ZXh0IHtcbiAgY29sb3I6ICNkNDQ1NDU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubmF2LXRhYnM6bm90KC5ub24tc3R5bGVzKSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWZmMWYyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5uYXYtdGFiczpub3QoLm5vbi1zdHlsZXMpIGxpLm5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm5hdi10YWJzOm5vdCgubm9uLXN0eWxlcykgYS5uYXYtbGluaywgLm5hdi10YWJzOm5vdCgubm9uLXN0eWxlcykgYS5uYXYtbGluazpob3ZlciB7XG4gICAgcGFkZGluZzogMTBweCAyOHB4O1xuICAgIGNvbG9yOiAjOGM5ZWE0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubmF2LXRhYnM6bm90KC5ub24tc3R5bGVzKSBhLm5hdi1saW5rOmhvdmVyOmFmdGVyLCAubmF2LXRhYnM6bm90KC5ub24tc3R5bGVzKSBhLm5hdi1saW5rLmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFlZjk7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmltZy1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm5hdi1waWxscyB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAgNDBweDsgfVxuICAubmF2LXBpbGxzIGxpLm5hdi1pdGVtIHtcbiAgICBtYXJnaW46IDMwcHggMTVweDsgfVxuICAgIC5uYXYtcGlsbHMgbGkubmF2LWl0ZW0gYS5uYXYtbGluayB7XG4gICAgICBjb2xvcjogIzc3N2Y4MSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzg5OGY5OSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMS40cmVtOyB9XG4gICAgLm5hdi1waWxscyBsaS5uYXYtaXRlbSBhLm5hdi1saW5rOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwYWVmOSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICMwMGFlZjkgIWltcG9ydGFudDsgfVxuICAgIC5uYXYtcGlsbHMgbGkubmF2LWl0ZW0gYS5uYXYtbGluay5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzAwYWVmOTtcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwMGFlZjkgIWltcG9ydGFudDsgfVxuICAgICAgLm5hdi1waWxscyBsaS5uYXYtaXRlbSBhLm5hdi1saW5rLmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGhlaWdodDogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5uYXYtcGlsbHMge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfSB9XG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLm5hdi1waWxscyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAubmF2LXBpbGxzIGxpLm5hdi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uYXYtdGFicyBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4uY29udGFpbmVyLWZvci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDAgMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwOyB9XG4gIC5jb250YWluZXItZm9yLWNvbnRhaW5lci53aXRob3V0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmNvbnRlbnQtd3JhcHBlci5kZWZhdWx0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50LXdyYXBwZXIuZGVmYXVsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybChcImltYWdlcy9jb250ZW50LWxlZnQucG5nXCIpIHJlcGVhdC15O1xuICAgIHdpZHRoOiA3MjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLmNvbnRlbnQtd3JhcHBlci5kZWZhdWx0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWFnZXMvY29udGVudC1yaWdodC5wbmdcIikgcmVwZWF0LXk7XG4gICAgd2lkdGg6IDcyOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTM2NHB4O1xuICAgIHotaW5kZXg6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmNvbnRlbnQtd3JhcHBlci5kZWZhdWx0OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29udGVudC13cmFwcGVyLmRlZmF1bHQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb250YWluZXItZm9yLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDsgfSB9XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lci1mb3ItY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9IH1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyLWZvci1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTA2MHB4OyB9IH1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lci1mb3ItY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEzMjBweDsgfSB9XG4ucGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBQbGFuZXRhcml1bUljb247XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5wbC1hZHVsdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJvXCI7IH1cblxuLnBsLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIjFcIjsgfVxuXG4ucGwtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCI1XCI7IH1cblxuLnBsLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCI0XCI7IH1cblxuLmZhbmN5Ym94LWVuYWJsZWQge1xuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50OyB9XG5cbiN3YWl0X2NvbXBfMDg3MjMwYWQxOTZjNzNkZTExZDM4NDZkMjc3MWE3YzAge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZsYWcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ZsYWdzLnBuZykgbm8tcmVwZWF0OyB9XG5cbi5mbGFnLmZsYWctYWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG5cbi5mbGFnLmZsYWctYWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9XG5cbi5mbGFnLmZsYWctYXQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAwOyB9XG5cbi5mbGFnLmZsYWctYmEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwOyB9XG5cbi5mbGFnLmZsYWctYmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cbi5mbGFnLmZsYWctYmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG5cbi5mbGFnLmZsYWctYnkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxuXG4uZmxhZy5mbGFnLWNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTFweDsgfVxuXG4uZmxhZy5mbGFnLXpoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExcHg7IH1cblxuLmZsYWcuZmxhZy1jeiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMXB4OyB9XG5cbi5mbGFnLmZsYWctZGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTFweDsgfVxuXG4uZmxhZy5mbGFnLWRrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExcHg7IH1cblxuLmZsYWcuZmxhZy1lZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMXB4OyB9XG5cbi5mbGFnLmZsYWctZXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTFweDsgfVxuXG4uZmxhZy5mbGFnLWZpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMXB4OyB9XG5cbi5mbGFnLmZsYWctZm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMnB4OyB9XG5cbi5mbGFnLmZsYWctZnIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjJweDsgfVxuXG4uZmxhZy5mbGFnLWVuIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIycHg7IH1cblxuLmZsYWcuZmxhZy1naSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMnB4OyB9XG5cbi5mbGFnLmZsYWctZ3Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjJweDsgfVxuXG4uZmxhZy5mbGFnLWhyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIycHg7IH1cblxuLmZsYWcuZmxhZy1odSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0yMnB4OyB9XG5cbi5mbGFnLmZsYWctaWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTIycHg7IH1cblxuLmZsYWcuZmxhZy1pbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMzcHg7IH1cblxuLmZsYWcuZmxhZy1pcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zM3B4OyB9XG5cbi5mbGFnLmZsYWctaXQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzNweDsgfVxuXG4uZmxhZy5mbGFnLWphIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMzcHg7IH1cblxuLmZsYWcuZmxhZy1saSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0zM3B4OyB9XG5cbi5mbGFnLmZsYWctbHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMzNweDsgfVxuXG4uZmxhZy5mbGFnLWx1IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMzcHg7IH1cblxuLmZsYWcuZmxhZy1sdiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzNweDsgfVxuXG4uZmxhZy5mbGFnLW1jIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDRweDsgfVxuXG4uZmxhZy5mbGFnLW1kIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ0cHg7IH1cblxuLmZsYWcuZmxhZy1tZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC00NHB4OyB9XG5cbi5mbGFnLmZsYWctbWsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNDRweDsgfVxuXG4uZmxhZy5mbGFnLW10IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ0cHg7IH1cblxuLmZsYWcuZmxhZy1ubCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00NHB4OyB9XG5cbi5mbGFnLmZsYWctbm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDRweDsgfVxuXG4uZmxhZy5mbGFnLXBsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00NHB4OyB9XG5cbi5mbGFnLmZsYWctcHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01NXB4OyB9XG5cbi5mbGFnLmZsYWctcm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNTVweDsgfVxuXG4uZmxhZy5mbGFnLXJzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTU1cHg7IH1cblxuLmZsYWcuZmxhZy1ydSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC01NXB4OyB9XG5cbi5mbGFnLmZsYWctc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNTVweDsgfVxuXG4uZmxhZy5mbGFnLXNpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTU1cHg7IH1cblxuLmZsYWcuZmxhZy1zayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC01NXB4OyB9XG5cbi5mbGFnLmZsYWctc20ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTU1cHg7IH1cblxuLmZsYWcuZmxhZy10ciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY2cHg7IH1cblxuLmZsYWcuZmxhZy11YSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC02NnB4OyB9XG5cbi5mbGFnLmZsYWctdmEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNjZweDsgfVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuY3NzLm1hcCAqL1xuIl19 */