@charset "UTF-8";
.box-share {
  display: none;
  width: 100%;
  padding: 1rem;
  border: 1px solid #cccccc;
  background-color: #f2f2f2;
  margin-bottom: 2rem;
}
.box-share ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.box-share ul li {
  text-align: center;
}
.box-share ul li a {
  color: #575757;
  font-size: 2rem;
}
.box-share ul li a:hover {
  color: #921f30;
}
.box-share ul li a span {
  display: none;
}

.link-nav,
.intro-col {
  text-transform: uppercase;
  font-size: 1.8rem;
}
.link-nav a,
.intro-col a {
  color: #999999;
}
.link-nav span,
.intro-col span {
  font-weight: bold;
}

#offer-intro {
  width: 100%;
  background-color: #921f30;
  padding: 10rem 10rem 5rem 10rem;
  position: relative;
  min-height: 300px;
  /* #7003 : le titre, les infos et les boutons étaient positionnés en absolu et se
     recouvraient dès que la place manquait. Ils sont remis dans le flux : les boutons
     restent à droite des infos tant qu'ils y tiennent, et basculent d'eux-mêmes sous
     elles (fin de bloc) sinon. */
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  /* #7003 : 7.5rem de marge de chaque côté d'un viewport tablette ne laissaient plus
     la place aux trois boutons */
}
@media (max-width: 1399.98px) {
  #offer-intro {
    padding: 7rem 7.5rem 5rem 7.5rem;
  }
}
@media (max-width: 1199.98px) {
  #offer-intro {
    padding: 5rem 7.5rem;
  }
}
@media (max-width: 991.98px) {
  #offer-intro {
    padding: 5rem;
  }
}
@media (max-width: 767.98px) {
  #offer-intro {
    padding: 2.5rem 4.5rem;
  }
}
#offer-intro h1 {
  color: #ffffff;
  font-size: 4.8rem;
  text-transform: uppercase;
  width: 100%;
  flex: 0 0 100%;
  margin: 0 0 5rem 0;
  /* #7003 */
}
@media (max-width: 1599.98px) {
  #offer-intro h1 {
    font-size: 4rem;
  }
}
@media (max-width: 1399.98px) {
  #offer-intro h1 {
    font-size: 3.4rem;
  }
}
@media (max-width: 1199.98px) {
  #offer-intro h1 {
    font-size: 3rem;
  }
}
#offer-intro .infos {
  font-size: 2.4rem;
  color: #ffffff;
  /* `flex-shrink: 0` : les infos gardent leur largeur naturelle, ce qui force les
     boutons à passer à la ligne plutôt qu'à les chevaucher. `max-width` reprend la
     main quand elles ne tiennent plus seules sur une ligne. */
  flex: 1 0 auto;
  max-width: 100%;
}
@media (max-width: 1399.98px) {
  #offer-intro .infos {
    font-size: 1.8rem;
  }
}
@media (max-width: 767.98px) {
  #offer-intro .infos {
    font-size: 1.5rem;
  }
}
#offer-intro .infos span {
  background-repeat: no-repeat;
  background-position: 0 center;
  padding: 0.5rem 0 0.5rem 35px;
  margin-right: 4rem;
}
#offer-intro .infos span:last-child {
  margin-right: 0;
}
@media (max-width: 767.98px) {
  #offer-intro .infos span {
    float: left;
    width: 100%;
    margin-top: 1rem;
  }
}
#offer-intro .infos span.localisation {
  background-image: url(/build/images/picto-white-localisation.11cc9ed3.png);
}
#offer-intro .infos span.contract {
  background-image: url(/build/images/picto-white-contract.b4349f70.png);
}
#offer-intro .infos span.remuneration {
  background-image: url(/build/images/picto-white-remuneration.ec7dff91.png);
}
#offer-intro .btn-container {
  display: flex;
  flex: 0 0 auto;
  /* collés à droite sur la même ligne que les infos, et toujours à droite une fois
     passés dessous */
  margin-left: auto;
  margin-top: 3rem;
  /* #7003 : en dessous de 1800px les boutons ne tiennent plus à droite des infos et
     passent en fin de bloc — ils s'y alignent alors sur une seule ligne, au lieu de
     conserver la grille sur deux colonnes prévue pour la disposition d'origine. */
}
@media (max-width: 767.98px) {
  #offer-intro .btn-container {
    width: 80%;
    display: none;
  }
}
#offer-intro .btn-container > div {
  width: 300px;
  float: left;
  padding: 0 1rem;
  align-self: flex-end;
}
@media (max-width: 767.98px) {
  #offer-intro .btn-container > div {
    width: 50%;
    padding: 0 0.5rem;
  }
}
#offer-intro .btn-container > div .btn-add-selection {
  line-height: 1rem;
}
#offer-intro .btn-container > div .btn-add-selection span {
  font-size: 1rem;
}
#offer-intro .btn-container > div .btn-share {
  margin-bottom: 2rem;
}
@media (max-width: 767.98px) {
  #offer-intro .btn-container > div .btn-share {
    margin-bottom: 1rem;
  }
}
@media (max-width: 1799.98px) {
  #offer-intro .btn-container {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
    /* la boîte de partage, dépliée par le JS, reprend toute la largeur sous les boutons */
  }
  #offer-intro .btn-container > div {
    width: auto;
    flex: 0 1 auto;
    /* alignés par le haut : la boîte de partage, quand elle se déplie, allonge
       la colonne de droite sans décrocher les autres boutons */
    align-self: flex-start;
  }
  #offer-intro .btn-container .right {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  #offer-intro .btn-container .btn {
    width: auto !important;
    min-width: 12rem;
  }
}
@media (max-width: 1799.98px) and (max-width: 991.98px) {
  #offer-intro .btn-container .btn {
    min-width: 0;
  }
}
@media (max-width: 1799.98px) {
  #offer-intro .btn-container > div .btn-share {
    margin-bottom: 0;
    margin-right: 2rem;
  }
  #offer-intro .btn-container .box-share {
    order: 1;
    width: 100%;
    margin: 2rem 0 0 0;
  }
}

