@charset "UTF-8";
/* Цвет ссылок */
/* Цвет ссылок при наведении */
/* Цвет текста */
/* Цвет фона */
/* Цвет фона верхней шапки */
/* Цвет фона верхней шапки на мобильных */
/* Цвет фона нижней шапки  */
/* Цвета ошибок */
/* Цвета ОК */
/* Borders */
/* Закругления */
/* Вертикальный градиент вверх */
/* Кнопки */
/* Градиент да/нет? Если нет, используется цвет 1 */
/* Тень, да/нет          */
/* Рамка, да/нет          */
/* Цвет фона 1 (нижний)  */
/* Цвет фона 2 (верхний) */
/* Рамка кнопок          */
/* Тень у кнопок         */
/* Цвет текста кнопок    */
/* Закругления           */
/* Инпуты  */
/* Есть ли рамка */
/* Есть ли тень  */
/* Цвет текста   */
/* Цвет фона     */
/* Цвет рамки    */
/* Тень          */
/* Модули */
/* Цвет фона модулей                      */
/* Цвет фона заголовков модулей в мобайл  */
/* Цвет фона модулей                      */
/* Цвет текста в шапке                    */
/* Цвет текста в шапке                    */
/* Рамка                                  */
/*********************************************/
/* Горизонтальное меню */
/* Градиент да/нет? Если нет, используется цвет 1 */
/* Тень, да/нет          */
/* Рамка, да/нет         */
/* Закругления, да/нет   */
/* Цвет фона 1 (нижний)  */
/* Цвет фона 2 (верхний) */
/* Рамка                 */
/* Тень у кнопок         */
/* Цвет текста           */
/* Закругления           */
/* Цвет текста на ховер  */
/* Цвет фон 1 на текущий пункт */
/* Цвет фон 2 на текущий пункт */
/* Товар */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.img-responsive {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%; }