#offer {
  margin-top: 3rem;
}

#offer-detail p {
  text-transform: uppercase;
  font-size: 1.4rem;
  margin: 3rem 0 0 0;
}
#offer-detail p span {
  display: inline-block;
  margin-bottom: 0.5rem;
}
#offer-detail .btn-container {
  margin-top: 5rem;
}
#offer-detail .btn-container .btn {
  margin-bottom: 2rem;
}
#offer-detail .btn-container .btn-add-selection {
  line-height: 1rem;
}
#offer-detail .btn-container .btn-add-selection span {
  font-size: 1rem;
}

#offer {
  margin-top: 3rem;
}
#offer h3 {
  color: #921f30;
  text-transform: uppercase;
  font-size: 2.4rem;
  margin: 0 0 2.5rem 0;
}
#offer p.description {
  font-size: 1.8rem;
  text-align: justify;
  margin: 0 0 5rem 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vb2ZmZXIuc2NzcyIsIndlYnBhY2s6Ly8vaW5jbHVkZXMvYm94LXNoYXJlLnNjc3MiLCJ3ZWJwYWNrOi8vL3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREVEO0FDQUM7RUFDQztFQUNBO0VBQ0E7QURFRjtBQ0FFO0VBQ0M7QURFSDtBQ0FHO0VBQ0MsY0NJYTtFREhiO0FERUo7QUNBSTtFQUNDLGNDSGE7QUZLbEI7QUNDSTtFQUNDO0FEQ0w7O0FBbkJBOztFQUVDO0VBQ0E7QUFzQkQ7QUFwQkM7O0VBQ0MsY0VTcUI7QUZjdkI7QUFwQkM7O0VBQ0M7QUF1QkY7O0FBbkJBO0VBQ0M7RUFDQSx5QkVMaUI7RUZNakI7RUFDQTtFQUNBO0VBQ0E7OztpQ0FBQTtFQUlBO0VBQ0E7RUFDQTtFQVVHO2lDQUFBO0FBY0o7QUdnQkk7RUhwREo7SUFlUTtFQXlCTjtBQUNGO0FHV0k7RUhwREo7SUFtQlE7RUEwQk47QUFDRjtBR01JO0VIcERKO0lBeUJRO0VBeUJOO0FBQ0Y7QUdDSTtFSHBESjtJQTZCUTtFQTBCTjtBQUNGO0FBeEJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRU07QUF5QlI7QUdiSTtFSHBCSDtJQVVXO0VBMkJWO0FBQ0Y7QUdsQkk7RUhwQkg7SUFjVztFQTRCVjtBQUNGO0FHdkJJO0VIcEJIO0lBa0JXO0VBNkJWO0FBQ0Y7QUExQkM7RUFDQztFQUNBO0VBQ0E7OzhEQUFBO0VBR0E7RUFDQTtBQTRCRjtBR3JDSTtFSEVIO0lBVVc7RUE2QlY7QUFDRjtBRzFDSTtFSEVIO0lBY1c7RUE4QlY7QUFDRjtBQTVCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBOEJIO0FBNUJZO0VBQ0k7QUE4QmhCO0FHeERJO0VIbUJGO0lBV2M7SUFDQTtJQUNBO0VBOEJkO0FBQ0Y7QUE1Qkc7RUFDQztBQThCSjtBQTNCRztFQUNDO0FBNkJKO0FBMUJHO0VBQ0M7QUE0Qko7QUF2QkM7RUFDQztFQUNBO0VBQ0E7cUJBQUE7RUFFQTtFQUNBO0VBbUNNOztrRkFBQTtBQVBSO0FHbkZJO0VIaURIO0lBU1c7SUFDQTtFQTZCVjtBQUNGO0FBM0JFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUE2Qkg7QUcvRkk7RUg4REY7SUFPYztJQUNBO0VBOEJkO0FBQ0Y7QUE1Qkc7RUFDQztBQThCSjtBQTVCSTtFQUNDO0FBOEJMO0FBMUJHO0VBQ0M7QUE0Qko7QUc5R0k7RUhpRkQ7SUFJaUI7RUE2QmxCO0FBQ0Y7QUduSEk7RUhpREg7SUE2Q1c7SUFDQTtJQUNBO0lBQ0E7SUE4QkE7RUFKVjtFQXhCVTtJQUNJO0lBQ0E7SUFDQTsrREFBQTtJQUVBO0VBMEJkO0VBdkJVO0lBQ0k7SUFDQTtJQUNBO0VBeUJkO0VBdEJVO0lBQ0k7SUFDQTtFQXdCZDtBQUNGO0FHNUlJO0VIaUhRO0lBS1E7RUEwQmxCO0FBQ0Y7QUdqSkk7RUgwSFE7SUFDSTtJQUNBO0VBMEJkO0VBdEJVO0lBQ0k7SUFDQTtJQUNBO0VBd0JkO0FBQ0Y7O0FBbkJBO0VBQ0M7QUFzQkQ7O0FBbEJDO0VBQ0M7RUFDQTtFQUNBO0FBcUJGO0FBbkJFO0VBQ0M7RUFDQTtBQXFCSDtBQWpCQztFQUNDO0FBbUJGO0FBakJFO0VBQ0M7QUFtQkg7QUFoQkU7RUFDQztBQWtCSDtBQWhCRztFQUNDO0FBa0JKOztBQVpBO0VBQ0M7QUFlRDtBQWJDO0VBQ0MsY0VyT2dCO0VGc09oQjtFQUNBO0VBQ0E7QUFlRjtBQVpDO0VBQ0M7RUFDQTtFQUNBO0FBY0YsQyIsImZpbGUiOiJvZmZlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiaW5jbHVkZXMvYm94LXNoYXJlLnNjc3NcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcblxuXG4ubGluay1uYXYsXG4uaW50cm8tY29sIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFxuXHRhIHtcblx0XHRjb2xvcjogJG1lZGl1bS1ncmV5LWNvbG9yO1xuXHR9XG5cdFxuXHRzcGFuIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVx0XG5cbiNvZmZlci1pbnRybyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVhdXgtY29sb3I7XG5cdHBhZGRpbmc6IDEwcmVtIDEwcmVtIDVyZW0gMTByZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogMzAwcHg7XG5cdC8qICM3MDAzIDogbGUgdGl0cmUsIGxlcyBpbmZvcyBldCBsZXMgYm91dG9ucyDDqXRhaWVudCBwb3NpdGlvbm7DqXMgZW4gYWJzb2x1IGV0IHNlXG5cdCAgIHJlY291dnJhaWVudCBkw6hzIHF1ZSBsYSBwbGFjZSBtYW5xdWFpdC4gSWxzIHNvbnQgcmVtaXMgZGFucyBsZSBmbHV4IDogbGVzIGJvdXRvbnNcblx0ICAgcmVzdGVudCDDoCBkcm9pdGUgZGVzIGluZm9zIHRhbnQgcXUnaWxzIHkgdGllbm5lbnQsIGV0IGJhc2N1bGVudCBkJ2V1eC1tw6ptZXMgc291c1xuXHQgICBlbGxlcyAoZmluIGRlIGJsb2MpIHNpbm9uLiAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeGwsICRncmlkLWJyZWFrcG9pbnRzLXdzKSB7XG4gICAgICAgIHBhZGRpbmc6IDdyZW0gNy41cmVtIDVyZW0gNy41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZywgJGdyaWQtYnJlYWtwb2ludHMtd3MpIHtcbiAgICAgICAgcGFkZGluZzogNXJlbSA3LjVyZW07XG4gICAgfVxuXG4gICAgLyogIzcwMDMgOiA3LjVyZW0gZGUgbWFyZ2UgZGUgY2hhcXVlIGPDtHTDqSBkJ3VuIHZpZXdwb3J0IHRhYmxldHRlIG5lIGxhaXNzYWllbnQgcGx1c1xuICAgICAgIGxhIHBsYWNlIGF1eCB0cm9pcyBib3V0b25zICovXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kLCAkZ3JpZC1icmVha3BvaW50cy13cykge1xuICAgICAgICBwYWRkaW5nOiA1cmVtO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20sICRncmlkLWJyZWFrcG9pbnRzLXdzKSB7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSA0LjVyZW07XG4gICAgfVxuXHRcblx0aDEge1xuXHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdGZvbnQtc2l6ZTogNC44cmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWFyZ2luOiAwIDAgNXJlbSAwOyBcblxuICAgICAgICAvKiAjNzAwMyAqL1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHhsLCAkZ3JpZC1icmVha3BvaW50cy13cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhsLCAkZ3JpZC1icmVha3BvaW50cy13cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcsICRncmlkLWJyZWFrcG9pbnRzLXdzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIH1cblx0fVxuXHRcblx0LmluZm9zIHtcblx0XHRmb250LXNpemU6IDIuNHJlbTtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHQvKiBgZmxleC1zaHJpbms6IDBgIDogbGVzIGluZm9zIGdhcmRlbnQgbGV1ciBsYXJnZXVyIG5hdHVyZWxsZSwgY2UgcXVpIGZvcmNlIGxlc1xuXHRcdCAgIGJvdXRvbnMgw6AgcGFzc2VyIMOgIGxhIGxpZ25lIHBsdXTDtHQgcXUnw6AgbGVzIGNoZXZhdWNoZXIuIGBtYXgtd2lkdGhgIHJlcHJlbmQgbGFcblx0XHQgICBtYWluIHF1YW5kIGVsbGVzIG5lIHRpZW5uZW50IHBsdXMgc2V1bGVzIHN1ciB1bmUgbGlnbmUuICovXG5cdFx0ZmxleDogMSAwIGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4bCwgJGdyaWQtYnJlYWtwb2ludHMtd3MpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtLCAkZ3JpZC1icmVha3BvaW50cy13cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07ICAgICAgICAgICAgXG4gICAgICAgIH1cblx0XHRcblx0XHRzcGFuIHtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDAuNXJlbSAwIDAuNXJlbSAzNXB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA0cmVtO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtLCAkZ3JpZC1icmVha3BvaW50cy13cykge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICB9XG5cdFx0XHRcblx0XHRcdCYubG9jYWxpc2F0aW9uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGljdG8td2hpdGUtbG9jYWxpc2F0aW9uLnBuZycpXG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCYuY29udHJhY3Qge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9waWN0by13aGl0ZS1jb250cmFjdC5wbmcnKVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmLnJlbXVuZXJhdGlvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BpY3RvLXdoaXRlLXJlbXVuZXJhdGlvbi5wbmcnKVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmJ0bi1jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0LyogY29sbMOpcyDDoCBkcm9pdGUgc3VyIGxhIG3Dqm1lIGxpZ25lIHF1ZSBsZXMgaW5mb3MsIGV0IHRvdWpvdXJzIMOgIGRyb2l0ZSB1bmUgZm9pc1xuXHRcdCAgIHBhc3PDqXMgZGVzc291cyAqL1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi10b3A6IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtLCAkZ3JpZC1icmVha3BvaW50cy13cykge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblx0XHRcblx0XHQ+IGRpdiB7XG5cdFx0XHR3aWR0aDogMzAwcHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHBhZGRpbmc6IDAgMXJlbTtcblx0XHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20sICRncmlkLWJyZWFrcG9pbnRzLXdzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgICAgIH1cblx0XHRcdFxuXHRcdFx0LmJ0bi1hZGQtc2VsZWN0aW9uIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDFyZW07XG5cdFx0XHRcdFxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmJ0bi1zaGFyZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtLCAkZ3JpZC1icmVha3BvaW50cy13cykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHR9XG5cbiAgICAgICAgLyogIzcwMDMgOiBlbiBkZXNzb3VzIGRlIDE4MDBweCBsZXMgYm91dG9ucyBuZSB0aWVubmVudCBwbHVzIMOgIGRyb2l0ZSBkZXMgaW5mb3MgZXRcbiAgICAgICAgICAgcGFzc2VudCBlbiBmaW4gZGUgYmxvYyDigJQgaWxzIHMneSBhbGlnbmVudCBhbG9ycyBzdXIgdW5lIHNldWxlIGxpZ25lLCBhdSBsaWV1IGRlXG4gICAgICAgICAgIGNvbnNlcnZlciBsYSBncmlsbGUgc3VyIGRldXggY29sb25uZXMgcHLDqXZ1ZSBwb3VyIGxhIGRpc3Bvc2l0aW9uIGQnb3JpZ2luZS4gKi9cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHh4eGwsICRncmlkLWJyZWFrcG9pbnRzLXdzKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgICAgIC8qIGFsaWduw6lzIHBhciBsZSBoYXV0IDogbGEgYm/DrnRlIGRlIHBhcnRhZ2UsIHF1YW5kIGVsbGUgc2UgZMOpcGxpZSwgYWxsb25nZVxuICAgICAgICAgICAgICAgICAgIGxhIGNvbG9ubmUgZGUgZHJvaXRlIHNhbnMgZMOpY3JvY2hlciBsZXMgYXV0cmVzIGJvdXRvbnMgKi9cbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmlnaHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQsICRncmlkLWJyZWFrcG9pbnRzLXdzKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gZGl2IC5idG4tc2hhcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBsYSBib8OudGUgZGUgcGFydGFnZSwgZMOpcGxpw6llIHBhciBsZSBKUywgcmVwcmVuZCB0b3V0ZSBsYSBsYXJnZXVyIHNvdXMgbGVzIGJvdXRvbnMgKi9cbiAgICAgICAgICAgIC5ib3gtc2hhcmUge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG59XG5cbiNvZmZlciB7XG5cdG1hcmdpbi10b3A6IDNyZW07XG59XG5cbiNvZmZlci1kZXRhaWwge1xuXHRwIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRcdG1hcmdpbjogM3JlbSAwIDAgMDtcblx0XHRcblx0XHRzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHR9XG5cdH1cblx0XG5cdC5idG4tY29udGFpbmVyIHtcblx0XHRtYXJnaW4tdG9wOiA1cmVtO1xuXHRcdFxuXHRcdC5idG4ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHR9XG5cdFx0XG5cdFx0LmJ0bi1hZGQtc2VsZWN0aW9uIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxcmVtO1xuXHRcdFx0XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4jb2ZmZXIge1xuXHRtYXJnaW4tdG9wOiAzcmVtO1xuXHRcblx0aDMge1xuXHRcdGNvbG9yOiAkYm9yZGVhdXgtY29sb3I7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IDIuNHJlbTtcblx0XHRtYXJnaW46IDAgMCAyLjVyZW0gMDtcblx0fVxuXHRcblx0cC5kZXNjcmlwdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFx0dGV4dC1hbGlnbjoganVzdGlmeTtcblx0XHRtYXJnaW46IDAgMCA1cmVtIDA7XG5cdH1cbn1cblxuIiwiLmJveC1zaGFyZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JleS1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XG5cdHVsIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFxuXHRcdGxpIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkZ3JleS1jb2xvcjtcblx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0XHRcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICRib3JkZWF1eC1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiJGdyaWQtYnJlYWtwb2ludHMtd3M6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHgsXG4gIHh4bDogMTQwMHB4LFxuICB4eHhsOiAxNjAwcHgsXG4gIHh4eHhsOiAxODAwcHgsXG4pICFkZWZhdWx0O1xuXG5cblxuJGhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAjZmZmZmZmIWRlZmF1bHQ7XG4kaGVhZGVyLWJnLWNvbG9yOiAgICAgICAgICAgICAgICMwMDAwMDAhZGVmYXVsdDtcbiRmb290ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGhlYWRlci1jb2xvciFkZWZhdWx0O1xuJGZvb3Rlci1iZy1jb2xvcjpcdFx0XHRcdCMwMDAwMDAhZGVmYXVsdDtcbiRmb290ZXItbGluay1jb2xvcjpcdFx0XHRcdCRmb290ZXItY29sb3IhZGVmYXVsdDtcbiR3cy1sb2dvLXJlZDpcdFx0XHRcdFx0IzkyMWYzMCFkZWZhdWx0O1xuJGxpbmstam9pbi11cy1jb2xvcjpcdFx0XHQjZmVjYzJmIWRlZmF1bHQ7XG4kZGFyay1ncmV5LWNvbG9yOlx0XHRcdFx0IzJkMmEyNiFkZWZhdWx0O1xuJGdyZXktY29sb3I6XHRcdFx0XHRcdCM1NzU3NTchZGVmYXVsdDtcbiRtZWRpdW0tZ3JleS1jb2xvcjpcdFx0XHRcdCM5OTk5OTkhZGVmYXVsdDtcbiRsaWdodC1ncmV5LWNvbG9yOlx0XHRcdFx0I2NjY2NjYyFkZWZhdWx0O1xuJHZlcnktbGlnaHQtZ3JleS1jb2xvcjpcdFx0XHQjZjJmMmYyIWRlZmF1bHQ7XG4kYm9yZGVhdXgtY29sb3I6XHRcdFx0XHQkd3MtbG9nby1yZWQhZGVmYXVsdDtcblxuJGJ0bi1jb2xvcjpcdFx0XHRcdFx0XHQkYm9yZGVhdXgtY29sb3IhZGVmYXVsdDtcbiRidG4tYm9yZGVyLWNvbG9yOlx0XHRcdFx0JGJvcmRlYXV4LWNvbG9yIWRlZmF1bHQ7XG4kYnRuLWJhY2tncm91bmQtY29sb3I6XHRcdFx0I2ZmZmZmZiFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOlx0JGJvcmRlYXV4LWNvbG9yIWRlZmF1bHQ7XG4kbGluay1jb2xvcjpcdFx0XHRcdFx0JHdzLWxvZ28tcmVkIWRlZmF1bHQ7XG5cbiRmYS12YXItc3Rhci1lbXB0eTpcdFx0XHRcdFxcMmI1MDtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/