.h1title, .brands-block__title {
  font-weight: bold;
  font-size: 47px;
  line-height: 55px;
  color: #444; }

.h1catpg {
  font-weight: 500;
  font-size: 30px;
  line-height: 35px;
  color: #000;
  text-align: left;
  text-transform: none; }

/**************************************/
/*    Миксины для медиа запросов      */
/*    Использование:                  */
/*    @include media(lg/md/.../) {    */
/*         селектор {}                */
/*    }                               */
/*                                    */
/**************************************/
/**************************************/
/*    Брейкпоинты                     */
/**************************************/
/* Первые десктопы */
.brands-block {
  margin: 0 -7px; }
  .brands-block__title {
    margin: 0 0 30px; }

.brands-block-item {
  float: left;
  padding: 0 7px;
  margin: 0 0 20px;
  width: 20%; }
  .brands-block-item__wrapper {
    background: #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 15px -5px rgba(0, 0, 0, 0.2);
    padding: 10px; }
  .brands-block-item__title {
    text-align: center; }
    .brands-block-item__title > a {
      color: #000;
      font-size: 14px;
      line-height: 16px; }
  .brands-block-item__image > img {
    display: block;
    height: auto;
    max-width: 260px;
    width: 100%; }

.no-mobile .brands-block-item__wrapper:hover {
  box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.2); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJyYW5kcy5jc3MiLCJfdmFycy5zY3NzIiwiX21lZGlhLnNjc3MiLCJzdG9yZS9fYnJhbmRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDWWdCLGlCQUFpQjtBQUNqQiwrQkFBK0I7QUFNbEIsaUJBQWlCO0FBZ0JyQixlQUFlO0FBQ2pCLDZCQUE2QjtBQUM5QiwwQ0FBMEM7QUFDMUMsNkJBQTZCO0FBUXBFLGtCQUFrQjtBQUdsQixjQUFjO0FBSWQsYUFBYTtBQUVxQixpQkFBaUI7QUFJbkQsaUNBQWlDO0FBY2pDLFlBQVk7QUFDNkIsb0RBQW9EO0FBQ3JELDJCQUEyQjtBQUM1Qiw0QkFBNEI7QUFFdEIsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQiwyQkFBMkI7QUFDaEMsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQiwyQkFBMkI7QUEySG5FLGFBQWE7QUFDNEIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUVuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUF5QjVELFlBQVk7QUFDZ0MsNENBQTRDO0FBQzVDLDRDQUE0QztBQUM1Qyw0Q0FBNEM7QUFDNUMsNENBQTRDO0FBQzVDLDRDQUE0QztBQUM1Qyw0Q0FBNEM7QUFxQnhGLCtDQUErQztBQUMvQyx5QkFBeUI7QUFDZSxvREFBb0Q7QUFDcEQsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQiwyQkFBMkI7QUFFOUIsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUN4QiwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQiwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBRTlCLGlDQUFpQztBQUNqQyxpQ0FBaUM7QUFpRHRFLFdBQVc7QUFTWDs7RUFFRSxhQUFZO0VBQ1osZUFBYyxFQUNmOztBQUNEO0VBQ0UsWUFBVyxFQUNaOztBQUVEO0VBQ0UsZUFBYztFQUNkLGFBQVk7RUFDWixnQkFBZTtFQUNmLFlBQVcsRUFDWjs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixxQkFBb0IsRUFDckI7O0FDalhELHdDQUF3QztBQUN4Qyx3Q0FBd0M7QUFDeEMsd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4Qyx3Q0FBd0M7QUFDeEMsd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4Qyx3Q0FBd0M7QUFFeEMsd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4Qyx3Q0FBd0M7QUFheEMscUJBQXFCO0FDbkJyQjtFQUNFLGVBQWMsRUFXZjtFQVRDO0lBR0UsaUJBQWdCLEVBQ2pCOztBQVFIO0VBQ0UsWUFBVztFQUNYLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsV0FBVSxFQTJCWDtFQXpCQztJQUNFLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFDbkIsaURBQWdEO0lBQ2hELGNBQWEsRUFDZDtFQUVEO0lBQ0UsbUJBQWtCLEVBT25CO0lBUkE7TUFJRyxZQUFXO01BQ1gsZ0JBQWU7TUFDZixrQkFBaUIsRUFDbEI7RUFHRjtJQUVHLGVBQWM7SUFDZCxhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLFlBQVcsRUFDWjs7QUFJTDtFQUdNLDRDQUEyQyxFQUM1QyIsImZpbGUiOiJicmFuZHMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyog0KbQstC10YIg0YHRgdGL0LvQvtC6ICovXG4vKiDQptCy0LXRgiDRgdGB0YvQu9C+0Log0L/RgNC4INC90LDQstC10LTQtdC90LjQuCAqL1xuLyog0KbQstC10YIg0YLQtdC60YHRgtCwICovXG4vKiDQptCy0LXRgiDRhNC+0L3QsCAqL1xuLyog0KbQstC10YIg0YTQvtC90LAg0LLQtdGA0YXQvdC10Lkg0YjQsNC/0LrQuCAqL1xuLyog0KbQstC10YIg0YTQvtC90LAg0LLQtdGA0YXQvdC10Lkg0YjQsNC/0LrQuCDQvdCwINC80L7QsdC40LvRjNC90YvRhSAqL1xuLyog0KbQstC10YIg0YTQvtC90LAg0L3QuNC20L3QtdC5INGI0LDQv9C60LggICovXG4vKiDQptCy0LXRgtCwINC+0YjQuNCx0L7QuiAqL1xuLyog0KbQstC10YLQsCDQntCaICovXG4vKiBCb3JkZXJzICovXG4vKiDQl9Cw0LrRgNGD0LPQu9C10L3QuNGPICovXG4vKiDQktC10YDRgtC40LrQsNC70YzQvdGL0Lkg0LPRgNCw0LTQuNC10L3RgiDQstCy0LXRgNGFICovXG4vKiDQmtC90L7Qv9C60LggKi9cbi8qINCT0YDQsNC00LjQtdC90YIg0LTQsC/QvdC10YI/INCV0YHQu9C4INC90LXRgiwg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGG0LLQtdGCIDEgKi9cbi8qINCi0LXQvdGMLCDQtNCwL9C90LXRgiAgICAgICAgICAqL1xuLyog0KDQsNC80LrQsCwg0LTQsC/QvdC10YIgICAgICAgICAgKi9cbi8qINCm0LLQtdGCINGE0L7QvdCwIDEgKNC90LjQttC90LjQuSkgICovXG4vKiDQptCy0LXRgiDRhNC+0L3QsCAyICjQstC10YDRhdC90LjQuSkgKi9cbi8qINCg0LDQvNC60LAg0LrQvdC+0L/QvtC6ICAgICAgICAgICovXG4vKiDQotC10L3RjCDRgyDQutC90L7Qv9C+0LogICAgICAgICAqL1xuLyog0KbQstC10YIg0YLQtdC60YHRgtCwINC60L3QvtC/0L7QuiAgICAqL1xuLyog0JfQsNC60YDRg9Cz0LvQtdC90LjRjyAgICAgICAgICAgKi9cbi8qINCY0L3Qv9GD0YLRiyAgKi9cbi8qINCV0YHRgtGMINC70Lgg0YDQsNC80LrQsCAqL1xuLyog0JXRgdGC0Ywg0LvQuCDRgtC10L3RjCAgKi9cbi8qINCm0LLQtdGCINGC0LXQutGB0YLQsCAgICovXG4vKiDQptCy0LXRgiDRhNC+0L3QsCAgICAgKi9cbi8qINCm0LLQtdGCINGA0LDQvNC60LggICAgKi9cbi8qINCi0LXQvdGMICAgICAgICAgICovXG4vKiDQnNC+0LTRg9C70LggKi9cbi8qINCm0LLQtdGCINGE0L7QvdCwINC80L7QtNGD0LvQtdC5ICAgICAgICAgICAgICAgICAgICAgICovXG4vKiDQptCy0LXRgiDRhNC+0L3QsCDQt9Cw0LPQvtC70L7QstC60L7QsiDQvNC+0LTRg9C70LXQuSDQsiDQvNC+0LHQsNC50LsgICovXG4vKiDQptCy0LXRgiDRhNC+0L3QsCDQvNC+0LTRg9C70LXQuSAgICAgICAgICAgICAgICAgICAgICAqL1xuLyog0KbQstC10YIg0YLQtdC60YHRgtCwINCyINGI0LDQv9C60LUgICAgICAgICAgICAgICAgICAgICovXG4vKiDQptCy0LXRgiDRgtC10LrRgdGC0LAg0LIg0YjQsNC/0LrQtSAgICAgICAgICAgICAgICAgICAgKi9cbi8qINCg0LDQvNC60LAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiDQk9C+0YDQuNC30L7QvdGC0LDQu9GM0L3QvtC1INC80LXQvdGOICovXG4vKiDQk9GA0LDQtNC40LXQvdGCINC00LAv0L3QtdGCPyDQldGB0LvQuCDQvdC10YIsINC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDRhtCy0LXRgiAxICovXG4vKiDQotC10L3RjCwg0LTQsC/QvdC10YIgICAgICAgICAgKi9cbi8qINCg0LDQvNC60LAsINC00LAv0L3QtdGCICAgICAgICAgKi9cbi8qINCX0LDQutGA0YPQs9C70LXQvdC40Y8sINC00LAv0L3QtdGCICAgKi9cbi8qINCm0LLQtdGCINGE0L7QvdCwIDEgKNC90LjQttC90LjQuSkgICovXG4vKiDQptCy0LXRgiDRhNC+0L3QsCAyICjQstC10YDRhdC90LjQuSkgKi9cbi8qINCg0LDQvNC60LAgICAgICAgICAgICAgICAgICovXG4vKiDQotC10L3RjCDRgyDQutC90L7Qv9C+0LogICAgICAgICAqL1xuLyog0KbQstC10YIg0YLQtdC60YHRgtCwICAgICAgICAgICAqL1xuLyog0JfQsNC60YDRg9Cz0LvQtdC90LjRjyAgICAgICAgICAgKi9cbi8qINCm0LLQtdGCINGC0LXQutGB0YLQsCDQvdCwINGF0L7QstC10YAgICovXG4vKiDQptCy0LXRgiDRhNC+0L0gMSDQvdCwINGC0LXQutGD0YnQuNC5INC/0YPQvdC60YIgKi9cbi8qINCm0LLQtdGCINGE0L7QvSAyINC90LAg0YLQtdC60YPRidC40Lkg0L/Rg9C90LrRgiAqL1xuLyog0KLQvtCy0LDRgCAqL1xuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uaW1nLXJlc3BvbnNpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5oMXRpdGxlLCAuYnJhbmRzLWJsb2NrX190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDQ3cHg7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICBjb2xvcjogIzQ0NDsgfVxuXG4uaDFjYXRwZyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAgICDQnNC40LrRgdC40L3RiyDQtNC70Y8g0LzQtdC00LjQsCDQt9Cw0L/RgNC+0YHQvtCyICAgICAgKi9cbi8qICAgINCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAgICAgICAgICAgICAgICAgICovXG4vKiAgICBAaW5jbHVkZSBtZWRpYShsZy9tZC8uLi4vKSB7ICAgICovXG4vKiAgICAgICAgINGB0LXQu9C10LrRgtC+0YAge30gICAgICAgICAgICAgICAgKi9cbi8qICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qICAgINCR0YDQtdC50LrQv9C+0LjQvdGC0YsgICAgICAgICAgICAgICAgICAgICAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyog0J/QtdGA0LLRi9C1INC00LXRgdC60YLQvtC/0YsgKi9cbi5icmFuZHMtYmxvY2sge1xuICBtYXJnaW46IDAgLTdweDsgfVxuICAuYnJhbmRzLWJsb2NrX190aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4uYnJhbmRzLWJsb2NrLWl0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLmJyYW5kcy1ibG9jay1pdGVtX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgLmJyYW5kcy1ibG9jay1pdGVtX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmJyYW5kcy1ibG9jay1pdGVtX190aXRsZSA+IGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDsgfVxuICAuYnJhbmRzLWJsb2NrLWl0ZW1fX2ltYWdlID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ubm8tbW9iaWxlIC5icmFuZHMtYmxvY2staXRlbV9fd3JhcHBlcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDRweCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiIsIiRjb250YWluZXJXaWR0aDogMTQ0MHB4O1xuJG1vYmlsZUZpeGVkSGVhZGVySGVpZ2h0OiAzOHB4O1xuJGRlc2t0b3BGaXhlZEhlYWRlckhlaWdodDogMzBweDtcblxuJGlzQWRhcHRpdmU6IHRydWU7XG5cbiRmb250TmFtZTogXCJHVEVlc3RpUHJvXCI7XG4kZm9udFNpemVCYXNlOiAyMHB4O1xuXG4kd2hpdGU6ICNmZmY7XG4kYmxhY2s6ICM0NDQ7XG5cbiRsaW5rQ29sb3I6ICNjYTMwNGY7ICAgICAgICAgICAgIC8qINCm0LLQtdGCINGB0YHRi9C70L7QuiAqL1xuJGxpbmtDb2xvci0taG92ZXI6ICNhYzg5NTY7ICAgICAgLyog0KbQstC10YIg0YHRgdGL0LvQvtC6INC/0YDQuCDQvdCw0LLQtdC00LXQvdC40LggKi9cbiRsaW5rQ29sb3ItLWhvdmVyMjogI2Y2ODQ2YTtcblxuJHdlYmtpdEhpZ2hsaWdodFRhcENvbG9yOiByZ2JhKDAsMCwwLCAwLjE1KTtcblxuXG4kdGV4dENvbG9yOiAkYmxhY2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog0KbQstC10YIg0YLQtdC60YHRgtCwICovXG4kZ3JleTogI2YxZjFmMTtcbiRwaW5rOiAjZWY1NTllO1xuJGdyZWVuOiAjOWVkMTc4O1xuJGxpZ2h0R3JlZW46ICM5ZWQxNzg7XG4kbGlnaHRHcmV5OiAjZjFmM2Y4O1xuJHZpb2xldDogI2NmOThkZTtcbiRzYW5kOiAjZjY4NDZhO1xuJHRyYW5zU2FuZDogcmdiYSgyNDYsMTMyLDEwNiwwLjgpO1xuJGxpZ2h0R3JleTogI2YyZjJmMjtcbiR0cmFuc0dyZXk6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiRibHVlOiAjNjdiMGQ2O1xuJGxpZ2h0Qmx1ZTogI2JhZTRmOTtcblxuJGljb25Db2xvcjogJGxpbmtDb2xvci0taG92ZXI7XG5cbiRiZ0NvbG9yOiAjZmZmZmZmOyAgICAgICAgICAgICAgICAgICAgICAgIC8qINCm0LLQtdGCINGE0L7QvdCwICovXG4kaGVhZGVyVG9wQmdDb2xvcjogI2YxZjFmMTsgICAgICAgICAgICAgLyog0KbQstC10YIg0YTQvtC90LAg0LLQtdGA0YXQvdC10Lkg0YjQsNC/0LrQuCAqL1xuJGhlYWRlclRvcEJnQ29sb3JNb2JpbGU6ICNmZmY7ICAgICAgICAgLyog0KbQstC10YIg0YTQvtC90LAg0LLQtdGA0YXQvdC10Lkg0YjQsNC/0LrQuCDQvdCwINC80L7QsdC40LvRjNC90YvRhSAqL1xuJGhlYWRlckJvdHRvbUJnQ29sb3I6ICNmZmY7ICAgICAgICAgICAgLyog0KbQstC10YIg0YTQvtC90LAg0L3QuNC20L3QtdC5INGI0LDQv9C60LggICovXG5cblxuJGZvb3RlclRvcEJnQ29sb3I6ICMyYjJlMzU7XG4kZm9vdGVyQm90dG9tQmdDb2xvcjogIzJiMmUzNTtcbiRmb290ZXJMaW5rQ29sb3I6ICNmZmY7XG5cblxuLyog0KbQstC10YLQsCDQvtGI0LjQsdC+0LogKi9cbiRjb2xvckVycm9yOiByZ2JhKDI1MywgMzEsIDM2LCAwLjcpO1xuXG4vKiDQptCy0LXRgtCwINCe0JogKi9cbiRjb2xvck9rOiByZ2JhKDkyLCAyNTMsIDUsIDAuNyk7XG5cblxuLyogQm9yZGVycyAqL1xuJGJvcmRlckNvbG9yOiAjY2NjO1xuJGJvcmRlclJhZGl1czogNnB4OyAgICAgICAgICAgICAgIC8qINCX0LDQutGA0YPQs9C70LXQvdC40Y8gKi9cbiRwaG90b0JvcmRlclJhZGl1czogMDtcbiRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyQ29sb3I7XG5cbi8qINCS0LXRgNGC0LjQutCw0LvRjNC90YvQuSDQs9GA0LDQtNC40LXQvdGCINCy0LLQtdGA0YUgKi9cbkBtaXhpbiBncmFkaWVudCgkc3RhcnRDb2xvciwgJGVuZENvbG9yLCAkZ3JhZGllbmQpIHtcblxuICBAaWYoJGdyYWRpZW5kID09IGZhbHNlKSB7XG4gICAgYmFja2dyb3VuZDogJHN0YXJ0Q29sb3I7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQ6ICRzdGFydENvbG9yO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JHN0YXJ0Q29sb3IsZW5kQ29sb3JzdHI9JGVuZENvbG9yLCBHcmFkaWVudFR5cGU9MCApO1xuICB9XG59XG5cblxuLyog0JrQvdC+0L/QutC4ICovXG4kaXNCdXR0b25HcmFkaWVudDogZmFsc2U7ICAgICAgICAgICAgICAgIC8qINCT0YDQsNC00LjQtdC90YIg0LTQsC/QvdC10YI/INCV0YHQu9C4INC90LXRgiwg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGG0LLQtdGCIDEgKi9cbiRpc0J1dHRvblNoYWRvdzogZmFsc2U7ICAgICAgICAgICAgICAgICAvKiDQotC10L3RjCwg0LTQsC/QvdC10YIgICAgICAgICAgKi9cbiRpc0J1dHRvbkJvcmRlcjogdHJ1ZTsgICAgICAgICAgICAgICAgIC8qINCg0LDQvNC60LAsINC00LAv0L3QtdGCICAgICAgICAgICovXG5cbiRidXR0b25CZ0NvbG9yMTogJGxpbmtDb2xvcjsgICAgICAgICAgICAgICAgIC8qINCm0LLQtdGCINGE0L7QvdCwIDEgKNC90LjQttC90LjQuSkgICovXG4kYnV0dG9uQmdDb2xvcjI6ICRsaW5rQ29sb3I7ICAgICAgICAgICAgICAgICAvKiDQptCy0LXRgiDRhNC+0L3QsCAyICjQstC10YDRhdC90LjQuSkgKi9cbiRidXR0b25Cb3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgICAgICAgIC8qINCg0LDQvNC60LAg0LrQvdC+0L/QvtC6ICAgICAgICAgICovXG4kYnV0dG9uU2hhZG93OiAxcHggMnB4IDNweCAwICNhOGE4YTg7ICAgLyog0KLQtdC90Ywg0YMg0LrQvdC+0L/QvtC6ICAgICAgICAgKi9cbiRidXR0b25Db2xvcjogI2ZmZjsgICAgICAgICAgICAgICAgICAgICAvKiDQptCy0LXRgiDRgtC10LrRgdGC0LAg0LrQvdC+0L/QvtC6ICAgICovXG4kYnV0dG9uQm9yZGVyUmFkaXVzOiAkYm9yZGVyUmFkaXVzOyAgICAgLyog0JfQsNC60YDRg9Cz0LvQtdC90LjRjyAgICAgICAgICAgKi9cbiRidXR0b25Cb3JkZXJDb2xvcjogJGJsdWU7XG5cblxuLy8g0L3QsNCy0LXQtNC10L3QuNC1XG4kYnV0dG9uQmdDb2xvcjEtLWhvdmVyOiAjOWE4MmIxO1xuJGJ1dHRvbkJnQ29sb3IyLS1ob3ZlcjogIzlhODJiMTtcbiRidXR0b25Db2xvci0taG92ZXI6ICNmZmY7XG4kYnV0dG9uQm9yZGVyQ29sb3ItLWhvdmVyOiAjOWE4MmIxO1xuJGJ1dHRvblNoYWRvdy0taG92ZXI6IG5vbmU7XG5cblxuLy8g0LDQutGC0LjQslxuJGJ1dHRvbkJnQ29sb3IxLS1hY3RpdmU6ICNkMTY5NjE7XG4kYnV0dG9uQmdDb2xvcjItLWFjdGl2ZTogI2QxNjk2MTtcbiRidXR0b25Db2xvci0tYWN0aXZlOiAjZmZmO1xuJGJ1dHRvbkJvcmRlckNvbG9yLS1hY3RpdmU6ICMxYjlmYWU7XG4kYnV0dG9uU2hhZG93LS1hY3RpdmU6IG5vbmU7XG5cblxuQG1peGluIGJ1dHRvbigpIHtcblxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNTA0RDgxIDAlLCAjMjYyMjYyIDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICNhYWE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uQm9yZGVyO1xuXG4gICYuLS1pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uQ29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0MiwgMzksIDEwMiwgMC41KTtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gICYuYmlnIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQyLCAzOSwgMTAyLCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDQ2cHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMTBweCByZ2IoMjU1LDI1NSwyNTUpO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBoZWlnaHQ6IDc1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDc0cHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKHhsZykge1xuICAgICAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2OXB4O1xuICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShsZykge1xuICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAgIGhlaWdodDogNjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2NHB4O1xuICAgICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShzbGcpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI5cHg7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA4cHggd2hpdGU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTdweDtcbiAgICAgIG1pbi13aWR0aDogMjA1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEobWQpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA2cHggd2hpdGU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDlweDtcbiAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoeG1kKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNXB4IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMXB4O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4IHdoaXRlO1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQxcHg7XG4gICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8qINCh0YLQuNC70Lgg0LrQvdC+0L/QutC4INC/0L4t0YPQvNC+0LvRh9Cw0L3QuNGOICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICRidXR0b25Db2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGhlaWdodDogMzdweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgbWluLXdpZHRoOiAxMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICR3ZWJraXRIaWdobGlnaHRUYXBDb2xvcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBcbiAgQGNvbnRlbnQ7XG59XG5cblxuXG4vKiDQmNC90L/Rg9GC0YsgICovXG4kaXNJbnB1dEJvcmRlcjogdHJ1ZTsgICAgICAgICAgICAgICAgICAgIC8qINCV0YHRgtGMINC70Lgg0YDQsNC80LrQsCAqL1xuJGlzSW5wdXRTaGFkb3c6IGZhbHNlOyAgICAgICAgICAgICAgICAgICAvKiDQldGB0YLRjCDQu9C4INGC0LXQvdGMICAqL1xuXG4kaW5wdXRDb2xvcjogIzdBN0E3QTsgICAgICAgICAgICAgICAgICAgIC8qINCm0LLQtdGCINGC0LXQutGB0YLQsCAgICovXG4kaW5wdXRCZzogI2ZmZjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qINCm0LLQtdGCINGE0L7QvdCwICAgICAqL1xuJGlucHV0Qm9yZGVyQ29sb3I6ICNjYWNhY2E7ICAgICAgICAgICAgICAvKiDQptCy0LXRgiDRgNCw0LzQutC4ICAgICovXG4kaW5wdXRTaGFkb3c6IGluc2V0IDAgMnB4IDdweCAwICNhNmE2YTc7IC8qINCi0LXQvdGMICAgICAgICAgICovXG5cblxuQG1peGluIGlucHV0KCkge1xuICBiYWNrZ3JvdW5kOiAkaW5wdXRCZztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgaW5zZXQgMnB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgY29sb3I6ICRpbnB1dENvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiA2cHggMjZweCA2cHggMThweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gIEBjb250ZW50O1xufVxuXG5cbi8qINCc0L7QtNGD0LvQuCAqL1xuJG1vZHVsZUJnOiAjZmZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiDQptCy0LXRgiDRhNC+0L3QsCDQvNC+0LTRg9C70LXQuSAgICAgICAgICAgICAgICAgICAgICAqL1xuJG1vZHVsZU1vYmlsZUhlYWRlckJnOiAjYzFjMWMxOyAgICAgICAgICAgICAvKiDQptCy0LXRgiDRhNC+0L3QsCDQt9Cw0LPQvtC70L7QstC60L7QsiDQvNC+0LTRg9C70LXQuSDQsiDQvNC+0LHQsNC50LsgICovXG4kbW9kdWxlSGVhZGVyQmc6ICRsaW5rQ29sb3I7ICAgICAgICAgICAgICAgIC8qINCm0LLQtdGCINGE0L7QvdCwINC80L7QtNGD0LvQtdC5ICAgICAgICAgICAgICAgICAgICAgICovXG4kbW9kdWxlSGVhZGVyQ29sb3I6ICNmZmY7ICAgICAgICAgICAgICAgICAgIC8qINCm0LLQtdGCINGC0LXQutGB0YLQsCDQsiDRiNCw0L/QutC1ICAgICAgICAgICAgICAgICAgICAqL1xuJG1vZHVsZU1vYmlsZUhlYWRlckNvbG9yOiAjMmMyYzJjOyAgICAgICAgICAvKiDQptCy0LXRgiDRgtC10LrRgdGC0LAg0LIg0YjQsNC/0LrQtSAgICAgICAgICAgICAgICAgICAgKi9cbiRtb2R1bGVCb3JkZXI6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog0KDQsNC80LrQsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuJG1vZHVsZV90b3BfX2JveC1zaGFkb3c6IDBweCAycHggM3B4ICM4MDgwODA7XG5cbkBtaXhpbiBtb2R1bGUoJGlzTW9iaWxlKSB7XG5cbiAgQGlmKCRpc01vYmlsZSA9PSBmYWxzZSkge1xuICAgIGJhY2tncm91bmQ6ICRtb2R1bGVCZztcbiAgfVxuICBcbiAgbWFyZ2luOiAxZW0gMCAyZW07XG5cbiAgQGlmKCRtb2R1bGVCb3JkZXIgIT0gMCkge1xuICAgIGJvcmRlcjogJG1vZHVsZUJvcmRlcjtcbiAgfVxuXG5cbiAgQGNvbnRlbnQ7XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyog0JPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90L7QtSDQvNC10L3RjiAqL1xuJGlzVG9wTWVudUdyYWRpZW50OiBmYWxzZTsgICAgICAgICAgICAgIC8qINCT0YDQsNC00LjQtdC90YIg0LTQsC/QvdC10YI/INCV0YHQu9C4INC90LXRgiwg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGG0LLQtdGCIDEgKi9cbiRpc1RvcE1lbnVTaGFkb3c6IGZhbHNlOyAgICAgICAgICAgICAgICAvKiDQotC10L3RjCwg0LTQsC/QvdC10YIgICAgICAgICAgKi9cbiRpc1RvcE1lbnVCb3JkZXI6IGZhbHNlOyAgICAgICAgICAgICAgICAvKiDQoNCw0LzQutCwLCDQtNCwL9C90LXRgiAgICAgICAgICovXG4kaXNUb3BNZW51Qm9yZGVyUm91bmRlZDogZmFsc2U7ICAgICAgICAgLyog0JfQsNC60YDRg9Cz0LvQtdC90LjRjywg0LTQsC/QvdC10YIgICAqL1xuXG4kdG9wTWVudUJnQ29sb3IxOiAjZmZmOyAgICAgICAgICAgICAgLyog0KbQstC10YIg0YTQvtC90LAgMSAo0L3QuNC20L3QuNC5KSAgKi9cbiR0b3BNZW51QmdDb2xvcjI6ICNmZmY7ICAgICAgICAgICAgICAvKiDQptCy0LXRgiDRhNC+0L3QsCAyICjQstC10YDRhdC90LjQuSkgKi9cbiR0b3BNZW51Qm9yZGVyOiAxcHggc29saWQgI2FhYTsgICAgICAgICAvKiDQoNCw0LzQutCwICAgICAgICAgICAgICAgICAqL1xuJHRvcE1lbnVTaGFkb3c6IDFweCAycHggM3B4IDAgI2E4YThhODsgIC8qINCi0LXQvdGMINGDINC60L3QvtC/0L7QuiAgICAgICAgICovXG4kdG9wTWVudUNvbG9yOiAjZmZmOyAgICAgICAgICAgICAgICAgICAgLyog0KbQstC10YIg0YLQtdC60YHRgtCwICAgICAgICAgICAqL1xuJHRvcE1lbnVCb3JkZXJSYWRpdXM6IDA7ICAgICAgICAgICAgICAgIC8qINCX0LDQutGA0YPQs9C70LXQvdC40Y8gICAgICAgICAgICovXG4kdG9wTWVudUNvbG9yLS1ob3ZlcjogI2VkYWMwYTsgICAgICAgICAgLyog0KbQstC10YIg0YLQtdC60YHRgtCwINC90LAg0YXQvtCy0LXRgCAgKi9cblxuJHRvcE1lbnVCZ0NvbG9yMS0tc2VsZWN0ZWQ6ICNmZmY7ICAgIC8qINCm0LLQtdGCINGE0L7QvSAxINC90LAg0YLQtdC60YPRidC40Lkg0L/Rg9C90LrRgiAqL1xuJHRvcE1lbnVCZ0NvbG9yMi0tc2VsZWN0ZWQ6ICNmZmY7ICAgIC8qINCm0LLQtdGCINGE0L7QvSAyINC90LAg0YLQtdC60YPRidC40Lkg0L/Rg9C90LrRgiAqL1xuXG5AbWl4aW4gbmF2dG9wKCkge1xuXG4gIEBjb250ZW50O1xufVxuXG5cbkBtaXhpbiBmb250YXdlc29tZSgkbikge1xuXG4gICY6YmVmb3JlIHtcbiAgICBAaWYoJG4gIT0gJycpIHtcbiAgICAgIGNvbnRlbnQ6ICRuO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICBjb2xvcjogJGxpbmtDb2xvcjtcbiAgICBmb250OiBub3JtYWwgMThweC8xOHB4IFwiRm9udEF3ZXNvbWVcIjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAtOXB4IDAgMCAtOXB4O1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBzaWRlQm9yZGVyKCRzaWRlOiAnbGVmdCcpIHtcbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJGhlYWRlclRvcEJnQ29sb3JNb2JpbGUgKiAxLjI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGhlYWRlclRvcEJnQ29sb3JNb2JpbGUgKiAwLjg7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgI3skc2lkZX06IDA7XG4gICAgd2lkdGg6IDFweDtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuLyog0KLQvtCy0LDRgCAqL1xuJHByb2RUaXRsZUNvbG9yOiAkbGlua0NvbG9yO1xuJHByb2RUZXh0Q29sb3I6ICR0ZXh0Q29sb3I7XG4kcHJvZFNlY29uZENvbG9yOiAjOGY4ZjhmO1xuJHByb2RDdXJyZW50UHJpY2VDb2xvcjogJGJsYWNrO1xuJHByb2RPbGRQcmljZUNvbG9yOiAjYTRhNGE0O1xuXG5cblxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uaW1nLXJlc3BvbnNpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaDF0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDQ3cHg7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICBjb2xvcjogIzQ0NDtcbn1cblxuLmgxY2F0cGcge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogICAg0JzQuNC60YHQuNC90Ysg0LTQu9GPINC80LXQtNC40LAg0LfQsNC/0YDQvtGB0L7QsiAgICAgICovXG4vKiAgICDQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogICAgICAgICAgICAgICAgICAqL1xuLyogICAgQGluY2x1ZGUgbWVkaWEobGcvbWQvLi4uLykgeyAgICAqL1xuLyogICAgICAgICDRgdC10LvQtdC60YLQvtGAIHt9ICAgICAgICAgICAgICAgICovXG4vKiAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qICAgINCR0YDQtdC50LrQv9C+0LjQvdGC0YsgICAgICAgICAgICAgICAgICAgICAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vL0BpbXBvcnQgXCJ2YXJzXCI7XG5cbiR4czogNDE0cHg7XG4kc206IDQ4MHB4O1xuJHhtZDogNjAwcHg7XG4kbWQ6IDc2OHB4O1xuJHNsZzogODYwcHg7XG4kbGc6IDk5MnB4O1xuJHhsZzogMTIwMHB4O1xuJHdpZGU6IDE0NDBweDtcblxuLyog0J/QtdGA0LLRi9C1INC00LXRgdC60YLQvtC/0YsgKi9cbkBtaXhpbiBtZWRpYSgkbWVkaWEpIHtcblxuICAgIEBpZiAkbWVkaWEgPT0geHMge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4cykge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB4cy1wb3J0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkeHMpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB4cy1sYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkeHMpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBzbS1wb3J0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc20pIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBzbS1sYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc20pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB4bWQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4bWQpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHhtZC1wb3J0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkeG1kKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0geG1kLWxhbmQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4bWQpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBtZC1wb3J0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBtZC1sYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gc2xnIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2xnKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBsZyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxnKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gbGctcG9ydCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxnKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gbGctbGFuZCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxnKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHhsZyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHhsZykge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHhsZy1wb3J0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkeGxnKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0geGxnLWxhbmQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4bGcpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHdpZGUge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWRlKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIG1pbi1tZWRpYSgkbWVkaWEpIHtcblxuICAgIEBpZiAkbWVkaWEgPT0geHMge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4cyArIDEpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB4cy1wb3J0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHMgKyAxKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHhzLWxhbmQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4cyArIDEpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc20gKyAxKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gc20tcG9ydCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNtICsgMSkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBzbS1sYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc20gKyAxKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB4bWQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4bWQgKyAxKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0geG1kLXBvcnQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4bWQgKyAxKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHhtZC1sYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeG1kICsgMSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZCArIDEpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBtZC1wb3J0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWQgKyAxKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IG1kLWxhbmQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZCArIDEpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHNsZyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNsZyArIDEpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBsZyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxnICsgMSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IGxnLXBvcnQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsZyArIDEpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBsZy1sYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGcgKyAxKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB4bGcge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4bGcgKyAxKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0geGxnLXBvcnQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4bGcgKyAxKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHhsZy1sYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeGxnICsgMSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gd2lkZSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZGUgKyAxKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi92YXJzXCI7XG5AaW1wb3J0IFwiLi4vbWVkaWFcIjtcblxuXG5cbi5icmFuZHMtYmxvY2sge1xuICBtYXJnaW46IDAgLTdweDtcblxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAuaDF0aXRsZTtcblxuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gIH1cblxuICAmX193cmFwcGVyIHtcblxuICB9XG59XG5cblxuLmJyYW5kcy1ibG9jay1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAgN3B4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICB3aWR0aDogMjAlO1xuXG4gICZfX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2hhZG93OiA0cHggNHB4IDE1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmID4gYSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICAmID4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tbW9iaWxlIHtcbiAgLmJyYW5kcy1ibG9jay1pdGVtX193cmFwcGVyIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDRweCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuICB9XG59XG5cblxuIl19 */
